From d77f2bd81f20a312032d6a7357e4f6f52047bf9c Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sat, 20 Jan 2018 11:42:43 +0100 Subject: [PATCH 001/106] gnu: lookingglass: Update to a10. * gnu/packages/virtualization.scm (lookingglass): Update to a10. --- gnu/packages/virtualization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a5ce3f6fa8..f4fd4c336a 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -728,7 +728,7 @@ Machine Protocol.") (define-public lookingglass (package (name "lookingglass") - (version "a9") + (version "a10") (source (origin (method url-fetch) @@ -737,7 +737,7 @@ Machine Protocol.") (file-name (string-append name "-" version)) (sha256 (base32 - "015chy4x94x4dd5831d7n0gada8rhahmdx7bdbdhajlzivi3kjcw")))) + "0zlxg9ibzr0a598wr5nl1pb4l7mzsqn8ip72v4frph0vwsm5il6c")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) ("glu" ,glu) From ede75282b86ee9cd3b9066c4ce7b00387878709b Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 20 Jan 2018 13:19:12 -0500 Subject: [PATCH 002/106] gnu: deutex: Update to 5.1.1. * gnu/packages/games.scm (deutex): Update to 5.1.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 b719803934..4cd3804d19 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -112,7 +112,7 @@ is used in some video games and movies.") (define-public deutex (package (name "deutex") - (version "5.1.0") + (version "5.1.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/Doom-Utils/" name @@ -120,7 +120,7 @@ is used in some video games and movies.") name "-" version ".tar.xz")) (sha256 (base32 - "0hwkm0q2w16ddmiwh7x3jcfp58zjb40a5dh7c3sybwm9bar37pn1")))) + "0yqzlb3imkdzy8yd7xc69xk9ajf4dhiz3a9ssphyf4c9rcr440wj")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc))) (home-page "https://github.com/Doom-Utils/deutex") From ed19fea0e54495788d8984d6b68b9f9aa89a257c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 20 Jan 2018 19:45:47 +0100 Subject: [PATCH 003/106] =?UTF-8?q?gnu:=20graphicsmagick:=20Update=20to=20?= =?UTF-8?q?1.3.28=20[=E2=80=98security=20fixes=E2=80=99].?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/imagemagick.scm (graphicsmagick): Update to 1.3.28. --- gnu/packages/imagemagick.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 75a3fc5eb5..ba25a7f807 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -164,7 +165,7 @@ script.") (define-public graphicsmagick (package (name "graphicsmagick") - (version "1.3.27") + (version "1.3.28") (source (origin (method url-fetch) (uri @@ -176,7 +177,7 @@ script.") "/GraphicsMagick-" version ".tar.xz"))) (sha256 (base32 - "0rq35p3rml10cxz2z4s7xcfsilhhk19mmy094g3ivz0fg797hcnh")))) + "0jlrrimrajcmwp7llivyj14qnzb1mpqd8vw95dl6zbx5m2lnhall")))) (build-system gnu-build-system) (arguments `(#:configure-flags From 30aeb846d7516d534aebeee76be4a920195e8d50 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 19 Jan 2018 00:25:13 +0100 Subject: [PATCH 004/106] system: Add Banana Pi M2 Ultra installer. * gnu/bootloader/u-boot.scm (u-boot-banana-pi-m2-ultra-bootloader): New exported variable. (install-allwinner-u-boot): New variable. (u-boot-allwinner-bootloader): New variable. * gnu/packages/bootloaders.scm (u-boot-banana-pi-m2-ultra): New exported variable. * gnu/system/install.scm (banana-pi-m2-ultra-installation-os): New exported variable. --- gnu/bootloader/u-boot.scm | 18 ++++++++++++++++++ gnu/packages/bootloaders.scm | 3 +++ gnu/system/install.scm | 17 +++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 397eb8181c..1e3178adfc 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -28,6 +28,7 @@ #:use-module (guix records) #:use-module (guix utils) #:export (u-boot-bootloader + u-boot-banana-pi-m2-ultra-bootloader u-boot-beaglebone-black-bootloader)) (define install-u-boot @@ -50,6 +51,13 @@ (write-file-on-device u-boot (* 1024 512) device (* 768 512))))) +(define install-allwinner-u-boot + #~(lambda (bootloader device mount-point) + (let ((u-boot (string-append bootloader + "/libexec/u-boot-sunxi-with-spl.bin"))) + (write-file-on-device u-boot (stat:size (stat u-boot)) + device (* 8 1024))))) + ;;; @@ -68,3 +76,13 @@ (inherit u-boot-bootloader) (package u-boot-beagle-bone-black) (installer install-beaglebone-black-u-boot))) + +(define u-boot-allwinner-bootloader + (bootloader + (inherit u-boot-bootloader) + (installer install-allwinner-u-boot))) + +(define u-boot-banana-pi-m2-ultra-bootloader + (bootloader + (inherit u-boot-allwinner-bootloader) + (package u-boot-banana-pi-m2-ultra))) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 79a3c5f8bc..50e55d7d00 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -423,6 +423,9 @@ also initializes the boards (RAM etc).") (define-public u-boot-odroid-c2 (make-u-boot-package "odroid-c2" "aarch64-linux-gnu")) +(define-public u-boot-banana-pi-m2-ultra + (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf")) + (define-public vboot-utils (package (name "vboot-utils") diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 1cc3db1160..c7bfdb2595 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -44,6 +44,7 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-26) #:export (installation-os + banana-pi-m2-ultra-installation-os beaglebone-black-installation-os)) ;;; Commentary: @@ -399,6 +400,22 @@ You have been warned. Thanks for being so brave.\x1b[0m (tty "ttyO0")))) (operating-system-user-services installation-os))))) +(define banana-pi-m2-ultra-installation-os + (operating-system + (inherit installation-os) + (bootloader (bootloader-configuration + (bootloader u-boot-banana-pi-m2-ultra-bootloader) + (target "/dev/mmcblk1"))) ; eMMC storage + (kernel linux-libre) + (services (append + (list (agetty-service + (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty "ttyS0")))) + (operating-system-user-services installation-os))))) + ;; Return the default os here so 'guix system' can consume it directly. installation-os From f074f5e88ccdb8c5c959d1a60cc03b4c2fc3d823 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 15:49:03 +0100 Subject: [PATCH 005/106] gnu: u-boot: Update to 2018.01. * gnu/packages/bootloaders.scm (define-module): Import (gnu packages gcc). (u-boot): Update to 2018.01. [native-inputs]: Add swig. Remove dtc. (make-u-boot-package): Use gcc-7. --- gnu/packages/bootloaders.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 50e55d7d00..4d1f784648 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages disk) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages linux) #:use-module (gnu packages man) @@ -335,7 +336,7 @@ tree binary files. These are board description files used by Linux and BSD.") (define u-boot (package (name "u-boot") - (version "2017.11") + (version "2018.01") (source (origin (method url-fetch) (uri (string-append @@ -343,11 +344,12 @@ tree binary files. These are board description files used by Linux and BSD.") "u-boot-" version ".tar.bz2")) (sha256 (base32 - "01bcsah5imy6m3fbjwhqywxg0pfk5fl8ks9ylb7kv3zmrb9qy0ba")))) + "1nidnnjprgxdhiiz7gmaj8cgcf52l5gbv64cmzjq4gmkjirmk3wk")))) (native-inputs `(("bc" ,bc) - ("dtc" ,dtc) - ("python-2" ,python-2))) + ;("dtc" ,dtc) ; they have their own incompatible copy. + ("python-2" ,python-2) + ("swig" ,swig))) (build-system gnu-build-system) (home-page "http://www.denx.de/wiki/U-Boot/") (synopsis "ARM bootloader") @@ -366,7 +368,7 @@ also initializes the boards (RAM etc).") (name (string-append "u-boot-" (string-downcase board))) (native-inputs `(,@(if (not same-arch?) - `(("cross-gcc" ,(cross-gcc triplet)) + `(("cross-gcc" ,(cross-gcc triplet #:xgcc gcc-7)) ("cross-binutils" ,(cross-binutils triplet))) '()) ,@(package-native-inputs u-boot))) From e32d302474ce7c24fae6906198032f4cdbab205c Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 20:25:36 +0100 Subject: [PATCH 006/106] gnu: cross-base: Apply gcc 6 patch to gcc >= 6. * gnu/packages/cross-base.scm (cross-gcc): Apply gcc 6 patch to gcc >= 6. --- gnu/packages/cross-base.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index abc3a2821c..82b10fe843 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -202,7 +202,9 @@ target that libc." (patches (append (origin-patches (package-source xgcc)) - (cons (search-patch "gcc-cross-environment-variables.patch") + (cons (if (version>=? (package-version xgcc) "6.0") + (search-patch "gcc-6-cross-environment-variables.patch") + (search-patch "gcc-cross-environment-variables.patch")) (cross-gcc-patches target)))) (modules '((guix build utils))) (snippet From d6e8a84e2ac0990b6750b93f47d20e58e8488569 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 20 Jan 2018 20:59:06 +0200 Subject: [PATCH 007/106] gnu: godot: Fix building on aarch64-linux. * gnu/packages/game-development.scm (godot)[arguments]: Add a flag when building for aarch64-linux to build without threads. --- gnu/packages/game-development.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 4cd3804d19..0b08b04f51 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1069,6 +1069,10 @@ games.") (arguments `(#:scons ,scons-python2 #:scons-flags (list "platform=x11" + ,@(if (string-prefix? "aarch64" (or (%current-target-system) + (%current-system))) + `("CCFLAGS=-DNO_THREADS") + '()) ;; Avoid using many of the bundled libs. ;; Note: These options can be found in the SConstruct file. "builtin_freetype=no" From cb7781177bf2a50b0f5a1ead69ca68d35cf20cf8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 20 Jan 2018 20:56:50 +0100 Subject: [PATCH 008/106] gnu: video, xml: Fix typo. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/video.scm (libva)[synopsis]: Fix ‘libary’ typo. [description]: Use @dfn. * gnu/packages/xml.scm (libebml): Likewise. --- gnu/packages/video.scm | 4 ++-- gnu/packages/xml.scm | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2db16b179a..fa3aa0e8f0 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -523,10 +523,10 @@ SMPTE 314M.") (inputs `(("libebml" ,libebml))) (home-page "https://www.matroska.org") - (synopsis "C++ libary to parse Matroska files (.mkv and .mka)") + (synopsis "C++ library to parse Matroska files (.mkv and .mka)") (description "Matroska aims to become the standard of multimedia container formats. -It is based on EBML (Extensible Binary Meta Language), a binary derivative +It is based on @dfn{EBML} (Extensible Binary Meta Language), a binary derivative of XML. EBML enables the Matroska Development Team to gain significant advantages in terms of future format extensibility, without breaking file support in old parsers. diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index eccef0d898..78ead8827c 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -103,10 +103,10 @@ things the parser might find in the XML document (like start tags).") "005a0ipqnfbsq47zrc61zszi439jw32q5xd6dc1jyb3lc0zl266q")))) (build-system gnu-build-system) (home-page "https://matroska-org.github.io/libebml/") - (synopsis "C++ libary to parse EBML files") - (description "libebml is a C++ library to read and write EBML (Extensible -Binary Meta Language) files. EBML was designed to be a simplified binary -extension of XML for the purpose of storing and manipulating data in a + (synopsis "C++ library to parse EBML files") + (description "libebml is a C++ library to read and write @dfn{EBML} +(Extensible Binary Meta Language) files. EBML was designed to be a simplified +binary extension of XML for the purpose of storing and manipulating data in a hierarchical form with variable field lengths.") (license license:lgpl2.1))) From e81c906647b64c69d116f3558321cf2a85eb8a13 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 20 Jan 2018 16:41:41 +0100 Subject: [PATCH 009/106] gnu: wxsvg: Update to 1.5.12. * gnu/packages/wxwidgets.scm (wxsvg): Update to 1.5.12. --- gnu/packages/wxwidgets.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 4804e345c2..84446d8ef0 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017 Thomas Danckaert +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -199,7 +200,7 @@ and many other languages.") (define-public wxsvg (package (name "wxsvg") - (version "1.5.11") + (version "1.5.12") (source (origin (method url-fetch) @@ -207,7 +208,7 @@ and many other languages.") version "/wxsvg-" version ".tar.bz2")) (sha256 (base32 - "0m3ff8mjiq4hvy8rmxyc9fkpf24xwxhvr3a6jmvr2q5zc41xhz7x")))) + "1hn3h9kzsjs4wimlpknzjfgn7q0n792hh7v3mshjgsjxdcrckzan")))) (build-system glib-or-gtk-build-system) (inputs `(("wxwidgets" ,wxwidgets-3.1) From 4b9e9abb36db3c658cd915bcc580dc3da8938863 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 20:46:00 +0100 Subject: [PATCH 010/106] system: Add A20 OLinuXino LIME2 installer. * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-lime2-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-lime2): New exported variable. * gnu/system/install.scm (a20-olinuxino-lime2-emmc-installation-os): New exported variable. --- gnu/bootloader/u-boot.scm | 6 ++++++ gnu/packages/bootloaders.scm | 3 +++ gnu/system/install.scm | 17 +++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 1e3178adfc..d45835c271 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -28,6 +28,7 @@ #:use-module (guix records) #:use-module (guix utils) #:export (u-boot-bootloader + u-boot-a20-olinuxino-lime2-bootloader u-boot-banana-pi-m2-ultra-bootloader u-boot-beaglebone-black-bootloader)) @@ -82,6 +83,11 @@ (inherit u-boot-bootloader) (installer install-allwinner-u-boot))) +(define u-boot-a20-olinuxino-lime2-bootloader + (bootloader + (inherit u-boot-allwinner-bootloader) + (package u-boot-a20-olinuxino-lime2))) + (define u-boot-banana-pi-m2-ultra-bootloader (bootloader (inherit u-boot-allwinner-bootloader) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 4d1f784648..b0fa2b54af 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -428,6 +428,9 @@ also initializes the boards (RAM etc).") (define-public u-boot-banana-pi-m2-ultra (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf")) +(define-public u-boot-a20-olinuxino-lime2 + (make-u-boot-package "A20-OLinuXino-Lime2" "arm-linux-gnueabihf")) + (define-public vboot-utils (package (name "vboot-utils") diff --git a/gnu/system/install.scm b/gnu/system/install.scm index c7bfdb2595..22b297c736 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -44,6 +44,7 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-26) #:export (installation-os + a20-olinuxino-lime2-emmc-installation-os banana-pi-m2-ultra-installation-os beaglebone-black-installation-os)) @@ -400,6 +401,22 @@ You have been warned. Thanks for being so brave.\x1b[0m (tty "ttyO0")))) (operating-system-user-services installation-os))))) +(define a20-olinuxino-lime2-emmc-installation-os + (operating-system + (inherit installation-os) + (bootloader (bootloader-configuration + (bootloader u-boot-a20-olinuxino-lime2-bootloader) + (target "/dev/mmcblk1"))) ; eMMC storage + (kernel linux-libre) + (services (append + (list (agetty-service + (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty "ttyS0")))) + (operating-system-user-services installation-os))))) + (define banana-pi-m2-ultra-installation-os (operating-system (inherit installation-os) From a7bb327e3c457cd99710c92b5d09f76b7ab45000 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 20:55:52 +0100 Subject: [PATCH 011/106] system: Add A20 OLinuXino MICRO installer. * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-micro-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-micro): New exported variable. * gnu/system/install.scm (a20-olinuxino-micro-installation-os): New exported variable. --- gnu/bootloader/u-boot.scm | 6 ++++++ gnu/packages/bootloaders.scm | 3 +++ gnu/system/install.scm | 17 +++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index d45835c271..535573791b 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -29,6 +29,7 @@ #:use-module (guix utils) #:export (u-boot-bootloader u-boot-a20-olinuxino-lime2-bootloader + u-boot-a20-olinuxino-micro-bootloader u-boot-banana-pi-m2-ultra-bootloader u-boot-beaglebone-black-bootloader)) @@ -88,6 +89,11 @@ (inherit u-boot-allwinner-bootloader) (package u-boot-a20-olinuxino-lime2))) +(define u-boot-a20-olinuxino-micro-bootloader + (bootloader + (inherit u-boot-allwinner-bootloader) + (package u-boot-a20-olinuxino-micro))) + (define u-boot-banana-pi-m2-ultra-bootloader (bootloader (inherit u-boot-allwinner-bootloader) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index b0fa2b54af..7a5a1d88ee 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -431,6 +431,9 @@ also initializes the boards (RAM etc).") (define-public u-boot-a20-olinuxino-lime2 (make-u-boot-package "A20-OLinuXino-Lime2" "arm-linux-gnueabihf")) +(define-public u-boot-a20-olinuxino-micro + (make-u-boot-package "A20-OLinuXino_MICRO" "arm-linux-gnueabihf")) + (define-public vboot-utils (package (name "vboot-utils") diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 22b297c736..56b6a99da7 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -45,6 +45,7 @@ #:use-module (srfi srfi-26) #:export (installation-os a20-olinuxino-lime2-emmc-installation-os + a20-olinuxino-micro-installation-os banana-pi-m2-ultra-installation-os beaglebone-black-installation-os)) @@ -417,6 +418,22 @@ You have been warned. Thanks for being so brave.\x1b[0m (tty "ttyS0")))) (operating-system-user-services installation-os))))) +(define a20-olinuxino-micro-installation-os + (operating-system + (inherit installation-os) + (bootloader (bootloader-configuration + (bootloader u-boot-a20-olinuxino-lime2-bootloader) + (target "/dev/mmcblk0"))) ; SD card storage + (kernel linux-libre) + (services (append + (list (agetty-service + (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty "ttyS0")))) + (operating-system-user-services installation-os))))) + (define banana-pi-m2-ultra-installation-os (operating-system (inherit installation-os) From 8bac66deabb8858bfa9ac29eaf31d68ae86fd0df Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 21:01:58 +0100 Subject: [PATCH 012/106] system: Factor out agetty-default-service. * gnu/system/install.scm (agetty-default-service): New variable. (beaglebone-black-installation-os): Use it. (a20-olinuxino-lime2-emmc-installation-os): Use it. (a20-olinuxino-micro-installation-os): Use it. (banana-pi-m2-ultra-installation-os): Use it. --- gnu/system/install.scm | 50 ++++++++++++++---------------------------- 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 56b6a99da7..714e8cac3f 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -379,6 +379,14 @@ You have been warned. Thanks for being so brave.\x1b[0m nvi ;:wq! %base-packages)))) +(define* (agetty-default-service #:optional (tty "ttyS0")) + "Return an agetty-service on the given TTY" + (agetty-service (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty tty)))) + (define beaglebone-black-installation-os (operating-system (inherit installation-os) @@ -391,16 +399,8 @@ You have been warned. Thanks for being so brave.\x1b[0m ;; This module is required to mount the sd card. #:extra-modules (list "omap_hsmmc") rest))) - (services (append - ;; mingetty does not work on serial lines. - ;; Use agetty with board-specific serial parameters. - (list (agetty-service - (agetty-configuration - (extra-options '("-L")) - (baud-rate "115200") - (term "vt100") - (tty "ttyO0")))) - (operating-system-user-services installation-os))))) + (services (cons* (agetty-default-service "ttyO0") + (operating-system-user-services installation-os))))) (define a20-olinuxino-lime2-emmc-installation-os (operating-system @@ -409,14 +409,8 @@ You have been warned. Thanks for being so brave.\x1b[0m (bootloader u-boot-a20-olinuxino-lime2-bootloader) (target "/dev/mmcblk1"))) ; eMMC storage (kernel linux-libre) - (services (append - (list (agetty-service - (agetty-configuration - (extra-options '("-L")) - (baud-rate "115200") - (term "vt100") - (tty "ttyS0")))) - (operating-system-user-services installation-os))))) + (services (cons* (agetty-default-service "ttyS0") + (operating-system-user-services installation-os))))) (define a20-olinuxino-micro-installation-os (operating-system @@ -425,14 +419,8 @@ You have been warned. Thanks for being so brave.\x1b[0m (bootloader u-boot-a20-olinuxino-lime2-bootloader) (target "/dev/mmcblk0"))) ; SD card storage (kernel linux-libre) - (services (append - (list (agetty-service - (agetty-configuration - (extra-options '("-L")) - (baud-rate "115200") - (term "vt100") - (tty "ttyS0")))) - (operating-system-user-services installation-os))))) + (services (cons* (agetty-default-service "ttyS0") + (operating-system-user-services installation-os))))) (define banana-pi-m2-ultra-installation-os (operating-system @@ -441,14 +429,8 @@ You have been warned. Thanks for being so brave.\x1b[0m (bootloader u-boot-banana-pi-m2-ultra-bootloader) (target "/dev/mmcblk1"))) ; eMMC storage (kernel linux-libre) - (services (append - (list (agetty-service - (agetty-configuration - (extra-options '("-L")) - (baud-rate "115200") - (term "vt100") - (tty "ttyS0")))) - (operating-system-user-services installation-os))))) + (services (cons* (agetty-default-service "ttyS0") + (operating-system-user-services installation-os))))) ;; Return the default os here so 'guix system' can consume it directly. installation-os From fccdc8c839370558da8f05626b781bb678d86c94 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 21:11:34 +0100 Subject: [PATCH 013/106] system: Factor out embedded-installation-os. * gnu/system/install.scm (embedded-installation-os): New variable. (beaglebone-black-installation-os): Use it. (a20-olinuxino-lime2-emmc-installation-os): Use it. (a20-olinuxino-micro-installation-os): Use it. (banana-pi-m2-ultra-installation-os): Use it. --- gnu/system/install.scm | 58 ++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 714e8cac3f..e84e6a6bc1 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -387,50 +387,48 @@ You have been warned. Thanks for being so brave.\x1b[0m (term "vt100") (tty tty)))) -(define beaglebone-black-installation-os +(define* (embedded-installation-os bootloader bootloader-target tty + #:key (extra-modules '())) + "Return an installation os for embedded systems. +The initrd gets the extra modules EXTRA-MODULES. +A getty is provided on TTY. +The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." (operating-system (inherit installation-os) (bootloader (bootloader-configuration - (bootloader u-boot-beaglebone-black-bootloader) - (target "/dev/sda"))) + (bootloader bootloader) + (target bootloader-target))) (kernel linux-libre) (initrd (lambda (fs . rest) (apply base-initrd fs - ;; This module is required to mount the sd card. - #:extra-modules (list "omap_hsmmc") + #:extra-modules extra-modules rest))) - (services (cons* (agetty-default-service "ttyO0") + (services (cons* (agetty-default-service tty) (operating-system-user-services installation-os))))) +(define beaglebone-black-installation-os + (embedded-installation-os u-boot-beaglebone-black-bootloader + "/dev/sda" + "ttyO0" + #:extra-modules + ;; This module is required to mount the sd card. + '("omap_hsmmc"))) + + (define a20-olinuxino-lime2-emmc-installation-os - (operating-system - (inherit installation-os) - (bootloader (bootloader-configuration - (bootloader u-boot-a20-olinuxino-lime2-bootloader) - (target "/dev/mmcblk1"))) ; eMMC storage - (kernel linux-libre) - (services (cons* (agetty-default-service "ttyS0") - (operating-system-user-services installation-os))))) + (embedded-installation-os u-boot-a20-olinuxino-lime2-bootloader + "/dev/mmcblk1" ; eMMC storage + "ttyS0")) (define a20-olinuxino-micro-installation-os - (operating-system - (inherit installation-os) - (bootloader (bootloader-configuration - (bootloader u-boot-a20-olinuxino-lime2-bootloader) - (target "/dev/mmcblk0"))) ; SD card storage - (kernel linux-libre) - (services (cons* (agetty-default-service "ttyS0") - (operating-system-user-services installation-os))))) + (embedded-installation-os u-boot-a20-olinuxino-micro-bootloader + "/dev/mmcblk0" ; SD card storage + "ttyS0")) (define banana-pi-m2-ultra-installation-os - (operating-system - (inherit installation-os) - (bootloader (bootloader-configuration - (bootloader u-boot-banana-pi-m2-ultra-bootloader) - (target "/dev/mmcblk1"))) ; eMMC storage - (kernel linux-libre) - (services (cons* (agetty-default-service "ttyS0") - (operating-system-user-services installation-os))))) + (embedded-installation-os u-boot-banana-pi-m2-ultra-bootloader + "/dev/mmcblk1" ; eMMC storage + "ttyS0")) ;; Return the default os here so 'guix system' can consume it directly. installation-os From df8a909660aeca43b38d96d5e57e84865793a5c4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 21:59:03 +0100 Subject: [PATCH 014/106] system: make-u-boot-package: Replace underscores by dashes in package name. * gnu/packages/bootloaders.scm (make-u-boot-package): Replace underscores by dashes in package name. --- gnu/packages/bootloaders.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 7a5a1d88ee..e6fc9b602d 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -365,7 +365,9 @@ also initializes the boards (RAM etc).") `#f))) (package (inherit u-boot) - (name (string-append "u-boot-" (string-downcase board))) + (name (string-append "u-boot-" + (string-replace-substring (string-downcase board) + "_" "-"))) (native-inputs `(,@(if (not same-arch?) `(("cross-gcc" ,(cross-gcc triplet #:xgcc gcc-7)) From 84ee33787e011fbf7d04eed1bc2d0765cef57b52 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 22:05:16 +0100 Subject: [PATCH 015/106] system: Add Nintendo NES Classic Edition installer. * gnu/bootloader/u-boot.scm (u-boot-nintendo-nes-classic-edition-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-nintendo-nes-classic-edition): New exported variable. * gnu/system/install.scm (nintendo-nes-classic-edition-installation-os): New exported variable. --- gnu/bootloader/u-boot.scm | 8 +++++++- gnu/packages/bootloaders.scm | 3 +++ gnu/system/install.scm | 8 +++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 535573791b..d80ffdb963 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -31,7 +31,8 @@ u-boot-a20-olinuxino-lime2-bootloader u-boot-a20-olinuxino-micro-bootloader u-boot-banana-pi-m2-ultra-bootloader - u-boot-beaglebone-black-bootloader)) + u-boot-beaglebone-black-bootloader + u-boot-nintendo-nes-classic-edition-bootloader)) (define install-u-boot #~(lambda (bootloader device mount-point) @@ -84,6 +85,11 @@ (inherit u-boot-bootloader) (installer install-allwinner-u-boot))) +(define u-boot-nintendo-nes-classic-edition-bootloader + (bootloader + (inherit u-boot-allwinner-bootloader) + (package u-boot-nintendo-nes-classic-edition))) + (define u-boot-a20-olinuxino-lime2-bootloader (bootloader (inherit u-boot-allwinner-bootloader) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index e6fc9b602d..d16db455f0 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -436,6 +436,9 @@ also initializes the boards (RAM etc).") (define-public u-boot-a20-olinuxino-micro (make-u-boot-package "A20-OLinuXino_MICRO" "arm-linux-gnueabihf")) +(define-public u-boot-nintendo-nes-classic-edition + (make-u-boot-package "Nintendo_NES_Classic_Edition" "arm-linux-gnueabihf")) + (define-public vboot-utils (package (name "vboot-utils") diff --git a/gnu/system/install.scm b/gnu/system/install.scm index e84e6a6bc1..fe330621ca 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -47,7 +47,8 @@ a20-olinuxino-lime2-emmc-installation-os a20-olinuxino-micro-installation-os banana-pi-m2-ultra-installation-os - beaglebone-black-installation-os)) + beaglebone-black-installation-os + nintendo-nes-classic-edition-installation-os)) ;;; Commentary: ;;; @@ -430,6 +431,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." "/dev/mmcblk1" ; eMMC storage "ttyS0")) +(define nintendo-nes-classic-edition-installation-os + (embedded-installation-os u-boot-nintendo-nes-classic-edition-bootloader + "/dev/mmcblk0" ; SD card (solder it yourself) + "ttyS0")) + ;; Return the default os here so 'guix system' can consume it directly. installation-os From 6ef5162d659b8f44fc2f16b3d9dff9062e60d774 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 22:45:08 +0100 Subject: [PATCH 016/106] gnu: Add abootimg. * gnu/packages/android.scm (abootimg): New variable. --- gnu/packages/android.scm | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index ed71077d5e..37f472bcba 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -24,6 +24,7 @@ (define-module (gnu packages android) #:use-module (guix packages) + #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) @@ -35,7 +36,8 @@ #:use-module (gnu packages python) #:use-module (gnu packages ssh) #:use-module (gnu packages version-control) - #:use-module (gnu packages tls)) + #:use-module (gnu packages tls) + #:use-module (gnu packages linux)) ;; The Makefiles that we add are largely based on the Debian ;; packages. They are licensed under GPL-2 and have copyright: @@ -439,3 +441,38 @@ parts of the development workflow. Repo is not meant to replace Git, only to make it easier to work with Git. The repo command is an executable Python script that you can put anywhere in your path.") (license license:asl2.0))) + +(define-public abootimg + (package + (name "abootimg") + (version "0.6") + (source + (origin + (method url-fetch) + (uri (string-append "http://http.debian.net/debian/pool/main/a/abootimg/" + "abootimg_" version ".orig.tar.gz")) + (sha256 + (base32 "0sfc2k011l1ymv97821w89391gnqdh8pp0haz4sdcm5hx0axv2ba")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (setenv "CC" "gcc") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "abootimg" bin) + #t)))))) + (inputs + `(("libblkid" ,util-linux))) + (home-page "https://ac100.grandou.net/abootimg") + (synopsis "Tool for manipulating Android Boot Images") + (description "This package provides a tool for manipulating old Android +Boot Images. @code{abootimg} can work directly on block devices, or, the +safest way, on a file image.") + (license license:gpl2+))) From 7175abaaa47e7d903008fa8944faef189b208107 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 23:07:20 +0100 Subject: [PATCH 017/106] gnu: Add mkbootimg. * gnu/packages/android.scm (mkbootimg): New variable. --- gnu/packages/android.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 37f472bcba..6baefbca96 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -311,6 +311,33 @@ of device actions, such as installing and debugging apps, and it provides access to a Unix shell that can run commands on the connected device or emulator.") (license license:asl2.0))) +(define-public mkbootimg + (package + (name "mkbootimg") + (version (android-platform-version)) + (source (origin + (inherit (android-platform-system-core version)))) + (build-system python-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-source + (lambda _ (chdir "mkbootimg") #t)) + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "mkbootimg" bin) + #t)))))) + (home-page "https://developer.android.com/studio/command-line/adb.html") + (synopsis "Tool to create Android boot images") + (description "This package provides a tool to create Android Boot +Images.") + (license license:asl2.0))) + (define-public android-udev-rules (package (name "android-udev-rules") From 33033a620e64d64bc549b4472e2f4db61e801d18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 20 Jan 2018 23:17:23 +0100 Subject: [PATCH 018/106] services: shepherd: Make 'shepherd-configuration-file' non-monadic. Suggested by atw on #guix. * gnu/services/shepherd.scm (shepherd-service-file): Use 'scheme-file' instead of 'gexp->file'. (shepherd-configuration-file): Likewise, and adjust to non-monadic style. (shepherd-boot-gexp): Adjust accordingly. * guix/scripts/system.scm (upgrade-shepherd-services): Use 'lower-object' in addition to 'shepherd-service-file'. --- gnu/services/shepherd.scm | 34 +++++++++++++++++----------------- guix/scripts/system.scm | 6 ++++-- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 7281746ab2..f7c6983cb0 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès ;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. @@ -66,7 +66,7 @@ (define (shepherd-boot-gexp services) - (mlet %store-monad ((shepherd-conf (shepherd-configuration-file services))) + (with-monad %store-monad (return #~(begin ;; Keep track of the booted system. (false-if-exception (delete-file "/run/booted-system")) @@ -84,7 +84,8 @@ ;; Start shepherd. (execl #$(file-append shepherd "/bin/shepherd") - "shepherd" "--config" #$shepherd-conf))))) + "shepherd" "--config" + #$(shepherd-configuration-file services)))))) (define shepherd-root-service-type (service-type @@ -203,25 +204,24 @@ stored." (define (shepherd-service-file service) "Return a file defining SERVICE." - (gexp->file (shepherd-service-file-name service) - (with-imported-modules %default-imported-modules - #~(begin - (use-modules #$@(shepherd-service-modules service)) + (scheme-file (shepherd-service-file-name service) + (with-imported-modules %default-imported-modules + #~(begin + (use-modules #$@(shepherd-service-modules service)) - (make - #:docstring '#$(shepherd-service-documentation service) - #:provides '#$(shepherd-service-provision service) - #:requires '#$(shepherd-service-requirement service) - #:respawn? '#$(shepherd-service-respawn? service) - #:start #$(shepherd-service-start service) - #:stop #$(shepherd-service-stop service)))))) + (make + #:docstring '#$(shepherd-service-documentation service) + #:provides '#$(shepherd-service-provision service) + #:requires '#$(shepherd-service-requirement service) + #:respawn? '#$(shepherd-service-respawn? service) + #:start #$(shepherd-service-start service) + #:stop #$(shepherd-service-stop service)))))) (define (shepherd-configuration-file services) "Return the shepherd configuration file for SERVICES." (assert-valid-graph services) - (mlet %store-monad ((files (mapm %store-monad - shepherd-service-file services))) + (let ((files (map shepherd-service-file services))) (define config #~(begin (use-modules (srfi srfi-34) @@ -252,7 +252,7 @@ stored." (filter shepherd-service-auto-start? services))))))) - (gexp->file "shepherd.conf" config))) + (scheme-file "shepherd.conf" config))) (define* (shepherd-service-lookup-procedure services #:optional diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 55a02fb96d..999ffb010b 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2016, 2017 Chris Marusich ;;; Copyright © 2017 Mathieu Othacehe @@ -331,7 +331,9 @@ bring the system down." (let ((to-load-names (map shepherd-service-canonical-name to-load)) (to-start (filter shepherd-service-auto-start? to-load))) (info (G_ "loading new services:~{ ~a~}...~%") to-load-names) - (mlet %store-monad ((files (mapm %store-monad shepherd-service-file + (mlet %store-monad ((files (mapm %store-monad + (compose lower-object + shepherd-service-file) to-load))) ;; Here we assume that FILES are exactly those that were computed ;; as part of the derivation that built OS, which is normally the From bc58201ec22aeb07b61dc1e482d6a57868436eef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 21 Jan 2018 00:16:48 +0100 Subject: [PATCH 019/106] tests: Cgit test waits for /var/run/shepherd/socket. Previously tests sometimes start before the shepherd was listening, leading to test failures. * gnu/tests/version-control.scm (run-cgit-test)[test]: Add "shepherd socket ready" test. Rename to two "service running" tests for clarity. --- gnu/tests/version-control.scm | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm index 7367861b05..c20e59985e 100644 --- a/gnu/tests/version-control.scm +++ b/gnu/tests/version-control.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Oleg Pykhalov -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2018 Ludovic Courtès ;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. @@ -130,8 +130,25 @@ HTTP-PORT." (test-begin "cgit") + ;; XXX: Shepherd reads the config file *before* binding its control + ;; socket, so /var/run/shepherd/socket might not exist yet when the + ;; 'marionette' service is started. + (test-assert "shepherd socket ready" + (marionette-eval + `(begin + (use-modules (gnu services herd)) + (let loop ((i 10)) + (cond ((file-exists? (%shepherd-socket-file)) + #t) + ((> i 0) + (sleep 1) + (loop (- i 1))) + (else + 'failure)))) + marionette)) + ;; Wait for nginx to be up and running. - (test-eq "service running" + (test-eq "nginx running" 'running! (marionette-eval '(begin @@ -141,7 +158,7 @@ HTTP-PORT." marionette)) ;; Wait for fcgiwrap to be up and running. - (test-eq "service running" + (test-eq "fcgiwrap running" 'running! (marionette-eval '(begin From d466b1fc8221a6224fe7ded53a828f9c29ed9457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 21 Jan 2018 00:05:09 +0100 Subject: [PATCH 020/106] services: Missing services are automatically instantiated. This simplifies OS configuration: users no longer need to be aware of what a given service depends on. See the discussion at . * gnu/services.scm (missing-target-error): New procedure. (service-back-edges): Use it. (instantiate-missing-services): New procedure. * gnu/system.scm (operating-system-services): Call 'instantiate-missing-services'. * tests/services.scm ("instantiate-missing-services") ("instantiate-missing-services, no default value"): New tests. * gnu/services/version-control.scm (cgit-service-type)[extensions]: Add FCGIWRAP-SERVICE-TYPE. * gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE and FCGIWRAP-SERVICE-TYPE instances. * doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example. (Miscellaneous Services): Remove 'nginx-service-type' and 'fcgiwrap-service-type' in Cgit example. --- doc/guix.texi | 7 ++-- gnu/services.scm | 59 ++++++++++++++++++++++++++------ gnu/services/version-control.scm | 6 +++- gnu/system.scm | 7 ++-- gnu/tests/version-control.scm | 2 -- tests/services.scm | 32 ++++++++++++++++- 6 files changed, 90 insertions(+), 23 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1ecdcd2182..58b9675a3f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10342,9 +10342,8 @@ with the default settings, for commonly encountered log files. (operating-system ;; @dots{} - (services (cons* (service mcron-service-type) - (service rottlog-service-type) - %base-services))) + (services (cons (service rottlog-service-type) + %base-services))) @end lisp @defvr {Scheme Variable} rottlog-service-type @@ -18269,8 +18268,6 @@ The following example will configure the service with default values. By default, Cgit can be accessed on port 80 (@code{http://localhost:80}). @example -(service nginx-service-type) -(service fcgiwrap-service-type) (service cgit-service-type) @end example diff --git a/gnu/services.scm b/gnu/services.scm index 15fc6dcb49..b020d971fd 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Chris Marusich ;;; ;;; This file is part of GNU Guix. @@ -24,6 +24,7 @@ #:use-module (guix records) #:use-module (guix profiles) #:use-module (guix discovery) + #:use-module (guix combinators) #:use-module (guix sets) #:use-module (guix ui) #:use-module ((guix utils) #:select (source-properties->location)) @@ -66,6 +67,7 @@ simple-service modify-services service-back-edges + instantiate-missing-services fold-services service-error? @@ -630,6 +632,18 @@ kernel." (service ambiguous-target-service-error-service) (target-type ambiguous-target-service-error-target-type)) +(define (missing-target-error service target-type) + (raise + (condition (&missing-target-service-error + (service service) + (target-type target-type)) + (&message + (message + (format #f (G_ "no target of type '~a' for service '~a'") + (service-type-name target-type) + (service-type-name + (service-kind service)))))))) + (define (service-back-edges services) "Return a procedure that, when passed a , returns the list of objects that depend on it." @@ -642,16 +656,7 @@ kernel." ((target) (vhash-consq target service edges)) (() - (raise - (condition (&missing-target-service-error - (service service) - (target-type target-type)) - (&message - (message - (format #f (G_ "no target of type '~a' for service '~a'") - (service-type-name target-type) - (service-type-name - (service-kind service)))))))) + (missing-target-error service target-type)) (x (raise (condition (&ambiguous-target-service-error @@ -669,6 +674,38 @@ kernel." (lambda (node) (reverse (vhash-foldq* cons '() node edges))))) +(define (instantiate-missing-services services) + "Return SERVICES, a list, augmented with any services targeted by extensions +and missing from SERVICES. Only service types with a default value can be +instantiated; other missing services lead to a +'&missing-target-service-error'." + (define (adjust-service-list svc result instances) + (fold2 (lambda (extension result instances) + (define target-type + (service-extension-target extension)) + + (match (vhash-assq target-type instances) + (#f + (let ((default (service-type-default-value target-type))) + (if (eq? &no-default-value default) + (missing-target-error svc target-type) + (let ((new (service target-type))) + (values (cons new result) + (vhash-consq target-type new instances)))))) + (_ + (values result instances)))) + result + instances + (service-type-extensions (service-kind svc)))) + + (let ((instances (fold (lambda (service result) + (vhash-consq (service-kind service) service + result)) + vlist-null services))) + (fold2 adjust-service-list + services instances + services))) + (define* (fold-services services #:key (target-type system-service-type)) "Fold SERVICES by propagating their extensions down to the root of type diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index 6bf656949a..7166ed3d4f 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -263,7 +263,11 @@ access to exported repositories under @file{/srv/git}." (list (service-extension activation-service-type cgit-activation) (service-extension nginx-service-type - cgit-configuration-nginx-config))) + cgit-configuration-nginx-config) + + ;; Make sure fcgiwrap is instantiated. + (service-extension fcgiwrap-service-type + (const #t)))) (default-value (cgit-configuration)) (description "Run the Cgit web interface, which allows users to browse Git diff --git a/gnu/system.scm b/gnu/system.scm index 40e259f430..39452304ba 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2016 Chris Marusich @@ -492,8 +492,9 @@ a container or that of a \"bare metal\" system." (define* (operating-system-services os #:key container?) "Return all the services of OS, including \"internal\" services that do not explicitly appear in OS." - (append (operating-system-user-services os) - (essential-services os #:container? container?))) + (instantiate-missing-services + (append (operating-system-user-services os) + (essential-services os #:container? container?)))) ;;; diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm index c20e59985e..9882cdbe28 100644 --- a/gnu/tests/version-control.scm +++ b/gnu/tests/version-control.scm @@ -88,8 +88,6 @@ (let ((base-os (simple-operating-system (dhcp-client-service) - (service nginx-service-type) - (service fcgiwrap-service-type) (service cgit-service-type (cgit-configuration (nginx %cgit-configuration-nginx))) diff --git a/tests/services.scm b/tests/services.scm index ca32b565c4..b146a0dec2 100644 --- a/tests/services.scm +++ b/tests/services.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -122,6 +122,36 @@ (fold-services (list s) #:target-type t1) #f))) +(test-assert "instantiate-missing-services" + (let* ((t1 (service-type (name 't1) (extensions '()) + (default-value 'dflt) + (compose concatenate) + (extend cons))) + (t2 (service-type (name 't2) + (extensions + (list (service-extension t1 list))))) + (s1 (service t1 'hey!)) + (s2 (service t2 42))) + (and (lset= equal? + (list (service t1) s2) + (instantiate-missing-services (list s2))) + (equal? (list s1 s2) + (instantiate-missing-services (list s1 s2)))))) + +(test-assert "instantiate-missing-services, no default value" + (let* ((t1 (service-type (name 't1) (extensions '()))) + (t2 (service-type (name 't2) + (extensions + (list (service-extension t1 list))))) + (s (service t2 42))) + (guard (c ((missing-target-service-error? c) + (and (eq? (missing-target-service-error-target-type c) + t1) + (eq? (missing-target-service-error-service c) + s)))) + (instantiate-missing-services (list s)) + #f))) + (test-assert "shepherd-service-lookup-procedure" (let* ((s1 (shepherd-service (provision '(s1 s1b)) (start #f))) (s2 (shepherd-service (provision '(s2 s2b)) (start #f))) From 30875d07ef7c970c77ee6117043ad59c16a4e777 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 21 Jan 2018 00:18:34 +0100 Subject: [PATCH 021/106] doc: No longer mention Wicd in OS examples. * gnu/system/examples/desktop.tmpl, gnu/system/examples/lightweight-desktop.tmpl: Mention NetworkManager instead of Wicd. --- gnu/system/examples/desktop.tmpl | 4 ++-- gnu/system/examples/lightweight-desktop.tmpl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 2131d1f18f..e8740407d0 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -48,8 +48,8 @@ ;; Add GNOME and/or Xfce---we can choose at the log-in ;; screen with F1. Use the "desktop" services, which - ;; include the X11 log-in service, networking with Wicd, - ;; and more. + ;; include the X11 log-in service, networking with + ;; NetworkManager, and more. (services (cons* (gnome-desktop-service) (xfce-desktop-service) %desktop-services)) diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl index d13c04c76c..65a8ee1809 100644 --- a/gnu/system/examples/lightweight-desktop.tmpl +++ b/gnu/system/examples/lightweight-desktop.tmpl @@ -47,7 +47,7 @@ %base-packages)) ;; Use the "desktop" services, which include the X11 - ;; log-in service, networking with Wicd, and more. + ;; log-in service, networking with NetworkManager, and more. (services %desktop-services) ;; Allow resolution of '.local' host names with mDNS. From 89a26478160dcf90e5df6688a9df21fe993498bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 21 Jan 2018 00:19:24 +0100 Subject: [PATCH 022/106] services: herd: 'with-shepherd' no longer leaves an open connection. * gnu/services/herd.scm (with-shepherd): Use 'dynamic-wind' and close CONNECTION at the end. --- gnu/services/herd.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm index 5c894af6fd..d882c232cf 100644 --- a/gnu/services/herd.scm +++ b/gnu/services/herd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017 Ludovic Courtès +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. @@ -83,7 +83,12 @@ return the socket." (define-syntax-rule (with-shepherd connection body ...) "Evaluate BODY... with CONNECTION bound to an open socket to PID 1." (let ((connection (open-connection))) - body ...)) + (dynamic-wind + (const #t) + (lambda () + body ...) + (lambda () + (close-port connection))))) (define-condition-type &shepherd-error &error shepherd-error?) From 782c94fe30268ef321dc32d313c96e33c4189b24 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 20 Jan 2018 21:36:17 +0100 Subject: [PATCH 023/106] =?UTF-8?q?doc:=20Improve=20=E2=80=98fix-runpath?= =?UTF-8?q?=E2=80=99=20description.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Build Systems): Re-write ‘fix-runpath’ documentation entirely. Just fixing the typos didn't do much. --- doc/guix.texi | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 58b9675a3f..983e00ab38 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -40,7 +40,7 @@ Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017 Marius Bakke@* Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim Cournoyer@* -Copyright @copyright{} 2017 Tobias Geerinckx-Rice@* +Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017 Arun Isaac@* @@ -4005,12 +4005,12 @@ Apart from that, the build system also adds the following phases: @table @code @item fix-runpath -This phase tries to locate the local directories in the package being build, -which has libraries that some of the binaries need. If any are found, they will -be added to the programs @code{RUNPATH}. It is needed because -@code{meson-for-build} keeps the @code{RUNPATH} of binaries and libraries from -when they are build, but often that is not the @code{RUNPATH} we want. -Therefor it is also shrinked to the minimum needed by the program. +This phase ensures that all binaries can find the libraries they need. +It searches for required libraries in subdirectories of the package being +built, and adds those to @code{RUNPATH} where needed. It also removes +references to libraries left over from the build phase by +@code{meson-for-build}, such as test dependencies, that aren't actually +required for the program to run. @item glib-or-gtk-wrap This phase is the phase provided by @code{glib-or-gtk-build-system}, and it From fd90e396953144570ebbc0dfabb516c8d4d51e72 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 20 Jan 2018 23:20:26 +0100 Subject: [PATCH 024/106] gnu: mktorrent: Update to 1.1. * gnu/packages/bittorrent.scm (mktorrent): Update to 1.1. [source, home-page]: Use new URI. --- gnu/packages/bittorrent.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 053988c8db..1c6e512487 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Tomáš Čech -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Jelle Licht ;;; ;;; This file is part of GNU Guix. @@ -340,14 +340,15 @@ downloads, download scheduling, download rate limiting.") (define-public mktorrent (package (name "mktorrent") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/mktorrent/mktorrent/" - version "/" name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append "https://github.com/Rudde/mktorrent/archive/v" + version ".tar.gz")) (sha256 (base32 - "17qi3nfky240pq6qcmf5qg324mxm83vk9r3nvsdhsvinyqm5d3kg")))) + "1j9qc4fxa9isnaygqk6jazsiklqywl2wcs95b8dx01963407bx6h")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -359,7 +360,7 @@ downloads, download scheduling, download rate limiting.") "USE_LONG_OPTIONS=1" "USE_PTHREADS=1") #:tests? #f)) ; no tests - (home-page "http://mktorrent.sourceforge.net/") + (home-page "https://github.com/Rudde/mktorrent") (synopsis "Utility to create BitTorrent metainfo files") (description "mktorrent is a simple command-line utility to create BitTorrent @dfn{metainfo} files, often known simply as @dfn{torrents}, from From 0c8ac76cfe04dc2cf49531a7580210e5c4bb5487 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 02:30:24 +0100 Subject: [PATCH 025/106] gnu: babl: Edit description. * gnu/packages/gimp.scm (babl)[description]: Edit. --- gnu/packages/gimp.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index fc2c8ff516..0fba63025c 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,13 +60,13 @@ (home-page "http://gegl.org/babl/") (synopsis "Image pixel format conversion library") (description - "Babl is a dynamic, any to any, pixel format translation library. -It allows converting between different methods of storing pixels known as -pixel formats that have with different bitdepths and other data -representations, color models and component permutations. + "Babl is a dynamic, any-to-any pixel format translation library. +It allows converting between different methods of storing pixels, known as +@dfn{pixel formats}, that have different bit depths and other data +representations, color models, and component permutations. A vocabulary to formulate new pixel formats from existing primitives is -provided as well as the framework to add new color models and data types.") +provided, as well as a framework to add new color models and data types.") (license license:lgpl3+))) (define-public gegl From 9d2e56d0afb97096d9c70ab6179e970f7de45a16 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 02:31:43 +0100 Subject: [PATCH 026/106] gnu: babl: Parameterise source URI. * gnu/packages/gimp.scm (babl)[source]: Use VERSION-MAJOR+MINOR. --- gnu/packages/gimp.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 0fba63025c..13b8feb557 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -48,11 +48,14 @@ (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/babl/" - "0.1/babl-" version ".tar.bz2") - (string-append "http://ftp.gtk.org/pub/babl/0.1/babl-" - version ".tar.bz2") - (string-append "ftp://ftp.gtk.org/pub/babl/0.1/babl-" - version ".tar.bz2"))) + (version-major+minor version) + "/babl-" version ".tar.bz2") + (string-append "http://ftp.gtk.org/pub/babl/" + (version-major+minor version) + "/babl-" version ".tar.bz2") + (string-append "ftp://ftp.gtk.org/pub/babl/" + (version-major+minor version) + "/babl-" version ".tar.bz2"))) (sha256 (base32 "11pfbyzq20596p9sgwraxspg3djg1jzz6wvz4bapf0yyr97jiyd0")))) From 8f890fed343f146a7db71114b885a6f3a8df24ad Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 02:47:50 +0100 Subject: [PATCH 027/106] gnu: babl: Update to 0.1.40. * gnu/packages/gimp.scm (babl): Update to 0.1.40. --- gnu/packages/gimp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 13b8feb557..c98f686d41 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -44,7 +44,7 @@ (define-public babl (package (name "babl") - (version "0.1.38") + (version "0.1.40") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/babl/" @@ -58,7 +58,7 @@ "/babl-" version ".tar.bz2"))) (sha256 (base32 - "11pfbyzq20596p9sgwraxspg3djg1jzz6wvz4bapf0yyr97jiyd0")))) + "08cdl6rcfvkhqsnhb214xzr0wbrv0956xzlrzqxcb1k1madgjanh")))) (build-system gnu-build-system) (home-page "http://gegl.org/babl/") (synopsis "Image pixel format conversion library") From e564a16e28fc098cb43ef98aa86b5dcda946cf48 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 02:38:36 +0100 Subject: [PATCH 028/106] gnu: spice-gtk: Update to 0.34. * gnu/packages/spice.scm (spice-gtk): Update to 0.34. --- gnu/packages/spice.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 10f7c6bc57..94313b0c87 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Craven +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -142,7 +143,7 @@ which allows users to view a desktop computing environment.") (define-public spice-gtk (package (name "spice-gtk") - (version "0.33") + (version "0.34") (source (origin (method url-fetch) (uri (string-append @@ -150,7 +151,7 @@ which allows users to view a desktop computing environment.") "spice-gtk-" version ".tar.bz2")) (sha256 (base32 - "0fdgx9k4vgmasp8i2n0swrkapq8f212igcg7wsgvr3mbhsvk7bvx")))) + "1vknp72pl6v6nf3dphhwp29hk6gv787db2pmyg4m312z2q0hwwp9")))) (build-system gnu-build-system) (propagated-inputs `(("gstreamer" ,gstreamer) From d5ae997aafd4470e14c6f97f30ee92655d0f6d05 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 02:39:01 +0100 Subject: [PATCH 029/106] gnu: spice: Use HTTPS for spice-space.org home pages. * gnu/packages/spice.scm (spice, spice-vdagent)[home-page]: Use HTTPS --- gnu/packages/spice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 94313b0c87..58450e6a3e 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -240,7 +240,7 @@ which allows users to view a desktop computing environment.") environments which allows you to view a computing 'desktop' environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures.") - (home-page "http://www.spice-space.org") + (home-page "https://www.spice-space.org") (license (list license:lgpl2.1+ license:lgpl2.0+)))) (define-public spice-vdagent @@ -291,7 +291,7 @@ Internet and from a wide variety of machine architectures.") (synopsis "Spice agent for Linux") (description "Spice-vdagent enables sharing the clipboard and guest display resolution scaling on graphical console window resize.") - (home-page "http://www.spice-space.org") + (home-page "https://www.spice-space.org") (license license:gpl3+))) (define-public virt-viewer From 835a148ff3710c7c4c2d9210aeb8c7482195bd4f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 00:25:05 +0100 Subject: [PATCH 030/106] gnu: libtorrent-rasterbar: Update to 1.1.6. * gnu/packages/bittorrent.scm (libtorrent-rasterbar): Update to 1.1.6. --- gnu/packages/bittorrent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 1c6e512487..9f09c9836e 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -374,7 +374,7 @@ and will take advantage of multiple processor cores where possible.") (define-public libtorrent-rasterbar (package (name "libtorrent-rasterbar") - (version "1.1.5") + (version "1.1.6") (source (origin (method url-fetch) (uri @@ -384,7 +384,7 @@ and will take advantage of multiple processor cores where possible.") "/libtorrent-rasterbar-" version ".tar.gz")) (sha256 (base32 - "0c398b7hsa5dvj4m0jc8h7mn0m3nawmagb6c5c7ml5c9hc338c8h")))) + "1vr1a7smkwh7dc7jb9n68i0cg59wxhgywxc9kxpbs8fi9c04vixp")))) (build-system gnu-build-system) (arguments `(#:configure-flags From 601953ed946916ff1d0daca696d4f8253d958e69 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 20 Jan 2018 23:35:42 +0100 Subject: [PATCH 031/106] gnu: intel-gpu-tools: Update to 1.21. * gnu/packages/admin.scm (intel-gpu-tools): Update to 1.21. --- 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 b35d0256cc..8aa7a716e7 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2095,7 +2095,7 @@ buffers.") (define-public intel-gpu-tools (package (name "intel-gpu-tools") - (version "1.18") + (version "1.21") (source (origin (method url-fetch) (uri (string-append "https://cgit.freedesktop.org/xorg/app/" @@ -2103,7 +2103,7 @@ buffers.") "intel-gpu-tools-" version ".tar.gz")) (sha256 (base32 - "0w7djk0y5w76hzn1b3cm39zd5c6w9za1wfn80wd857h0v313rzq3")))) + "1xfy4cgimyyn5qixlrfkadgnl9qwbk30vw8k80g8vjnrcc4hx986")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; many of the tests try to load kernel modules From 8e7e6170abc76fcaa088f7af8d9e15dc90e517fe Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 20 Jan 2018 23:36:35 +0100 Subject: [PATCH 032/106] gnu: intel-gpu-tools: Use INVOKE. * gnu/packages/admin.scm (intel-gpu-tools)[arguments]: Substitute INVOKE for SYSTEM*. --- 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 8aa7a716e7..3d3c626192 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2111,9 +2111,9 @@ buffers.") (modify-phases %standard-phases (add-after 'unpack 'autogen (lambda _ - ;; Don't run configure in this phase + ;; Don't run configure in this phase. (setenv "NOCONFIGURE" "1") - (zero? (system* "sh" "autogen.sh"))))))) + (invoke "sh" "autogen.sh")))))) (inputs `(("util-macros" ,util-macros) ("libdrm" ,libdrm) From e81e154c40b262b1c7a0928cbc712e3631f6342a Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 21 Jan 2018 10:54:29 +0100 Subject: [PATCH 033/106] gnu: python-kivy: Update to 1.10.0. * gnu/packages/python.scm (python-kivy): Update to 1.10.0. [arguments]: Remove custom "build" phase. --- gnu/packages/python.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index a131d52645..9b9b22be28 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9203,21 +9203,20 @@ and/or Xon/Xoff. The port is accessed in RAW mode.") (define-public python-kivy (package (name "python-kivy") - (version "1.9.1") + (version "1.10.0") (source (origin (method url-fetch) - (uri (pypi-uri "kivy" version)) + (uri (pypi-uri "Kivy" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0zk3g1j1z0lzcm9d0k1lprrs95zr8n8k5pdg3p5qlsn26jz4bg19")))) + "1394zh6kvf7k5d8vlzxcsfcailr3q59xwg9b1n7qaf25bvyq1h98")))) (build-system python-build-system) (arguments `(#:tests? #f ; Tests require many optional packages #:phases (modify-phases %standard-phases - (replace 'build (lambda _ (zero? (system* "make" "force")))) (add-after 'patch-generated-file-shebangs 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) (setenv "KIVY_SDL2_PATH" From b0b7150b6ce275c3da64588726c936bfab8dc290 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 21 Jan 2018 12:45:21 +0200 Subject: [PATCH 034/106] gnu: orpheus: Fix build on aarch64-linux. * gnu/packages/orpheus.scm (orpheus)[arguments]: Explicitly set the build target when building on aarch64-linux. --- gnu/packages/orpheus.scm | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/gnu/packages/orpheus.scm b/gnu/packages/orpheus.scm index d672ebce75..d981be279c 100644 --- a/gnu/packages/orpheus.scm +++ b/gnu/packages/orpheus.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier -;;; Copyright © 2014 Efraim Flashner +;;; Copyright © 2014, 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +27,8 @@ #:use-module (gnu packages mp3) #:use-module (gnu packages base) #:use-module (gnu packages xiph) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (ice-9 match)) (define-public orpheus (package @@ -62,13 +63,14 @@ (setenv "CONFIG_SHELL" (which "bash")) (setenv "SHELL" (which "bash")) (setenv "LIBS" "-logg") ;doesn't declare its use of libogg - (zero? - (system* "./configure" (string-append "--prefix=" out) - ,@(if (string=? "mips64el-linux" - (%current-system)) - '("--host=mips64el-unknown-linux-gnu") - '()) - ))))) + (invoke "./configure" + (string-append "--prefix=" out) + ,@(match (%current-system) + ("mips64el-linux" + '("--host=mips64el-unknown-linux-gnu")) + ("aarch64-linux" + '("--build=aarch64-unknown-linux-gnu")) + (_ `())))))) (add-after 'configure 'configure-players (lambda* (#:key inputs #:allow-other-keys) ;; To avoid propagating the mpg321 and vorbis-tools inputs, we can From c3b2ab9d3bcc0bd8562365b6720c7b135e877f55 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 17 Jan 2018 22:41:05 +0100 Subject: [PATCH 035/106] gnu: Add libgff. * gnu/packages/bioinformatics.scm (libgff): New variable. --- gnu/packages/bioinformatics.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f0bfa9300b..f5e32ffa4d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft ;;; Copyright © 2015, 2016 Pjotr Prins ;;; Copyright © 2015 Andreas Enge @@ -11109,3 +11109,26 @@ for alignment. Pseudoalignment of reads preserves the key information needed for quantification, and kallisto is therefore not only fast, but also as accurate as existing quantification tools.") (license license:bsd-2))) + +(define-public libgff + (package + (name "libgff") + (version "1.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/Kingsford-Group/" + "libgff/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vc4nxyhlm6g9vvmx5l4lfs5pnvixsv1hiiy4kddf2y3p6jna8ls")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; no tests included + (home-page "https://github.com/Kingsford-Group/libgff") + (synopsis "Parser library for reading/writing GFF files") + (description "This is a simple \"libraryfication\" of the GFF/GTF parsing +code that is used in the Cufflinks codebase. The goal of this library is to +provide this functionality without the necessity of drawing in a heavy-weight +dependency like SeqAn.") + (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt")))) From 1fe0bde34dd4c0804bbbf93029059d5f92aeb354 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 17 Jan 2018 22:42:04 +0100 Subject: [PATCH 036/106] gnu: Add libdivsufsort. * gnu/packages/bioinformatics.scm (libdivsufsort): New variable. --- gnu/packages/bioinformatics.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f5e32ffa4d..c820f87c0b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11132,3 +11132,31 @@ code that is used in the Cufflinks codebase. The goal of this library is to provide this functionality without the necessity of drawing in a heavy-weight dependency like SeqAn.") (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt")))) + +(define-public libdivsufsort + (package + (name "libdivsufsort") + (version "2.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/y-256/libdivsufsort.git") + (commit version))) + (sha256 + (base32 + "0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; there are no tests + #:configure-flags + ;; Needed for rapmap and sailfish. + '("-DBUILD_DIVSUFSORT64=ON"))) + (home-page "https://github.com/y-256/libdivsufsort") + (synopsis "Lightweight suffix-sorting library") + (description "libdivsufsort is a software library that implements a +lightweight suffix array construction algorithm. This library provides a +simple and an efficient C API to construct a suffix array and a +Burrows-Wheeler transformed string from a given string over a constant-size +alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1) +bytes of memory space, where n is the length of the string.") + (license license:expat))) From 8d77a085a7e3d15ada36041507c8c9d076a2034a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 17 Jan 2018 22:46:04 +0100 Subject: [PATCH 037/106] gnu: Add sailfish. * gnu/packages/bioinformatics.scm (sailfish): New variable. --- gnu/packages/bioinformatics.scm | 147 ++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c820f87c0b..c8fa1c2999 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -71,6 +71,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) + #:use-module (gnu packages jemalloc) #:use-module (gnu packages ldc) #:use-module (gnu packages linux) #:use-module (gnu packages logging) @@ -11160,3 +11161,149 @@ Burrows-Wheeler transformed string from a given string over a constant-size alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1) bytes of memory space, where n is the length of the string.") (license license:expat))) + +(define-public sailfish + (package + (name "sailfish") + (version "0.10.1") + (source (origin + (method url-fetch) + (uri + (string-append "https://github.com/kingsfordgroup/" + "sailfish/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1inn60dxiwsz8g9w7kvfhjxj4bwfb0r12dyhpzzhfbig712dkmm0")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled headers for eigen3. + (delete-file-recursively "include/eigen3/") + #t)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DBOOST_INCLUDEDIR=" + (assoc-ref %build-inputs "boost") + "/include/") + (string-append "-DBOOST_LIBRARYDIR=" + (assoc-ref %build-inputs "boost") + "/lib/") + (string-append "-DBoost_LIBRARIES=" + "-lboost_iostreams " + "-lboost_filesystem " + "-lboost_system " + "-lboost_thread " + "-lboost_timer " + "-lboost_chrono " + "-lboost_program_options") + "-DBoost_FOUND=TRUE" + ;; Don't download RapMap---we already have it! + "-DFETCHED_RAPMAP=1") + ;; Tests must be run after installation and the location of the test + ;; data file must be overridden. But the tests fail. It looks like + ;; they are not really meant to be run. + #:tests? #f + #:phases + (modify-phases %standard-phases + ;; Boost cannot be found, even though it's right there. + (add-after 'unpack 'do-not-look-for-boost + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("find_package\\(Boost 1\\.53\\.0") "#")))) + (add-after 'unpack 'do-not-assign-to-macro + (lambda _ + (substitute* "include/spdlog/details/format.cc" + (("const unsigned CHAR_WIDTH = 1;") "")))) + (add-after 'unpack 'prepare-rapmap + (lambda* (#:key inputs #:allow-other-keys) + (let ((src "external/install/src/rapmap/") + (include "external/install/include/rapmap/") + (rapmap (assoc-ref inputs "rapmap"))) + (mkdir-p "/tmp/rapmap") + (system* "tar" "xf" + (assoc-ref inputs "rapmap") + "-C" "/tmp/rapmap" + "--strip-components=1") + (mkdir-p src) + (mkdir-p include) + (for-each (lambda (file) + (install-file file src)) + (find-files "/tmp/rapmap/src" "\\.(c|cpp)")) + (copy-recursively "/tmp/rapmap/include" include)))) + (add-after 'unpack 'use-system-libraries + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("src/SailfishIndexer.cpp" + "src/SailfishUtils.cpp" + "src/SailfishQuantify.cpp" + "src/FASTAParser.cpp" + "include/PCA.hpp" + "include/SailfishUtils.hpp" + "include/SailfishIndex.hpp" + "include/CollapsedEMOptimizer.hpp" + "src/CollapsedEMOptimizer.cpp") + (("#include \"jellyfish/config.h\"") "")) + (substitute* "src/CMakeLists.txt" + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..") + (string-append (assoc-ref inputs "jellyfish") + "/include/jellyfish-" ,(package-version jellyfish))) + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a") + (string-append (assoc-ref inputs "jellyfish") + "/lib/libjellyfish-2.0.a")) + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a") + (string-append (assoc-ref inputs "libdivsufsort") + "/lib/libdivsufsort.so")) + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a") + (string-append (assoc-ref inputs "libdivsufsort") + "/lib/libdivsufsort64.so"))) + (substitute* "CMakeLists.txt" + ;; Don't prefer static libs + (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "") + (("find_package\\(Jellyfish.*") "") + (("ExternalProject_Add\\(libjellyfish") "message(") + (("ExternalProject_Add\\(libgff") "message(") + (("ExternalProject_Add\\(libsparsehash") "message(") + (("ExternalProject_Add\\(libdivsufsort") "message(")) + + ;; Ensure that Eigen headers can be found + (setenv "CPLUS_INCLUDE_PATH" + (string-append (getenv "CPLUS_INCLUDE_PATH") + ":" + (assoc-ref inputs "eigen") + "/include/eigen3"))))))) + (inputs + `(("boost" ,boost) + ("eigen" ,eigen) + ("jemalloc" ,jemalloc) + ("jellyfish" ,jellyfish) + ("sparsehash" ,sparsehash) + ("rapmap" ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/COMBINE-lab/RapMap.git") + (commit (string-append "sf-v" version)))) + (file-name (string-append "rapmap-sf-v" version "-checkout")) + (sha256 + (base32 + "1hv79l5i576ykv5a1srj2p0q36yvyl5966m0fcy2lbi169ipjakf")) + (modules '((guix build utils))) + ;; These files are expected to be excluded. + (snippet + '(begin (delete-file-recursively "include/spdlog") + (for-each delete-file '("include/xxhash.h" + "src/xxhash.c")))))) + ("libdivsufsort" ,libdivsufsort) + ("libgff" ,libgff) + ("tbb" ,tbb) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.cs.cmu.edu/~ckingsf/software/sailfish") + (synopsis "Mapping-based isoform quantification from RNA-Seq reads") + (description "Sailfish is a tool for genomic transcript quantification +from RNA-seq data. It requires a set of target transcripts (either from a +reference or de-novo assembly) to quantify. All you need to run sailfish is a +fasta file containing your reference transcripts and a (set of) fasta/fastq +file(s) containing your reads.") + (license license:gpl3+))) From 7762646d95cf9cad6be7e11ad465517b5819b2d2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 17 Jan 2018 23:06:52 +0100 Subject: [PATCH 038/106] gnu: Add salmon. * gnu/packages/bioinformatics.scm (libstadenio-for-salmon, spdlog-for-salmon, bwa-for-salmon, salmon): New variables. --- gnu/packages/bioinformatics.scm | 263 ++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c8fa1c2999..eb35537a06 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11307,3 +11307,266 @@ reference or de-novo assembly) to quantify. All you need to run sailfish is a fasta file containing your reference transcripts and a (set of) fasta/fastq file(s) containing your reads.") (license license:gpl3+))) + +(define libstadenio-for-salmon + (package + (name "libstadenio") + (version "1.14.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/COMBINE-lab/staden-io_lib.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1x8kxxqxl892vwfbprlbyfwkkv7c34ggkc94892x9x0g37x5nbwx")))) + (build-system gnu-build-system) + (arguments '(#:parallel-tests? #f)) ; not supported + (inputs + `(("zlib" ,zlib))) + (native-inputs + `(("perl" ,perl))) ; for tests + (home-page "https://github.com/COMBINE-lab/staden-io_lib") + (synopsis "General purpose trace and experiment file library") + (description "This package provides a library of file reading and writing +code to provide a general purpose Trace file (and Experiment File) reading +interface. + +The following file formats are supported: + +@enumerate +@item SCF trace files +@item ABI trace files +@item ALF trace files +@item ZTR trace files +@item SFF trace archives +@item SRF trace archives +@item Experiment files +@item Plain text files +@item SAM/BAM sequence files +@item CRAM sequence files +@end enumerate\n") + (license license:bsd-3))) + +(define spdlog-for-salmon + (package + (name "spdlog") + (version "0.14.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/COMBINE-lab/spdlog.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "13730429gwlabi432ilpnja3sfvy0nn2719vnhhmii34xcdyc57q")))) + (build-system cmake-build-system) + (home-page "https://github.com/COMBINE-lab/spdlog") + (synopsis "Very fast C++ logging library") + (description "Spdlog is a very fast header-only C++ logging library with +performance as its primary goal.") + (license license:expat))) + +;; This is a modified variant of bwa for use with Salmon. It installs a +;; library to avoid having to build this as part of Salmon. +(define bwa-for-salmon + (package (inherit bwa) + (name "bwa") + (version "0.7.12.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/COMBINE-lab/bwa.git") + (commit (string-append "v" version)))) + (file-name (string-append "bwa-for-salmon-" version "-checkout")) + (sha256 + (base32 + "1z2qa64y0c5hky10510x137mnzlhz6k8qf27csw4w9j6qihq95gb")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;no "check" target + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (lib (string-append out "/lib")) + (doc (string-append out "/share/doc/bwa")) + (man (string-append out "/share/man/man1")) + (inc (string-append out "/include/bwa"))) + (install-file "bwa" bin) + (install-file "README.md" doc) + (install-file "bwa.1" man) + (install-file "libbwa.a" lib) + (mkdir-p lib) + (mkdir-p inc) + (for-each (lambda (file) + (install-file file inc)) + (find-files "." "\\.h$"))) + #t)) + ;; no "configure" script + (delete 'configure)))))) + +(define-public salmon + (package + (name "salmon") + (version "0.9.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/COMBINE-lab/salmon.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1zi1ff4i7y2ykk0vdzysgwzzzv166vg2x77pj1mf4baclavxj87a")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled headers for eigen3. + (delete-file-recursively "include/eigen3/") + #t)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DBOOST_INCLUDEDIR=" + (assoc-ref %build-inputs "boost") + "/include/") + (string-append "-DBOOST_LIBRARYDIR=" + (assoc-ref %build-inputs "boost") + "/lib/") + (string-append "-DBoost_LIBRARIES=" + "-lboost_iostreams " + "-lboost_filesystem " + "-lboost_system " + "-lboost_thread " + "-lboost_timer " + "-lboost_chrono " + "-lboost_program_options") + "-DBoost_FOUND=TRUE" + "-DTBB_LIBRARIES=tbb tbbmalloc" + ;; Don't download RapMap---we already have it! + "-DFETCHED_RAPMAP=1") + #:phases + (modify-phases %standard-phases + ;; Boost cannot be found, even though it's right there. + (add-after 'unpack 'do-not-look-for-boost + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("find_package\\(Boost 1\\.53\\.0") "#")))) + (add-after 'unpack 'do-not-phone-home + (lambda _ + (substitute* "src/Salmon.cpp" + (("getVersionMessage\\(\\)") "\"\"")))) + (add-after 'unpack 'prepare-rapmap + (lambda* (#:key inputs #:allow-other-keys) + (let ((src "external/install/src/rapmap/") + (include "external/install/include/rapmap/") + (rapmap (assoc-ref inputs "rapmap"))) + (mkdir-p src) + (mkdir-p include) + (for-each (lambda (file) + (install-file file src)) + (find-files (string-append rapmap "/src") "\\.(c|cpp)")) + (copy-recursively (string-append rapmap "/include") include) + (for-each delete-file '("external/install/include/rapmap/xxhash.h" + "external/install/include/rapmap/FastxParser.hpp" + "external/install/include/rapmap/concurrentqueue.h" + "external/install/include/rapmap/FastxParserThreadUtils.hpp" + "external/install/src/rapmap/FastxParser.cpp" + "external/install/src/rapmap/xxhash.c"))))) + (add-after 'unpack 'use-system-libraries + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/CMakeLists.txt" + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..") + (string-append (assoc-ref inputs "jellyfish") + "/include/jellyfish-" ,(package-version jellyfish))) + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a") + (string-append (assoc-ref inputs "jellyfish") + "/lib/libjellyfish-2.0.a")) + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a") + (string-append (assoc-ref inputs "libdivsufsort") + "/lib/libdivsufsort.so")) + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libstaden-read.a") + (string-append (assoc-ref inputs "libstadenio-for-salmon") + "/lib/libstaden-read.a")) + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libbwa.a") + (string-append (assoc-ref inputs "bwa") "/lib/libbwa.a")) + (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a") + (string-append (assoc-ref inputs "libdivsufsort") + "/lib/libdivsufsort64.so"))) + (substitute* "CMakeLists.txt" + ;; Don't prefer static libs + (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "") + (("set\\(TBB_LIBRARIES") "message(") + (("find_package\\(Jellyfish.*") "") + (("ExternalProject_Add\\(libcereal") "message(") + (("ExternalProject_Add\\(libbwa") "message(") + (("ExternalProject_Add\\(libjellyfish") "message(") + (("ExternalProject_Add\\(libgff") "message(") + (("ExternalProject_Add\\(libtbb") "message(") + (("ExternalProject_Add\\(libspdlog") "message(") + (("ExternalProject_Add\\(libdivsufsort") "message(") + (("ExternalProject_Add\\(libstadenio") "message(") + (("ExternalProject_Add_Step\\(") "message(")) + + ;; Ensure that all headers can be found + (setenv "CPLUS_INCLUDE_PATH" + (string-append (getenv "CPLUS_INCLUDE_PATH") + ":" + (assoc-ref inputs "bwa") + "/include/bwa" + ":" + (assoc-ref inputs "eigen") + "/include/eigen3")) + (setenv "CPATH" + (string-append (assoc-ref inputs "bwa") + "/include/bwa" + ":" + (assoc-ref inputs "eigen") + "/include/eigen3")) + #t)) + ;; CMAKE_INSTALL_PREFIX does not exist when the tests are + ;; run. It only exists after the install phase. + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "src/CMakeLists.txt" + (("DTOPLEVEL_DIR=\\$\\{CMAKE_INSTALL_PREFIX") + "DTOPLEVEL_DIR=${GAT_SOURCE_DIR")) + #t))))) + (inputs + `(("boost" ,boost) + ("bwa" ,bwa-for-salmon) + ("bzip2" ,bzip2) + ("cereal" ,cereal) + ("eigen" ,eigen) + ("rapmap" ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/COMBINE-lab/RapMap.git") + (commit (string-append "salmon-v" version)))) + (file-name (string-append "rapmap-salmon-v" version "-checkout")) + (sha256 + (base32 + "1yc12yqsz6f0r8sg1qnk57xg34aqwc9jbqq6gd5ys28xw3plj98p")))) + ("jemalloc" ,jemalloc) + ("jellyfish" ,jellyfish) + ("libgff" ,libgff) + ("tbb" ,tbb) + ("libdivsufsort" ,libdivsufsort) + ("libstadenio-for-salmon" ,libstadenio-for-salmon) + ("spdlog-for-salmon" ,spdlog-for-salmon) + ("xz" ,xz) + ("zlib" ,zlib))) + (home-page "https://github.com/COMBINE-lab/salmon") + (synopsis "Quantification from RNA-seq reads using lightweight alignments") + (description "Salmon is a program to produce highly-accurate, +transcript-level quantification estimates from RNA-seq data. Salmon achieves +its accuracy and speed via a number of different innovations, including the +use of lightweight alignments (accurate but fast-to-compute proxies for +traditional read alignments) and massively-parallel stochastic collapsed +variational inference.") + (license license:gpl3+))) From 5f1bb222c9c6b3c3edf2005b35305cc981de8f4d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 17 Jan 2018 23:36:44 +0100 Subject: [PATCH 039/106] gnu: Add r-catterplots. * gnu/packages/statistics.scm (r-catterplots): New variable. --- gnu/packages/statistics.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 7fb125cad1..58c7b3f445 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2015 Vicente Vera Parra ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2016, 2017 Efraim Flashner @@ -30,6 +30,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix hg-download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system r) @@ -5509,3 +5510,27 @@ positioning methods that can be re-used across several different plots. There are heuristics for examining @code{trellis} and @code{ggplot} objects and inferring an appropriate positioning method.") (license license:gpl3))) + +(define-public r-catterplots + (let ((commit "40063ec57f9515d231508f135ca0ec769614efb9") + (revision "2")) + (package + (name "r-catterplots") + (version (string-append "0-" revision "." (string-take commit 9))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Gibbsdavidl/CatterPlots.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1wl80pgbz8d9kfpffvkh439hlgz2qldm9m75wqjfrgrg8lcjzrxg")))) + (build-system r-build-system) + (propagated-inputs + `(("r-png" ,r-png))) + (home-page "https://github.com/Gibbsdavidl/CatterPlots") + (synopsis "Scatter plots with cat shaped points") + (description "Did you ever wish you could make scatter plots with cat +shaped points? Now you can!") + (license license:asl2.0)))) From 5a545aab6292d170446d5709492c1baf303039e6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 20 Jan 2018 10:47:22 +0100 Subject: [PATCH 040/106] gnu: emacs-request: Update to 0.3.0. * gnu/packages/emacs.scm (emacs-request): Update to 0.3.0. [source]: Fetch with git. --- gnu/packages/emacs.scm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 82b4eb3aa6..27582bbf15 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost ;;; Copyright © 2015 Federico Beffa -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2016, 2017 Chris Marusich ;;; Copyright © 2015, 2016 Christopher Allan Webber ;;; Copyright © 2016 Adriano Peluso @@ -3168,15 +3168,16 @@ perspective only its buffers are available by default.") (define-public emacs-request (package (name "emacs-request") - (version "0.2.0") + (version "0.3.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/tkf/emacs-request/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tkf/emacs-request.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 - (base32 "0sll9g9x15jxrdr58pdxx4iz74rnjd43q521iqm890i6hmkrgwap")))) + (base32 + "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7")))) (build-system emacs-build-system) (home-page "https://github.com/tkf/emacs-request") (synopsis "Package for speaking HTTP in Emacs Lisp") From 0b88f536db025fb8d8722089f61fc1d01e4c66ca Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 20 Jan 2018 10:47:57 +0100 Subject: [PATCH 041/106] gnu: emacs-tiny: Fix indentation. * gnu/packages/emacs.scm (emacs-tiny): Fix indentation. --- gnu/packages/emacs.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 27582bbf15..0c3d5139ac 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -6463,7 +6463,7 @@ It supports dired buffers and opens them in tree mode at destination.") It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp proficiency is an advantage, since you can transform your numeric range with an elisp expression.") - (license license:gpl3+))) + (license license:gpl3+))) (define-public emacs-bash-completion (package From 220ed20b225414a466d4e35d0724ecd0ad5a0127 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 19:25:36 +0100 Subject: [PATCH 042/106] gnu: Add python-txamqp. * gnu/packages/python.scm (python-txamqp, python2-txamqp): New variables. --- gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9b9b22be28..3c40f00edd 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7598,6 +7598,35 @@ alternative when librabbitmq is not available.") #:tests? #f ,@(package-arguments amqp)))))) +(define-public python-txamqp + (package + (name "python-txamqp") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "txAMQP" version)) + (sha256 + (base32 + "1r43a66dd547mz40ikymm8y3d480cidy560fj81qc0jk4lncgmmr")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six) + ("python-twisted" ,python-twisted))) + (home-page "https://github.com/txamqp/txamqp") + (synopsis "Communicate with AMQP peers and brokers using Twisted") + (description + "This package provides a Python library for communicating with AMQP peers +and brokers using the asynchronous networking framework Twisted. It contains +all the necessary code to connect, send and receive messages to/from an +AMQP-compliant peer or broker (Qpid, OpenAMQ, RabbitMQ) using Twisted. It +also includes support for using Thrift RPC over AMQP in Twisted +applications.") + (license license:asl2.0))) + +(define-public python2-txamqp + (package-with-python2 python-txamqp)) + (define-public python-kombu (package (name "python-kombu") From 40fac51a193022b7acdd581e2c8ffb90b544087a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 19:26:33 +0100 Subject: [PATCH 043/106] gnu: Add python-django-tagging. * gnu/packages/django.scm (python-django-tagging, python2-django-tagging): New variables. --- gnu/packages/django.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 7f39817332..4f3e4914fa 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -718,3 +719,25 @@ static files.") lower the barrier of entry, providing tools to enable teams to work towards higher quality while welcoming newcomers.") (license license:gpl3+))) + +(define-public python-django-tagging + (package + (name "python-django-tagging") + (version "0.4.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "django-tagging" version)) + (sha256 + (base32 + "0s7b4v45j783yaxs7rni10k24san0ya77nqz4s7zdf3jhfpk42r1")))) + (build-system python-build-system) + (home-page "https://github.com/Fantomas42/django-tagging") + (synopsis "Generic tagging application for Django") + (description "This package provides a generic tagging application for +Django projects, which allows association of a number of tags with any +@code{Model} instance and makes retrieval of tags simple.") + (license license:bsd-3))) + +(define-public python2-django-tagging + (package-with-python2 python-django-tagging)) From 4d92c2106462bb1a77d6e0986eba19d90853b583 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 19:27:59 +0100 Subject: [PATCH 044/106] gnu: Add python-whisper. * gnu/packages/monitoring.scm (python-whisper, python2-whisper): New variables. --- gnu/packages/monitoring.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index f178232cc3..f7b14e4165 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ludovic Courtès ;;; Copyright © 2018 Sou Bunnbu +;;; Copyright © 2017, 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system perl) + #:use-module (guix build-system python) #:use-module (guix build-system gnu) #:use-module (gnu packages admin) #:use-module (gnu packages base) @@ -156,3 +158,28 @@ HTTP. Features: @item Supports IPv6. @end itemize") (license license:gpl2))) + +(define-public python-whisper + (package + (name "python-whisper") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "whisper" version)) + (sha256 + (base32 + "1v1bi3fl1i6p4z4ki692bykrkw6907dn3mfq0151f70lvi3zpns3")))) + (build-system python-build-system) + (home-page "http://graphiteapp.org/") + (synopsis "Fixed size round-robin style database for Graphite") + (description "Whisper is one of three components within the Graphite +project. Whisper is a fixed-size database, similar in design and purpose to +RRD (round-robin-database). It provides fast, reliable storage of numeric +data over time. Whisper allows for higher resolution (seconds per point) of +recent data to degrade into lower resolutions for long-term retention of +historical data.") + (license license:asl2.0))) + +(define-public python2-whisper + (package-with-python2 python-whisper)) From a15181bbdb3428362695bc8f80f256d006b357f0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 19:29:13 +0100 Subject: [PATCH 045/106] gnu: Add python2-carbon. * gnu/packages/monitoring.scm (python2-carbon): New variable. --- gnu/packages/monitoring.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index f7b14e4165..1a5cc0414c 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -31,7 +31,8 @@ #:use-module (gnu packages gd) #:use-module (gnu packages image) #:use-module (gnu packages mail) - #:use-module (gnu packages perl)) + #:use-module (gnu packages perl) + #:use-module (gnu packages python)) (define-public nagios (package @@ -183,3 +184,34 @@ historical data.") (define-public python2-whisper (package-with-python2 python-whisper)) + +(define-public python2-carbon + (package + (name "python2-carbon") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "carbon" version)) + (sha256 + (base32 + "142smpmgbnjinvfb6s4ijazish4vfgzyd8zcmdkh55y051fkixkn")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ; only supports Python 2 + #:phases + (modify-phases %standard-phases + ;; Don't install to /opt + (add-after 'unpack 'do-not-install-to-/opt + (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t))))) + (propagated-inputs + `(("python2-whisper" ,python2-whisper) + ("python2-configparser" ,python2-configparser) + ("python2-txamqp" ,python2-txamqp))) + (home-page "http://graphiteapp.org/") + (synopsis "Backend data caching and persistence daemon for Graphite") + (description "Carbon is a backend data caching and persistence daemon for +Graphite. Carbon is responsible for receiving metrics over the network, +caching them in memory for \"hot queries\" from the Graphite-Web application, +and persisting them to disk using the Whisper time-series library.") + (license license:asl2.0))) From e7a30ded59f314023a7d3e6c16a098b7e8e20c2c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 19:29:45 +0100 Subject: [PATCH 046/106] gnu: Add python2-graphite-web. * gnu/packages/monitoring.scm (python2-graphite-web): New variable. --- gnu/packages/monitoring.scm | 48 ++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index 1a5cc0414c..d7a1641ad8 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -28,11 +28,14 @@ #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages django) #:use-module (gnu packages gd) #:use-module (gnu packages image) #:use-module (gnu packages mail) #:use-module (gnu packages perl) - #:use-module (gnu packages python)) + #:use-module (gnu packages python) + #:use-module (gnu packages python-web) + #:use-module (gnu packages time)) (define-public nagios (package @@ -215,3 +218,46 @@ Graphite. Carbon is responsible for receiving metrics over the network, caching them in memory for \"hot queries\" from the Graphite-Web application, and persisting them to disk using the Whisper time-series library.") (license license:asl2.0))) + +(define-public python2-graphite-web + (package + (name "python2-graphite-web") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "graphite-web" version)) + (sha256 + (base32 + "0q8bwlj75jqyzmazfsi5sa26xl58ssa8wdxm2l4j0jqyn8xpfnmc")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ; only supports Python 2 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + (("0.4.3") ,(package-version python2-django-tagging)) + (("<1.9.99") (string-append "<=" + ,(package-version python2-django)))) + #t)) + ;; Don't install to /opt + (add-after 'unpack 'do-not-install-to-/opt + (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t))))) + (propagated-inputs + `(("python2-cairocffi" ,python2-cairocffi) + ("python2-pytz" ,python2-pytz) + ("python2-whisper" ,python2-whisper) + ("python2-django" ,python2-django) + ("python2-django-tagging" ,python2-django-tagging) + ("python2-scandir" ,python2-scandir) + ("python2-urllib3" ,python2-urllib3) + ("python2-pyparsing" ,python2-pyparsing) + ("python2-txamqp" ,python2-txamqp))) + (home-page "http://graphiteapp.org/") + (synopsis "Scalable realtime graphing system") + (description "Graphite is a scalable real-time graphing system that does +two things: store numeric time-series data, and render graphs of this data on +demand.") + (license license:asl2.0))) From 11861d2bf01ca7da3a8fcdd91a8606fd17ef9421 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 11:15:03 +0100 Subject: [PATCH 047/106] gnu: mia: Update to 2.4.6. * gnu/packages/image-processing.scm (mia): Update to 2.4.6. --- gnu/packages/image-processing.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 0037fdb26c..c2f7025249 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2016 Eric Bavier +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -85,7 +86,7 @@ licences similar to the Modified BSD licence.")))) (define-public mia (package (name "mia") - (version "2.4.4") + (version "2.4.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/mia/mia/" @@ -93,7 +94,7 @@ licences similar to the Modified BSD licence.")))) "/mia-" version ".tar.xz")) (sha256 (base32 - "124gvf8nkls59mlnx8ynq00n9zrah7a54gsywafx7qmfr0y95ra7")))) + "0j4nd5z7i3v199jh7hqqhwd4g7snchizkc7rhzanpvngqg91m1pb")))) (build-system cmake-build-system) (arguments `(#:configure-flags From 982dab0ba73a8556bb5ab65bf199efbd1f2b508b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 14:48:43 +0100 Subject: [PATCH 048/106] gnu: newt: Update to 0.52.20. * gnu/packages/slang.scm (newt): Update to 0.52.20. --- gnu/packages/slang.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/slang.scm b/gnu/packages/slang.scm index 953291be26..b0a7ff0cfc 100644 --- a/gnu/packages/slang.scm +++ b/gnu/packages/slang.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Eric Bavier +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -79,14 +80,14 @@ slsh, which is part of the S-Lang distribution.") (define-public newt (package (name "newt") - (version "0.52.18") + (version "0.52.20") (source (origin (method url-fetch) (uri (string-append "https://pagure.io/releases/" name "/" name "-" version ".tar.gz")) (sha256 (base32 - "07n9f2mqsjfj35wx5ldhvl9sqcjqpcl0g4fdd9mawmny9rihw6vp")))) + "1g3dpfnvaw7vljbr7nzq1rl88d6r8cmrvvng9inphgzwxxmvlrld")))) (build-system gnu-build-system) (outputs '("out" "python")) (inputs @@ -100,8 +101,9 @@ slsh, which is part of the S-Lang distribution.") ;; Set the correct RUNPATH in binaries. (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) #:make-flags - ;; configure does not allow us to override this variable from the - ;; command-line. Fortunately, the Makefile does, so provide it here. + ;; configure uses a hard-coded search of /usr/include/python* to set + ;; this variable, and does not allow us to override it from the + ;; command line. Fortunately, the Makefile does, so provide it here. (list (string-append "PYTHONVERS=python" ,(version-major+minor (package-version python)))) #:phases From 9270b2fb45f4352e4dade0eb4bb323458a647848 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 00:26:51 +0100 Subject: [PATCH 049/106] gnu: libtorrent-rasterbar: Update home page. * gnu/packages/bittorrent.scm (libtorrent-rasterbar)[home-page]: Use extant domain. --- gnu/packages/bittorrent.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 9f09c9836e..46eeb18a8a 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -400,7 +400,7 @@ and will take advantage of multiple processor cores where possible.") ("openssl" ,openssl))) (native-inputs `(("python" ,python-2) ("pkg-config" ,pkg-config))) - (home-page "http://www.rasterbar.com/products/libtorrent/") + (home-page "https://www.libtorrent.org/") (synopsis "Feature complete BitTorrent implementation") (description "libtorrent-rasterbar is a feature complete C++ BitTorrent implementation From 897bd0b50196b48149918e635a81be13378fb96a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 20 Jan 2018 23:22:20 +0100 Subject: [PATCH 050/106] gnu: mktorrent: Add missing @dfn to description. * gnu/packages/bittorrent.scm (mktorrent)[description]: Add missing @dfn. --- gnu/packages/bittorrent.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 46eeb18a8a..3c9279df96 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -362,11 +362,12 @@ downloads, download scheduling, download rate limiting.") #:tests? #f)) ; no tests (home-page "https://github.com/Rudde/mktorrent") (synopsis "Utility to create BitTorrent metainfo files") - (description "mktorrent is a simple command-line utility to create -BitTorrent @dfn{metainfo} files, often known simply as @dfn{torrents}, from -both single files and whole directories. It can add multiple trackers and web -seed URLs, and set the @code{private} flag to disallow advertisement through -the distributed hash table (DHT) and Peer Exchange. Hashing is multi-threaded + (description + "mktorrent is a simple command-line utility to create BitTorrent +@dfn{metainfo} files, often known simply as @dfn{torrents}, from both single +files and whole directories. It can add multiple trackers and web seed URLs, +and set the @code{private} flag to disallow advertisement through the +distributed hash table (@dfn{DHT}) and Peer Exchange. Hashing is multi-threaded and will take advantage of multiple processor cores where possible.") (license (list l:public-domain ; sha1.*, used to build without OpenSSL l:gpl2+)))) ; with permission to link with OpenSSL From 1c91169094ede486bbe433fc7920076269e6f0c1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 16:41:00 +0100 Subject: [PATCH 051/106] gnu: youtube-dl: Update to 2018.01.21. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/video.scm (youtube-dl): Update to 2018.01.21. [description]: Update. ‘A few’ is simply no longer true. --- gnu/packages/video.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index fa3aa0e8f0..c5ef142b7c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1150,7 +1150,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2018.01.18") + (version "2018.01.21") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1158,7 +1158,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "16mdy83s8h1hw1qdbcv6anrgg9zxfw1da22fxjx53pr2x0ywwbsf")))) + "14ggjxnhc2sxc93h7d5k3z4n35n5q3ffsif97np0ar93x5z3zgn5")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1185,7 +1185,7 @@ access to mpv's powerful playback capabilities.") (synopsis "Download videos from YouTube.com and other sites") (description "Youtube-dl is a small command-line program to download videos from -YouTube.com and a few more sites.") +YouTube.com and many more sites.") (home-page "https://yt-dl.org") (license license:public-domain))) From caa8de70de6c1dffa28ed7555eb363dd97510191 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 16:42:41 +0100 Subject: [PATCH 052/106] gnu: youtube-dl: Return #t from phases. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/video.scm (youtube-dl)[arguments]: Return #t from ‘fix-the-data-directories’ phase. --- gnu/packages/video.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index c5ef142b7c..e7285e50b5 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1181,7 +1181,8 @@ access to mpv's powerful playback capabilities.") (("'etc/") (string-append "'" prefix "/etc/")) (("'share/") - (string-append "'" prefix "/share/"))))))))) + (string-append "'" prefix "/share/"))) + #t)))))) (synopsis "Download videos from YouTube.com and other sites") (description "Youtube-dl is a small command-line program to download videos from From 6137da88480955979a2ebf1d23ad9a1272833178 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 16:21:44 +0100 Subject: [PATCH 053/106] gnu: direnv: Use HTTPS for home page. * gnu/packages/shellutils.scm (direnv)[home-page]: Use HTTPS. --- gnu/packages/shellutils.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 2d515ec7a5..4953bf3723 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -112,7 +112,7 @@ are already there.") (native-inputs `(("go" ,go) ("which" ,which))) - (home-page "http://direnv.net/") + (home-page "https://direnv.net/") (synopsis "Environment switcher for the shell") (description "direnv can hook into bash, zsh, tcsh and fish shell to load or unload environment variables depending on the current directory. This From a63179196eee2e690e027f3619a0121dfc9475cd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 16:25:58 +0100 Subject: [PATCH 054/106] gnu: direnv: Edit description. * gnu/packages/shellutils.scm (direnv)[description]: Edit and use @file. --- gnu/packages/shellutils.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 4953bf3723..650fe98ef3 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017 Alex Griffin ;;; Copyright © 2016 Christopher Baines ;;; Copyright © 2017 Stefan Reichör +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -114,14 +115,14 @@ are already there.") ("which" ,which))) (home-page "https://direnv.net/") (synopsis "Environment switcher for the shell") - (description "direnv can hook into bash, zsh, tcsh and fish shell to load + (description + "direnv can hook into the bash, zsh, tcsh, and fish shells to load or unload environment variables depending on the current directory. This -allows project-specific environment variables without using the ~/.profile -file. +allows project-specific environment variables without using @file{~/.profile}. -Before each prompt, direnv checks for the existence of a .envrc file in the -current and parent directories. This file is then used to alter the -environmental variables of the current shell.") +Before each prompt, direnv checks for the existence of a @file{.envrc} file in +the current and parent directories. This file is then used to alter the +environment variables of the current shell.") (license expat))) (define-public fzy From e11a70176dca55fe60e5ab5dc967028920d0968b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 19:13:37 +0100 Subject: [PATCH 055/106] gnu: go@1.9: Drop left-over work-around. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/golang.scm (go-1.9)[arguments]: Remove substitution for fixed bug from the ‘prebuild’ phase. --- gnu/packages/golang.scm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e7c2d228cc..b80abed493 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -300,13 +300,6 @@ sequential processes (CSP) concurrent programming features added.") (substitute* "../misc/cgo/testcarchive/carchive_test.go" (("#!/usr/bin/env") (string-append "#!" (which "env")))) - ;; Escape braces in test data to workaround test failure. For - ;; more information: - ;; https://github.com/golang/go/issues/20007 - ;; FIXME: remove this once we upgrade to 1.9 - (substitute* "cmd/vet/testdata/copylock_func.go" - (("struct\\{lock sync.Mutex\\}") "struct\\{lock sync.Mutex\\}")) - (substitute* "net/lookup_unix.go" (("/etc/protocols") (string-append net-base "/etc/protocols"))) (substitute* "net/port_unix.go" From 247064c3d141dec61706890221271fa32110b207 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 19:15:52 +0100 Subject: [PATCH 056/106] gnu: go: Improve description. * gnu/packages/golang.scm (go-1.4)[description]: Edit for clarity. --- gnu/packages/golang.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index b80abed493..202183ff29 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2017 Sergei Trofimovich ;;; Copyright © 2017 Alex Vong +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -196,10 +197,10 @@ (home-page "https://golang.org/") (synopsis "Compiler and libraries for Go, a statically-typed language") (description "Go, also commonly referred to as golang, is an imperative -programming language. Designed primarily for systems programming, it is a -compiled, statically typed language in the tradition of C and C++, with -garbage collection, various safety features and in the style of communicating -sequential processes (CSP) concurrent programming features added.") +programming language designed primarily for systems programming. Go is a +compiled, statically typed language in the tradition of C and C++, but adds +garbage collection, various safety features, and concurrent programming features +in the style of communicating sequential processes (@dfn{CSP}).") (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) (license license:bsd-3))) From 107a14f9af44e5afa77ca9424d29f101e92177f6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jan 2018 22:14:13 +0100 Subject: [PATCH 057/106] gnu: iq80-snappy: Improve synopsis & description. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/compression.scm (iq80-snappy)[synopsis, description]: Fix typos and add ‘(de)compressor’ keywords. --- gnu/packages/compression.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index da74090c79..eaf41062ff 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1302,10 +1302,11 @@ compresser/decompresser.") ("java-snappy" ,java-snappy) ("hamcrest" ,java-hamcrest-core) ("testng" ,java-testng))) - (synopsis "Java port of snappy") - (description "Iq80-snappy is a rewrite (port) of Snappy writen in pure -Java. This compression code produces a byte-for-byte exact copy of the output -created by the original C++ code, and extremely fast.") + (synopsis "Java port of the Snappy (de)compressor") + (description + "Iq80-snappy is a port of the Snappy compressor and decompressor rewritten +in pure Java. This compression code produces a byte-for-byte exact copy of the +output created by the original C++ code, and is extremely fast.") (license license:asl2.0))) (define-public java-jbzip2 From 33171a3610d4b4bbd5bfd4e26b7d70a9ea757e33 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 22 Jan 2018 00:13:42 +0100 Subject: [PATCH 058/106] gnu: nss-certs: Update to 3.35. * gnu/packages/certs.scm (nss-certs): Update to 3.35. --- gnu/packages/certs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 30e53e3458..0f2f2d25ba 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016, 2017 Ludovic Courtès ;;; Copyright © 2017 Leo Famulari -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,7 +75,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.34.1") + (version "3.35") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -86,7 +86,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "186x33wsk4mzjz7dzbn8p0py9a0nzkgzpfkdv4rlyy5gghv5vhd3")))) + "1ypn68z9ncbbshi3184ywrhx5i846lyd72gps1grzqzdkgh7s4pl")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs From 3df57b3a9767f5b913ca69cd65e55d2aed57facb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 22 Jan 2018 09:39:39 +0200 Subject: [PATCH 059/106] gnu: khmer: Add aarch64-linux to supported systems. * gnu/packages/bioinformatics.scm (khmer)[supported-systems]: Add aarch64-linux to the supported systems. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index eb35537a06..31d5213f95 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2016 Pjotr Prins ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2016 Roel Janssen -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2016 Raoul Bonnal ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice @@ -3434,7 +3434,7 @@ sometimes better. Khmer can also identify and fix problems with shotgun data.") ;; When building on i686, armhf and mips64el, we get the following error: ;; error: ['khmer', 'khmer.tests', 'oxli'] require 64-bit operating system - (supported-systems '("x86_64-linux")) + (supported-systems '("x86_64-linux" "aarch64-linux")) (license license:bsd-3))) (define-public kaiju From 3b6502e25d421ddc6dec3ed828ef23f311e279a6 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 21 Jan 2018 10:54:29 +0100 Subject: [PATCH 060/106] gnu: python-kivy: Add "git" native-input. * gnu/packages/python.scm (python-kivy)[native-inputs]: Add git. --- gnu/packages/python.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3c40f00edd..8ded440815 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9253,7 +9253,8 @@ and/or Xon/Xoff. The port is accessed in RAW mode.") "/include/SDL2")) #t))))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("git" ,git) + ("pkg-config" ,pkg-config) ("python-cython" ,python-cython))) (inputs `(("gstreamer" ,gstreamer) From 33988f9b5876e4b44cabe1997a91eb604931c1ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 22 Jan 2018 10:46:34 +0100 Subject: [PATCH 061/106] publish: Restore gzip compression in cache-less mode. Fixes . Regression introduced in 297e04d66010ada31a40f40143d81bf6b62affcc. Reported by Christopher Baines . * guix/scripts/publish.scm (nar-response-port): Add 'compression' parameter and honor it. (http-write): Get 'x-nar-compression' from the initial RESPONSE. --- guix/scripts/publish.scm | 16 +++++++++------- tests/publish.scm | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 1673fb9f33..b5dfdab32f 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -672,10 +672,10 @@ example: \"/foo/bar\" yields '(\"foo\" \"bar\")." exp ...) (const #f))) -(define (nar-response-port response) +(define (nar-response-port response compression) "Return a port on which to write the body of RESPONSE, the response of a /nar request, according to COMPRESSION." - (match (assoc-ref (response-headers response) 'x-nar-compression) + (match compression (($ 'gzip level) ;; Note: We cannot used chunked encoding here because ;; 'make-gzip-output-port' wants a file port. @@ -697,11 +697,13 @@ blocking." (call-with-new-thread (lambda () (set-thread-name "publish nar") - (let* ((response (write-response (sans-content-length response) - client)) - (port (begin - (force-output client) - (nar-response-port response)))) + (let* ((compression (assoc-ref (response-headers response) + 'x-nar-compression)) + (response (write-response (sans-content-length response) + client)) + (port (begin + (force-output client) + (nar-response-port response compression)))) ;; XXX: Given our ugly workaround for in ;; 'render-nar', BODY here is just the file name of the store item. ;; We call 'write-file' from here because we know that's the only diff --git a/tests/publish.scm b/tests/publish.scm index bd1a75cf00..8c88a8c93d 100644 --- a/tests/publish.scm +++ b/tests/publish.scm @@ -111,6 +111,10 @@ (sleep 1) (loop (- i 1)))))) +(define %gzip-magic-bytes + ;; Magic bytes of gzip file. + #vu8(#x1f #x8b)) + ;; Wait until the two servers are ready. (wait-until-ready 6789) @@ -213,6 +217,18 @@ FileSize: ~a~%" (cut restore-file <> temp))) (call-with-input-file temp read-string)))) +(unless (zlib-available?) + (test-skip 1)) +(test-equal "/nar/gzip/* is really gzip" + %gzip-magic-bytes + ;; Since 'gzdopen' (aka. 'call-with-gzip-input-port') transparently reads + ;; uncompressed gzip, the test above doesn't check whether it's actually + ;; gzip. This is what this test does. See . + (let ((nar (http-get-port + (publish-uri + (string-append "/nar/gzip/" (basename %item)))))) + (get-bytevector-n nar (bytevector-length %gzip-magic-bytes)))) + (unless (zlib-available?) (test-skip 1)) (test-equal "/*.narinfo with compression" From 14e375b9802d365df7046e7ccc6720e294145dc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 22 Jan 2018 13:02:36 +0100 Subject: [PATCH 062/106] gnu: guix: Update snapshot to 33988f9. * gnu/packages/package-management.scm (guix): Update to 33988f9. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 24116f997b..782d336eea 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -86,8 +86,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.14.0") - (commit "0dcf675c56a4649ccef657e78849e91f9f9b4c0a") - (revision 6)) + (commit "33988f9b5876e4b44cabe1997a91eb604931c1ca") + (revision 7)) (package (name "guix") @@ -103,7 +103,7 @@ (commit commit))) (sha256 (base32 - "0kqpdg8ydxm67cdlrqsdrpzv0qdvnfln0ixsjrmdw2pcngh6wn56")) + "0sfr32yhkm87apgpp6mjr6r43sp4l0ih35q4pmhwzfnj2bimmzhk")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From 1a35f274af16278be769eb72cddea1b14701ab26 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 22 Jan 2018 18:23:00 +0100 Subject: [PATCH 063/106] gnu: parallel: Update to 20180122. * gnu/packages/parallel.scm (parallel): Update to 20180122. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 1d2b75f8fe..d44a422ec2 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -47,7 +47,7 @@ (define-public parallel (package (name "parallel") - (version "20171222") + (version "20180122") (source (origin (method url-fetch) @@ -55,7 +55,7 @@ version ".tar.bz2")) (sha256 (base32 - "1p3r6dlhy49q3y468kf65nqdp0knqw41vwga9rprrvi04kywgj4v")))) + "1wkkqghdjp9j2aqnrfh57kad1w41gdg7knhhlciczkm853f4d0sw")))) (build-system gnu-build-system) (arguments `(#:phases From 28b0b21e3f406cdf3ba9ff32ce80c7108d3d032e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 22 Jan 2018 18:24:45 +0100 Subject: [PATCH 064/106] gnu: parallel: Don't end phase with #. * gnu/packages/parallel.scm (parallel)[arguments]: Use INVOKE. --- gnu/packages/parallel.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index d44a422ec2..337e9d4cb3 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -76,10 +76,10 @@ #t)) (add-after 'install 'post-install-test (lambda* (#:key outputs #:allow-other-keys) - (zero? (system* (string-append - (assoc-ref outputs "out") "/bin/parallel") - "echo" - ":::" "1" "2" "3"))))))) + (invoke (string-append + (assoc-ref outputs "out") "/bin/parallel") + "echo" + ":::" "1" "2" "3")))))) (inputs `(("perl" ,perl) ("procps" ,procps))) From 7ff72b3601c531ef0a5653d3c7f564116e6a3920 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 22 Jan 2018 16:11:23 +0100 Subject: [PATCH 065/106] gnu: aria-maestosa: Use scons-python2. * gnu/packages/music.scm (aria-maestosa)[native-inputs]: Replace "scons" by "scons-python2". --- gnu/packages/music.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b7dc7d9aaa..4afac7ad72 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -179,7 +179,7 @@ ("glib" ,glib) ("alsa-lib" ,alsa-lib))) (native-inputs - `(("scons" ,scons) + `(("scons" ,scons-python2) ("pkg-config" ,pkg-config))) (home-page "http://ariamaestosa.sourceforge.net/") (synopsis "MIDI sequencer and editor") From 308124465249723f09ece2e461110eac12b1c49a Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 22 Jan 2018 16:13:12 +0100 Subject: [PATCH 066/106] gnu: aria-maestosa: Use scons-build-system. * gnu/packages/music.scm (aria-maestosa)[build-system]: Use scons-build-system. [native-inputs]: Remove scons-python2. [arguments]: Use scons-python2. <#:phases>: Remove custom phases "build" and "install". Add custom phase "fix-directory-permissions". --- gnu/packages/music.scm | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 4afac7ad72..4a49a550b9 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -134,11 +134,11 @@ (sha256 (base32 "1cs3z6frx2ch7rm5ammx9p0rxcjrbj1vq14hvcbimpaw39rdsn3d")))) - (build-system gnu-build-system) + (build-system scons-build-system) (arguments `(#:tests? #f ;no tests + #:scons ,scons-python2 #:phases - ;; TODO: Add scons-build-system and use it here. (modify-phases %standard-phases (delete 'configure) (add-after 'unpack 'scons-propagate-environment @@ -161,26 +161,18 @@ " or \"score/\" in file" " or \"Documentation/\" in file"))) #t)) - (replace 'build (lambda _ (zero? (system* "scons")))) - (replace 'install + (add-after 'install 'fix-directory-permissions (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (and - (zero? (system* "scons" - (string-append "prefix=" out) - "install")) - ;; Fix directory permissions - (begin - (chmod (string-append out "/share/Aria/Documentation") #o555) - (chmod (string-append out "/share/Aria/score") #o555) - #t)))))))) + (chmod (string-append out "/share/Aria/Documentation") #o555) + (chmod (string-append out "/share/Aria/score") #o555) + #t)))))) (inputs `(("wxwidgets" ,wxwidgets) ("glib" ,glib) ("alsa-lib" ,alsa-lib))) (native-inputs - `(("scons" ,scons-python2) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config))) (home-page "http://ariamaestosa.sourceforge.net/") (synopsis "MIDI sequencer and editor") (description From 8a58182c12193ae27359591c92febfdd602411f4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 22 Jan 2018 17:34:13 +0100 Subject: [PATCH 067/106] gnu: wxwidgets: Use webkitgtk-2.4. * gnu/packages/wxwidgets.scm (wxwidgets)[inputs]: Replace "webkitgtk" by "webkitgtk-2.4". --- gnu/packages/wxwidgets.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 84446d8ef0..9a62f5cf1c 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -69,7 +69,7 @@ ("libsm" ,libsm) ("libtiff" ,libtiff) ("mesa" ,mesa) - ("webkitgtk" ,webkitgtk) + ("webkitgtk" ,webkitgtk-2.4) ("sdl" ,sdl))) (native-inputs `(("pkg-config" ,pkg-config))) From ce4c9b73c8357c7ba16df491dfa05aef9645c36e Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 18:36:17 +0100 Subject: [PATCH 068/106] gnu: python-magic: Update to 0.4.15. * gnu/packages/python.scm (python-magic) Updated to 0.4.15. Signed-off-by: Danny Milosavljevic --- gnu/packages/python.scm | 53 +++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8ded440815..346363d720 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8093,15 +8093,14 @@ is made as zipfile like as possible.") (define-public python-magic (package (name "python-magic") - (version "0.4.3") + (version "0.4.15") (source (origin (method url-fetch) - (uri (string-append "https://github.com/ahupp/python-magic/archive/" - version ".tar.gz")) + (uri (pypi-uri "python-magic" version)) (sha256 (base32 - "17bgy92i7sb021f2s4mw1dcvpm6p1mi9jihridwy1pyn8mzvpjgk")) + "1mgwig9pnzgkf86q9ji9pnc99bngms15lfszq5rgqb9db07mqxpk")) (file-name (string-append name "-" version "-checkout")))) (build-system python-build-system) (arguments @@ -8119,31 +8118,33 @@ is made as zipfile like as possible.") ;; expected. '(#:tests? #f #:phases (modify-phases %standard-phases - ;; Replace a specific method call with a hard-coded - ;; path to the necessary libmagic.so file in the - ;; store. If we don't do this, then the method call - ;; will fail to find the libmagic.so file, which in - ;; turn will cause any application using - ;; python-magic to fail. - (add-before 'build 'hard-code-path-to-libmagic - (lambda* (#:key inputs #:allow-other-keys) - (let ((file (assoc-ref inputs "file"))) - (substitute* "magic.py" - (("ctypes.util.find_library\\('magic'\\)") - (string-append "'" file "/lib/libmagic.so'"))) - #t))) - (add-before 'install 'disable-egg-compression - (lambda _ - (let ((port (open-file "setup.cfg" "a"))) - (display "\n[easy_install]\nzip_ok = 0\n" - port) - (close-port port) - #t)))))) + ;; Replace a specific method call with a hard-coded + ;; path to the necessary libmagic.so file in the + ;; store. If we don't do this, then the method call + ;; will fail to find the libmagic.so file, which in + ;; turn will cause any application using + ;; python-magic to fail. + (add-before 'build 'hard-code-path-to-libmagic + (lambda* (#:key inputs #:allow-other-keys) + (let ((file (assoc-ref inputs "file"))) + (substitute* "magic.py" + (("ctypes.util.find_library\\('magic'\\)") + (string-append "'" file "/lib/libmagic.so'"))) + #t))) + (add-before 'install 'disable-egg-compression + (lambda _ + (let ((port (open-file "setup.cfg" "a"))) + (display "\n[easy_install]\nzip_ok = 0\n" + port) + (close-port port) + #t)))))) (inputs ;; python-magic needs to be able to find libmagic.so. `(("file" ,file))) - (home-page "https://github.com/ahupp/python-magic") - (synopsis "File type identification using libmagic") + (home-page + "https://github.com/ahupp/python-magic") + (synopsis + "File type identification using libmagic") (description "This module uses ctypes to access the libmagic file type identification library. It makes use of the local magic database and From edb09c53c448a41818927c4e88eca6a72833a08b Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 18:39:29 +0100 Subject: [PATCH 069/106] gnu: python-relatorio: Update to 0.8.0. * gnu/packages/python.scm (python-relatorio): Updated to 0.8.0. Signed-off-by: Danny Milosavljevic --- gnu/packages/python.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 346363d720..9767536124 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -11117,18 +11117,20 @@ information.") (define-public python-relatorio (package (name "python-relatorio") - (version "0.6.4") + (version "0.8.0") (source (origin (method url-fetch) (uri (pypi-uri "relatorio" version)) (sha256 (base32 - "0lincq79mzgazwd9gh41dybjh9c3n87r83pl8nk3j79aihyfk84z")))) + "1na6hlhz1awi1hbjg1gyclq0khz42iz90wvdjw7mmj655788bpxx")))) (build-system python-build-system) (propagated-inputs `(("python-lxml" ,python-lxml) ("python-genshi" ,python-genshi))) + (native-inputs + `(("python-magic" ,python-magic))) (home-page "https://relatorio.tryton.org/") (synopsis "Templating library able to output ODT and PDF files") (description "Relatorio is a templating library which provides a way to From 7e99221db9c984751556f4062bf084fdf288207e Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 18:40:52 +0100 Subject: [PATCH 070/106] gnu: trytond: Updated to 4.6.2. * gnu/packages/tryton.scm (trytond): Updated to 4.6.2. [inputs]: Add python-magic. Signed-off-by: Danny Milosavljevic --- gnu/packages/tryton.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index aa7af669c8..015437dc0a 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -32,21 +32,20 @@ (define-public trytond (package (name "trytond") - (version "4.4.1") + (version "4.6.2") (source (origin (method url-fetch) - (uri (string-append - "https://downloads.tryton.org/4.4/trytond-" - version ".tar.gz")) + (uri (pypi-uri "trytond" version)) (sha256 (base32 - "15gm34qwj5fpnkqvrxzndl8653zbczhsa76dm1gi4cqj1r29bbpr")))) + "0asc3pd37h8ky8j66iqxr0fv0k6mpjcwxwm0xgm5hrdi32l5cdda")))) (build-system python-build-system) (inputs `(("python-dateutil" ,python-dateutil) ("python-genshi" ,python-genshi) ("python-polib" ,python-polib) + ("python-magic" ,python-magic) ;; there's no python-mysql in Guix right now ;; so python-psycopg2 (postgresql) only for now ("python-psycopg2" ,python-psycopg2) From 974a4d5d57bac2a2516ed0960025cc6610d03bc6 Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 18:42:14 +0100 Subject: [PATCH 071/106] gnu: tryton: Updated to 4.6.2. * gnu/packages/tryton.scm (tryton): Update to 4.6.2. Signed-off-by: Danny Milosavljevic --- gnu/packages/tryton.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 015437dc0a..1fa6d4e5ba 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -73,16 +73,14 @@ and security.") (define-public tryton (package (name "tryton") - (version "4.4.0") + (version "4.6.2") (source (origin (method url-fetch) - (uri (string-append - "https://downloads.tryton.org/4.4/tryton-" - version ".tar.gz")) + (uri (pypi-uri "tryton" version)) (sha256 (base32 - "1lklcz5fs6rkrd7z2m2f5gz4fdwzkgnhg2hyvzp20kdsvi33bq2j")))) + "0bamr040np02gfjk8c734rw3mbgg75irfgpdcl2npgkdzyw1ksf9")))) (build-system python-build-system) (inputs `(("python2-chardet" ,python2-chardet) From 09b9cf7327f1cdaee31e9a176451a263d56cec5b Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 18:55:12 +0100 Subject: [PATCH 072/106] gnu: Add python-phonenumbers. * gnu/packages/python.scm (python-phonenumbers, python2-phonenumbers): New variables. Signed-off-by: Danny Milosavljevic --- gnu/packages/python.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9767536124..2c2a0fde3b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -36,7 +36,7 @@ ;;; Copyright © 2016, 2017 Thomas Danckaert ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Frederick M. Muriithi -;;; Copyright © 2017 Adriano Peluso +;;; Copyright © 2017, 2018 Adriano Peluso ;;; Copyright © 2017 Ben Sturmfels ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 José Miguel Sánchez García @@ -12370,3 +12370,26 @@ and normal mode analysis, but also basic routines for implementing new methods for simulation and analysis. The library is currently not actively maintained and works only with Python 2 and NumPy < 1.9.") (license license:cecill-c))) + +(define-public python-phonenumbers + (package + (name "python-phonenumbers") + (version "8.8.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "phonenumbers" version)) + (sha256 + (base32 + "1lhhxmx3hk0b5891nc0p82dl5bq2w9cqbawmh8j5zy587af2j6fq")))) + (build-system python-build-system) + (home-page + "https://github.com/daviddrysdale/python-phonenumbers") + (synopsis + "Python library for dealing with international phone numbers") + (description + "This package provides a Python port of Google's libphonenumber library.") + (license license:asl2.0))) + +(define-public python2-phonenumbers + (package-with-python2 python-phonenumbers)) From bf3563d5a4cbd8ff83b564442105d1f0d5e100e2 Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 18:58:45 +0100 Subject: [PATCH 073/106] gnu: Add python-proteus. * gnu/packages/tryton.scm (python-proteus): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/tryton.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 1fa6d4e5ba..b4fb008772 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -92,3 +92,24 @@ and security.") (synopsis "Client component of Tryton") (description "This package is the client component of Tryton.") (license license:gpl3+))) + +(define-public python-proteus + (package + (name "python-proteus") + (version "4.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "proteus" version)) + (sha256 + (base32 + "0flkf1vxbhz51b7bq31dn7q9mlkli3pmpbzfhsxfqpf6laghbkqg")))) + (build-system python-build-system) + (propagated-inputs + `(("python-dateutil" ,python-dateutil))) + (home-page "http://www.tryton.org/") + (synopsis + "Library to access a Tryton server as a client") + (description + "This package provides a library to access Tryton server as a client.") + (license license:lgpl3+))) From f38d2b422aafb526f8baba91c51f5bd60cab5be8 Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 19:11:59 +0100 Subject: [PATCH 074/106] gnu: Rename "trytond" to "python-trytond". * gnu/packages/tryton.scm (trytond): Rename to... (python-trytond): ...this. Signed-off-by: Danny Milosavljevic --- gnu/packages/tryton.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index b4fb008772..357cc9f4cc 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -29,9 +29,9 @@ #:use-module (guix download) #:use-module (guix build-system python)) -(define-public trytond +(define-public python-trytond (package - (name "trytond") + (name "python-trytond") (version "4.6.2") (source (origin From 0a92ebdeeb8d147badea2bc96352767290c2d30e Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 19:02:00 +0100 Subject: [PATCH 075/106] gnu: Add python-trytond-country. * gnu/packages/tryton.scm (python-trytond-country): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/tryton.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 357cc9f4cc..65331bf2f7 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -93,6 +93,40 @@ and security.") (description "This package is the client component of Tryton.") (license license:gpl3+))) +(define-public python-trytond-country + (package + (name "python-trytond-country") + (version "4.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "trytond_country" version)) + (sha256 + (base32 + "11c9mw2scbjn7c6yhlwh5ml266f0s31lh4jwj6gh7vl1shs3isr3")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'preparations + (lambda _ + (setenv "DB_NAME" ":memory:") + #t))))) + (propagated-inputs + `(("python-trytond" ,python-trytond) + ("python-wrapt" ,python-wrapt) + ("python-werkzeug" ,python-werkzeug) + ("python-sql" ,python-sql) + ("python-polib" ,python-polib) + ("python-dateutil" ,python-dateutil) + ("python-genshi" ,python-genshi) + ("python-relatorio" ,python-relatorio) + ("python-magic" ,python-magic))) + (home-page "http://www.tryton.org/") + (synopsis "Tryton module with countries") + (description "This package provides a Tryton module with countries.") + (license license:gpl3+))) + (define-public python-proteus (package (name "python-proteus") From 3da86c52e59040523f2df1d8a57ac96ff3493aed Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 19:24:20 +0100 Subject: [PATCH 076/106] gnu: Add python-stdnum. * gnu/packages/finance.scm (python-stdnum, python2-stdnum): New variables. Signed-off-by: Danny Milosavljevic --- gnu/packages/finance.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index ce0172be06..c93f641933 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Vasile Dumitrascu ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2018 Eric Bavier +;;; Copyright © 2018 Adriano Peluso ;;; ;;; This file is part of GNU Guix. ;;; @@ -720,3 +721,34 @@ agent.") (description "This package allows using KeepKey as a hardware SSH/GPG agent.") (license license:lgpl3))) + +(define-public python-stdnum + (package + (name "python-stdnum") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-stdnum" version)) + (sha256 + (base32 + "0hvr47q32xbyiznpmbg4r8rcvxhnf0lwf33hcpnynyik57djy5np")))) + (build-system python-build-system) + (home-page + "https://arthurdejong.org/python-stdnum/") + (synopsis + "Python module to handle standardized number and code formats") + (description + "This is a Python library that aims to provide functions to handle, +parse and validate standard numbers. +The module supports more than 100 different number formats +amongst which a great number of VAT and other tax numbers, +personal identity and company identification codes, +international standard numbers (ISBN, IBAN, EAN, etc.) +and various other formats. +The module also inclused implementations of the Verhoeff, +Luhn and family of ISO/IEC 7064 check digit algorithms. ") + (license license:lgpl2.1+))) + +(define-public python2-stdnum + (package-with-python2 python-stdnum)) From c8b1defe18a622d862a98ca7bbf3b908cd53d0be Mon Sep 17 00:00:00 2001 From: Adriano Peluso Date: Mon, 22 Jan 2018 19:25:10 +0100 Subject: [PATCH 077/106] gnu: Add python-trytond-party. * gnu/packages/tryton.scm (define-module): Add (gnu packages finance). (python-trytond-party): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/tryton.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 65331bf2f7..4fe6124855 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -21,6 +21,7 @@ #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages databases) + #:use-module (gnu packages finance) #:use-module (gnu packages gtk) #:use-module (gnu packages python) #:use-module (gnu packages python-web) @@ -127,6 +128,43 @@ and security.") (description "This package provides a Tryton module with countries.") (license license:gpl3+))) +(define-public python-trytond-party + (package + (name "python-trytond-party") + (version "4.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "trytond_party" version)) + (sha256 + (base32 + "0fbf4kxywiglcdsx9ppjg7nxw87915mb6bpn1jn652gk949rdww5")))) + (build-system python-build-system) + ;; XXX The tests seem to require Proteus. But Proteus tests seem to + ;; require trytond-party. + (arguments + '(#:tests? #f)) + (propagated-inputs + `(("python-trytond" ,python-trytond) + ("python-trytond-country" ,python-trytond-country) + ("python-stdnum" ,python-stdnum) + ("python-sql" ,python-sql) + ("python-wrapt" ,python-wrapt) + ("python-werkzeug" ,python-werkzeug) + ("python-polib" ,python-polib) + ("python-dateutil" ,python-dateutil) + ("python-genshi" ,python-genshi) + ("python-relatorio" ,python-relatorio) + ("python-magic" ,python-magic) + ("python-phonenumbers" ,python-phonenumbers))) + (home-page "http://www.tryton.org/") + (synopsis + "Tryton module for parties and addresses") + (description + "This package provides a Tryton module for (counter)parties and +addresses.") + (license license:gpl3+))) + (define-public python-proteus (package (name "python-proteus") From 9f832233f1adb9ce83d63219369ff1ad988f774b Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 22 Jan 2018 19:44:40 +0100 Subject: [PATCH 078/106] gnu: python-proteus: Add dependencies. * gnu/packages/tryton.scm (python-proteus)[propagated-inputs]: Add python-trytond-party, python-trytond-country, python-trytond, python-stdnum, python-sql, python-wrapt, python-werkzeug, python-polib, python-genshi, python-relatorio, python-magic. --- gnu/packages/tryton.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 4fe6124855..90ca2455c5 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -178,7 +178,18 @@ addresses.") "0flkf1vxbhz51b7bq31dn7q9mlkli3pmpbzfhsxfqpf6laghbkqg")))) (build-system python-build-system) (propagated-inputs - `(("python-dateutil" ,python-dateutil))) + `(("python-dateutil" ,python-dateutil) + ("python-trytond-party" ,python-trytond-party) + ("python-trytond-country" ,python-trytond-country) + ("python-trytond" ,python-trytond) + ("python-stdnum" ,python-stdnum) + ("python-sql" ,python-sql) + ("python-wrapt" ,python-wrapt) + ("python-werkzeug" ,python-werkzeug) + ("python-polib" ,python-polib) + ("python-genshi" ,python-genshi) + ("python-relatorio" ,python-relatorio) + ("python-magic" ,python-magic))) (home-page "http://www.tryton.org/") (synopsis "Library to access a Tryton server as a client") From 20e42d1e97fae32f069abbd8456e1a096e42eb73 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 22 Jan 2018 19:46:40 +0100 Subject: [PATCH 079/106] gnu: aria-maestosa: Add scons-flags. * gnu/packages/music.scm (aria-maestosa): Add scons-flags. --- gnu/packages/music.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 4a49a550b9..f81d4f5069 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -137,6 +137,8 @@ (build-system scons-build-system) (arguments `(#:tests? #f ;no tests + #:scons-flags + (list (string-append "prefix=" (assoc-ref %outputs "out"))) #:scons ,scons-python2 #:phases (modify-phases %standard-phases From c2ab5d92338f081e04c7afd594a4dc5fc96f6e74 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 22 Jan 2018 15:57:07 -0500 Subject: [PATCH 080/106] gnu: mpd: Update to 0.20.15. * gnu/packages/mpd.scm (mpd): Update to 0.20.15. --- gnu/packages/mpd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 30a496ab88..82681aa68a 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -88,7 +88,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.20.13") + (version "0.20.15") (source (origin (method url-fetch) (uri @@ -97,7 +97,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "0h7z90dnpwlyad4kfi1ja9v9vzqic0xg93iy4q0dwlhav0scbha6")))) + "0h7bm561i8p0bjp1hy8fsiy5zj7db24zyv6ypfihwf35wrklz766")))) (build-system gnu-build-system) (arguments `(#:phases From fa5255fd6a8c50fd03347e85a8dededf179d1101 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 22 Jan 2018 22:09:27 +0100 Subject: [PATCH 081/106] gnu: python-trytond: End phase in #t. * gnu/packages/tryton.scm (python-trytond): End phase in #t. --- gnu/packages/tryton.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 90ca2455c5..30f38e62e7 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -62,7 +62,8 @@ (modify-phases %standard-phases (add-before 'check 'preparations (lambda _ - (setenv "DB_NAME" ":memory:")))))) + (setenv "DB_NAME" ":memory:") + #t))))) (home-page "https://www.tryton.org/") (synopsis "Server component of Tryton") (description "Tryton is a three-tier high-level general purpose From 625cdc3fdeb16c422db8967e7bf7f4bcb424821e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 22 Jan 2018 15:47:26 +0100 Subject: [PATCH 082/106] gnu: star: Make reproducible. * gnu/packages/bioinformatics.scm (star)[arguments]: Add build phase "make-reproducible". --- gnu/packages/bioinformatics.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 31d5213f95..c96d462445 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -5563,6 +5563,11 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.") (modify-phases %standard-phases (add-after 'unpack 'enter-source-dir (lambda _ (chdir "source") #t)) + (add-after 'enter-source-dir 'make-reproducible + (lambda _ + (substitute* "Makefile" + (("(COMPILATION_TIME_PLACE=\")(.*)(\")" _ pre mid post) + (string-append pre "Built with Guix" post))))) (add-after 'enter-source-dir 'do-not-use-bundled-htslib (lambda _ (substitute* "Makefile" From 555773932d6391aaf2285cbfdc9b4b99f86d4c19 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 22 Jan 2018 15:48:03 +0100 Subject: [PATCH 083/106] gnu: Add r-argparser. * gnu/packages/cran.scm (r-argparser): New variable. --- gnu/packages/cran.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 62dc6a9bd7..cb39772ae5 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1840,3 +1840,24 @@ plots in @code{ggplot2}.") attractive command line interfaces (CLIs). It includes tools for drawing rules, boxes, trees, and Unicode symbols with ASCII alternatives.") (license license:expat))) + +(define-public r-argparser + (package + (name "r-argparser") + (version "0.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "argparser" version)) + (sha256 + (base32 + "0s1wxshx4jk69wfxhycx973q6y8cmqrfymyjklhq1i8xrj0kmmx9")))) + (build-system r-build-system) + (home-page "https://bitbucket.org/djhshih/argparser") + (synopsis "Command-line argument parser") + (description + "This package provides a cross-platform command-line argument parser +written purely in R with no external dependencies. It is useful with the +Rscript front-end and facilitates turning an R script into an executable +script.") + (license license:gpl3+))) From c55c6985948b12a39cd5805bde95db9a80def3ba Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 22 Jan 2018 22:35:06 +0100 Subject: [PATCH 084/106] system: Add A20 OLinuXino LIME installer. * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-lime-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-lime): New exported variable. * gnu/system/install.scm (a20-olinuxino-lime-installation-os): New exported variable. --- gnu/bootloader/u-boot.scm | 6 ++++++ gnu/packages/bootloaders.scm | 3 +++ gnu/system/install.scm | 6 ++++++ 3 files changed, 15 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index d80ffdb963..21d0aecce2 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -28,6 +28,7 @@ #:use-module (guix records) #:use-module (guix utils) #:export (u-boot-bootloader + u-boot-a20-olinuxino-lime-bootloader u-boot-a20-olinuxino-lime2-bootloader u-boot-a20-olinuxino-micro-bootloader u-boot-banana-pi-m2-ultra-bootloader @@ -90,6 +91,11 @@ (inherit u-boot-allwinner-bootloader) (package u-boot-nintendo-nes-classic-edition))) +(define u-boot-a20-olinuxino-lime-bootloader + (bootloader + (inherit u-boot-allwinner-bootloader) + (package u-boot-a20-olinuxino-lime))) + (define u-boot-a20-olinuxino-lime2-bootloader (bootloader (inherit u-boot-allwinner-bootloader) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index d16db455f0..f7aa21fa61 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -430,6 +430,9 @@ also initializes the boards (RAM etc).") (define-public u-boot-banana-pi-m2-ultra (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf")) +(define-public u-boot-a20-olinuxino-lime + (make-u-boot-package "A20-OLinuXino-Lime" "arm-linux-gnueabihf")) + (define-public u-boot-a20-olinuxino-lime2 (make-u-boot-package "A20-OLinuXino-Lime2" "arm-linux-gnueabihf")) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index fe330621ca..2864150521 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -44,6 +44,7 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-26) #:export (installation-os + a20-olinuxino-lime-installation-os a20-olinuxino-lime2-emmc-installation-os a20-olinuxino-micro-installation-os banana-pi-m2-ultra-installation-os @@ -416,6 +417,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." '("omap_hsmmc"))) +(define a20-olinuxino-lime-sd-installation-os + (embedded-installation-os u-boot-a20-olinuxino-lime-bootloader + "/dev/mmcblk0" ; SD card storage + "ttyS0")) + (define a20-olinuxino-lime2-emmc-installation-os (embedded-installation-os u-boot-a20-olinuxino-lime2-bootloader "/dev/mmcblk1" ; eMMC storage From afb7cd8e667bdf2c814e5c7ffe4cc663b3a4b8ec Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 23 Jan 2018 01:06:18 +0100 Subject: [PATCH 085/106] Revert "gnu: wxwidgets: Use webkitgtk-2.4." This reverts commit 8a58182c12193ae27359591c92febfdd602411f4. --- gnu/packages/wxwidgets.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 9a62f5cf1c..84446d8ef0 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -69,7 +69,7 @@ ("libsm" ,libsm) ("libtiff" ,libtiff) ("mesa" ,mesa) - ("webkitgtk" ,webkitgtk-2.4) + ("webkitgtk" ,webkitgtk) ("sdl" ,sdl))) (native-inputs `(("pkg-config" ,pkg-config))) From 341afe2a36125b11c1bc08bdc8f63421edaba008 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 23 Jan 2018 01:32:59 +0100 Subject: [PATCH 086/106] gnu: parallel: Update source hash. The upstream tarball changed almost immediately after release. See https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00319.html. * gnu/packages/parallel.scm (parallel)[source]: Update hash. --- gnu/packages/parallel.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 337e9d4cb3..95f0d6227a 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -55,7 +55,7 @@ version ".tar.bz2")) (sha256 (base32 - "1wkkqghdjp9j2aqnrfh57kad1w41gdg7knhhlciczkm853f4d0sw")))) + "1wkbppb4mc56grl6jsp803sf0hm7mg5ff7qmxalp7sd0vxqw41p9")))) (build-system gnu-build-system) (arguments `(#:phases From cba386c1295b7054df22dfb4662b1b92f668e2c0 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Wed, 17 Jan 2018 17:14:24 +0100 Subject: [PATCH 087/106] =?UTF-8?q?build:=20Expand=20=E2=80=98scripts/guix?= =?UTF-8?q?=E2=80=99=20at=20Make=20time.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This moves the complexity of Autotools variable expansion outside of the application code. * scripts/guix.in (config-lookup): Delete. (maybe-augment-load-paths!, run-guix-main): Use fully expanded variables instead of calling ‘config-lookup’. * configure.ac: Don't use AC_CONFIG_FILES for ‘scripts/guix’. Use AC_PROG_SED. * Makefile.am (scripts/guix): New rule. (do_subst): New variable. (CLEANFILES, EXTRA_DIST): Adapt. Co-authored-by: Ludovic Courtès --- Makefile.am | 20 +++++++++++++++++--- configure.ac | 3 ++- scripts/guix.in | 31 ++++++------------------------- 3 files changed, 25 insertions(+), 29 deletions(-) diff --git a/Makefile.am b/Makefile.am index aebd3b1eb7..9bafdab49b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,7 +2,7 @@ # Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès # Copyright © 2013 Andreas Enge # Copyright © 2015, 2017 Alex Kost -# Copyright © 2016 Mathieu Lirzin +# Copyright © 2016, 2018 Mathieu Lirzin # Copyright © 2016, 2017 Mark H Weaver # Copyright © 2017 Mathieu Othacehe # Copyright © 2017 Leo Famulari @@ -26,8 +26,20 @@ # You should have received a copy of the GNU General Public License # along with GNU Guix. If not, see . -bin_SCRIPTS = \ - scripts/guix +bin_SCRIPTS = scripts/guix + +# Handle substitution of fully-expanded Autoconf variables. +do_subst = $(SED) \ + -e 's,[@]GUILE[@],$(GUILE),g' \ + -e 's,[@]guilemoduledir[@],$(guilemoduledir),g' \ + -e 's,[@]guileobjectdir[@],$(guileobjectdir),g' \ + -e 's,[@]localedir[@],$(localedir),g' + +scripts/guix: scripts/guix.in Makefile + $(AM_V_at)rm -f $@ $@-t + $(AM_V_at)$(MKDIR_P) "$(@D)" + $(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-t" + $(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@" nodist_noinst_SCRIPTS = \ pre-inst-env \ @@ -437,6 +449,7 @@ EXTRA_DIST = \ TODO \ CODE-OF-CONDUCT \ .dir-locals.el \ + bin/guix.in \ build-aux/build-self.scm \ build-aux/compile-all.scm \ build-aux/hydra/evaluate.scm \ @@ -473,6 +486,7 @@ endif !BUILD_DAEMON_OFFLOAD CLEANFILES = \ + $(bin_SCRIPTS) \ $(GOBJECTS) \ $(SCM_TESTS:tests/%.scm=%.log) diff --git a/configure.ac b/configure.ac index 1e39122483..f69f796484 100644 --- a/configure.ac +++ b/configure.ac @@ -124,6 +124,8 @@ dnl Make sure we don't suffer from the bug in 'equal?' wrt. syntax objects dnl found in 2.2.1. See . GUIX_ASSERT_SYNTAX_OBJECT_EQUAL +AC_PROG_SED + dnl Decompressors, for use by the substituter and other modules. AC_PATH_PROG([GZIP], [gzip]) AC_PATH_PROG([BZIP2], [bzip2]) @@ -272,7 +274,6 @@ AC_CONFIG_FILES([Makefile po/packages/Makefile.in guix/config.scm]) -AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix]) AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env]) AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in], [chmod +x pre-inst-env]) diff --git a/scripts/guix.in b/scripts/guix.in index e20c274242..af50a782bb 100644 --- a/scripts/guix.in +++ b/scripts/guix.in @@ -3,6 +3,7 @@ !# ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Mark H Weaver +;;; Copyright © 2018 Mathieu Lirzin ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,35 +23,15 @@ ;; IMPORTANT: We must avoid loading any modules from Guix here, ;; because we need to adjust the guile load paths first. ;; It's okay to import modules from core Guile though. -(use-modules (ice-9 regex) - (srfi srfi-26)) +(use-modules (srfi srfi-26)) (let () (define-syntax-rule (push! elt v) (set! v (cons elt v))) - (define config-lookup - (let ((config '(("prefix" . "@prefix@") - ("exec_prefix" . "@exec_prefix@") - ("datarootdir" . "@datarootdir@") - ("guilemoduledir" . "@guilemoduledir@") - ("guileobjectdir" . "@guileobjectdir@") - ("localedir" . "@localedir@"))) - (var-ref-regexp (make-regexp "\\$\\{([a-z_]+)\\}"))) - (define (expand-var-ref match) - (lookup (match:substring match 1))) - (define (expand str) - (regexp-substitute/global #f var-ref-regexp str - 'pre expand-var-ref 'post)) - (define (lookup name) - (expand (assoc-ref config name))) - lookup)) - (define (maybe-augment-load-paths!) (unless (getenv "GUIX_UNINSTALLED") - (let ((module-dir (config-lookup "guilemoduledir")) - (object-dir (config-lookup "guileobjectdir"))) - (push! module-dir %load-path) - (push! object-dir %load-compiled-path)) + (push! "@guilemoduledir@" %load-path) + (push! "@guileobjectdir@" %load-compiled-path) (let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME") (and=> (getenv "HOME") (cut string-append <> "/.config"))) @@ -64,8 +45,8 @@ (define (run-guix-main) (let ((guix-main (module-ref (resolve-interface '(guix ui)) 'guix-main))) - (bindtextdomain "guix" (config-lookup "localedir")) - (bindtextdomain "guix-packages" (config-lookup "localedir")) + (bindtextdomain "guix" "@localedir@") + (bindtextdomain "guix-packages" "@localedir@") (apply guix-main (command-line)))) (maybe-augment-load-paths!) From 8bf127d5ab5f95dc606fbec2b8de5c942dd79b9d Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 18 Jan 2018 23:07:27 +0000 Subject: [PATCH 088/106] gnu: gnurl: Add '--with-ca-bundle' path to configure-flags. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As a fork of cURL, gnURL on Guix needs to be made aware of the certificate store to prevent the well-known issue we have. * gnu/packages/gnunet.scm (gnurl)[configure-flags]: Add '--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt'. Signed-off-by: Ludovic Courtès --- gnu/packages/gnunet.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 2d238febce..0ebfc9116a 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015, 2017 Efraim Flashner ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 Mark H Weaver -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017, 2018 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -205,7 +205,8 @@ authentication and support for SSL3 and TLS.") ("pkg-config" ,pkg-config) ("python" ,python-2))) (arguments - `(#:configure-flags (list "--disable-ntlm-wb") + `(#:configure-flags (list "--disable-ntlm-wb" + "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt") #:test-target "test" #:parallel-tests? #f #:phases From bfe88e0c6e8e6f548810ce937170a5e5c560b368 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sat, 20 Jan 2018 01:54:53 +0100 Subject: [PATCH 089/106] gnu: Add 'pyconfigure'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/autotools.scm (pyconfigure): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/autotools.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 8a906a7d4a..68c30ad563 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -27,6 +27,7 @@ #:use-module (guix licenses) #:use-module (gnu packages) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages m4) #:use-module (gnu packages man) #:use-module (gnu packages bash) @@ -420,3 +421,38 @@ complexity of working with shared libraries across platforms.") (description (package-description libtool)) (home-page (package-home-page libtool)) (license lgpl2.1+))) + +(define-public pyconfigure + (package + (name "pyconfigure") + (version "0.2.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/pyconfigure/pyconfigure-" + version ".tar.gz")) + (sha256 + (base32 + "0kxi9bg7l6ric39vbz9ykz4a21xlihhh2zcc3297db8amvhqwhrp")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-python + (lambda _ + (substitute* "pyconf.in" + (("/usr/bin/env python") (which "python3"))) + #t))))) + (inputs + `(("python" ,python-3))) + (synopsis "@command{configure} interface for Python-based packages") + (description + "GNU pyconfigure provides template files for easily implementing +standards-compliant configure scripts and Makefiles for Python-based packages. +It is designed to work alongside existing Python setup scripts, making it easy +to integrate into existing projects. Powerful and flexible Autoconf macros +are available, allowing you to easily make adjustments to the installation +procedure based on the capabilities of the target computer.") + (home-page "https://www.gnu.org/software/pyconfigure/manual/") + (license + (fsf-free + "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html")))) From 6055e88c0d6212884d5f050eea1cefc4fcaec043 Mon Sep 17 00:00:00 2001 From: Fis Trivial Date: Sun, 21 Jan 2018 18:37:57 +0000 Subject: [PATCH 090/106] gnu: Add python-yapf. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python.scm (python-yapf, python2-yapf): New variables. Signed-off-by: Ludovic Courtès --- gnu/packages/python.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2c2a0fde3b..8802abd094 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2017 Muriithi Frederick Muriuki ;;; Copyright © 2017 Brendan Tildesley +;;; Copyright © 2018 Fis Trivial ;;; ;;; This file is part of GNU Guix. ;;; @@ -12393,3 +12394,26 @@ and works only with Python 2 and NumPy < 1.9.") (define-public python2-phonenumbers (package-with-python2 python-phonenumbers)) + +(define-public python-yapf + (package + (name "python-yapf") + (version "0.20.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "yapf" version)) + (sha256 + (base32 + "0s7l6afzxvpx39kzd0lwshlaxw8m4fwh4iy0rlmav4vipr3g46dx")))) + (build-system python-build-system) + (home-page "https://github.com/google/yapf") + (synopsis "Formatter for Python code") + (description "YAPF is a formatter for Python code. It's based off of +@dfn{clang-format}, developed by Daniel Jasper. In essence, the algorithm +takes the code and reformats it to the best formatting that conforms to the +style guide, even if the original code didn't violate the style guide.") + (license license:asl2.0))) + +(define-public python2-yapf + (package-with-python2 python-yapf)) From a893dc2f484f89d9f0ba21d44bdac3b792872781 Mon Sep 17 00:00:00 2001 From: Fis Trivial Date: Sun, 21 Jan 2018 19:31:16 +0000 Subject: [PATCH 091/106] gnu: rct: Add missing headers, enable RTTI. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/rct-add-missing-headers.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cpp.scm (rct): Use the patch, enable RTTI. [source]: Use the patch to add missing headers from installation. [arguments]: Enable RTTI in configure-flags. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/cpp.scm | 6 ++- .../patches/rct-add-missing-headers.patch | 43 +++++++++++++++++++ 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/rct-add-missing-headers.patch diff --git a/gnu/local.mk b/gnu/local.mk index 240554fe4e..65369bc609 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1054,6 +1054,7 @@ dist_patch_DATA = \ %D%/packages/patches/raptor2-heap-overflow.patch \ %D%/packages/patches/ratpoison-shell.patch \ %D%/packages/patches/rcs-5.9.4-noreturn.patch \ + %D%/packages/patches/rct-add-missing-headers.patch \ %D%/packages/patches/readline-link-ncurses.patch \ %D%/packages/patches/readline-6.2-CVE-2014-2524.patch \ %D%/packages/patches/readline-7.0-mingw.patch \ diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 7f711d5542..95e82fcb61 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -68,7 +68,7 @@ operating system functions.") (define-public rct (let* ((commit "b3e6f41d9844ef64420e628e0c65ed98278a843a") - (revision "1") + (revision "2") (version (git-version "0.0.0" revision commit))) (package (name "rct") @@ -82,11 +82,13 @@ operating system functions.") (sha256 (base32 "1m2931jacka27ghnpgf1z1plkkr64z0pga4r4zdrfpp2d7xnrdvb")) + (patches (search-patches "rct-add-missing-headers.patch")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments '(#:configure-flags - '("-DWITH_TESTS=ON"))) ; To run the test suite + '("-DWITH_TESTS=ON" ; To run the test suite + "-DRCT_RTTI_ENABLED=ON"))) (native-inputs `(("cppunit" ,cppunit) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/patches/rct-add-missing-headers.patch b/gnu/packages/patches/rct-add-missing-headers.patch new file mode 100644 index 0000000000..4d133aa249 --- /dev/null +++ b/gnu/packages/patches/rct-add-missing-headers.patch @@ -0,0 +1,43 @@ +From: fis +Date: Sat, 20 Jan 2018 07:42:38 +0800 +Subject: [PATCH] rct.cmake: Add missing headers. + +--- + rct.cmake | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/rct.cmake b/rct.cmake +index 323e7b9..3e0ac6b 100644 +--- a/rct.cmake ++++ b/rct.cmake +@@ -339,7 +339,27 @@ if (NOT RCT_NO_INSTALL) + rct/Timer.h + rct/Value.h + rct/WriteLocker.h ++ rct/CpuUsage.h ++ rct/DataFile.h ++ rct/Date.h ++ rct/EmbeddedLinkedList.h ++ rct/FinishMessage.h ++ rct/Flags.h ++ rct/Hash.h ++ rct/LinkedList.h ++ rct/Map.h ++ rct/MemoryMappedFile.h ++ rct/OnDestruction.h ++ rct/QuitMessage.h ++ rct/ResponseMessage.h ++ rct/ScriptEngine.h ++ rct/StackBuffer.h ++ rct/WindowsUnicodeConversion.h + DESTINATION include/rct) + ++ install(FILES ++ json/json.hpp ++ DESTINATION include/rct/json) ++ + install(EXPORT "rct" DESTINATION lib/cmake) + endif () +-- +2.13.6 + From 457fc22dd3c406d77375eccbd889b15eddb50fba Mon Sep 17 00:00:00 2001 From: Fis Trivial Date: Sun, 21 Jan 2018 19:32:56 +0000 Subject: [PATCH 092/106] gnu: rtags: Fix the bundling issue. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/rtags-separate-rct.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/code.scm (rtags): Dependencies no longer bundled. [source]: Use tarball release. Use the patch to link rct. Substitute corresponding headers. [native-inputs]: Add new dependencies. [inputs]: Likewise. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/code.scm | 53 +++++++++----- gnu/packages/patches/rtags-separate-rct.patch | 72 +++++++++++++++++++ 3 files changed, 108 insertions(+), 18 deletions(-) create mode 100644 gnu/packages/patches/rtags-separate-rct.patch diff --git a/gnu/local.mk b/gnu/local.mk index 65369bc609..7c2cffa511 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1067,6 +1067,7 @@ dist_patch_DATA = \ %D%/packages/patches/rsync-CVE-2017-17433-fix-tests.patch \ %D%/packages/patches/rsync-CVE-2017-17434-pt1.patch \ %D%/packages/patches/rsync-CVE-2017-17434-pt2.patch \ + %D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \ %D%/packages/patches/ruby-concurrent-test-arm.patch \ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \ diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 042ea73a8c..a267688626 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -26,12 +26,13 @@ (define-module (gnu packages code) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages databases) #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) @@ -43,6 +44,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages autotools) #:use-module (gnu packages llvm) + #:use-module (gnu packages lua) #:use-module (gnu packages bash)) ;;; Tools to deal with source code: metrics, cross-references, etc. @@ -393,28 +395,43 @@ functionality such as HTML output.") (name "rtags") (version "2.16") (home-page "https://github.com/Andersbakken/rtags") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit "8ef7554852541eced514c56d5e39d6073f7a2ef9") - - ;; FIXME: This fetches bundled copies of Lua, RCT, and - ;; Selene. - (recursive? #t))) - (sha256 - (base32 - "12r7lsqdmcbs9864a6dpblvifqvmfxhvxippyhfnnm2ai5ra80nc")) - (file-name (git-file-name name version)))) + (source + (origin + (method url-fetch) + (uri + (string-append home-page "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (patches (search-patches "rtags-separate-rct.patch")) + (modules '((guix build utils))) + (snippet + ;; Part of spliting rct with rtags. + ;; Substitute #include "rct/header.h" with #include . + '(with-directory-excursion "src" + (delete-file-recursively "rct") ;remove bundled copy + (let ((files (find-files "." ".*\\.cpp|.*\\.h"))) + (substitute* files + (("#include ?\"rct/(.*.h)\"" all header) + (string-append "#include ")))))) + (sha256 + (base32 + "17rkci3mmiw93qc32b9x76pg57b0lx80avr6wnmh190jx8n3v3wy")))) (build-system cmake-build-system) (arguments - '(#:configure-flags '("-DBUILD_TESTING=FALSE" - "-DRTAGS_NO_ELISP_FILES=1") + '(#:configure-flags + '("-DRTAGS_NO_ELISP_FILES=1" + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DBUILD_TESTING=FALSE") #:tests? #f)) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs - `(("clang" ,clang) + `(("bash-completion" ,bash-completion) + ("clang" ,clang) ("llvm" ,llvm) - ("bash-completion" ,bash-completion))) + ("lua" ,lua) + ("rct" ,rct) + ("selene" ,selene))) (synopsis "Indexer for the C language family with Emacs integration") (description "RTags is a client/server application that indexes C/C++ code and keeps a diff --git a/gnu/packages/patches/rtags-separate-rct.patch b/gnu/packages/patches/rtags-separate-rct.patch new file mode 100644 index 0000000000..533e28b02e --- /dev/null +++ b/gnu/packages/patches/rtags-separate-rct.patch @@ -0,0 +1,72 @@ +Unbundle RCT and use our own copy. + +--- rtags-2.16/src/CMakeLists.txt 2018-01-23 10:36:17.645855140 +0100 ++++ rtags-2.16/src/CMakeLists.txt 2018-01-23 10:38:14.605234740 +0100 +@@ -105,12 +105,6 @@ if (LUA_ENABLED) + CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 -DCMAKE_GENERATOR=${CMAKE_GENERATOR}) + endif () + +-set(RCT_RTTI_ENABLED 1) +-set(RCT_NO_INSTALL 1) +-set(RCT_NO_LIBRARY 1) +-# Everyting which as been set either in rct/rct.cmake or rct/compiler.cmake +-# doesn't need to be set in this file again. +-include(rct/rct.cmake) + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-aliasing=2 -Wcast-qual -fPIC") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-aliasing=2 -Wcast-qual -fPIC") +@@ -128,8 +122,7 @@ add_definitions( + "-DRTAGS_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}" + "-DCLANG_LIBDIR=${LIBCLANG_LIBDIR}" + "-DCLANG_VERSION=${LIBCLANG_VERSION_STRING}" +- "-DOS_${CMAKE_SYSTEM_NAME}" +- ${RCT_DEFINITIONS}) ++ "-DOS_${CMAKE_SYSTEM_NAME}") + + if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + add_definitions(-D__LONG_LONG_SUPPORTED) +@@ -172,8 +165,7 @@ set(RTAGS_SOURCES + Symbol.cpp + SymbolInfoJob.cpp + Token.cpp +- TokensJob.cpp +- ${RCT_SOURCES}) ++ TokensJob.cpp) + + if (LUA_ENABLED) + list(APPEND RTAGS_SOURCES AST.cpp) +@@ -195,10 +187,10 @@ endif () + + include_directories( + ${CMAKE_CURRENT_LIST_DIR} +- ${RCT_INCLUDE_DIRS} + ${CMAKE_CURRENT_LIST_DIR}/selene/include + ${CMAKE_CURRENT_BINARY_DIR}/lua-prefix/src/lua-build +- ${CMAKE_CURRENT_LIST_DIR}/lua/src) ++ ${CMAKE_CURRENT_LIST_DIR}/lua/src ++ ${CMAKE_CURRENT_BINARY_DIR}/include) + + if (CMAKE_SYSTEM_NAME MATCHES "Darwin") + set(START_GROUP "") +@@ -223,17 +215,17 @@ else () + endif() + + # RCT_LIBRARIES and stdc++ library must be at the end +-set(RTAGS_LIBRARIES ${RTAGS_LIBRARIES} -lstdc++ ${RCT_LIBRARIES}) ++set(RTAGS_LIBRARIES ${RTAGS_LIBRARIES} -lstdc++) + add_executable(rc rc.cpp) +-target_link_libraries(rc ${RTAGS_LIBRARIES}) ++target_link_libraries(rc ${RTAGS_LIBRARIES} rct) + + add_executable(rdm rdm.cpp) +-target_link_libraries(rdm ${RTAGS_LIBRARIES}) ++target_link_libraries(rdm ${RTAGS_LIBRARIES} rct) + + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) + + add_executable(rp rp.cpp) +-target_link_libraries(rp ${RTAGS_LIBRARIES}) ++target_link_libraries(rp ${RTAGS_LIBRARIES} rct) + + if (CYGWIN) + EnsureLibraries(rdm rct) From 17153d1816780f8c20f9be5478452d229d16471d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 15 Jan 2018 22:06:55 +0100 Subject: [PATCH 093/106] gnu: Add fgallery. * gnu/packages/graphics.scm (fgallery): New variable. --- gnu/packages/graphics.scm | 88 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index c47455c21e..af9c7a3c96 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2018 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,12 +42,16 @@ #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages documentation) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages haskell) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages python) #:use-module (gnu packages flex) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) + #:use-module (gnu packages perl) + #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate #:use-module (gnu packages compression) @@ -686,3 +691,86 @@ your terminal. It comes bundled with predefined styles: (define-public python2-pastel (package-with-python2 python-pastel)) + +(define-public fgallery + (package + (name "fgallery") + (version "1.8.2") + (source (origin + (method url-fetch) + (uri + (string-append + "http://www.thregr.org/~wavexx/software/fgallery/releases/" + "fgallery-" version ".zip")) + (sha256 + (base32 + "18wlvqbxcng8pawimbc8f2422s8fnk840hfr6946lzsxr0ijakvf")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (share (string-append out "/share/fgallery")) + (man (string-append out "/share/man/man1")) + (perl5lib (getenv "PERL5LIB")) + (script (string-append share "/fgallery"))) + (define (bin-directory input-name) + (string-append (assoc-ref inputs input-name) "/bin")) + + (mkdir-p man) + (copy-file "fgallery.1" (string-append man "/fgallery.1")) + + (mkdir-p share) + (copy-recursively "." share) + + ;; fgallery copies files from store when it is run. The + ;; read-only permissions from the store directories will cause + ;; fgallery to fail. Do not preserve file attributes when + ;; copying files to prevent it. + (substitute* script + (("'cp'") + "'cp', '--no-preserve=all'")) + + (mkdir-p bin) + (symlink script (string-append out "/bin/fgallery")) + + (wrap-program script + `("PATH" ":" prefix + ,(map bin-directory '("imagemagick" + "lcms" + "fbida" + "libjpeg" + "zip" + "jpegoptim" + "pngcrush" + "p7zip"))) + `("PERL5LIB" ":" prefix (,perl5lib))) + #t)))))) + (native-inputs + `(("unzip" ,unzip))) + ;; TODO: Add missing optional dependency: facedetect. + (inputs + `(("imagemagick" ,imagemagick) + ("lcms" ,lcms) + ("fbida" ,fbida) + ("libjpeg" ,libjpeg) + ("zip" ,zip) + ("perl" ,perl) + ("perl-cpanel-json-xs" ,perl-cpanel-json-xs) + ("perl-image-exiftool" ,perl-image-exiftool) + ("jpegoptim" ,jpegoptim) + ("pngcrush" ,pngcrush) + ("p7zip" ,p7zip))) + (home-page "http://www.thregr.org/~wavexx/software/fgallery/") + (synopsis "Static photo gallery generator") + (description + "FGallery is a static, JavaScript photo gallery generator with minimalist +look. The result can be uploaded on any web server without additional +requirements.") + (license license:gpl2+))) From 0db22b32ce5efa34c8f4f12649a248bce2fff250 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 23 Jan 2018 12:00:14 +0100 Subject: [PATCH 094/106] system: Rename a20-olinuxino-lime-sd-installation-os. * gnu/system/install.scm (a20-olinuxino-lime-sd-installation-os): Rename to... (a20-olinuxino-lime-installation-os): ...this. --- gnu/system/install.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 2864150521..e4b2e82378 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -417,7 +417,7 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." '("omap_hsmmc"))) -(define a20-olinuxino-lime-sd-installation-os +(define a20-olinuxino-lime-installation-os (embedded-installation-os u-boot-a20-olinuxino-lime-bootloader "/dev/mmcblk0" ; SD card storage "ttyS0")) From 0741c3a46adf54009ef25463eb7739e353710604 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 23 Jan 2018 12:14:55 +0100 Subject: [PATCH 095/106] gnu: gnunet: Use invoke. * gnu/packages/gnunet.scm (gnurl)[arguments]: Substitute invoke for system*. (guile-gnunet)[arguments]: Likewise. Signed-off-by: Danny Milosavljevic --- gnu/packages/gnunet.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 0ebfc9116a..5e47f2ebfc 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -227,8 +227,7 @@ authentication and support for SSL3 and TLS.") (("/bin/sh") (which "sh"))) ;; Make test output more verbose. - (zero? (system* "make" "-C" "tests" "test")) - #t))))) + (invoke "make" "-C" "tests" "test")))))) (synopsis "Microfork of cURL with support for the HTTP/HTTPS/GnuTLS subset of cURL") (description "Gnurl is a microfork of cURL, a command line tool for transferring data @@ -326,7 +325,7 @@ kinds of basic applications for the foundation of a GNU internet.") '(#:phases (modify-phases %standard-phases (add-after 'unpack 'bootstrap (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) + (invoke "autoreconf" "-vfi")))))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,(autoconf-wrapper)) ("automake" ,automake))) From 0e5dbc47abb6c8bc8284cfc7b6563e5891a925ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 23 Jan 2018 12:43:42 +0100 Subject: [PATCH 096/106] gnu: wget: Update to 1.19.4. * gnu/packages/wget.scm (wget): Update to 1.19.4. --- gnu/packages/wget.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 3dcf00b9be..c6a319965a 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -44,7 +44,7 @@ (define-public wget (package (name "wget") - (version "1.19.2") + (version "1.19.4") (source (origin (method url-fetch) @@ -52,7 +52,7 @@ version ".tar.lz")) (sha256 (base32 - "01yzal7xm85543x02bij3capnigr063d6c5vc039f8n5s9d796nm")))) + "16jmcqcasx3q9k4azssryli9qyxfq0sfijw998g8zp58cnwzzh1g")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases From 4b0111a4e12299081e3eebcb566400f4883c35b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 23 Jan 2018 12:51:24 +0100 Subject: [PATCH 097/106] gnu: iw: Update to 4.14. * gnu/packages/linux.scm (iw): Update to 4.14. --- 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 c097079382..8921a47be8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1543,7 +1543,7 @@ configuration and monitoring interfaces.") (define-public iw (package (name "iw") - (version "4.9") + (version "4.14") (source (origin (method url-fetch) (uri (string-append @@ -1551,7 +1551,7 @@ configuration and monitoring interfaces.") version ".tar.xz")) (sha256 (base32 - "1klpvv98bnx1zm6aqalnri2vd7w80scmdaxr2qnblb6mz82whk1j")))) + "12ddd6vh6vs97135bnlyr0szv7hvpbnmfh48584frzab0z0725ph")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libnl" ,libnl))) From 54347e918bde1eabbae26567c0683c82608e43a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 23 Jan 2018 14:29:15 +0100 Subject: [PATCH 098/106] gnu: usbutils: Update to 009. * gnu/packages/linux.scm (usbutils): Update to 009. --- 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 8921a47be8..aa36f05c75 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -672,7 +672,7 @@ slabtop, and skill.") (define-public usbutils (package (name "usbutils") - (version "008") + (version "009") (source (origin (method url-fetch) @@ -680,7 +680,7 @@ slabtop, and skill.") "usbutils-" version ".tar.xz")) (sha256 (base32 - "132clk14j4nm8crln2jymdbbc2vhzar2j2hnxyh05m79pbq1lx24")))) + "0q3iavmak2bs9xw486w4xfbjl0hbzii93ssgpr95mxmm9kjz1gwb")))) (build-system gnu-build-system) (inputs `(("libusb" ,libusb) From 1b5bee004bc2558ecb45877645edb9abb0571591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 23 Jan 2018 14:58:16 +0100 Subject: [PATCH 099/106] gnu: git: Update to 2.16.1. * gnu/packages/version-control.scm (git): Update to 2.16.1. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 11305dd466..e646eeec17 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -138,14 +138,14 @@ as well as the classic centralized workflow.") (name "git") ;; XXX When updating Git, check if the special 'git:src' input to cgit needs ;; to be updated as well. - (version "2.16.0") + (version "2.16.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "1y1hdr8ydff5q7y762cwfdgaxam4mxvir6nrw3g51mmkcr77c40d")))) + "06gay8k29glg4giwphjalcc1fknxw4bmxkmbr3ic3gzxy8vl7bfg")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -158,7 +158,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "0k5bviwff2q3vri8v6n2a71sxm83gcskzy6wr2z01pb7xfk28hl9")))))) + "1ympib7kd818v4wjgfrhxjrmv91n50lgxxg0i9gcqihgy3divrlp")))))) (inputs `(("curl" ,curl) ("expat" ,expat) From 6f774d481839f87178c5895ac2d661e141f879b8 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Tue, 23 Jan 2018 12:52:33 +0100 Subject: [PATCH 100/106] guix: Refactor script. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * scripts/guix.in: Remove empty surrounding ‘let’. Define 'main' as the procedure called when running the script. (maybe-augment-load-paths!): Rename to ... (augment-load-paths!): ... this. Use 'and=>' for 'file-exists?'. (run-guix-main): Rename to ... (main): ... this. Call 'augment-load-paths!'. Signed-off-by: Ludovic Courtès --- scripts/guix.in | 57 +++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/scripts/guix.in b/scripts/guix.in index af50a782bb..e0f0ae7e06 100644 --- a/scripts/guix.in +++ b/scripts/guix.in @@ -1,4 +1,5 @@ -#!@GUILE@ --no-auto-compile +#!@GUILE@ \ +--no-auto-compile -e main -s -*- scheme -*- !# ;;; GNU Guix --- Functional package management for GNU @@ -25,34 +26,34 @@ ;; It's okay to import modules from core Guile though. (use-modules (srfi srfi-26)) -(let () - (define-syntax-rule (push! elt v) (set! v (cons elt v))) +(define-syntax-rule (push! elt v) (set! v (cons elt v))) - (define (maybe-augment-load-paths!) - (unless (getenv "GUIX_UNINSTALLED") - (push! "@guilemoduledir@" %load-path) - (push! "@guileobjectdir@" %load-compiled-path) - (let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME") - (and=> (getenv "HOME") - (cut string-append <> "/.config"))) - (cut string-append <> "/guix/latest")))) - (when (and updates-dir (file-exists? updates-dir)) - ;; XXX: Currently 'guix pull' puts both .scm and .go files in - ;; UPDATES-DIR. - (push! updates-dir %load-path) - (push! updates-dir %load-compiled-path))))) +(define (augment-load-paths!) + ;; Add installed modules to load-path. + (push! "@guilemoduledir@" %load-path) + (push! "@guileobjectdir@" %load-compiled-path) - (define (run-guix-main) - (let ((guix-main (module-ref (resolve-interface '(guix ui)) - 'guix-main))) - (bindtextdomain "guix" "@localedir@") - (bindtextdomain "guix-packages" "@localedir@") - (apply guix-main (command-line)))) + ;; Add modules fetched by 'guix pull' to load-path. + (let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME") + (and=> (getenv "HOME") + (cut string-append <> "/.config"))) + (cut string-append <> "/guix/latest")))) + (when (and=> updates-dir file-exists?) + ;; XXX: Currently 'guix pull' puts both .scm and .go files in + ;; UPDATES-DIR. + (push! updates-dir %load-path) + (push! updates-dir %load-compiled-path)))) - (maybe-augment-load-paths!) +(define* (main #:optional (args (command-line))) + (unless (getenv "GUIX_UNINSTALLED") + (augment-load-paths!)) - ;; XXX: It would be more convenient to change it to: - ;; (exit (run-guix-main)) - ;; but since the 'guix' command is not updated by 'guix pull', we cannot - ;; really do it now. - (run-guix-main)) + (let ((guix-main (module-ref (resolve-interface '(guix ui)) + 'guix-main))) + (bindtextdomain "guix" "@localedir@") + (bindtextdomain "guix-packages" "@localedir@") + ;; XXX: It would be more convenient to change it to: + ;; (exit (apply guix-main (command-line))) + ;; but since the 'guix' command is not updated by 'guix pull', we cannot + ;; really do it now. + (apply guix-main args))) From ce018d16f1ebae914220e2351487b43cb7254442 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Tue, 23 Jan 2018 18:29:18 +0100 Subject: [PATCH 101/106] gnu: python2-mmtk: Update to 2.7.11 * gnu/packages/python.scm (python2-mmtk): Update to 2.7.11. Signed-off-by: Leo Famulari --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8802abd094..e4d5edb41f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -12334,7 +12334,7 @@ not actively maintained and works only with Python 2 and NumPy < 1.9.") (define-public python2-mmtk (package (name "python2-mmtk") - (version "2.7.10") + (version "2.7.11") (source (origin (method url-fetch) @@ -12343,7 +12343,7 @@ not actively maintained and works only with Python 2 and NumPy < 1.9.") (file-name (string-append "MMTK-" version ".tar.gz")) (sha256 (base32 - "1k4gsd50zja89dbzgy3aji7h4zpvbvdfrds7rxr3whqrsgcffnir")))) + "1d0nnjx4lwsvh8f99vv1r6gi50d93yba0adkz8b4zgv4za4c5862")))) (build-system python-build-system) (native-inputs `(("netcdf" ,netcdf))) From 04ba7a9db6c956ae39b6bff0835b9d531e0c269c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 23 Jan 2018 08:33:20 +0100 Subject: [PATCH 102/106] gnu: powertabeditor: Fix build. * gnu/packages/music.scm (powertabeditor)[arguments]: Add phase "fix-boost-bug" to fix build with boost 1.64. --- gnu/packages/music.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index f81d4f5069..e399c0293d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1181,6 +1181,14 @@ add_library( rapidjson INTERFACE IMPORTED )")) "exclude:Score/ViewFilter/ViewFilter" "exclude:Formats/PowerTabOldImport/Directions" )))) + ;; FIXME: This bug has been fixed upstream, but no release has been + ;; made yet. See https://github.com/powertab/powertabeditor/issues/257 + (add-after 'unpack 'fix-boost-bug + (lambda _ + (substitute* "source/score/voiceutils.cpp" + (("boost::rational duration\\(4, pos.getDurationType\\(\\)\\);") + "boost::rational duration(4, static_cast(pos.getDurationType()));")) + #t)) (add-before 'configure 'remove-third-party-libs (lambda* (#:key inputs #:allow-other-keys) ;; Link with required static libraries, because we're not From 8d26f48e8ab3802d73e74b18c877c549c4248eed Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 23 Jan 2018 08:44:53 +0100 Subject: [PATCH 103/106] gnu: gnome-maps: Add missing inputs. * gnu/packages/geo.scm (gnome-maps)[inputs]: Add libsecret, libsoup, libgweather, gdk-pixbuf, glib-networking, and gsettings-desktop-schemas. --- gnu/packages/geo.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 5a24ed6146..9c7f7c1158 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2017 Björn Höfling ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -72,9 +73,6 @@ topology functions.") license:zlib ; tests/xmltester/tinyxml/* license:public-domain)))) ; include/geos/timeval.h -;;; FIXME GNOME Maps only runs within GNOME. On i3, it fails with this error: -;;; (org.gnome.Maps:8568): GLib-GIO-ERROR **: Settings schema -;;; 'org.gnome.desktop.interface' is not installed (define-public gnome-maps (package (name "gnome-maps") @@ -122,13 +120,19 @@ topology functions.") `(("folks" ,folks) ("libchamplain" ,libchamplain) ("libgee" ,libgee) + ("libsecret" ,libsecret) + ("libsoup" ,libsoup) + ("libgweather" ,libgweather) ("libxml2" ,libxml2) + ("gdk-pixbuf" ,gdk-pixbuf) + ("glib-networking" ,glib-networking) ("geoclue" ,geoclue) ("geocode-glib" ,geocode-glib) ("gfbgraph" ,gfbgraph) ("gjs" ,gjs) ("glib" ,glib) ("gnome-online-accounts" ,gnome-online-accounts) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("rest" ,rest) ("webkitgtk" ,webkitgtk))) (propagated-inputs From c73a00a3763aef0045dd30c252d93ce4d12e76f8 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 19 Jan 2018 18:06:08 -0800 Subject: [PATCH 104/106] gnu: libsndfile: Fix CVE-2017-12562. * gnu/packages/patches/libsndfile-CVE-2017-12562.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/pulseaudio.scm (libsndfile)[replacement]: New field. (libsndfile/fixed): New variable. --- gnu/local.mk | 1 + .../patches/libsndfile-CVE-2017-12562.patch | 97 +++++++++++++++++++ gnu/packages/pulseaudio.scm | 10 ++ 3 files changed, 108 insertions(+) create mode 100644 gnu/packages/patches/libsndfile-CVE-2017-12562.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7c2cffa511..b72c586e37 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -837,6 +837,7 @@ dist_patch_DATA = \ %D%/packages/patches/libsndfile-armhf-type-checks.patch \ %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \ %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ + %D%/packages/patches/libsndfile-CVE-2017-12562.patch \ %D%/packages/patches/libssh-hostname-parser-bug.patch \ %D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \ %D%/packages/patches/libtar-CVE-2013-4420.patch \ diff --git a/gnu/packages/patches/libsndfile-CVE-2017-12562.patch b/gnu/packages/patches/libsndfile-CVE-2017-12562.patch new file mode 100644 index 0000000000..58cb242b10 --- /dev/null +++ b/gnu/packages/patches/libsndfile-CVE-2017-12562.patch @@ -0,0 +1,97 @@ +Fix CVE-2017-12562: + +https://github.com/erikd/libsndfile/issues/292 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12562 + +Patch copied from upstream source repository: + +https://github.com/erikd/libsndfile/commit/cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8 + +From cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= +Date: Wed, 14 Jun 2017 12:25:40 +0200 +Subject: [PATCH] src/common.c: Fix heap buffer overflows when writing strings + in binheader + +Fixes the following problems: + 1. Case 's' only enlarges the buffer by 16 bytes instead of size bytes. + 2. psf_binheader_writef() enlarges the header buffer (if needed) prior to the + big switch statement by an amount (16 bytes) which is enough for all cases + where only a single value gets added. Cases 's', 'S', 'p' however + additionally write an arbitrary length block of data and again enlarge the + buffer to the required amount. However, the required space calculation does + not take into account the size of the length field which gets output before + the data. + 3. Buffer size requirement calculation in case 'S' does not account for the + padding byte ("size += (size & 1) ;" happens after the calculation which + uses "size"). + 4. Case 'S' can overrun the header buffer by 1 byte when no padding is + involved + ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ;" while + the buffer is only guaranteed to have "size" space available). + 5. "psf->header.ptr [psf->header.indx] = 0 ;" in case 'S' always writes 1 byte + beyond the space which is guaranteed to be allocated in the header buffer. + 6. Case 's' can overrun the provided source string by 1 byte if padding is + involved ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ;" + where "size" is "strlen (strptr) + 1" (which includes the 0 terminator, + plus optionally another 1 which is padding and not guaranteed to be + readable via the source string pointer). + +Closes: https://github.com/erikd/libsndfile/issues/292 +--- + src/common.c | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git a/src/common.c b/src/common.c +index 1a6204ca..6b2a2ee9 100644 +--- a/src/common.c ++++ b/src/common.c +@@ -681,16 +681,16 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) + /* Write a C string (guaranteed to have a zero terminator). */ + strptr = va_arg (argptr, char *) ; + size = strlen (strptr) + 1 ; +- size += (size & 1) ; + +- if (psf->header.indx + (sf_count_t) size >= psf->header.len && psf_bump_header_allocation (psf, 16)) ++ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) + return count ; + + if (psf->rwf_endian == SF_ENDIAN_BIG) +- header_put_be_int (psf, size) ; ++ header_put_be_int (psf, size + (size & 1)) ; + else +- header_put_le_int (psf, size) ; ++ header_put_le_int (psf, size + (size & 1)) ; + memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ; ++ size += (size & 1) ; + psf->header.indx += size ; + psf->header.ptr [psf->header.indx - 1] = 0 ; + count += 4 + size ; +@@ -703,16 +703,15 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) + */ + strptr = va_arg (argptr, char *) ; + size = strlen (strptr) ; +- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) ++ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) + return count ; + if (psf->rwf_endian == SF_ENDIAN_BIG) + header_put_be_int (psf, size) ; + else + header_put_le_int (psf, size) ; +- memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ; ++ memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + (size & 1)) ; + size += (size & 1) ; + psf->header.indx += size ; +- psf->header.ptr [psf->header.indx] = 0 ; + count += 4 + size ; + break ; + +@@ -724,7 +723,7 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) + size = (size & 1) ? size : size + 1 ; + size = (size > 254) ? 254 : size ; + +- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) ++ if (psf->header.indx + 1 + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, 1 + size)) + return count ; + + header_put_byte (psf, size) ; diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index ba288aa441..39f54437cb 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -47,6 +47,7 @@ (define-public libsndfile (package (name "libsndfile") + (replacement libsndfile/fixed) (version "1.0.28") (source (origin (method url-fetch) @@ -80,6 +81,15 @@ SPARC. Hopefully the design of the library will also make it easy to extend for reading and writing new sound file formats.") (license l:gpl2+))) +(define libsndfile/fixed + (package + (inherit libsndfile) + (source (origin + (inherit (package-source libsndfile)) + (patches (append + (origin-patches (package-source libsndfile)) + (search-patches "libsndfile-CVE-2017-12562.patch"))))))) + (define-public libsamplerate (package (name "libsamplerate") ; aka. Secret Rabbit Code (SRC) From 18d9d22adc2050717c97a1d35ce876ee93395d76 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 22 Jan 2018 18:54:24 -0500 Subject: [PATCH 105/106] gnu: Add the Oil shell. * gnu/packages/shells.scm (oil-shell): New variable. --- gnu/packages/shells.scm | 48 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index e374c41b95..5df9644dfc 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016 Stefan Reichör ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017, 2018 ng0 -;;; Copyright © 2017 Leo Famulari +;;; Copyright © 2017, 2018 Leo Famulari ;;; Copyright © 2017 Arun Isaac ;;; ;;; This file is part of GNU Guix. @@ -644,3 +644,49 @@ Korn Shell programming language and a successor to the Public Domain Korn Shell (pdksh).") (license (list miros isc)))) ; strlcpy.c + +(define-public oil-shell + (package + (name "oil-shell") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (string-append "https://www.oilshell.org/download/oil-" + version ".tar.xz")) + (sha256 + (base32 + "0j4fyn6xjaf29xqyzm09ahazmq9v1hkxv4kps7n3lzdfr32a4kk9")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; the tests are not distributed in the tarballs + #:strip-binaries? #f ; the binaries cannot be stripped + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-compiler-invocation + (lambda _ + (substitute* "configure" + ((" cc ") " gcc ")) + #t)) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "CC" "gcc") + ;; The configure script doesn't recognize CONFIG_SHELL. + (setenv "CONFIG_SHELL" (which "sh")) + (invoke "./configure" (string-append "--prefix=" out) + "--with-readline")))) + (add-before 'install 'make-destination + (lambda _ + ;; The build scripts don't create the destination directory. + (mkdir-p (string-append (assoc-ref %outputs "out") "/bin"))))))) + (inputs + `(("readline" ,readline))) + (synopsis "Bash-compatible Unix shell") + (description "Oil is a Unix / POSIX shell, compatible with Bash. It +implements the Oil language, which is a new shell language to which Bash can be +automatically translated. The Oil language is a superset of Bash. It also +implements the OSH language, a statically-parseable language based on Bash as it +is commonly written.") + (home-page "https://www.oilshell.org/") + (license (list psfl ; The Oil sources include a patched Python 2 source tree + asl2.0)))) From f3a13a21e50fa3751fc39e5768ea6843bfc19df2 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 23 Jan 2018 16:00:46 -0500 Subject: [PATCH 106/106] gnu: go: Update to 1.9.3. * gnu/packages/golang.scm (go-1.9): Update to 1.9.3. --- gnu/packages/golang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 202183ff29..f21149a0ff 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -208,7 +208,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.4) (name "go") - (version "1.9.2") + (version "1.9.3") (source (origin (method url-fetch) @@ -216,7 +216,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") name version ".src.tar.gz")) (sha256 (base32 - "1p23n4xzbknl3bbhlckbvxbhpxknd5rn0i2szmn9i2dcz15ihpv6")))) + "1bj73hrr7jjdg0w6snwkqb5y3yrlks5nrs2lgnkyy0hyx7b0lgaf")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases)