From 475a28bd1d9dc787b03f212ae5eeb4e74594fc0d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 7 Dec 2017 20:42:24 -0500 Subject: gnu: mpd: Update to 0.20.12. * gnu/packages/mpd.scm (mpd): Update to 0.20.12. --- gnu/packages/mpd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index c37fa56df4..74b53afce1 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -76,7 +76,7 @@ (define-public libmpdclient (define-public mpd (package (name "mpd") - (version "0.20.11") + (version "0.20.12") (source (origin (method url-fetch) (uri @@ -85,7 +85,7 @@ (define-public mpd "/mpd-" version ".tar.xz")) (sha256 (base32 - "1g0lwm8p98q2hxa9vd6jx61s7d3r665s2bmz6ipkv9ijmyfps8p9")))) + "02gpfkki61c24hphaas9pb29wpvd0pbmwdqrpn8wi1gv103aqng1")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 687442b9a9a827233f3af35df36640a1cff45a5d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 8 Dec 2017 09:11:27 +0200 Subject: gnu: libwacom: Update to 0.26. * gnu/packages/xdisorg.scm (libwacom): Update to 0.26. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 22a85fb009..fbe56fc6ad 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -858,14 +858,14 @@ (define-public xcape (define-public libwacom (package (name "libwacom") - (version "0.25") + (version "0.26") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/linuxwacom/libwacom/" name "-" version ".tar.bz2")) (sha256 (base32 - "1k20w2fkql3yr0dpdg51jjwzv7d4kp53ajmpyhcjxa08s0n8dl19")))) + "0xpvkjvzaj9blcmw8ha46616bzfivj99kwzvr91clxd6iaf11r63")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 57dfd28826ee19fe6fd9d54e28f50f180c4536d5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 8 Dec 2017 09:12:04 +0200 Subject: gnu: xf86-input-wacom: Update to 0.35.0. * gnu/packages/xdisorg.scm (xf86-input-wacom): Update to 0.35.0. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index fbe56fc6ad..a34ec9aead 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -890,7 +890,7 @@ (define-public libwacom (define-public xf86-input-wacom (package (name "xf86-input-wacom") - (version "0.34.2") + (version "0.35.0") (source (origin (method url-fetch) (uri (string-append @@ -898,7 +898,7 @@ (define-public xf86-input-wacom name "-" version ".tar.bz2")) (sha256 (base32 - "073bf12ka1mcqvr1sviixb51bsfx37jalrj9xw53f10i2kdvkl9a")))) + "0za44snc0zirq65a4lxsmg7blp1bynj6j835hm459x8yx1qhmxjm")))) (arguments `(#:configure-flags (list (string-append "--with-sdkdir=" -- cgit v1.2.3 From 5f5083749c1ff2731e84fa7d8eea182ad45c18a5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 8 Dec 2017 09:25:40 +0200 Subject: gnu: libinput: Update to 1.9.3. * gnu/packages/freedesktop.scm (libinput): Update to 1.9.3. [build-system]: Switch to meson-build-system. [arguments]: Disable documentation. [native-inputs]: Add check and valgrind for tests. (libinput-minimal)[native-inputs]: Add check, valgrind. [arguments]: Disable libwacom, documentation and debug-gui. --- gnu/packages/freedesktop.scm | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 6a4e118f76..6b5dfe8ea7 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -33,6 +33,7 @@ (define-module (gnu packages freedesktop) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (gnu packages acl) @@ -67,6 +68,7 @@ (define-module (gnu packages freedesktop) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages python) + #:use-module (gnu packages valgrind) #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -141,19 +143,22 @@ (define-public xdg-utils (define-public libinput (package (name "libinput") - (version "1.7.3") + (version "1.9.3") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" name "-" version ".tar.xz")) (sha256 (base32 - "07fbzxddvhjcch43hdxb24sj7ri96zzpcjalvsicmw0i4wnn2v89")))) - (build-system gnu-build-system) + "09wkc5qqk1k2a68cwfy4x853z8z35wf2qkijh66kacsvc2fjq394")))) + (build-system meson-build-system) + (arguments '(#:configure-flags '("-Ddocumentation=false"))) (native-inputs `(("cairo" ,cairo) + ("check" ,check) ("gtk+" ,gtk+) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("valgrind" ,valgrind))) (propagated-inputs `(("libudev" ,eudev))) ; required by libinput.pc (inputs @@ -172,13 +177,17 @@ (define-public libinput-minimal (package (inherit libinput) (name "libinput-minimal") (native-inputs - `(("pkg-config" ,pkg-config))) + `(("check" ,check) + ("pkg-config" ,pkg-config) + ("valgrind" ,valgrind))) (inputs `(("libevdev" ,libevdev) ("mtdev" ,mtdev))) (arguments - `(#:configure-flags - '("--disable-libwacom"))))) + '(#:configure-flags + '("-Dlibwacom=false" + "-Ddocumentation=false" + "-Ddebug-gui=false"))))) ; requires gtk+@3 (define-public libxdg-basedir (package -- cgit v1.2.3 From a5e83ab96beb1347693dde810d83e25298e5d28d Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Thu, 7 Dec 2017 20:56:56 +0800 Subject: gnu: emacs-exwm: Update to 0.16. * gnu/packages/emacs.scm (emacs-exwm): Update to 0.16. Signed-off-by: Arun Isaac --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 1cf14993c3..701953a283 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5386,7 +5386,7 @@ (define-public emacs-xelb (define-public emacs-exwm (package (name "emacs-exwm") - (version "0.15") + (version "0.16") (synopsis "Emacs X window manager") (source (origin (method url-fetch) @@ -5394,7 +5394,7 @@ (define-public emacs-exwm version ".tar")) (sha256 (base32 - "1y7nqry9y0a99bsdqkk9f554vczfw4sz6raadw3138835qy697jg")))) + "0c4w5k9lzqj8yzhdqipdb4fs7ld2qklc6s137104jnfdvmrwcv2i")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xelb" ,emacs-xelb))) -- cgit v1.2.3 From 46aa8729f3c7b284d3153aef36b0884bfbc27006 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 7 Dec 2017 08:55:52 +0100 Subject: gnu: openrct2: Always install libraries to /lib. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (openrct2)[arguments]: Add #:configure-flags argument to force installing libraries to /lib. Signed-off-by: Ludovic Courtès --- gnu/packages/games.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index a699fadc2a..524572b99a 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2731,6 +2731,9 @@ (define-public openrct2 (build-system cmake-build-system) (arguments `(#:tests? #f ;; no tests available + #:configure-flags + (list (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") "/lib")) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-usr-share-paths -- cgit v1.2.3 From dcf12172f584131165e3d3a8d03a03a486ebfc11 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 7 Dec 2017 09:21:22 +0100 Subject: gnu: keepassxc: Always install libraries to /lib. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/password-utils.scm (keepassxc)[arguments]: Add #:configure-flags argument to force installing libraries to /lib. Signed-off-by: Ludovic Courtès --- gnu/packages/password-utils.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 64168cc9d6..ffa152f279 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2017 Nicolas Goaziou ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis +;;; Copyright © 2017 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,6 +99,10 @@ (define-public keepassxc (base32 "0wrl8kxb16wzdgfjj057yv18cfg0b8z8lxp1fl2q8fkdgr7phm9g")))) (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") "/lib")))) (inputs `(("libgcrypt" ,libgcrypt) ("libxi" ,libxi) -- cgit v1.2.3 From 89e1de2f41831efdaf1861208b72a7f192491101 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 8 Dec 2017 14:48:07 +0100 Subject: gnu: eolie: Update to 0.9.15. * gnu/packages/gnome.scm (eolie): Update to 0.9.15. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 2c07d7bd91..cece14c0d8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4055,7 +4055,7 @@ (define-public simple-scan (define-public eolie (package (name "eolie") - (version "0.9.13") + (version "0.9.15") (source (origin (method url-fetch) (uri (string-append "https://github.com/gnumdk/eolie/" @@ -4063,7 +4063,7 @@ (define-public eolie "/eolie-" version ".tar.xz")) (sha256 (base32 - "1khpc6x40y5gm0a3p5fxiva9p1djijxmsh74xinigddnyqbjqw69")))) + "0glydxp1xh85gfidk1l9miqn6qxdbvvk5s3iy0pjlv8nrs3263jd")))) (build-system glib-or-gtk-build-system) (arguments `(#:phases -- cgit v1.2.3 From d64f3439c7e62ce97067c6a4108fb1a7df81e4b1 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Fri, 8 Dec 2017 11:33:54 +0100 Subject: gnu: Add virtualgl. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gl.scm (virtualgl): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/gl.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 5f96ab3038..c42b4a00cb 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 David Thompson ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +42,7 @@ (define-module (gnu packages gl) #:use-module (gnu packages llvm) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) @@ -676,3 +678,36 @@ (define-public gl2ps (license (list license:lgpl2.0+ (license:fsf-free "http://www.geuz.org/gl2ps/COPYING.GL2PS" "GPL-incompatible copyleft license"))))) + +(define-public virtualgl + (package + (name "virtualgl") + (version "2.5.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/VirtualGL/virtualgl/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rnid3hwrry9d5d4m7sygq00xxx976rgk00a3557m9r5kxbmy476")))) + (arguments + `(#:tests? #f ;; no tests are available + #:configure-flags (list "-DVGL_USESSL=1" ;; use OpenSSL + (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") "/lib")))) + (build-system cmake-build-system) + (inputs `(("glu" ,glu) + ("libjpeg-turbo" ,libjpeg-turbo) + ("mesa" ,mesa) + ("openssl" ,openssl))) + (native-inputs `(("pkg-config", pkg-config))) + (home-page "https://www.virtualgl.org") + (synopsis "Redirects 3D commands from an OpenGL application onto a 3D +graphics card") + (description "VirtualGL redirects the 3D rendering commands from OpenGL +applications to 3D accelerator hardware in a dedicated server and displays the +rendered output interactively to a thin client located elsewhere on the +network.") + (license license:wxwindows3.1+))) -- cgit v1.2.3 From 0ea2364f56b590fd59183d8783c5b03910725d89 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 5 Dec 2017 08:07:21 +0100 Subject: gnu: openmw: Update to 0.43.0. * gnu/packages/game-development.scm (openmw): Update to 0.43.0. --- gnu/packages/game-development.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 3c544f5546..799e82ae0e 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2017 Peter Mikkelsen ;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -1014,7 +1015,7 @@ (define-public mygui (define-public openmw (package (name "openmw") - (version "0.42.0") + (version "0.43.0") (source (origin (method url-fetch) @@ -1023,7 +1024,7 @@ (define-public openmw name "-" version ".tar.gz")) (sha256 (base32 - "1pla8016lpbg8cgm9kia318a860f26dmiayc72p3zl35mqrc7g7w")))) + "11phjx7b3mv4n295xgq25lkcwq0mgr35i5k05hf1h77y6n6jbw64")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target -- cgit v1.2.3 From f46a3523de7e4816a340e48eaba68f11361beec8 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 5 Dec 2017 08:19:21 +0100 Subject: gnu: Add qmpbackup. * gnu/packages/virtualization.scm (qmpbackup): New variable. Signed-off-by: Leo Famulari --- gnu/packages/virtualization.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index d9fae08b25..85563dde6f 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -62,7 +62,7 @@ (define-module (gnu packages virtualization) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix download) - #:use-module ((guix licenses) #:select (gpl2 gpl2+ lgpl2.1 lgpl2.1+)) + #:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+)) #:use-module (guix packages) #:use-module (guix utils) #:use-module (srfi srfi-1)) @@ -687,3 +687,25 @@ (define-public criu ;; The project is licensed under GPLv2; files in the lib/ directory are ;; LGPLv2.1. (license (list gpl2 lgpl2.1)))) + +(define-public qmpbackup + (package + (name "qmpbackup") + (version "0.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/abbbi/qmpbackup/archive/" + version ".tar.gz")) + (sha256 + (base32 + "10k9mnb1yrg4gw1rvz4kw4dxc4aajl8gnjrpm3axqkg63qmxj3qn")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (home-page "https://github.com/abbbi/qmpbackup") + (synopsis "Backup and restore QEMU machines") + (description "qmpbackup is designed to create and restore full and +incremental backups of running QEMU virtual machines via QMP, the QEMU +Machine Protocol.") + (license gpl3+))) -- cgit v1.2.3 From 1aa6582ee9ffb57724ed15db7c87cd1ff868a4ef Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 7 Dec 2017 10:05:31 +0100 Subject: gnu: wine: Add more inputs. * gnu/packages/wine.scm (wine)[inputs]: Add eudev, gst-plugins-base, libpcap and v4l-utils. --- gnu/packages/wine.scm | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index b4c3c194f8..0598392757 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -26,6 +26,7 @@ (define-module (gnu packages wine) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages audio) #:use-module (gnu packages bison) #:use-module (gnu packages compression) @@ -38,6 +39,7 @@ (define-module (gnu packages wine) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages linux) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) @@ -49,6 +51,7 @@ (define-module (gnu packages wine) #:use-module (gnu packages samba) #:use-module (gnu packages scanner) #:use-module (gnu packages tls) + #:use-module (gnu packages video) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) @@ -73,10 +76,12 @@ (define-public wine `(("alsa-lib" ,alsa-lib) ("dbus" ,dbus) ("cups" ,cups) + ("eudev" ,eudev) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glu" ,glu) ("gnutls" ,gnutls) + ("gst-plugins-base" ,gst-plugins-base) ("lcms" ,lcms) ("libxml2" ,libxml2) ("libxslt" ,libxslt) @@ -85,6 +90,7 @@ (define-public wine ("libldap" ,openldap) ("libnetapi" ,samba) ("libsane" ,sane-backends) + ("libpcap" ,libpcap) ("libpng" ,libpng) ("libjpeg" ,libjpeg) ("libtiff" ,libtiff) @@ -102,6 +108,7 @@ (define-public wine ("openal" ,openal) ("pulseaudio" ,pulseaudio) ("unixodbc" ,unixodbc) + ("v4l-utils" ,v4l-utils) ("zlib" ,zlib))) (arguments `(;; Force a 32-bit build (under the assumption that this package is -- cgit v1.2.3 From e02693a3cb210653ce547918b5fbf3c2b5d560c1 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 7 Dec 2017 10:06:38 +0100 Subject: gnu: wine64: Install libraries to /lib. * gnu/packages/wine.scm (wine64)[arguments]: Remove inherited #:make-flags and add new #:make-flags argument. #:configure-flags: Change LDFLAGS from /lib64 to /lib. --- gnu/packages/wine.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 0598392757..b4f6573cf5 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -158,10 +158,13 @@ (define-public wine64 (inherit wine) (name "wine64") (arguments - `(#:configure-flags + `(#:make-flags + (list "SHELL=bash" + (string-append "libdir=" %output "/lib")) + #:configure-flags (list "--enable-win64" - (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib64")) - ,@(strip-keyword-arguments '(#:configure-flags #:system) + (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + ,@(strip-keyword-arguments '(#:configure-flags #:make-flags #:system) (package-arguments wine)))) (synopsis "Implementation of the Windows API (64-bit version)") (supported-systems '("x86_64-linux" "aarch64-linux")))) -- cgit v1.2.3 From 881e1028132455c86311aac6187938632dbd7726 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 8 Dec 2017 23:23:35 +0100 Subject: gnu: libmicrohttpd: Update to 0.9.58. * gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.58. --- gnu/packages/gnunet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index bf0274aa9c..24269dfe27 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -144,14 +144,14 @@ (define-public libextractor (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.57") + (version "0.9.58") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "0kmgkk9sjg1n3q7rbzw5y4qmgh51zn5qi2j69gbqmr6phxjaghfy")))) + "1wq17qvizis7bsyvyw1gnfycvivssncngziddnyrbzv2dhvy24bs")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) -- cgit v1.2.3 From 6b855102b1578a0a71d8ef33426a17e8f0dfab5a Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 6 Sep 2017 14:20:58 +0000 Subject: gnu: fvwm: Update to 2.6.7. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/fvwm.scm (fvwm): Update to 2.6.7. Signed-off-by: 宋文武 --- gnu/packages/fvwm.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/fvwm.scm b/gnu/packages/fvwm.scm index 933820e5fa..5ff3d5e4f2 100644 --- a/gnu/packages/fvwm.scm +++ b/gnu/packages/fvwm.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2017 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,16 +35,15 @@ (define-module (gnu packages fvwm) (define-public fvwm (package (name "fvwm") - (version "2.6.6") + (version "2.6.7") (source (origin (method url-fetch) (uri (string-append "https://github.com/fvwmorg/fvwm/releases/download/" - "version-" (string-join (string-split version #\.) "_") - "/" name "-" version ".tar.gz")) + version "/" name "-" version ".tar.gz")) (sha256 (base32 - "0b6w0vk6cpqaz0ws3vl4by0mycv33r42a0m806j2h8avy9ghipn5")))) + "0wzghjgy65pkn31rgl14fngizw7nbkzbxsfa670xmrndpmd4sr81")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) -- cgit v1.2.3 From 437a2c3c7a77672a21c68ebd9922a0d154297cd6 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 9 Dec 2017 03:01:53 -0500 Subject: gnu: linux-libre@4.1: Update to 4.1.47. * gnu/packages/linux.scm (linux-libre-4.1): Update to 4.1.47. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 28954b5ab6..ec6f0b132f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -395,8 +395,8 @@ (define-public linux-libre-4.4 #:configuration-file kernel-config)) (define-public linux-libre-4.1 - (make-linux-libre "4.1.46" - "0bg1vplfksgsnxqdxdp2n0b5lv2j299nv52s8hpja5ckp396jkhk" + (make-linux-libre "4.1.47" + "036nxrsnii4p7224xpr7rvhyik5agb1q00lmx6hra8c2v5412x6y" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From 145a5310cd8c5711ddb96637986709abe49955c6 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 9 Dec 2017 03:46:14 -0500 Subject: gnu: icecat: Fix CVE-2017-7843. * gnu/packages/gnuzilla.scm (icecat)[source]: Add upstream fix for CVE-2017-7843. --- gnu/packages/gnuzilla.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 814d37270e..c53c316132 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -481,7 +481,8 @@ (define-public icecat (mozilla-patch "icecat-bug-1047098-pt3.patch" "36bd15d14c5a" "0cb3l3hpsgk674f08kfamxhqfga3ah5v904gpxq9ag006vzd2cxz") (mozilla-patch "icecat-bug-1404105.patch" "2909ba991f31" "126vssj57dc800347f075wlnjzcwamnxxmgxl9w78jpb0hj9gf16") (search-patch "icecat-bug-1415133.patch") - (mozilla-patch "icecat-bug-1355576.patch" "cf34a0574e58" "1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m"))) + (mozilla-patch "icecat-bug-1355576.patch" "cf34a0574e58" "1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m") + (mozilla-patch "icecat-CVE-2017-7843.patch" "f6216ea8b8fc" "0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl"))) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 83b9d121a78e6bb4e3d57474d3e01d0a3c4dd5e9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 9 Dec 2017 11:26:07 +0100 Subject: gnu: bedtools-2.18: Fix build. * gnu/packages/bioinformatics.scm (bedtools-2.18)[arguments]: Restore custom install phase. Reported by Mark H Weaver . --- gnu/packages/bioinformatics.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fedc8aec4c..171b13d0d5 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -466,7 +466,19 @@ (define-public bedtools-2.18 (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "05vrnr8yp7swfagshzpgqmzk1blnwnq8pq5pckzi1m26w98d63vf")))))) + "05vrnr8yp7swfagshzpgqmzk1blnwnq8pq5pckzi1m26w98d63vf")))) + (arguments + '(#:test-target "test" + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) + (for-each (lambda (file) + (install-file file bin)) + (find-files "bin" ".*"))) + #t))))))) (define-public ribotaper (package -- cgit v1.2.3 From f88c1c5d89d19f5a68d42f028eb01292e8301e2f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 9 Dec 2017 04:35:58 +0100 Subject: gnu: chez-scheme: Update to 9.5. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/chez.scm (chez-scheme): Update to 9.5. [arguments]: Add ‘patch-broken-documentation’ phase. --- gnu/packages/chez.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index b532057605..4b5b8e8bc7 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Federico Beffa ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,14 +62,14 @@ (define stex (define-public chez-scheme (package (name "chez-scheme") - (version "9.4") + (version "9.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/cisco/ChezScheme/archive/" "v" version ".tar.gz")) (sha256 - (base32 "0lprmpsjg2plc6ykgkz482zyvhkzv6gd0vnar71ph21h6zknyklz")) + (base32 "135991hspq0grf26pvl2lkwhp92yz204h6rgiwyym0x6v0xzknd1")) (file-name (string-append "chez-scheme-" version ".tar.gz")))) (build-system gnu-build-system) (inputs @@ -104,7 +105,15 @@ (define-public chez-scheme (add-after 'unpack 'patch-processor-detection (lambda _ (substitute* "configure" (("uname -a") "uname -m")) - #t)) + #t)) + (add-after 'unpack 'patch-broken-documentation + (lambda _ + ;; Work around an oversight in the 9.5 release tarball that causes + ;; building the documentation to fail. This should be fixed in the + ;; next one; see . + (substitute* "csug/copyright.stex" + (("\\\\INSERTREVISIONMONTHSPACEYEAR" ) + "October 2017")))) ; tarball release date ;; Adapt the custom 'configure' script. (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) -- cgit v1.2.3 From 8733fc91e07acc09df80136d0871af77984f0435 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 18 Oct 2017 07:20:03 +0100 Subject: gnu: Add emacs-robe. * gnu/packages/emacs.scm (emacs-robe): New variable. --- gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 701953a283..77da8f2f25 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2195,6 +2195,31 @@ (define-public emacs-rich-minority mode-line.") (license license:gpl2+))) +(define-public emacs-robe + (package + (name "emacs-robe") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/dgutov/robe/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-inf-ruby" ,emacs-inf-ruby))) + (home-page "https://github.com/dgutov/robe") + (synopsis "Ruby code assistance tool for Emacs") + (description + "Robe can provide information on loaded classes and modules in Ruby code, +as well as where methods are defined. This allows the user to jump to method +definitions, modules and classes, display method documentation and provide +method and constant name completion.") + (license license:gpl3+))) + (define-public emacs-rspec (package (name "emacs-rspec") -- cgit v1.2.3 From 18b1589b8296f362a9e845f35d3c23a4996813b7 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sat, 9 Dec 2017 12:08:59 +0000 Subject: gnu: blists: Update to 2.0. * gnu/packages/mail.scm (blists): Update to 2.0. Signed-off-by: Leo Famulari --- gnu/packages/mail.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 114b1a21bb..7f5786b5b3 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2016, 2017 Troy Sankey -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016 Clément Lassieur ;;; Copyright © 2016, 2017 Arun Isaac ;;; Copyright © 2016 John Darrington @@ -2181,7 +2181,7 @@ (define-public postorius (define-public blists (package (name "blists") - (version "1.0") + (version "2.0") (source (origin (method url-fetch) @@ -2189,7 +2189,7 @@ (define-public blists "blists/blists-" version ".tar.gz")) (sha256 (base32 - "1gp51kmb8yv8d693wcpdslmwlbw5w2kgz4kxhrcaf7y89w8wy4qd")))) + "1xll5wn7py3bbncbwrj172f56nz75c9gwfsa80rwd96ss9gfmp3c")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests -- cgit v1.2.3 From 78f60e04b19383b0abb3d688ea702cb8feedc645 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sat, 9 Dec 2017 12:24:02 +0000 Subject: gnu: neomutt: Update to 20171208. * gnu/packages/mail.scm (neomutt): Update to 20171208. Signed-off-by: Leo Famulari --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 7f5786b5b3..d4ddbcb67f 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -279,7 +279,7 @@ (define-public mutt (define-public neomutt (package (name "neomutt") - (version "20171027") + (version "20171208") (source (origin (method url-fetch) @@ -287,7 +287,7 @@ (define-public neomutt "/archive/" name "-" version ".tar.gz")) (sha256 (base32 - "10z523cy3s6syh0mwpsncl87wrvyzsk99y7nzicwvx6y3hmdw01d")))) + "0dfp7m794ws6vg029zx7wrrjrscrnmi8cvbzqzgxafl97bbjipwz")))) (build-system gnu-build-system) (inputs `(("cyrus-sasl" ,cyrus-sasl) -- cgit v1.2.3 From d8c9be80794335285daa332f0a836bec6083eafc Mon Sep 17 00:00:00 2001 From: ng0 Date: Sat, 9 Dec 2017 16:53:50 +0000 Subject: gnu: gnurl: Use new download URL. * gnu/packages/gnunet.scm (gnurl)[source]: Use mirror://gnu. Signed-off-by: Leo Famulari --- gnu/packages/gnunet.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 24269dfe27..2d238febce 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -188,11 +188,10 @@ (define-public gnurl (version "7.57.0") (source (origin (method url-fetch) - (uri (string-append "https://gnunet.org/sites/default/files/" - name "-" version ".tar.bz2")) + (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.xz")) (sha256 (base32 - "1dykh12mc241jnxcd8q5pm1yw9ras53ywyba9f9dy5cq39j2mk9c")))) + "0cl2x1jddnhn1z8gd75w6k7lb6pymn5rf2vqgl2vdkbxsz677z07")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 1.5 MiB of man3 pages -- cgit v1.2.3 From 74a40ddd64792a9b07fb6cfe565bbafaa8412f2b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 9 Dec 2017 21:42:47 +0200 Subject: gnu: aspell.scm: Alphabetize dictionaries. * gnu/packages/aspell.scm: Reorder the dictionaries alphabetically. --- gnu/packages/aspell.scm | 62 ++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 86e0598344..4c08679bc8 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -130,6 +130,14 @@ (define-public aspell-dict-de (base32 "01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s"))) +(define-public aspell-dict-el + (aspell-dictionary "el" "Greek" + #:version "0.08-0" + #:prefix "aspell6-" + #:sha256 + (base32 + "1ljcc30zg2v2h3w5h5jr5im41mw8jbsgvvhdd2cii2yzi8d0zxja"))) + (define-public aspell-dict-en (aspell-dictionary "en" "English" #:version "2017.01.22-0" @@ -159,12 +167,19 @@ (define-public aspell-dict-fr (base32 "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr"))) -(define-public aspell-dict-ru - (aspell-dictionary "ru" "Russian" - #:version "0.99f7-1" +(define-public aspell-dict-grc + (aspell-dictionary "grc" "Ancient Greek" + #:version "0.02-0" #:sha256 (base32 - "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw"))) + "1zxr8958v37v260fkqd4pg37ns5h5kyqm54hn1hg70wq5cz8h512"))) + +(define-public aspell-dict-he + (aspell-dictionary "he" "Hebrew" + #:version "1.0-0" + #:sha256 + (base32 + "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn"))) (define-public aspell-dict-it (aspell-dictionary "it" "Italian" @@ -181,12 +196,20 @@ (define-public aspell-dict-nl (base32 "0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4"))) -(define-public aspell-dict-he - (aspell-dictionary "he" "Hebrew" - #:version "1.0-0" +(define-public aspell-dict-pt-br + (aspell-dictionary "pt-br" "Brazilian Portuguese" + #:version "20090702-0" + #:prefix "aspell6-" #:sha256 (base32 - "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn"))) + "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p"))) + +(define-public aspell-dict-ru + (aspell-dictionary "ru" "Russian" + #:version "0.99f7-1" + #:sha256 + (base32 + "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw"))) (define-public aspell-dict-sv (aspell-dictionary "sv" "Swedish" @@ -196,29 +219,6 @@ (define-public aspell-dict-sv (base32 "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v"))) -(define-public aspell-dict-el - (aspell-dictionary "el" "Greek" - #:version "0.08-0" - #:prefix "aspell6-" - #:sha256 - (base32 - "1ljcc30zg2v2h3w5h5jr5im41mw8jbsgvvhdd2cii2yzi8d0zxja"))) - -(define-public aspell-dict-grc - (aspell-dictionary "grc" "Ancient Greek" - #:version "0.02-0" - #:sha256 - (base32 - "1zxr8958v37v260fkqd4pg37ns5h5kyqm54hn1hg70wq5cz8h512"))) - -(define-public aspell-dict-pt-br - (aspell-dictionary "pt-br" "Brazilian Portuguese" - #:version "20090702-0" - #:prefix "aspell6-" - #:sha256 - (base32 - "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p"))) - ;;; ;;; Hunspell packages made from the Aspell word lists. -- cgit v1.2.3 From 0e1b4d8eec3a0b8e534f172435b2e6a6abc0763b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 9 Dec 2017 22:56:59 +0200 Subject: gnu: aspell-dict-en: Update to 2017.08.24-0. * gnu/packages/aspell.scm (aspell-dict-en): Update to 2017.08.24-0. --- gnu/packages/aspell.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 4c08679bc8..ec8fa05feb 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2017 Ludovic Courtès ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2016 John Darrington -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Christopher Andersson ;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice @@ -140,10 +140,10 @@ (define-public aspell-dict-el (define-public aspell-dict-en (aspell-dictionary "en" "English" - #:version "2017.01.22-0" + #:version "2017.08.24-0" #:sha256 (base32 - "1qamzpw1fsnn5n9jpsnnnzqj1a0m0xvsikmkdp5a6pmb7sp3ziwk"))) + "0z2vvm1by485cm0sna21cmw6zb771c2l2lnn676zmrwm46q65d89"))) (define-public aspell-dict-eo (aspell-dictionary "eo" "Esperanto" -- cgit v1.2.3 From dec2ade10855f27e5a69cd4f6e657ce777e4c293 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 9 Dec 2017 23:04:18 +0200 Subject: gnu: glpk: Update to 4.64. * gnu/packages/maths.scm (glpk): Update to 4.64. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 7216db0bda..1c84d29649 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -335,7 +335,7 @@ (define-public ocaml4.01-gsl (define-public glpk (package (name "glpk") - (version "4.63") + (version "4.64") (source (origin (method url-fetch) @@ -343,7 +343,7 @@ (define-public glpk version ".tar.gz")) (sha256 (base32 - "1xp7nclmp8inp20968bvvfcwmz3mz03sbm0v3yjz8aqwlpqjfkci")))) + "096cqgjc7vkq6wd8znhcxjbs1s2rym3qf753fqxrrq531vs6g4jk")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp))) -- cgit v1.2.3 From 439980b707eb72066a70ef8a78cbc9fad7a741f2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Dec 2017 11:35:08 +0200 Subject: gnu: perl-sql-abstract: Update source uri. * gnu/packages/databases.scm (perl-sql-abstract)[source]: Update source uri. --- gnu/packages/databases.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4bd36c4c6f..a6a7c31786 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1280,7 +1280,7 @@ (define-public perl-sql-abstract (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/" + (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/" "SQL-Abstract-" version ".tar.gz")) (sha256 (base32 -- cgit v1.2.3 From 981bccf11cbd777f1d11579bd20c802bebe3adee Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 10 Dec 2017 09:50:21 +0100 Subject: gnu: Add picprog. * gnu/packages/embedded.scm (picprog): New variable. --- gnu/packages/embedded.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 033d0032e7..82080d8ebd 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -932,3 +932,38 @@ (define-public python2-libmpsse MPSSE (Multi-Protocol Synchronous Serial Engine) adapter by FTDI that can do SPI, I2C, JTAG.") (license license:gpl2+))) + +(define-public picprog + (package + (name "picprog") + (version "1.9.1") + (source (origin + (method url-fetch) + (uri (string-append "http://www.iki.fi/hyvatti/pic/picprog-" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r04hg1n3v2jf915qr05la3q9cxy7a5jnh9cc98j04lh6c9p4x85")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No tests exist. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("/usr/local") (assoc-ref outputs "out")) + ((" -o 0 -g 0 ") " ")) + #t)) + (add-before 'install 'mkdir + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out "/man/man1")) + #t))) + (delete 'configure)))) + (synopsis "Programs Microchip's PIC microcontrollers") + (description "This program programs Microchip's PIC microcontrollers.") + (home-page "http://hyvatti.iki.fi/~jaakko/pic/picprog.html") + (license license:gpl3+))) -- cgit v1.2.3 From 316fd29f9b6b0941367f54f431ef99695b16a9e5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Dec 2017 12:38:26 +0200 Subject: gnu: picprog: Fix non-Intel support. * gnu/packages/patches/picprog-non-intel-support.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/embedded.scm (picprog)[source]: Add patch. [arguments]: Skip building the 'testport' binary. --- gnu/local.mk | 1 + gnu/packages/embedded.scm | 7 +- .../patches/picprog-non-intel-support.patch | 74 ++++++++++++++++++++++ 3 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/picprog-non-intel-support.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index a0e3f6ebe0..75065b019d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -968,6 +968,7 @@ dist_patch_DATA = \ %D%/packages/patches/perl-module-pluggable-search.patch \ %D%/packages/patches/perl-reproducible-build-date.patch \ %D%/packages/patches/perl-www-curl-remove-symbol.patch \ + %D%/packages/patches/picprog-non-intel-support.patch \ %D%/packages/patches/pidgin-add-search-path.patch \ %D%/packages/patches/pinball-const-fix.patch \ %D%/packages/patches/pinball-cstddef.patch \ diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 82080d8ebd..029b5a5c24 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017 Ricardo Wurmus ;;; Copyright © 2016, 2017 Theodoros Foradis ;;; Copyright © 2016 David Craven +;;; Copyright © 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -944,7 +945,8 @@ (define-public picprog (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1r04hg1n3v2jf915qr05la3q9cxy7a5jnh9cc98j04lh6c9p4x85")))) + "1r04hg1n3v2jf915qr05la3q9cxy7a5jnh9cc98j04lh6c9p4x85")) + (patches (search-patches "picprog-non-intel-support.patch")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests exist. @@ -954,7 +956,8 @@ (define-public picprog (lambda* (#:key outputs #:allow-other-keys) (substitute* "Makefile" (("/usr/local") (assoc-ref outputs "out")) - ((" -o 0 -g 0 ") " ")) + ((" -o 0 -g 0 ") " ") + (("testport") "")) #t)) (add-before 'install 'mkdir (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/patches/picprog-non-intel-support.patch b/gnu/packages/patches/picprog-non-intel-support.patch new file mode 100644 index 0000000000..8908207011 --- /dev/null +++ b/gnu/packages/patches/picprog-non-intel-support.patch @@ -0,0 +1,74 @@ +https://sources.debian.org/data/main/p/picprog/1.9.1-3/debian/patches/20_iopl.patch + +Description: Avoid some functions in some architectures + Upstream uses iopl() function and other architecture-dependent + codes. This patch adds building switches to avoid them in + some architectures. +Author: Koichi Akabe +Last-Update: 2011-11-30 + +--- picprog-1.9.1.orig/picport.cc ++++ picprog-1.9.1/picport.cc +@@ -38,7 +38,12 @@ + #include + + #include +-#include ++ ++#if defined(__i386__) || defined(__x86_64__) ++ #include ++ #define HAVE_IOPL ++#endif ++ + #include + #include + #include +@@ -160,8 +165,12 @@ + // Not root. Cannot use realtime scheduling. + use_nanosleep = 0; + } ++#ifdef HAVE_IOPL + if (iopl (3)) + disable_interrupts = 0; ++#else ++ disable_interrupts = 0; ++#endif + + #ifdef CPU_SETSIZE + // When computing the delay loops, we do not want the cpu's to change. +@@ -403,13 +412,17 @@ + { + struct timeval tv1, tv2; + gettimeofday (&tv1, 0); ++#if defined(__i386__) or defined(__x86_64__) + if (tsc_1000ns > 1 && disable_interrupts) + asm volatile("pushf; cli"); ++#endif + set_clock_data (1, b); // set data, clock up + delay (cable_delay); + set_clock_data (0, b); // clock down ++#if defined(__i386__) or defined(__x86_64__) + if (tsc_1000ns > 1 && disable_interrupts) + asm volatile("popf"); ++#endif + gettimeofday (&tv2, 0); + + // We may have spent a long time in an interrupt or in another task +@@ -428,13 +441,17 @@ + { + struct timeval tv1, tv2; + gettimeofday (&tv1, 0); ++#if defined(__i386__) or defined(__x86_64__) + if (tsc_1000ns > 1 && disable_interrupts) + asm volatile("pushf; cli"); ++#endif + set_clock_data (1, 1); // clock up + delay (cable_delay); + set_clock_data (0, 1); // set data up, clock down ++#if defined(__i386__) or defined(__x86_64__) + if (tsc_1000ns > 1 && disable_interrupts) + asm volatile("popf"); ++#endif + gettimeofday (&tv2, 0); + + // We may have spent a long time in an interrupt or in another task -- cgit v1.2.3 From 73b3eaf047bbc75030bc5bba01b5d909f728ecbb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 10 Dec 2017 15:48:24 +0100 Subject: gnu: xapian: Update to 1.4.5. * gnu/packages/search.scm (xapian, python-xapian-bindings): Update to 1.4.5. --- gnu/packages/search.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 62da3be0fd..1986b07217 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -38,13 +38,14 @@ (define-module (gnu packages search) (define-public xapian (package (name "xapian") - (version "1.4.4") + (version "1.4.5") + ;; Note: When updating Xapian, remember to update xapian-bindings below. (source (origin (method url-fetch) (uri (string-append "https://oligarchy.co.uk/xapian/" version "/xapian-core-" version ".tar.xz")) (sha256 - (base32 "1n9j2w2as0flih3hgim7gprfxsx6gimijs91rxsjsi8shjlqbad6")))) + (base32 "0axhqrj202hbll9mcx1qdm8gsqj19216w3z02gyjbycxvr9gkdc5")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) ("util-linux" ,util-linux))) @@ -82,7 +83,7 @@ (define-public python-xapian-bindings "/xapian-bindings-" version ".tar.xz")) (sha256 (base32 - "0fca9nsf7pj3fq991xcm5iainz3s8yqik4ycvavm09y486n3wciv")))) + "0cwx39764w24xd25w271had4w78lnw1dgz36yvlw1g3i19rqcy34")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-python3") -- cgit v1.2.3 From 831db64fe387695035c319c652d84489784a9a4f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 10 Dec 2017 15:48:47 +0100 Subject: gnu: notmuch: Update to 0.25.3. * gnu/packages/mail.scm (notmuch): Update to 0.25.3. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d4ddbcb67f..21db463411 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -693,14 +693,14 @@ (define-public notifymuch (define-public notmuch (package (name "notmuch") - (version "0.25.2") + (version "0.25.3") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.gz")) (sha256 (base32 - "0ai6vbs9wzwfz7jcphgqsqpcbq137l34xhmcli4h5c8n82fvmdp4")))) + "1fyx20rjpwbf2j1v5fpa5s0rjnwhcgvijzh2qyinp8rlbh1qxmab")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "V=1") ; Verbose test output. -- cgit v1.2.3 From 4cb779411514117af2e117f8edcdd701541c6f9e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 10 Dec 2017 16:15:23 +0100 Subject: gnu: gstreamer: Update to 1.12.4. * gnu/packages/gstreamer.scm (gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-ugly, gst-libav, python-gst): Update to 1.12.4. (gst-plugins-bad): Likewise. [arguments]: Remove #:phases. --- gnu/packages/gstreamer.scm | 39 +++++++++++++++------------------------ 1 file changed, 15 insertions(+), 24 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 3333ca87fd..33f05d69f7 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -100,7 +100,7 @@ (define-public orc (define-public gstreamer (package (name "gstreamer") - (version "1.12.3") + (version "1.12.4") (source (origin (method url-fetch) @@ -109,7 +109,7 @@ (define-public gstreamer version ".tar.xz")) (sha256 (base32 - "0vi1g8rmmsnd630ds3jwv2iph46ll8y07fzf04mz15q88j9g926k")))) + "0x06jxmc5fhlz7cr1pl5lp0hm1jgz519jjic37d09srf9jm091ss")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -148,7 +148,7 @@ (define-public gstreamer (define-public gst-plugins-base (package (name "gst-plugins-base") - (version "1.12.3") + (version "1.12.4") (source (origin (method url-fetch) @@ -156,7 +156,7 @@ (define-public gst-plugins-base name "-" version ".tar.xz")) (sha256 (base32 - "19ffwdch7m777ragmwpy6prqmfb742ym1n3ki40s0zyki627plyk")))) + "10i255q7i8an1hxz3szb36x1jcs9nfdy511pj2wg24h2vw1nnc2c")))) (build-system gnu-build-system) (outputs '("out" "doc")) (propagated-inputs @@ -203,7 +203,7 @@ (define-public gst-plugins-base (define-public gst-plugins-good (package (name "gst-plugins-good") - (version "1.12.3") + (version "1.12.4") (source (origin (method url-fetch) @@ -212,7 +212,7 @@ (define-public gst-plugins-good name "-" version ".tar.xz")) (sha256 (base32 - "00sznj1sl97fqpn6j8ngps04clvxp8h8yhw6lvszx4b855wz9rqk")))) + "0mxrbrqrfq1946gn9im19maj7ivld4k946vkwrzd94h8qsz4k7v4")))) (build-system gnu-build-system) (inputs `(("aalib" ,aalib) @@ -262,14 +262,14 @@ (define-public gst-plugins-good (define-public gst-plugins-bad (package (name "gst-plugins-bad") - (version "1.12.3") + (version "1.12.4") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "1v5z3i5ha20gmbb3r9dwsaaspv5fm1jfzlzwlzqx1gjj31v5kl1n")))) + "021d3q81m968lpnah517sfclagadcqwd6jz3lqdmqvb82sz5fy0c")))) (outputs '("out" "doc")) (build-system gnu-build-system) (arguments @@ -277,16 +277,7 @@ (define-public gst-plugins-bad #:configure-flags (list (string-append "--with-html-dir=" (assoc-ref %outputs "doc") - "/share/gtk-doc/html")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-openjpeg-reference - (lambda _ - ;; Remove hard-coded openjpeg-2.2 path. 2.3 is API- and - ;; ABI-compatible. - (substitute* "ext/openjpeg/gstopenjpeg.h" - ((" Date: Sun, 10 Dec 2017 19:15:44 +0100 Subject: gnu: graphicsmagick: Update to 1.3.27. * gnu/packages/patches/graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch, gnu/packages/patches/graphicsmagick-CVE-2017-12935.patch, gnu/packages/patches/graphicsmagick-CVE-2017-12936.patch, gnu/packages/patches/graphicsmagick-CVE-2017-12937.patch, gnu/packages/patches/graphicsmagick-CVE-2017-13775.patch, gnu/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch, gnu/packages/patches/graphicsmagick-CVE-2017-14042.patch, gnu/packages/patches/graphicsmagick-CVE-2017-14165.patch, gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/packages/imagemagick.scm (graphicsmagick): Update to 1.3.27. [source](patches): Remove. --- gnu/local.mk | 9 - gnu/packages/imagemagick.scm | 14 +- ...phicsmagick-CVE-2017-11403+CVE-2017-14103.patch | 137 -------------- .../patches/graphicsmagick-CVE-2017-12935.patch | 28 --- .../patches/graphicsmagick-CVE-2017-12936.patch | 16 -- .../patches/graphicsmagick-CVE-2017-12937.patch | 28 --- .../patches/graphicsmagick-CVE-2017-13775.patch | 195 ------------------- ...phicsmagick-CVE-2017-13776+CVE-2017-13777.patch | 179 ------------------ .../patches/graphicsmagick-CVE-2017-14042.patch | 80 -------- .../patches/graphicsmagick-CVE-2017-14165.patch | 72 ------- .../patches/graphicsmagick-CVE-2017-14649.patch | 210 --------------------- 11 files changed, 2 insertions(+), 966 deletions(-) delete mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch delete mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-12935.patch delete mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-12936.patch delete mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-12937.patch delete mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-13775.patch delete mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch delete mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-14042.patch delete mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-14165.patch delete mode 100644 gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 75065b019d..22f2a8f927 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -704,15 +704,6 @@ dist_patch_DATA = \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ - %D%/packages/patches/graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch \ - %D%/packages/patches/graphicsmagick-CVE-2017-12935.patch \ - %D%/packages/patches/graphicsmagick-CVE-2017-12936.patch \ - %D%/packages/patches/graphicsmagick-CVE-2017-12937.patch \ - %D%/packages/patches/graphicsmagick-CVE-2017-13775.patch \ - %D%/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch \ - %D%/packages/patches/graphicsmagick-CVE-2017-14042.patch \ - %D%/packages/patches/graphicsmagick-CVE-2017-14165.patch \ - %D%/packages/patches/graphicsmagick-CVE-2017-14649.patch \ %D%/packages/patches/graphite2-ffloat-store.patch \ %D%/packages/patches/grep-gnulib-lock.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \ diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 42f4a7c92e..ac9fca8600 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -164,7 +164,7 @@ (define-public perl-image-magick (define-public graphicsmagick (package (name "graphicsmagick") - (version "1.3.26") + (version "1.3.27") (source (origin (method url-fetch) (uri @@ -176,17 +176,7 @@ (define-public graphicsmagick "/GraphicsMagick-" version ".tar.xz"))) (sha256 (base32 - "122zgs96dqrys62mnh8x5yvfff6km4d3yrnvaxzg3mg5sprib87v")) - (patches - (search-patches "graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch" - "graphicsmagick-CVE-2017-12935.patch" - "graphicsmagick-CVE-2017-12936.patch" - "graphicsmagick-CVE-2017-12937.patch" - "graphicsmagick-CVE-2017-13775.patch" - "graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch" - "graphicsmagick-CVE-2017-14042.patch" - "graphicsmagick-CVE-2017-14165.patch" - "graphicsmagick-CVE-2017-14649.patch")))) + "0rq35p3rml10cxz2z4s7xcfsilhhk19mmy094g3ivz0fg797hcnh")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch deleted file mode 100644 index dbcaea1343..0000000000 --- a/gnu/packages/patches/graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch +++ /dev/null @@ -1,137 +0,0 @@ -http://www.openwall.com/lists/oss-security/2017/09/01/6 - -CVE-2017-11403: -http://hg.code.sf.net/p/graphicsmagick/code/rev/d0a76868ca37 - -CVE-2017-14103: -http://hg.code.sf.net/p/graphicsmagick/code/rev/98721124e51f - -some changes were made to make the patch apply - -# HG changeset patch -# User Glenn Randers-Pehrson -# Date 1503875721 14400 -# Node ID 98721124e51fd5ec0c6fba64bce2e218869632d2 -# Parent f0f2ea85a2930f3b6dcd72352719adb9660f2aad -Attempt to fix Issue 440. - -diff -ru a/coders/png.c b/coders/png.c ---- a/coders/png.c 1969-12-31 19:00:00.000000000 -0500 -+++ b/coders/png.c 2017-09-10 11:31:56.543194173 -0400 -@@ -3106,7 +3106,9 @@ - if (length > PNG_MAX_UINT || count == 0) - { - DestroyJNGInfo(color_image_info,alpha_image_info); -- ThrowReaderException(CorruptImageError,CorruptImage,image); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ "chunk length (%lu) > PNG_MAX_UINT",length); -+ return ((Image*)NULL); - } - - chunk=(unsigned char *) NULL; -@@ -3117,13 +3119,16 @@ - if (chunk == (unsigned char *) NULL) - { - DestroyJNGInfo(color_image_info,alpha_image_info); -- ThrowReaderException(ResourceLimitError,MemoryAllocationFailed, -- image); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " Could not allocate chunk memory"); -+ return ((Image*)NULL); - } - if (ReadBlob(image,length,chunk) < length) - { - DestroyJNGInfo(color_image_info,alpha_image_info); -- ThrowReaderException(CorruptImageError,CorruptImage,image); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " chunk reading was incomplete"); -+ return ((Image*)NULL); - } - p=chunk; - } -@@ -3198,7 +3203,7 @@ - jng_width, jng_height); - MagickFreeMemory(chunk); - DestroyJNGInfo(color_image_info,alpha_image_info); -- ThrowReaderException(CorruptImageError,ImproperImageHeader,image); -+ return ((Image *)NULL); - } - - /* Temporarily set width and height resources to match JHDR */ -@@ -3233,8 +3238,9 @@ - if (color_image == (Image *) NULL) - { - DestroyJNGInfo(color_image_info,alpha_image_info); -- ThrowReaderException(ResourceLimitError,MemoryAllocationFailed, -- image); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " could not open color_image blob"); -+ return ((Image *)NULL); - } - if (logging) - (void) LogMagickEvent(CoderEvent,GetMagickModule(), -@@ -3245,7 +3251,9 @@ - if (status == MagickFalse) - { - DestroyJNGInfo(color_image_info,alpha_image_info); -- ThrowReaderException(CoderError,UnableToOpenBlob,color_image); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " could not open color_image blob"); -+ return ((Image *)NULL); - } - - if (!image_info->ping && jng_color_type >= 12) -@@ -3255,17 +3263,18 @@ - if (alpha_image_info == (ImageInfo *) NULL) - { - DestroyJNGInfo(color_image_info,alpha_image_info); -- ThrowReaderException(ResourceLimitError, -- MemoryAllocationFailed, image); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " could not allocate alpha_image_info",length); -+ return ((Image *)NULL); - } - GetImageInfo(alpha_image_info); - alpha_image=AllocateImage(alpha_image_info); - if (alpha_image == (Image *) NULL) - { - DestroyJNGInfo(color_image_info,alpha_image_info); -- ThrowReaderException(ResourceLimitError, -- MemoryAllocationFailed, -- alpha_image); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " could not allocate alpha_image"); -+ return ((Image *)NULL); - } - if (logging) - (void) LogMagickEvent(CoderEvent,GetMagickModule(), -@@ -3277,7 +3286,9 @@ - { - DestroyJNGInfo(color_image_info,alpha_image_info); - DestroyImage(alpha_image); -- ThrowReaderException(CoderError,UnableToOpenBlob,image); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " could not allocate alpha_image blob"); -+ return ((Image *)NULL); - } - if (jng_alpha_compression_method == 0) - { -@@ -3613,6 +3624,8 @@ - alpha_image = (Image *)NULL; - DestroyImageInfo(alpha_image_info); - alpha_image_info = (ImageInfo *)NULL; -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " Destroy the JNG image"); - DestroyImage(jng_image); - jng_image = (Image *)NULL; - } -@@ -5146,8 +5159,8 @@ - - if (image == (Image *) NULL) - { -- DestroyImageList(previous); - CloseBlob(previous); -+ DestroyImageList(previous); - MngInfoFreeStruct(mng_info,&have_mng_structure); - return((Image *) NULL); - } diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-12935.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-12935.patch deleted file mode 100644 index 2cb3d46f62..0000000000 --- a/gnu/packages/patches/graphicsmagick-CVE-2017-12935.patch +++ /dev/null @@ -1,28 +0,0 @@ -This patch comes from http://hg.code.sf.net/p/graphicsmagick/code/rev/cd699a44f188. - -diff -ur a/coders/png.c b/coders/png.c ---- a/coders/png.c 2017-07-04 17:32:08.000000000 -0400 -+++ b/coders/png.c 2017-08-19 11:16:20.933969362 -0400 -@@ -4101,11 +4101,17 @@ - mng_info->image=image; - } - -- if ((mng_info->mng_width > 65535L) || (mng_info->mng_height -- > 65535L)) -- (void) ThrowException(&image->exception,ImageError, -- WidthOrHeightExceedsLimit, -- image->filename); -+ if ((mng_info->mng_width > 65535L) || -+ (mng_info->mng_height > 65535L)) -+ { -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " MNG width or height is too large: %lu, %lu", -+ mng_info->mng_width,mng_info->mng_height); -+ MagickFreeMemory(chunk); -+ ThrowReaderException(CorruptImageError, -+ ImproperImageHeader,image); -+ } -+ - FormatString(page_geometry,"%lux%lu+0+0",mng_info->mng_width, - mng_info->mng_height); - mng_info->frame.left=0; diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-12936.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-12936.patch deleted file mode 100644 index 7036f37438..0000000000 --- a/gnu/packages/patches/graphicsmagick-CVE-2017-12936.patch +++ /dev/null @@ -1,16 +0,0 @@ -This patch comes from http://hg.code.sf.net/p/graphicsmagick/code/rev/be898b7c97bd. - -diff -ur a/coders/wmf.c b/coders/wmf.c ---- a/coders/wmf.c 2016-09-05 15:20:23.000000000 -0400 -+++ b/coders/wmf.c 2017-08-19 10:38:08.984187264 -0400 -@@ -2719,8 +2719,8 @@ - if(image->exception.severity != UndefinedException) - ThrowException2(exception, - CoderWarning, -- ddata->image->exception.reason, -- ddata->image->exception.description); -+ image->exception.reason, -+ image->exception.description); - - if(logging) - (void) LogMagickEvent(CoderEvent,GetMagickModule(),"leave ReadWMFImage()"); diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-12937.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-12937.patch deleted file mode 100644 index 71af9ffe59..0000000000 --- a/gnu/packages/patches/graphicsmagick-CVE-2017-12937.patch +++ /dev/null @@ -1,28 +0,0 @@ -This patch comes from http://hg.code.sf.net/p/graphicsmagick/code/rev/95d00d55e978. - -diff -ur a/coders/sun.c b/coders/sun.c ---- a/coders/sun.c 2016-05-30 13:19:54.000000000 -0400 -+++ b/coders/sun.c 2017-08-18 18:00:00.191023610 -0400 -@@ -1,5 +1,5 @@ - /* --% Copyright (C) 2003-2015 GraphicsMagick Group -+% Copyright (C) 2003-2017 GraphicsMagick Group - % Copyright (C) 2002 ImageMagick Studio - % Copyright 1991-1999 E. I. du Pont de Nemours and Company - % -@@ -577,6 +577,7 @@ - for (bit=7; bit >= 0; bit--) - { - index=((*p) & (0x01 << bit) ? 0x01 : 0x00); -+ VerifyColormapIndex(image,index); - indexes[x+7-bit]=index; - q[x+7-bit]=image->colormap[index]; - } -@@ -587,6 +588,7 @@ - for (bit=7; bit >= (long) (8-(image->columns % 8)); bit--) - { - index=((*p) & (0x01 << bit) ? 0x01 : 0x00); -+ VerifyColormapIndex(image,index); - indexes[x+7-bit]=index; - q[x+7-bit]=image->colormap[index]; - } diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-13775.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-13775.patch deleted file mode 100644 index 83478c13b3..0000000000 --- a/gnu/packages/patches/graphicsmagick-CVE-2017-13775.patch +++ /dev/null @@ -1,195 +0,0 @@ -http://openwall.com/lists/oss-security/2017/08/31/3 -http://hg.code.sf.net/p/graphicsmagick/code/raw-rev/b037d79b6ccd - -some changes were made to make the patch apply - -# HG changeset patch -# User Bob Friesenhahn -# Date 1503774853 18000 -# Node ID b037d79b6ccd0cfba7ba9ce09b454ed46d688036 -# Parent 198ea602ea7cc767dc3022bbcf887bcd4534158d -JNX: Fix DOS issues - -diff -r 198ea602ea7c -r b037d79b6ccd coders/jnx.c ---- a/coders/jnx.c Tue Aug 22 08:08:30 2017 -0500 -+++ b/coders/jnx.c Sat Aug 26 14:14:13 2017 -0500 -@@ -1,5 +1,5 @@ - /* --% Copyright (C) 2012-2015 GraphicsMagick Group -+% Copyright (C) 2012-2017 GraphicsMagick Group - % - % This program is covered by multiple licenses, which are described in - % Copyright.txt. You should have received a copy of Copyright.txt with this -@@ -100,6 +100,7 @@ - - char img_label_str[MaxTextExtent]; - -+ - alloc_size = TileInfo->PicSize + 2; - - if (image->logging) -@@ -242,6 +243,9 @@ - total_tiles, - current_tile; - -+ magick_off_t -+ file_size; -+ - /* Open image file. */ - assert(image_info != (const ImageInfo *) NULL); - assert(image_info->signature == MagickSignature); -@@ -254,9 +258,8 @@ - if (status == False) - ThrowReaderException(FileOpenError, UnableToOpenFile, image); - -- memset(JNXLevelInfo, 0, sizeof(JNXLevelInfo)); -- - /* Read JNX image header. */ -+ (void) memset(&JNXHeader, 0, sizeof(JNXHeader)); - JNXHeader.Version = ReadBlobLSBLong(image); - if (JNXHeader.Version > 4) - ThrowReaderException(CorruptImageError, ImproperImageHeader, image); -@@ -266,8 +269,6 @@ - JNXHeader.MapBounds.SouthWest.lat = ReadBlobLSBLong(image); - JNXHeader.MapBounds.SouthWest.lon = ReadBlobLSBLong(image); - JNXHeader.Levels = ReadBlobLSBLong(image); -- if (JNXHeader.Levels > 20) -- ThrowReaderException(CorruptImageError, ImproperImageHeader, image); - JNXHeader.Expiration = ReadBlobLSBLong(image); - JNXHeader.ProductID = ReadBlobLSBLong(image); - JNXHeader.CRC = ReadBlobLSBLong(image); -@@ -279,7 +280,41 @@ - if (EOFBlob(image)) - ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image); - -+ file_size = GetBlobSize(image); -+ -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ "JNX Header:\n" -+ " Version: %u\n" -+ " DeviceSN: %u\n" -+ " MapBounds:\n" -+ " NorthEast: lat = %u, lon = %u\n" -+ " SouthWest: lat = %u, lon = %u\n" -+ " Levels: %u\n" -+ " Expiration: %u\n" -+ " ProductID: %u\n" -+ " CRC: %u\n" -+ " SigVersion: %u\n" -+ " SigOffset: %u\n" -+ " ZOrder: %u", -+ JNXHeader.Version, -+ JNXHeader.DeviceSN, -+ JNXHeader.MapBounds.NorthEast.lat, -+ JNXHeader.MapBounds.NorthEast.lon, -+ JNXHeader.MapBounds.SouthWest.lat, -+ JNXHeader.MapBounds.SouthWest.lon, -+ JNXHeader.Levels, -+ JNXHeader.Expiration, -+ JNXHeader.ProductID, -+ JNXHeader.CRC, -+ JNXHeader.SigVersion, -+ JNXHeader.SigOffset, -+ JNXHeader.ZOrder); -+ -+ if (JNXHeader.Levels > 20) -+ ThrowReaderException(CorruptImageError, ImproperImageHeader, image); -+ - /* Read JNX image level info. */ -+ memset(JNXLevelInfo, 0, sizeof(JNXLevelInfo)); - total_tiles = 0; - current_tile = 0; - for (i = 0; i < JNXHeader.Levels; i++) -@@ -302,11 +337,23 @@ - { - JNXLevelInfo[i].Copyright = NULL; - } -+ -+ if (EOFBlob(image)) -+ ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image); -+ -+ if (image->logging) -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ "Level[%u] Info:" -+ " TileCount: %4u" -+ " TilesOffset: %6u" -+ " Scale: %04u", -+ i, -+ JNXLevelInfo[i].TileCount, -+ JNXLevelInfo[i].TilesOffset, -+ JNXLevelInfo[i].Scale -+ ); - } - -- if (EOFBlob(image)) -- ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image); -- - /* Get the current limit */ - SaveLimit = GetMagickResourceLimit(MapResource); - -@@ -316,11 +363,32 @@ - /* Read JNX image data. */ - for (i = 0; i < JNXHeader.Levels; i++) - { -+ /* -+ Validate TileCount against remaining file data -+ */ -+ const magick_off_t current_offset = TellBlob(image); -+ const size_t pos_list_entry_size = -+ sizeof(magick_uint32_t) + sizeof(magick_uint32_t) + sizeof(magick_uint32_t) + -+ sizeof(magick_uint32_t) + sizeof(magick_uint16_t) + sizeof(magick_uint16_t) + -+ sizeof(magick_uint32_t) + sizeof(magick_uint32_t); -+ const magick_off_t remaining = file_size-current_offset; -+ const size_t needed = MagickArraySize(pos_list_entry_size,JNXLevelInfo[i].TileCount); -+ -+ if ((needed == 0U) || (remaining <= 0) || (remaining < (magick_off_t) needed)) -+ { -+ (void) SetMagickResourceLimit(MapResource, SaveLimit); -+ ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image); -+ } -+ - PositionList = MagickAllocateArray(TJNXTileInfo *, - JNXLevelInfo[i].TileCount, - sizeof(TJNXTileInfo)); - if (PositionList == NULL) -- continue; -+ { -+ (void) SetMagickResourceLimit(MapResource, SaveLimit); -+ ThrowReaderException(ResourceLimitError,MemoryAllocationFailed, -+ image); -+ } - - (void) SeekBlob(image, JNXLevelInfo[i].TilesOffset, SEEK_SET); - for (j = 0; j < JNXLevelInfo[i].TileCount; j++) -@@ -333,12 +401,15 @@ - PositionList[j].PicHeight = ReadBlobLSBShort(image); - PositionList[j].PicSize = ReadBlobLSBLong(image); - PositionList[j].PicOffset = ReadBlobLSBLong(image); -- } - -- if (EOFBlob(image)) -- { -- MagickFreeMemory(PositionList); -- ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image); -+ if (EOFBlob(image) || -+ ((magick_off_t) PositionList[j].PicOffset + -+ PositionList[j].PicSize > file_size)) -+ { -+ (void) SetMagickResourceLimit(MapResource, SaveLimit); -+ MagickFreeMemory(PositionList); -+ ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image); -+ } - } - - for (j = 0; j < JNXLevelInfo[i].TileCount; j++) -@@ -351,6 +422,9 @@ - image = ExtractTileJPG(image, image_info, PositionList+j, exception); - (void) SetMonitorHandler(previous_handler); - -+ if (exception->severity >= ErrorException) -+ break; -+ - current_tile++; - if (QuantumTick(current_tile,total_tiles)) - if (!MagickMonitorFormatted(current_tile,total_tiles,exception, - diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch deleted file mode 100644 index e129fd58fc..0000000000 --- a/gnu/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch +++ /dev/null @@ -1,179 +0,0 @@ -http://openwall.com/lists/oss-security/2017/08/31/1 -http://openwall.com/lists/oss-security/2017/08/31/2 -http://hg.code.sf.net/p/graphicsmagick/code/raw-rev/233a720bfd5e - -some changes were made to make the patch apply - -# HG changeset patch -# User Bob Friesenhahn -# Date 1503779175 18000 -# Node ID 233a720bfd5efd378f133a776507ed41230da617 -# Parent b037d79b6ccd0cfba7ba9ce09b454ed46d688036 -XBM: Fix DOS issues. - -diff -r b037d79b6ccd -r 233a720bfd5e coders/xbm.c ---- a/coders/xbm.c Sat Aug 26 14:14:13 2017 -0500 -+++ b/coders/xbm.c Sat Aug 26 15:26:15 2017 -0500 -@@ -1,5 +1,5 @@ - /* --% Copyright (C) 2003 -2012 GraphicsMagick Group -+% Copyright (C) 2003-2017 GraphicsMagick Group - % Copyright (C) 2002 ImageMagick Studio - % Copyright 1991-1999 E. I. du Pont de Nemours and Company - % -@@ -121,13 +121,15 @@ - - static int XBMInteger(Image *image,short int *hex_digits) - { -+ unsigned int -+ flag; -+ - int - c, -- flag, - value; - - value=0; -- flag=0; -+ flag=0U; - for ( ; ; ) - { - c=ReadBlobByte(image); -@@ -158,18 +160,14 @@ - Image - *image; - -- int -- bit; -- -- long -- y; -- - register IndexPacket - *indexes; - -- register long -+ register size_t -+ bytes_per_line, - i, -- x; -+ x, -+ y; - - register PixelPacket - *q; -@@ -177,22 +175,24 @@ - register unsigned char - *p; - -- short int -- hex_digits[256]; -- - unsigned char - *data; - - unsigned int -+ bit, -+ byte, -+ padding, -+ version; -+ -+ int -+ value; -+ -+ short int -+ hex_digits[256]; -+ -+ MagickPassFail - status; - -- unsigned long -- byte, -- bytes_per_line, -- padding, -- value, -- version; -- - /* - Open image file. - */ -@@ -207,6 +207,8 @@ - /* - Read X bitmap header. - */ -+ (void) memset(buffer,0,sizeof(buffer)); -+ name[0]='\0'; - while (ReadBlobString(image,buffer) != (char *) NULL) - if (sscanf(buffer,"#define %s %lu",name,&image->columns) == 2) - if ((strlen(name) >= 6) && -@@ -278,6 +280,8 @@ - /* - Initialize hex values. - */ -+ for (i = 0; i < sizeof(hex_digits)/sizeof(hex_digits[0]); i++) -+ hex_digits[i]=(-1); - hex_digits['0']=0; - hex_digits['1']=1; - hex_digits['2']=2; -@@ -311,40 +315,50 @@ - */ - p=data; - if (version == 10) -- for (i=0; i < (long) (bytes_per_line*image->rows); (i+=2)) -+ for (i=0; i < (bytes_per_line*image->rows); (i+=2)) - { - value=XBMInteger(image,hex_digits); -+ if (value < 0) -+ { -+ MagickFreeMemory(data); -+ ThrowReaderException(CorruptImageError,ImproperImageHeader,image); -+ } - *p++=(unsigned char) value; - if (!padding || ((i+2) % bytes_per_line)) - *p++=(unsigned char) (value >> 8); - } - else -- for (i=0; i < (long) (bytes_per_line*image->rows); i++) -+ for (i=0; i < (bytes_per_line*image->rows); i++) - { - value=XBMInteger(image,hex_digits); -+ if (value < 0) -+ { -+ MagickFreeMemory(data); -+ ThrowReaderException(CorruptImageError,ImproperImageHeader,image); -+ } - *p++=(unsigned char) value; - } - /* - Convert X bitmap image to pixel packets. - */ - p=data; -- for (y=0; y < (long) image->rows; y++) -+ for (y=0; y < image->rows; y++) - { - q=SetImagePixels(image,0,y,image->columns,1); - if (q == (PixelPacket *) NULL) - break; - indexes=AccessMutableIndexes(image); -- bit=0; -- byte=0; -- for (x=0; x < (long) image->columns; x++) -+ bit=0U; -+ byte=0U; -+ for (x=0; x < image->columns; x++) - { -- if (bit == 0) -+ if (bit == 0U) - byte=(*p++); - indexes[x]=byte & 0x01 ? 0x01 : 0x00; - bit++; -- byte>>=1; -- if (bit == 8) -- bit=0; -+ byte>>=1U; -+ if (bit == 8U) -+ bit=0U; - } - if (!SyncImagePixels(image)) - break; - diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-14042.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-14042.patch deleted file mode 100644 index 46f6b032c7..0000000000 --- a/gnu/packages/patches/graphicsmagick-CVE-2017-14042.patch +++ /dev/null @@ -1,80 +0,0 @@ -http://openwall.com/lists/oss-security/2017/08/28/5 -http://hg.code.sf.net/p/graphicsmagick/code/rev/3bbf7a13643d - -some changes were made to make the patch apply - -# HG changeset patch -# User Bob Friesenhahn -# Date 1503268616 18000 -# Node ID 3bbf7a13643df3be76b0e19088a6cc632eea2072 -# Parent 83a5b946180835f260bcb91e3d06327a8e2577e3 -PNM: For binary formats, verify sufficient backing file data before memory request. - -diff -r 83a5b9461808 -r 3bbf7a13643d coders/pnm.c ---- a/coders/pnm.c Sun Aug 20 17:31:35 2017 -0500 -+++ b/coders/pnm.c Sun Aug 20 17:36:56 2017 -0500 -@@ -569,7 +569,7 @@ - (void) LogMagickEvent(CoderEvent,GetMagickModule(),"Colors: %u", - image->colors); - } -- number_pixels=image->columns*image->rows; -+ number_pixels=MagickArraySize(image->columns,image->rows); - if (number_pixels == 0) - ThrowReaderException(CorruptImageError,NegativeOrZeroImageSize,image); - if (image->storage_class == PseudoClass) -@@ -858,14 +858,14 @@ - if (1 == bits_per_sample) - { - /* PBM */ -- bytes_per_row=((image->columns+7) >> 3); -+ bytes_per_row=((image->columns+7U) >> 3); - import_options.grayscale_miniswhite=MagickTrue; - quantum_type=GrayQuantum; - } - else - { - /* PGM & XV_332 */ -- bytes_per_row=((bits_per_sample+7)/8)*image->columns; -+ bytes_per_row=MagickArraySize(((bits_per_sample+7U)/8U),image->columns); - if (XV_332_Format == format) - { - quantum_type=IndexQuantum; -@@ -878,7 +878,8 @@ - } - else - { -- bytes_per_row=(((bits_per_sample+7)/8)*samples_per_pixel)*image->columns; -+ bytes_per_row=MagickArraySize((((bits_per_sample+7)/8)*samples_per_pixel), -+ image->columns); - if (3 == samples_per_pixel) - { - /* PPM */ -@@ -915,6 +916,28 @@ - is_monochrome=MagickFalse; - } - } -+ -+ /* Validate file size before allocating memory */ -+ if (BlobIsSeekable(image)) -+ { -+ const magick_off_t file_size = GetBlobSize(image); -+ const magick_off_t current_offset = TellBlob(image); -+ if ((file_size > 0) && -+ (current_offset > 0) && -+ (file_size > current_offset)) -+ { -+ const magick_off_t remaining = file_size-current_offset; -+ const magick_off_t needed = (magick_off_t) image->rows * -+ (magick_off_t) bytes_per_row; -+ if ((remaining < (magick_off_t) bytes_per_row) || -+ (remaining < needed)) -+ { -+ ThrowException(exception,CorruptImageError,UnexpectedEndOfFile, -+ image->filename); -+ break; -+ } -+ } -+ } - - scanline_set=AllocateThreadViewDataArray(image,exception,bytes_per_row,1); - if (scanline_set == (ThreadViewDataSet *) NULL) diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-14165.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-14165.patch deleted file mode 100644 index 1f55d90d38..0000000000 --- a/gnu/packages/patches/graphicsmagick-CVE-2017-14165.patch +++ /dev/null @@ -1,72 +0,0 @@ -http://hg.code.sf.net/p/graphicsmagick/code/raw-rev/493da54370aa -http://openwall.com/lists/oss-security/2017/09/06/4 - -some changes were made to make the patch apply - -# HG changeset patch -# User Bob Friesenhahn -# Date 1503257388 18000 -# Node ID 493da54370aa42cb430c52a69eb75db0001a5589 -# Parent f8724674907902b7bc37c04f252fe30fbdd88e6f -SUN: Verify that file header data length, and file length are sufficient for claimed image dimensions. - -diff -r f87246749079 -r 493da54370aa coders/sun.c ---- a/coders/sun.c Sun Aug 20 12:21:03 2017 +0200 -+++ b/coders/sun.c Sun Aug 20 14:29:48 2017 -0500 -@@ -498,6 +498,12 @@ - if (sun_info.depth < 8) - image->depth=sun_info.depth; - -+ if (image_info->ping) -+ { -+ CloseBlob(image); -+ return(image); -+ } -+ - /* - Compute bytes per line and bytes per image for an unencoded - image. -@@ -522,15 +528,37 @@ - if (bytes_per_image > sun_info.length) - ThrowReaderException(CorruptImageError,ImproperImageHeader,image); - -- if (image_info->ping) -- { -- CloseBlob(image); -- return(image); -- } - if (sun_info.type == RT_ENCODED) - sun_data_length=(size_t) sun_info.length; - else - sun_data_length=bytes_per_image; -+ -+ /* -+ Verify that data length claimed by header is supported by file size -+ */ -+ if (sun_info.type == RT_ENCODED) -+ { -+ if (sun_data_length < bytes_per_image/255U) -+ { -+ ThrowReaderException(CorruptImageError,ImproperImageHeader,image); -+ } -+ } -+ if (BlobIsSeekable(image)) -+ { -+ const magick_off_t file_size = GetBlobSize(image); -+ const magick_off_t current_offset = TellBlob(image); -+ if ((file_size > 0) && -+ (current_offset > 0) && -+ (file_size > current_offset)) -+ { -+ const magick_off_t remaining = file_size-current_offset; -+ if (remaining < (magick_off_t) sun_data_length) -+ { -+ ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image); -+ } -+ } -+ } -+ - sun_data=MagickAllocateMemory(unsigned char *,sun_data_length); - if (sun_data == (unsigned char *) NULL) - ThrowReaderException(ResourceLimitError,MemoryAllocationFailed,image); - diff --git a/gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch b/gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch deleted file mode 100644 index 8e1166ba7a..0000000000 --- a/gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch +++ /dev/null @@ -1,210 +0,0 @@ -http://hg.code.sf.net/p/graphicsmagick/code/rev/358608a46f0a -http://www.openwall.com/lists/oss-security/2017/09/22/2 - -Some changes were made to make the patch apply. - -Notably, the DestroyJNG() function in the upstream diff has been replaced by -its equivalent, a series of calls to MagickFreeMemory(), DestroyImageInfo(), -and DestroyImage(). See -http://hg.code.sf.net/p/graphicsmagick/code/rev/d445af60a8d5. - -# HG changeset patch -# User Glenn Randers-Pehrson -# Date 1504014487 14400 -# Node ID 358608a46f0a9c55e9bb8b37d09bf1ac9bc87f06 -# Parent 38c362f0ae5e7a914c3fe822284c6953f8e6eee2 -Fix Issue 439 - -diff -ru a/coders/png.c b/coders/png.c ---- a/coders/png.c 1969-12-31 19:00:00.000000000 -0500 -+++ b/coders/png.c 2017-09-30 08:20:16.218944991 -0400 -@@ -1176,15 +1176,15 @@ - /* allocate space */ - if (length == 0) - { -- (void) ThrowException2(&image->exception,CoderWarning, -- "invalid profile length",(char *) NULL); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ "invalid profile length"); - return (MagickFail); - } - info=MagickAllocateMemory(unsigned char *,length); - if (info == (unsigned char *) NULL) - { -- (void) ThrowException2(&image->exception,CoderWarning, -- "unable to copy profile",(char *) NULL); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ "Unable to copy profile"); - return (MagickFail); - } - /* copy profile, skipping white space and column 1 "=" signs */ -@@ -1197,8 +1197,8 @@ - if (*sp == '\0') - { - MagickFreeMemory(info); -- (void) ThrowException2(&image->exception,CoderWarning, -- "ran out of profile data",(char *) NULL); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ "ran out of profile data"); - return (MagickFail); - } - sp++; -@@ -1234,8 +1234,9 @@ - if(SetImageProfile(image,profile_name,info,length) == MagickFail) - { - MagickFreeMemory(info); -- (void) ThrowException(&image->exception,ResourceLimitError, -- MemoryAllocationFailed,"unable to copy profile"); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ "unable to copy profile"); -+ return MagickFail; - } - MagickFreeMemory(info); - return MagickTrue; -@@ -3285,7 +3286,6 @@ - if (status == MagickFalse) - { - DestroyJNGInfo(color_image_info,alpha_image_info); -- DestroyImage(alpha_image); - (void) LogMagickEvent(CoderEvent,GetMagickModule(), - " could not allocate alpha_image blob"); - return ((Image *)NULL); -@@ -3534,7 +3534,7 @@ - CloseBlob(color_image); - if (logging) - (void) LogMagickEvent(CoderEvent,GetMagickModule(), -- " Reading jng_image from color_blob."); -+ " Reading jng_image from color_blob."); - - FormatString(color_image_info->filename,"%.1024s",color_image->filename); - -@@ -3558,13 +3558,18 @@ - - if (logging) - (void) LogMagickEvent(CoderEvent,GetMagickModule(), -- " Copying jng_image pixels to main image."); -+ " Copying jng_image pixels to main image."); - image->rows=jng_height; - image->columns=jng_width; - length=image->columns*sizeof(PixelPacket); -+ if ((jng_height == 0 || jng_width == 0) && logging) -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " jng_width=%lu jng_height=%lu", -+ (unsigned long)jng_width,(unsigned long)jng_height); - for (y=0; y < (long) image->rows; y++) - { -- s=AcquireImagePixels(jng_image,0,y,image->columns,1,&image->exception); -+ s=AcquireImagePixels(jng_image,0,y,image->columns,1, -+ &image->exception); - q=SetImagePixels(image,0,y,image->columns,1); - (void) memcpy(q,s,length); - if (!SyncImagePixels(image)) -@@ -3589,45 +3594,79 @@ - CloseBlob(alpha_image); - if (logging) - (void) LogMagickEvent(CoderEvent,GetMagickModule(), -- " Reading opacity from alpha_blob."); -+ " Reading opacity from alpha_blob."); - - FormatString(alpha_image_info->filename,"%.1024s", - alpha_image->filename); - - jng_image=ReadImage(alpha_image_info,exception); - -- for (y=0; y < (long) image->rows; y++) -+ if (jng_image == (Image *)NULL) - { -- s=AcquireImagePixels(jng_image,0,y,image->columns,1, -- &image->exception); -- if (image->matte) -- { -- q=SetImagePixels(image,0,y,image->columns,1); -- for (x=(long) image->columns; x > 0; x--,q++,s++) -- q->opacity=(Quantum) MaxRGB-s->red; -- } -- else -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " jng_image is NULL."); -+ if (color_image_info) -+ DestroyImageInfo(color_image_info); -+ if (alpha_image_info) -+ DestroyImageInfo(alpha_image_info); -+ if (color_image) -+ DestroyImage(color_image); -+ if (alpha_image) -+ DestroyImage(alpha_image); -+ } -+ else -+ { -+ -+ if (logging) - { -- q=SetImagePixels(image,0,y,image->columns,1); -- for (x=(long) image->columns; x > 0; x--,q++,s++) -- { -- q->opacity=(Quantum) MaxRGB-s->red; -- if (q->opacity != OpaqueOpacity) -- image->matte=MagickTrue; -- } -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " Read jng_image."); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " jng_image->width=%lu, jng_image->height=%lu", -+ (unsigned long)jng_width,(unsigned long)jng_height); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " image->rows=%lu, image->columns=%lu", -+ (unsigned long)image->rows, -+ (unsigned long)image->columns); - } -- if (!SyncImagePixels(image)) -- break; -- } -- (void) LiberateUniqueFileResource(alpha_image->filename); -- DestroyImage(alpha_image); -- alpha_image = (Image *)NULL; -- DestroyImageInfo(alpha_image_info); -- alpha_image_info = (ImageInfo *)NULL; -- (void) LogMagickEvent(CoderEvent,GetMagickModule(), -- " Destroy the JNG image"); -- DestroyImage(jng_image); -- jng_image = (Image *)NULL; -+ -+ for (y=0; y < (long) image->rows; y++) -+ { -+ s=AcquireImagePixels(jng_image,0,y,image->columns,1, -+ &image->exception); -+ if (image->matte) -+ { -+ q=SetImagePixels(image,0,y,image->columns,1); -+ for (x=(long) image->columns; x > 0; x--,q++,s++) -+ q->opacity=(Quantum) MaxRGB-s->red; -+ } -+ else -+ { -+ q=SetImagePixels(image,0,y,image->columns,1); -+ for (x=(long) image->columns; x > 0; x--,q++,s++) -+ { -+ q->opacity=(Quantum) MaxRGB-s->red; -+ if (q->opacity != OpaqueOpacity) -+ image->matte=MagickTrue; -+ } -+ } -+ if (!SyncImagePixels(image)) -+ break; -+ } -+ (void) LiberateUniqueFileResource(alpha_image->filename); -+ if (color_image_info) -+ DestroyImageInfo(color_image_info); -+ if (alpha_image_info) -+ DestroyImageInfo(alpha_image_info); -+ if (color_image) -+ DestroyImage(color_image); -+ if (alpha_image) -+ DestroyImage(alpha_image); -+ (void) LogMagickEvent(CoderEvent,GetMagickModule(), -+ " Destroy the JNG image"); -+ DestroyImage(jng_image); -+ jng_image = (Image *)NULL; -+ } - } - } -- cgit v1.2.3 From 6d21272b22d1303908639fc926c70c7145e95563 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 5 Dec 2017 23:27:23 +0300 Subject: gnu: git-modes: Rename to 'emacs-git-modes'. * gnu/packages/emacs.scm (git-modes)[name]: Change to "emacs-git-modes". (git-modes/old-name): New variable. --- gnu/packages/emacs.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 77da8f2f25..d08246f484 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -377,7 +377,7 @@ (define-public paredit/old-name (define-public git-modes (package - (name "git-modes") + (name "emacs-git-modes") (version "1.2.6") (source (origin (method url-fetch) @@ -396,6 +396,9 @@ (define-public git-modes configuration files, such as .gitattributes, .gitignore, and .git/config.") (license license:gpl3+))) +(define-public git-modes/old-name + (deprecated-package "git-modes" git-modes)) + (define-public emacs-with-editor (package (name "emacs-with-editor") -- cgit v1.2.3 From 308b8f79c5267ae442e4a8874cfed80f3c5a8831 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 9 Dec 2017 20:08:50 +0300 Subject: gnu: emacs-smartparens: Update to 1.11.0. * gnu/packages/emacs.scm (emacs-smartparens): Update to 1.11.0. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d08246f484..d1b5aeeaf6 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2997,7 +2997,7 @@ (define-public emacs-base16-theme (define-public emacs-smartparens (package (name "emacs-smartparens") - (version "1.10.1") + (version "1.11.0") (source (origin (method url-fetch) (uri (string-append @@ -3006,7 +3006,7 @@ (define-public emacs-smartparens (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1nwsi6fbbxjq3r22r6knmx71la3g0lmwfb95i9q4k138gn0m2l3i")))) + "0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) (home-page "https://github.com/Fuco1/smartparens") -- cgit v1.2.3 From 9c2d2c13ce1f080dd8cff6a451625883fe6abab3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 30 Nov 2017 23:46:55 +0200 Subject: gnu: t1lib: Change how patched CVEs are listed. * gnu/packages/fontutils.scm (t1lib)[source]: Change patch name. [properties]: New field, register patched CVEs. * gnu/packages/patches/CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch: Rename to CVE-2011-1552+.patch. * gnu/local.mk (dist_patch_DATA): Change patch name. --- gnu/local.mk | 2 +- gnu/packages/fontutils.scm | 8 +- gnu/packages/patches/t1lib-CVE-2011-1552+.patch | 133 +++++++++++++++++++++ ...CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch | 133 --------------------- 4 files changed, 140 insertions(+), 136 deletions(-) create mode 100644 gnu/packages/patches/t1lib-CVE-2011-1552+.patch delete mode 100644 gnu/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 22f2a8f927..13ad483242 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1071,7 +1071,7 @@ dist_patch_DATA = \ %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ - %D%/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch \ + %D%/packages/patches/t1lib-CVE-2011-1552+.patch \ %D%/packages/patches/tar-CVE-2016-6321.patch \ %D%/packages/patches/tar-skip-unreliable-tests.patch \ %D%/packages/patches/tcl-mkindex-deterministic.patch \ diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index f20eb45f18..19d5171956 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -303,9 +303,13 @@ (define-public t1lib (sha256 (base32 "0nbvjpnmcznib1nlgg8xckrmsw3haa154byds2h90y2g0nsjh4w2")) (patches (search-patches - "t1lib-CVE-2010-2642.patch" + "t1lib-CVE-2010-2642.patch" ; 2011-0443, 2011-5244 "t1lib-CVE-2011-0764.patch" - "t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch")))) + "t1lib-CVE-2011-1552+.patch")))) ; 2011-1553, 2011-1554 + (properties `((lint-hidden-cve . ("CVE-2011-0433" + "CVE-2011-1553" + "CVE-2011-1554" + "CVE-2011-5244")))) (build-system gnu-build-system) (arguments ;; Making the documentation requires latex, but t1lib is also an input diff --git a/gnu/packages/patches/t1lib-CVE-2011-1552+.patch b/gnu/packages/patches/t1lib-CVE-2011-1552+.patch new file mode 100644 index 0000000000..aaa31f7b93 --- /dev/null +++ b/gnu/packages/patches/t1lib-CVE-2011-1552+.patch @@ -0,0 +1,133 @@ +Author: Jaroslav Škarvada +Description: Fix more crashes on oversized fonts +Bug-Redhat: http://bugzilla.redhat.com/show_bug.cgi?id=692909 +Index: t1lib-5.1.2/lib/type1/lines.c +=================================================================== +--- t1lib-5.1.2.orig/lib/type1/lines.c 2007-12-23 09:49:42.000000000 -0600 ++++ t1lib-5.1.2/lib/type1/lines.c 2012-01-17 14:15:08.000000000 -0600 +@@ -67,6 +67,10 @@ + None. + */ + ++#define BITS (sizeof(LONG)*8) ++#define HIGHTEST(p) (((p)>>(BITS-2)) != 0) /* includes sign bit */ ++#define TOOBIG(xy) ((xy < 0) ? HIGHTEST(-xy) : HIGHTEST(xy)) ++ + /* + :h2.StepLine() - Produces Run Ends for a Line After Checks + +@@ -84,6 +88,9 @@ + IfTrace4((LineDebug > 0), ".....StepLine: (%d,%d) to (%d,%d)\n", + x1, y1, x2, y2); + ++ if ( TOOBIG(x1) || TOOBIG(x2) || TOOBIG(y1) || TOOBIG(y2)) ++ abort("Lines this big not supported", 49); ++ + dy = y2 - y1; + + /* +Index: t1lib-5.1.2/lib/type1/objects.c +=================================================================== +--- t1lib-5.1.2.orig/lib/type1/objects.c 2007-12-23 09:49:42.000000000 -0600 ++++ t1lib-5.1.2/lib/type1/objects.c 2012-01-17 14:15:08.000000000 -0600 +@@ -1137,12 +1137,13 @@ + "Context: out of them", /* 46 */ + "MatrixInvert: can't", /* 47 */ + "xiStub called", /* 48 */ +- "Illegal access type1 abort() message" /* 49 */ ++ "Lines this big not supported", /* 49 */ ++ "Illegal access type1 abort() message" /* 50 */ + }; + +- /* no is valid from 1 to 48 */ +- if ( (number<1)||(number>48)) +- number=49; ++ /* no is valid from 1 to 49 */ ++ if ( (number<1)||(number>49)) ++ number=50; + return( err_msgs[number-1]); + + } +Index: t1lib-5.1.2/lib/type1/type1.c +=================================================================== +--- t1lib-5.1.2.orig/lib/type1/type1.c 2012-01-17 14:13:28.000000000 -0600 ++++ t1lib-5.1.2/lib/type1/type1.c 2012-01-17 14:19:54.000000000 -0600 +@@ -1012,6 +1012,7 @@ + double nextdtana = 0.0; /* tangent of post-delta against horizontal line */ + double nextdtanb = 0.0; /* tangent of post-delta against vertical line */ + ++ if (ppoints == NULL || numppoints < 1) Error0v("FindStems: No previous point!\n"); + + /* setup default hinted position */ + ppoints[numppoints-1].ax = ppoints[numppoints-1].x; +@@ -1289,7 +1290,7 @@ + static int DoRead(CodeP) + int *CodeP; + { +- if (strindex >= CharStringP->len) return(FALSE); /* end of string */ ++ if (!CharStringP || strindex >= CharStringP->len) return(FALSE); /* end of string */ + /* We handle the non-documented Adobe convention to use lenIV=-1 to + suppress charstring encryption. */ + if (blues->lenIV==-1) { +@@ -1700,7 +1701,7 @@ + long pindex = 0; + + /* compute hinting for previous segment! */ +- if (ppoints == NULL) Error0i("RLineTo: No previous point!\n"); ++ if (ppoints == NULL || numppoints < 2) Error0i("RLineTo: No previous point!\n"); + FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy); + + /* Allocate a new path point and pre-setup data */ +@@ -1729,7 +1730,7 @@ + long pindex = 0; + + /* compute hinting for previous point! */ +- if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n"); ++ if (ppoints == NULL || numppoints < 2) Error0i("RRCurveTo: No previous point!\n"); + FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1); + + /* Allocate three new path points and pre-setup data */ +@@ -1788,7 +1789,9 @@ + long tmpind; + double deltax = 0.0; + double deltay = 0.0; +- ++ ++ if (ppoints == NULL || numppoints < 1) Error0i("DoClosePath: No previous point!"); ++ + /* If this ClosePath command together with the starting point of this + path completes to a segment aligned to a stem, we would miss + hinting for this point. --> Check and explicitly care for this! */ +@@ -1803,6 +1806,7 @@ + deltax = ppoints[i].x - ppoints[numppoints-1].x; + deltay = ppoints[i].y - ppoints[numppoints-1].y; + ++ if (ppoints == NULL || numppoints <= i + 1) Error0i("DoClosePath: No previous point!"); + /* save nummppoints and reset to move point */ + tmpind = numppoints; + numppoints = i + 1; +@@ -1905,7 +1909,7 @@ + FindStems( currx, curry, 0, 0, dx, dy); + } + else { +- if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n"); ++ if (ppoints == NULL || numppoints < 2) Error0i("RMoveTo: No previous point!\n"); + FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy); + } + +@@ -2155,6 +2159,7 @@ + DOUBLE cx, cy; + DOUBLE ex, ey; + ++ if (ppoints == NULL || numppoints < 8) Error0v("FlxProc: No previous point!"); + + /* Our PPOINT list now contains 7 moveto commands which + are about to be consumed by the Flex mechanism. --> Remove these +@@ -2324,6 +2329,7 @@ + /* Returns currentpoint on stack */ + static void FlxProc2() + { ++ if (ppoints == NULL || numppoints < 1) Error0v("FlxProc2: No previous point!"); + /* Push CurrentPoint on fake PostScript stack */ + PSFakePush( ppoints[numppoints-1].x); + PSFakePush( ppoints[numppoints-1].y); diff --git a/gnu/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch b/gnu/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch deleted file mode 100644 index aaa31f7b93..0000000000 --- a/gnu/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch +++ /dev/null @@ -1,133 +0,0 @@ -Author: Jaroslav Škarvada -Description: Fix more crashes on oversized fonts -Bug-Redhat: http://bugzilla.redhat.com/show_bug.cgi?id=692909 -Index: t1lib-5.1.2/lib/type1/lines.c -=================================================================== ---- t1lib-5.1.2.orig/lib/type1/lines.c 2007-12-23 09:49:42.000000000 -0600 -+++ t1lib-5.1.2/lib/type1/lines.c 2012-01-17 14:15:08.000000000 -0600 -@@ -67,6 +67,10 @@ - None. - */ - -+#define BITS (sizeof(LONG)*8) -+#define HIGHTEST(p) (((p)>>(BITS-2)) != 0) /* includes sign bit */ -+#define TOOBIG(xy) ((xy < 0) ? HIGHTEST(-xy) : HIGHTEST(xy)) -+ - /* - :h2.StepLine() - Produces Run Ends for a Line After Checks - -@@ -84,6 +88,9 @@ - IfTrace4((LineDebug > 0), ".....StepLine: (%d,%d) to (%d,%d)\n", - x1, y1, x2, y2); - -+ if ( TOOBIG(x1) || TOOBIG(x2) || TOOBIG(y1) || TOOBIG(y2)) -+ abort("Lines this big not supported", 49); -+ - dy = y2 - y1; - - /* -Index: t1lib-5.1.2/lib/type1/objects.c -=================================================================== ---- t1lib-5.1.2.orig/lib/type1/objects.c 2007-12-23 09:49:42.000000000 -0600 -+++ t1lib-5.1.2/lib/type1/objects.c 2012-01-17 14:15:08.000000000 -0600 -@@ -1137,12 +1137,13 @@ - "Context: out of them", /* 46 */ - "MatrixInvert: can't", /* 47 */ - "xiStub called", /* 48 */ -- "Illegal access type1 abort() message" /* 49 */ -+ "Lines this big not supported", /* 49 */ -+ "Illegal access type1 abort() message" /* 50 */ - }; - -- /* no is valid from 1 to 48 */ -- if ( (number<1)||(number>48)) -- number=49; -+ /* no is valid from 1 to 49 */ -+ if ( (number<1)||(number>49)) -+ number=50; - return( err_msgs[number-1]); - - } -Index: t1lib-5.1.2/lib/type1/type1.c -=================================================================== ---- t1lib-5.1.2.orig/lib/type1/type1.c 2012-01-17 14:13:28.000000000 -0600 -+++ t1lib-5.1.2/lib/type1/type1.c 2012-01-17 14:19:54.000000000 -0600 -@@ -1012,6 +1012,7 @@ - double nextdtana = 0.0; /* tangent of post-delta against horizontal line */ - double nextdtanb = 0.0; /* tangent of post-delta against vertical line */ - -+ if (ppoints == NULL || numppoints < 1) Error0v("FindStems: No previous point!\n"); - - /* setup default hinted position */ - ppoints[numppoints-1].ax = ppoints[numppoints-1].x; -@@ -1289,7 +1290,7 @@ - static int DoRead(CodeP) - int *CodeP; - { -- if (strindex >= CharStringP->len) return(FALSE); /* end of string */ -+ if (!CharStringP || strindex >= CharStringP->len) return(FALSE); /* end of string */ - /* We handle the non-documented Adobe convention to use lenIV=-1 to - suppress charstring encryption. */ - if (blues->lenIV==-1) { -@@ -1700,7 +1701,7 @@ - long pindex = 0; - - /* compute hinting for previous segment! */ -- if (ppoints == NULL) Error0i("RLineTo: No previous point!\n"); -+ if (ppoints == NULL || numppoints < 2) Error0i("RLineTo: No previous point!\n"); - FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy); - - /* Allocate a new path point and pre-setup data */ -@@ -1729,7 +1730,7 @@ - long pindex = 0; - - /* compute hinting for previous point! */ -- if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n"); -+ if (ppoints == NULL || numppoints < 2) Error0i("RRCurveTo: No previous point!\n"); - FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1); - - /* Allocate three new path points and pre-setup data */ -@@ -1788,7 +1789,9 @@ - long tmpind; - double deltax = 0.0; - double deltay = 0.0; -- -+ -+ if (ppoints == NULL || numppoints < 1) Error0i("DoClosePath: No previous point!"); -+ - /* If this ClosePath command together with the starting point of this - path completes to a segment aligned to a stem, we would miss - hinting for this point. --> Check and explicitly care for this! */ -@@ -1803,6 +1806,7 @@ - deltax = ppoints[i].x - ppoints[numppoints-1].x; - deltay = ppoints[i].y - ppoints[numppoints-1].y; - -+ if (ppoints == NULL || numppoints <= i + 1) Error0i("DoClosePath: No previous point!"); - /* save nummppoints and reset to move point */ - tmpind = numppoints; - numppoints = i + 1; -@@ -1905,7 +1909,7 @@ - FindStems( currx, curry, 0, 0, dx, dy); - } - else { -- if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n"); -+ if (ppoints == NULL || numppoints < 2) Error0i("RMoveTo: No previous point!\n"); - FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy); - } - -@@ -2155,6 +2159,7 @@ - DOUBLE cx, cy; - DOUBLE ex, ey; - -+ if (ppoints == NULL || numppoints < 8) Error0v("FlxProc: No previous point!"); - - /* Our PPOINT list now contains 7 moveto commands which - are about to be consumed by the Flex mechanism. --> Remove these -@@ -2324,6 +2329,7 @@ - /* Returns currentpoint on stack */ - static void FlxProc2() - { -+ if (ppoints == NULL || numppoints < 1) Error0v("FlxProc2: No previous point!"); - /* Push CurrentPoint on fake PostScript stack */ - PSFakePush( ppoints[numppoints-1].x); - PSFakePush( ppoints[numppoints-1].y); -- cgit v1.2.3 From 6146603d5412fbc5803a7ed17f5a6744ea11b527 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 10 Dec 2017 22:19:05 +0100 Subject: gnu: youtube-dl: Update to 2017.12.10. * gnu/packages/video.scm (youtube-dl): Update to 2017.12.10. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2c25eb8780..2480035f29 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1142,7 +1142,7 @@ (define-public libvpx (define-public youtube-dl (package (name "youtube-dl") - (version "2017.12.02") + (version "2017.12.10") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1150,7 +1150,7 @@ (define-public youtube-dl version ".tar.gz")) (sha256 (base32 - "1qf5gz00cnxzab3cwh9kxzhs08mddm0nwvb7j5z5xxzhi6wkslha")))) + "1jlwxmwp56d0c86hn0zkdv6vzgxf17yddg7p2qblss152kji85vb")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion -- cgit v1.2.3 From d53fb678a72a83401f0495b458bd0dcc6428d364 Mon Sep 17 00:00:00 2001 From: Nikolai Merinov Date: Mon, 11 Dec 2017 02:14:01 +0500 Subject: gnu: rust: Update rust to 1.22.1 and cargo to 1.23.0. * gnu/packages/rust.scm (%rust-bootstrap-binaries-version): Update version. (%rust-bootstrap-binaries): Use x86_64 rust bootstrap package for x86_64 build. (%cargo-reference-project-file): Use specific file as "project" file when patching rust vendored sources. (%cargo-reference-hash): sha256 sum for %cargo-reference-project-file. (rustc-bootstrap): Use bootstrap package with host architecture. (cargo-bootstrap): Use bootstrap package with host architecture. (rustc): Add new test dependency, fix build issues, use "./x.py" script for build instead of "./configure". (cargo): Update dependencies, patch shebangs for vendored sources * gnu/packages/jemalloc.scm: Add jemalloc-4.5.0 release. Signed-off-by: Danny Milosavljevic --- gnu/packages/jemalloc.scm | 15 + gnu/packages/rust.scm | 1175 +++++++++++++++++++++++++++++++-------------- 2 files changed, 817 insertions(+), 373 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index a3bd2c93a4..5e3e32df84 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -23,6 +23,7 @@ (define-module (gnu packages jemalloc) #:use-module ((guix licenses) #:select (bsd-2)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (gnu packages perl) #:use-module (guix build-system gnu)) @@ -62,3 +63,17 @@ (define-public jemalloc "This library providing a malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support.") (license bsd-2))) + +(define-public jemalloc-4.5.0 + (package + (inherit jemalloc) + (version "4.5.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/jemalloc/jemalloc/releases/download/" + version "/jemalloc-" version ".tar.bz2")) + (sha256 + (base32 + "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl")))) + (inputs '()))) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 583ea37c86..1ae01f106e 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Eric Le Bihan ;;; Copyright © 2016 ng0 ;;; Copyright © 2017 Ben Woodcroft +;;; Copyright © 2017 Nikolai Merinov ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ (define-module (gnu packages rust) #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages gcc) + #:use-module (gnu packages gdb) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -37,17 +39,19 @@ (define-module (gnu packages rust) #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages) #:use-module (guix build-system cargo) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix download) + #:use-module (guix base16) ;for generated "cargo" native-inputs #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (ice-9 match) #:use-module (srfi srfi-26)) ;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.15.0") +(define %rust-bootstrap-binaries-version "1.21.0") (define %rust-bootstrap-binaries (origin @@ -55,10 +59,18 @@ (define %rust-bootstrap-binaries (uri (string-append "https://static.rust-lang.org/dist/" "rust-" %rust-bootstrap-binaries-version - "-i686-unknown-linux-gnu.tar.gz")) + "-" %host-type ".tar.gz")) (sha256 (base32 - "0wmkfx8pxmkkw021mrq9s3xhra8f0daqdl6j56pxyn4w39i0rzrw")))) + (match %host-type + ("i686-unknown-linux-gnu" + "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") + ("x86_64-unknown-linux-gnu" + "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml")))))) + +(define %cargo-reference-project-file "/dev/null") +(define %cargo-reference-hash + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") (define (increment-rust-version rust-version major patch) (match (string-split rust-version #\.) @@ -92,7 +104,6 @@ (define rustc-bootstrap (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -103,8 +114,7 @@ (define rustc-bootstrap (gcc:lib (assoc-ref inputs "gcc:lib")) (libc (assoc-ref inputs "libc")) (zlib (assoc-ref inputs "zlib")) - (ld-so (string-append libc - ,(glibc-dynamic-linker "i686-linux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" zlib "/lib:" libc "/lib:" gcc:lib "/lib")) (rustc (string-append out "/bin/rustc")) @@ -112,7 +122,7 @@ (define rustc-bootstrap (system* "bash" "install.sh" (string-append "--prefix=" out) (string-append "--components=rustc," - "rust-std-i686-unknown-linux-gnu")) + "rust-std-" %host-type)) (for-each (lambda (file) (system* "patchelf" "--set-rpath" rpath file)) (cons* rustc rustdoc (find-files out "\\.so$"))) @@ -129,7 +139,7 @@ (define rustc-bootstrap (define cargo-bootstrap (package (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version)) + (version (cargo-version %rust-bootstrap-binaries-version 1)) (source %rust-bootstrap-binaries) (build-system gnu-build-system) (native-inputs @@ -139,7 +149,6 @@ (define cargo-bootstrap (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -149,8 +158,7 @@ (define cargo-bootstrap (let* ((out (assoc-ref outputs "out")) (gcc:lib (assoc-ref inputs "gcc:lib")) (libc (assoc-ref inputs "libc")) - (ld-so (string-append libc - ,(glibc-dynamic-linker "i686-linux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" libc "/lib:" gcc:lib "/lib")) (cargo (string-append out "/bin/cargo"))) @@ -196,11 +204,11 @@ (define rust-bootstrap (description "Meta package for a rust environment. Provides pre-compiled rustc-bootstrap and cargo-bootstrap packages.") (license license:asl2.0))) - + (define-public rustc (package (name "rustc") - (version (rustc-version %rust-bootstrap-binaries-version)) + (version (rustc-version %rust-bootstrap-binaries-version 1)) (source (origin (method url-fetch) (uri (string-append @@ -208,99 +216,139 @@ (define-public rustc "rustc-" version "-src.tar.gz")) (sha256 (base32 - "1d78jq7mc34n265by68amr9r4nzbiqrilfbwh7gx56ydn4gb6rpr")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "src/llvm") - #t)))) + "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file-recursively "src/llvm") + #t)))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests ("cmake" ,cmake) ("flex" ,flex) ; For the tests + ("gdb" ,gdb) ; For the tests ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) ("rust-bootstrap" ,rust-bootstrap) ("which" ,which))) (inputs - `(("jemalloc" ,jemalloc) + `(("jemalloc" ,jemalloc-4.5.0) ("llvm" ,llvm-3.9.1))) (arguments - `(#:phases + `(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' + #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-configure - (lambda _ - (substitute* "configure" - (("/usr/bin/env") (which "env")) ; Detect target CPU correctly. - (("probe_need CFG_CURL curl") "") ; Avoid curl build dependency. - ;; Newer LLVM has a NVPTX (NVIDIA) backend which the Rust - ;; Makefiles don't know about, causing a linker failure - ;; if we don't intervene. - ;; Therefore, we add NVPTX here. - ;; See . - ;; For the next release, we will have to use rustbuild. - ;; Right now, rustbuild doesn't work yet. - (("-DLLVM_TARGETS_TO_BUILD='") - "-DLLVM_TARGETS_TO_BUILD='NVPTX;")) ; Make LLVM >= 3.8.1 work. - (substitute* "src/tools/compiletest/src/util.rs" - (("(\"amd64\", \"x86_64\"),") "(\"amd64\", \"x86_64\"), -(\"nvptx\", \"nvptx\"),")) ; Make LLVM >= 3.8.1 work. - (substitute* "mk/main.mk" - (("LLVM_OPTIONAL_COMPONENTS=") - "LLVM_OPTIONAL_COMPONENTS=nvptx ")) ; Make LLVM >= 3.8.1 work. - #t)) (add-after 'unpack 'set-env (lambda _ (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) + ;; guix llvm-3.9.1 package installs only shared libraries + (setenv "LLVM_LINK_SHARED" "1") #t)) (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/tools/tidy/src/main.rs" - (("^.*cargo.*::check.*$") "")) + (substitute* "src/build_helper/lib.rs" + ;; In same folder as gcc there is only "gcc-ar" utility + (("file\\.push_str\\(\"ar\"\\);") "file.push_str(\"gcc-ar\");")) (substitute* "src/libstd/process.rs" ;; The newline is intentional. ;; There's a line length "tidy" check in Rust which would ;; fail otherwise. - (("\"/bin/sh\"") (string-append " -\"" bash "/bin/sh\""))) - ;; See . + (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\""))) + (substitute* "src/libstd/net/tcp.rs" + ;; There is no network in build environment + (("fn connect_timeout_unroutable") + "#[ignore]\nfn connect_timeout_unroutable")) + ;; (substitute* "src/libstd/sys/unix/process/process_common.rs" - (("fn test_process_mask") "#[cfg_attr(target_os = \"linux\", ignore)] -fn test_process_mask")) + (("fn test_process_mask") "#[ignore]\nfn test_process_mask")) ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. - ;; See . + ;; (delete-file-recursively "src/test/run-make/linker-output-non-utf8") + (substitute* "src/build_helper/lib.rs" + ;; Bug in Rust code. + ;; Current implementation assume that if dst not exist then it's mtime + ;; is 0, but in same time "src" have 0 mtime in guix build! + (("let threshold = mtime\\(dst\\);") + "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) #t))) + (add-after 'patch-source-shebangs 'patch-cargo-checksums + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/Cargo.lock" + (("(\"checksum .* = )\".*\"" all name) + (string-append name "\"" ,%cargo-reference-hash "\""))) + (for-each + (lambda (filename) + (use-modules (guix build cargo-build-system)) + (delete-file filename) + (let* ((dir (dirname filename))) + (display (string-append + "patch-cargo-checksums: generate-checksums for " + dir "\n")) + (generate-checksums dir ,%cargo-reference-project-file))) + (find-files "src/vendor" ".cargo-checksum.json")) + #t)) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (gcc (assoc-ref inputs "gcc")) + (gdb (assoc-ref inputs "gdb")) (binutils (assoc-ref inputs "binutils")) (python (assoc-ref inputs "python-2")) (rustc (assoc-ref inputs "rustc-bootstrap")) + (cargo (assoc-ref inputs "cargo-bootstrap")) (llvm (assoc-ref inputs "llvm")) - (jemalloc (assoc-ref inputs "jemalloc")) - (flags (list - (string-append "--prefix=" out) - (string-append "--datadir=" out "/share") - (string-append "--infodir=" out "/share/info") - (string-append "--default-linker=" gcc "/bin/gcc") - (string-append "--default-ar=" binutils "/bin/ar") - (string-append "--python=" python "/bin/python2") - (string-append "--local-rust-root=" rustc) - (string-append "--llvm-root=" llvm) - (string-append "--jemalloc-root=" jemalloc "/lib") - "--release-channel=stable" - "--enable-rpath" - "--enable-local-rust" - "--disable-rustbuild" ; rustbuild doesn't work yet. - "--disable-manage-submodules"))) - ;; Rust uses a custom configure script (no autoconf). - (zero? (apply system* "./configure" flags))))) + (jemalloc (assoc-ref inputs "jemalloc"))) + (call-with-output-file "config.toml" + (lambda (port) + (display (string-append " +[llvm] +[build] +cargo = \"" cargo "/bin/cargo" "\" +rustc = \"" rustc "/bin/rustc" "\" +python = \"" python "/bin/python2" "\" +gdb = \"" gdb "/bin/gdb" "\" +vendor = true +submodules = false +[install] +prefix = \"" out "\" +[rust] +default-linker = \"" gcc "/bin/gcc" "\" +default-ar = \"" binutils "/bin/ar" "\" +channel = \"stable\" +rpath = true +# There is 2 failed codegen tests: +# codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs +# This tests required patched LLVM +codegen-tests = false +[target." %host-type "] +llvm-config = \"" llvm "/bin/llvm-config" "\" +cc = \"" gcc "/bin/gcc" "\" +cxx = \"" gcc "/bin/g++" "\" +jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" +[dist] +") port))) + #t))) + (add-before 'build 'reset-timestamps-after-changes + (lambda* (#:key inputs outputs #:allow-other-keys) + (define ref (stat "README.md")) + (for-each + (lambda (filename) + (set-file-time filename ref)) + (find-files "." #:directories? #t)) + #t)) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "build")))) + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "test")))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "install")))) (add-after 'install 'wrap-rustc (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -325,7 +373,7 @@ (define-public rustc (define-public cargo (package (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-version))) + (version (cargo-version (rustc-version %rust-bootstrap-binaries-version) 0)) (source (origin (method url-fetch) (uri (string-append "https://github.com/rust-lang/cargo/archive/" @@ -333,7 +381,7 @@ (define-public cargo (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1y0zy8gk1ly0wh57y78fisk7cdd92qk0x7z664f6l7lzl2krqs7w")))) + "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) (build-system cargo-build-system) (propagated-inputs `(("cmake" ,cmake) @@ -346,506 +394,870 @@ (define-public cargo ("python-2" ,python-2) ("zlib" ,zlib))) (native-inputs - `(("rust-openssl" + `(("git" ,git) ; required for tests + ;; Next dependencies generated with next command: + ;; cat Cargo.lock | awk ' + ;; /^"checksum/ + ;; { oname=name=$2; vers=$3; hash=$6; + ;; if (ns[name] != 1) { ns[name]=1; } else { name = name "-" vers; } + ;; print " (\"rust-" name "\""; + ;; print " ,(origin"; + ;; print " (method url-fetch)"; + ;; print " (uri (crate-uri \"" oname "\" \"" vers "\"))"; + ;; print " (sha256"; + ;; print " (base16-string->bytevector"; + ;; print " " hash "))))" + ;; }' + ("rust-advapi32-sys" ,(origin (method url-fetch) - (uri (crate-uri "openssl" "0.9.6")) + (uri (crate-uri "advapi32-sys" "0.2.0")) (sha256 - (base32 - "0g28g692gby6izp9qmnwnyxyhf9b0870yhd500p18j9l69lxl00c")))) - ("rust-strsim" + (base16-string->bytevector + "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a")))) + ("rust-aho-corasick" ,(origin (method url-fetch) - (uri (crate-uri "strsim" "0.5.1")) + (uri (crate-uri "aho-corasick" "0.5.3")) (sha256 - (base32 - "0bj4fsm1l2yqbfpspyvjf9m3m50pskapcddzm0ji9c74jbgnkh2h")))) - ("rust-libc" + (base16-string->bytevector + "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66")))) + ("rust-aho-corasick-0.6.3" ,(origin (method url-fetch) - (uri (crate-uri "libc" "0.2.18")) + (uri (crate-uri "aho-corasick" "0.6.3")) (sha256 - (base32 - "0w5cghr0wx3hi2sclk8r9iyzlbxsakil87ada40q2ykyhky24655")))) + (base16-string->bytevector + "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699")))) + ("rust-atty" + ,(origin + (method url-fetch) + (uri (crate-uri "atty" "0.2.3")) + (sha256 + (base16-string->bytevector + "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b78860")))) + ("rust-backtrace" + ,(origin + (method url-fetch) + (uri (crate-uri "backtrace" "0.3.3")) + (sha256 + (base16-string->bytevector + "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d70983")))) + ("rust-backtrace-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "backtrace-sys" "0.1.14")) + (sha256 + (base16-string->bytevector + "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292cd189")))) ("rust-bitflags" ,(origin (method url-fetch) (uri (crate-uri "bitflags" "0.7.0")) (sha256 - (base32 - "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda")))) - ("rust-unicode-normalization" + (base16-string->bytevector + "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d")))) + ("rust-bitflags-0.9.1" ,(origin (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.2")) + (uri (crate-uri "bitflags" "0.9.1")) (sha256 - (base32 - "0whi4xxqcjfsz6ywyrfd5lhgk1a44c86qwgvfqcmzidshcpklr16")))) - ("rust-rand" + (base16-string->bytevector + "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5")))) + ("rust-bufstream" ,(origin (method url-fetch) - (uri (crate-uri "rand" "0.3.14")) + (uri (crate-uri "bufstream" "0.1.3")) (sha256 - (base32 - "1984zvj8572ig28fz6idc4r96fx39h4lzmr07yf7kb7gdn6di497")))) - ("rust-gcc" + (base16-string->bytevector + "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d09468e32")))) + ("rust-cc" ,(origin (method url-fetch) - (uri (crate-uri "gcc" "0.3.39")) + (uri (crate-uri "cc" "1.0.0")) (sha256 - (base32 - "1q0idjvmhp6shkb9hqabh51rgfr8dqpi1xfmyzq7q8vgzybll7kp")))) - ("rust-tempdir" + (base16-string->bytevector + "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a76b1")))) + ("rust-cfg-if" ,(origin (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) + (uri (crate-uri "cfg-if" "0.1.2")) (sha256 - (base32 - "1mij45kgzflkja0h8q9avrik76h5a0b60m9hfd6k9yqxbiplm5w7")))) - ("rust-memchr" + (base16-string->bytevector + "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de")))) + ("rust-cmake" ,(origin (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) + (uri (crate-uri "cmake" "0.1.26")) (sha256 - (base32 - "084d85hjfa3xf5kwdms2mhbkh78m1gl2254cp5swcxj3a7xjkdnq")))) - ("rust-rustc-serialize" + (base16-string->bytevector + "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b789d")))) + ("rust-commoncrypto" ,(origin (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.21")) + (uri (crate-uri "commoncrypto" "0.2.0")) (sha256 - (base32 - "064qmyr2508qf78dwcpiv25rfjp9h9vd0wrj4mmwgppjg4fgrydz")))) - ("rust-cmake" + (base16-string->bytevector + "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007")))) + ("rust-commoncrypto-sys" ,(origin (method url-fetch) - (uri (crate-uri "cmake" "0.1.19")) + (uri (crate-uri "commoncrypto-sys" "0.2.0")) (sha256 - (base32 - "0am8c8ns1h6b1a5x9z2r1m3rszvya5nccl2pzszzjv5aiiaydgcf")))) - ("rust-matches" + (base16-string->bytevector + "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2")))) + ("rust-conv" ,(origin (method url-fetch) - (uri (crate-uri "matches" "0.1.4")) + (uri (crate-uri "conv" "0.3.3")) (sha256 - (base32 - "1c8190j84hbicy8jwscw5icfam12j6lcxi02lvmadq9260p65mzg")))) - ("rust-winapi" + (base16-string->bytevector + "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299")))) + ("rust-core-foundation" ,(origin (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) + (uri (crate-uri "core-foundation" "0.4.4")) (sha256 - (base32 - "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n")))) - ("rust-pkg-config" + (base16-string->bytevector + "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb2320dc7")))) + ("rust-core-foundation-sys" ,(origin (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.8")) + (uri (crate-uri "core-foundation-sys" "0.4.4")) (sha256 - (base32 - "1ypj4nj2z9z27qg06v3g40jyhw685i3l2wi098d21bvyri781vlc")))) - ("rust-libssh2-sys" + (base16-string->bytevector + "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387")))) + ("rust-crossbeam" ,(origin (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.5")) + (uri (crate-uri "crossbeam" "0.2.10")) (sha256 - (base32 - "0d2r36hrh9vc1821r0v4kywv30svpf37d31calwql69fbij3bqci")))) - ("rust-libz-sys" + (base16-string->bytevector + "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97")))) + ("rust-crossbeam-0.3.0" + ,(origin + (method url-fetch) + (uri (crate-uri "crossbeam" "0.3.0")) + (sha256 + (base16-string->bytevector + "8837ab96533202c5b610ed44bc7f4183e7957c1c8f56e8cc78bb098593c8ba0a")))) + ("rust-crypto-hash" + ,(origin + (method url-fetch) + (uri (crate-uri "crypto-hash" "0.3.0")) + (sha256 + (base16-string->bytevector + "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559fe602")))) + ("rust-curl" ,(origin (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.13")) + (uri (crate-uri "curl" "0.4.8")) (sha256 - (base32 - "034pgvxzgsv37iafgs0lmvd1ifm0bg0zm1xcsn9x71nn8lm93vp5")))) + (base16-string->bytevector + "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae9c2c")))) ("rust-curl-sys" ,(origin (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.6")) + (uri (crate-uri "curl-sys" "0.3.15")) (sha256 - (base32 - "0fi8kjz3f8m8vfazycs3ddm0h6j3x78hw78gwbvybx71129192i1")))) - ("rust-error-chain" + (base16-string->bytevector + "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e78134b55")))) + ("rust-custom_derive" ,(origin (method url-fetch) - (uri (crate-uri "error-chain" "0.7.2")) + (uri (crate-uri "custom_derive" "0.1.7")) (sha256 - (base32 - "03qjh6l2a9fkiyg0428p7q3dcpi47cbmrqf9zmlymkg43v3v731i")))) - ("rust-metadeps" + (base16-string->bytevector + "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9")))) + ("rust-dbghelp-sys" ,(origin (method url-fetch) - (uri (crate-uri "metadeps" "1.1.1")) + (uri (crate-uri "dbghelp-sys" "0.2.0")) (sha256 - (base32 - "0l818461bslb7nrs7r1amkqv45n53fcp5sabyqipwx0xxbkzz7w2")))) - ("rust-openssl-sys" + (base16-string->bytevector + "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850")))) + ("rust-docopt" ,(origin (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.6")) + (uri (crate-uri "docopt" "0.8.1")) (sha256 - (base32 - "1hzpyf9z8xg1yn5r9g17bl5j20nifd6s2zp10xh90v7m0sd2yj5i")))) - ("rust-fs2" + (base16-string->bytevector + "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49787a")))) + ("rust-dtoa" ,(origin (method url-fetch) - (uri (crate-uri "fs2" "0.3.0")) + (uri (crate-uri "dtoa" "0.4.2")) (sha256 - (base32 - "0lg57mgcm1r0m8jm4nqpcrl6lmxg8lj854k2h0r7qp46pphh2034")))) - ("rust-log" + (base16-string->bytevector + "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab")))) + ("rust-env_logger" + ,(origin + (method url-fetch) + (uri (crate-uri "env_logger" "0.4.3")) + (sha256 + (base16-string->bytevector + "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b")))) + ("rust-error-chain" ,(origin (method url-fetch) - (uri (crate-uri "log" "0.3.6")) + (uri (crate-uri "error-chain" "0.11.0")) (sha256 - (base32 - "0m40hgs3cg57dd5kk1mabfk6gk8z6l1cihar8akx4kmzz1xlk0xb")))) + (base16-string->bytevector + "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3")))) ("rust-filetime" ,(origin (method url-fetch) - (uri (crate-uri "filetime" "0.1.10")) + (uri (crate-uri "filetime" "0.1.12")) (sha256 - (base32 - "08p9scgv30i1141cnp5xi4pqlnkfci455nrpca55df1r867anqsk")))) - ("rust-tar" + (base16-string->bytevector + "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf732c0e")))) + ("rust-flate2" + ,(origin + (method url-fetch) + (uri (crate-uri "flate2" "0.2.20")) + (sha256 + (base16-string->bytevector + "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81e423")))) + ("rust-fnv" ,(origin (method url-fetch) - (uri (crate-uri "tar" "0.4.9")) + (uri (crate-uri "fnv" "1.0.5")) (sha256 - (base32 - "1vi3nl8s3jjf5l20ni47gmh1p4bdjfh7q50fbg7izzqrf7i4i40c")))) + (base16-string->bytevector + "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344")))) + ("rust-foreign-types" + ,(origin + (method url-fetch) + (uri (crate-uri "foreign-types" "0.2.0")) + (sha256 + (base16-string->bytevector + "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8a29d")))) + ("rust-fs2" + ,(origin + (method url-fetch) + (uri (crate-uri "fs2" "0.4.2")) + (sha256 + (base16-string->bytevector + "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866")))) + ("rust-git2" + ,(origin + (method url-fetch) + (uri (crate-uri "git2" "0.6.8")) + (sha256 + (base16-string->bytevector + "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50f6fa")))) + ("rust-git2-curl" + ,(origin + (method url-fetch) + (uri (crate-uri "git2-curl" "0.7.0")) + (sha256 + (base16-string->bytevector + "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5bf8e")))) ("rust-glob" ,(origin (method url-fetch) (uri (crate-uri "glob" "0.2.11")) (sha256 - (base32 - "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb")))) - ("rust-cfg-if" + (base16-string->bytevector + "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb")))) + ("rust-globset" ,(origin (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.0")) + (uri (crate-uri "globset" "0.2.0")) (sha256 - (base32 - "137qikjcal4h75frzcn6mknygqk8vy5bva7w851aydb5gc6pc7ny")))) - ("rust-winapi-build" + (base16-string->bytevector + "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42ac9c3")))) + ("rust-hamcrest" ,(origin (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) + (uri (crate-uri "hamcrest" "0.1.1")) (sha256 - (base32 - "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d")))) - ("rust-advapi32-sys" + (base16-string->bytevector + "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb89d4")))) + ("rust-hex" ,(origin (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) + (uri (crate-uri "hex" "0.2.0")) (sha256 - (base32 - "16largvlrd1800vvdchml0ngnszjlnpqm01rcz5hm7di1h48hrg0")))) - ("rust-gdi32-sys" + (base16-string->bytevector + "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e153aa")))) + ("rust-home" ,(origin (method url-fetch) - (uri (crate-uri "gdi32-sys" "0.2.0")) + (uri (crate-uri "home" "0.3.0")) (sha256 - (base32 - "0605d4ngjsspghwjv4jicajich1gnl0aik9f880ajjzjixd524h9")))) - ("rust-ws2_32-sys" + (base16-string->bytevector + "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641fe6db")))) + ("rust-idna" ,(origin (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) + (uri (crate-uri "idna" "0.1.4")) (sha256 - (base32 - "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m")))) - ("rust-user32-sys" + (base16-string->bytevector + "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d")))) + ("rust-ignore" ,(origin (method url-fetch) - (uri (crate-uri "user32-sys" "0.2.0")) + (uri (crate-uri "ignore" "0.2.2")) (sha256 - (base32 - "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f")))) - ("rust-unicode-bidi" + (base16-string->bytevector + "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c99f5")))) + ("rust-itoa" + ,(origin + (method url-fetch) + (uri (crate-uri "itoa" "0.3.4")) + (sha256 + (base16-string->bytevector + "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c")))) + ("rust-jobserver" ,(origin (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.2.3")) + (uri (crate-uri "jobserver" "0.1.6")) (sha256 - (base32 - "0gqbyf6slkgzr14nf6v8dw8a19l5snh6bpms8bpfvzpxdawwxxy1")))) + (base16-string->bytevector + "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1b133")))) + ("rust-kernel32-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "kernel32-sys" "0.2.2")) + (sha256 + (base16-string->bytevector + "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d")))) + ("rust-lazy_static" + ,(origin + (method url-fetch) + (uri (crate-uri "lazy_static" "0.2.9")) + (sha256 + (base16-string->bytevector + "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375f8d5")))) + ("rust-libc" + ,(origin + (method url-fetch) + (uri (crate-uri "libc" "0.2.31")) + (sha256 + (base16-string->bytevector + "d1419b2939a0bc44b77feb34661583c7546b532b192feab36249ab584b86856c")))) + ("rust-libgit2-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "libgit2-sys" "0.6.16")) + (sha256 + (base16-string->bytevector + "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe53cb2")))) + ("rust-libssh2-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "libssh2-sys" "0.2.6")) + (sha256 + (base16-string->bytevector + "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c614024b75")))) + ("rust-libz-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "libz-sys" "1.0.17")) + (sha256 + (base16-string->bytevector + "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e6bd5")))) + ("rust-log" + ,(origin + (method url-fetch) + (uri (crate-uri "log" "0.3.8")) + (sha256 + (base16-string->bytevector + "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b")))) + ("rust-magenta" + ,(origin + (method url-fetch) + (uri (crate-uri "magenta" "0.1.1")) + (sha256 + (base16-string->bytevector + "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527")))) + ("rust-magenta-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "magenta-sys" "0.1.1")) + (sha256 + (base16-string->bytevector + "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699")))) + ("rust-matches" + ,(origin + (method url-fetch) + (uri (crate-uri "matches" "0.1.6")) + (sha256 + (base16-string->bytevector + "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376")))) + ("rust-memchr" + ,(origin + (method url-fetch) + (uri (crate-uri "memchr" "0.1.11")) + (sha256 + (base16-string->bytevector + "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20")))) + ("rust-memchr-1.0.1" + ,(origin + (method url-fetch) + (uri (crate-uri "memchr" "1.0.1")) + (sha256 + (base16-string->bytevector + "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4")))) + ("rust-miniz-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "miniz-sys" "0.1.10")) + (sha256 + (base16-string->bytevector + "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4")))) + ("rust-miow" + ,(origin + (method url-fetch) + (uri (crate-uri "miow" "0.2.1")) + (sha256 + (base16-string->bytevector + "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919")))) ("rust-net2" ,(origin (method url-fetch) - (uri (crate-uri "net2" "0.2.26")) + (uri (crate-uri "net2" "0.2.31")) (sha256 - (base32 - "1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy")))) - ("rust-utf8-ranges" + (base16-string->bytevector + "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b716c09")))) + ("rust-num" ,(origin (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) + (uri (crate-uri "num" "0.1.40")) (sha256 - (base32 - "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1")))) - ("rust-crossbeam" + (base16-string->bytevector + "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f923525")))) + ("rust-num-bigint" ,(origin (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) + (uri (crate-uri "num-bigint" "0.1.40")) (sha256 - (base32 - "15wga0kvk3iqf3l077957j931brf1pl3p74xibd698jccqas4phc")))) - ("rust-toml" + (base16-string->bytevector + "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81fd0bd")))) + ("rust-num-complex" ,(origin (method url-fetch) - (uri (crate-uri "toml" "0.2.1")) + (uri (crate-uri "num-complex" "0.1.40")) (sha256 - (base32 - "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk")))) - ("rust-aho-corasick" + (base16-string->bytevector + "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e704e6")))) + ("rust-num-integer" ,(origin (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) + (uri (crate-uri "num-integer" "0.1.35")) + (sha256 + (base16-string->bytevector + "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d53514d0fba")))) + ("rust-num-iter" + ,(origin + (method url-fetch) + (uri (crate-uri "num-iter" "0.1.34")) + (sha256 + (base16-string->bytevector + "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13dffe01")))) + ("rust-num-rational" + ,(origin + (method url-fetch) + (uri (crate-uri "num-rational" "0.1.39")) + (sha256 + (base16-string->bytevector + "288629c76fac4b33556f4b7ab57ba21ae202da65ba8b77466e6d598e31990790")))) + ("rust-num-traits" + ,(origin + (method url-fetch) + (uri (crate-uri "num-traits" "0.1.40")) + (sha256 + (base16-string->bytevector + "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721b9b0")))) + ("rust-num_cpus" + ,(origin + (method url-fetch) + (uri (crate-uri "num_cpus" "1.7.0")) + (sha256 + (base16-string->bytevector + "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453b20d")))) + ("rust-openssl" + ,(origin + (method url-fetch) + (uri (crate-uri "openssl" "0.9.19")) + (sha256 + (base16-string->bytevector + "816914b22eb15671d62c73442a51978f311e911d6a6f6cbdafa6abce1b5038fc")))) + ("rust-openssl-probe" + ,(origin + (method url-fetch) + (uri (crate-uri "openssl-probe" "0.1.1")) + (sha256 + (base16-string->bytevector + "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f378daf")))) + ("rust-openssl-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "openssl-sys" "0.9.19")) + (sha256 + (base16-string->bytevector + "1e4c63a7d559c1e5afa6d6a9e6fa34bbc5f800ffc9ae08b72c605420b0c4f5e8")))) + ("rust-percent-encoding" + ,(origin + (method url-fetch) + (uri (crate-uri "percent-encoding" "1.0.0")) + (sha256 + (base16-string->bytevector + "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356")))) + ("rust-pkg-config" + ,(origin + (method url-fetch) + (uri (crate-uri "pkg-config" "0.3.9")) (sha256 - (base32 - "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya")))) + (base16-string->bytevector + "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903")))) ("rust-psapi-sys" ,(origin (method url-fetch) (uri (crate-uri "psapi-sys" "0.1.0")) (sha256 - (base32 - "0y14g8qshsfnmb7nk2gs1rpbrs1wrggajmzp4yby4q6k0wd5vkdb")))) - ("rust-idna" + (base16-string->bytevector + "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a2478")))) + ("rust-quote" ,(origin (method url-fetch) - (uri (crate-uri "idna" "0.1.0")) + (uri (crate-uri "quote" "0.3.15")) (sha256 - (base32 - "049c2rmlydrrrgrxdaq2v21adx9vkfh6k9x4xj56ckyf01p26lqh")))) - ("rust-url" + (base16-string->bytevector + "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a")))) + ("rust-rand" + ,(origin + (method url-fetch) + (uri (crate-uri "rand" "0.3.16")) + (sha256 + (base16-string->bytevector + "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf")))) + ("rust-redox_syscall" + ,(origin + (method url-fetch) + (uri (crate-uri "redox_syscall" "0.1.31")) + (sha256 + (base16-string->bytevector + "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb04509")))) + ("rust-redox_termios" ,(origin (method url-fetch) - (uri (crate-uri "url" "1.2.3")) + (uri (crate-uri "redox_termios" "0.1.1")) (sha256 - (base32 - "1myr1i8djbl2bhvvrm6n3h7bj7sl6kh5dmaaz2f7c6x8hyyzgk28")))) + (base16-string->bytevector + "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76")))) + ("rust-regex" + ,(origin + (method url-fetch) + (uri (crate-uri "regex" "0.1.80")) + (sha256 + (base16-string->bytevector + "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f")))) + ("rust-regex-0.2.2" + ,(origin + (method url-fetch) + (uri (crate-uri "regex" "0.2.2")) + (sha256 + (base16-string->bytevector + "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b")))) ("rust-regex-syntax" ,(origin (method url-fetch) (uri (crate-uri "regex-syntax" "0.3.9")) (sha256 - (base32 - "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r")))) - ("rust-kernel32-sys" + (base16-string->bytevector + "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957")))) + ("rust-regex-syntax-0.4.1" ,(origin (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) + (uri (crate-uri "regex-syntax" "0.4.1")) (sha256 - (base32 - "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm")))) - ("rust-term" + (base16-string->bytevector + "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db")))) + ("rust-rustc-demangle" ,(origin (method url-fetch) - (uri (crate-uri "term" "0.4.4")) + (uri (crate-uri "rustc-demangle" "0.1.5")) (sha256 - (base32 - "0jpr7jb1xidadh0arklwr99r8w1k1dfc4an3ginpsq5nnfigivrx")))) - ("rust-thread-id" + (base16-string->bytevector + "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e817e")))) + ("rust-rustc-serialize" ,(origin (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) + (uri (crate-uri "rustc-serialize" "0.3.24")) (sha256 - (base32 - "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9")))) - ("rust-thread_local" + (base16-string->bytevector + "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda")))) + ("rust-same-file" ,(origin (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) + (uri (crate-uri "same-file" "0.1.3")) (sha256 - (base32 - "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5")))) - ("rust-miow" + (base16-string->bytevector + "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7")))) + ("rust-scoped-tls" ,(origin (method url-fetch) - (uri (crate-uri "miow" "0.1.3")) + (uri (crate-uri "scoped-tls" "0.1.0")) (sha256 - (base32 - "16jvfjsp6fr4mbd2sw5hcdmi4dsa0m0aa45gjz78mb1h4mwcdgym")))) - ("rust-regex" + (base16-string->bytevector + "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f147d")))) + ("rust-scopeguard" ,(origin (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) + (uri (crate-uri "scopeguard" "0.1.2")) (sha256 - (base32 - "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g")))) - ("rust-num_cpus" + (base16-string->bytevector + "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a6c57")))) + ("rust-semver" ,(origin (method url-fetch) - (uri (crate-uri "num_cpus" "1.1.0")) + (uri (crate-uri "semver" "0.8.0")) (sha256 - (base32 - "1bfwcn3yhwa31rinjw9yr7b6gvn6c06hnwnjz06pvm938w4fd448")))) - ("rust-libgit2-sys" + (base16-string->bytevector + "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6454b")))) + ("rust-semver-parser" ,(origin (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.6")) + (uri (crate-uri "semver-parser" "0.7.0")) (sha256 - (base32 - "074h9q4p60xh6canb0sj4vrc801wqv6p53l9lp0q724bkwzf7967")))) - ("rust-env_logger" + (base16-string->bytevector + "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3")))) + ("rust-serde" ,(origin (method url-fetch) - (uri (crate-uri "env_logger" "0.3.5")) + (uri (crate-uri "serde" "1.0.15")) (sha256 - (base32 - "0bvcjgkw4s3k1rd7glpflgc8s9a393zjd6jfdgvs8gjvwj0dgaqm")))) - ("rust-openssl-probe" + (base16-string->bytevector + "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476af799")))) + ("rust-serde_derive" ,(origin (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.0")) + (uri (crate-uri "serde_derive" "1.0.15")) (sha256 - (base32 - "0689h6rhzy6dypqr90lsxnf108nsnh952wsx7ggs70s48b44jvbm")))) - ("rust-lazy_static" + (base16-string->bytevector + "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f7aa9")))) + ("rust-serde_derive_internals" ,(origin (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.2")) + (uri (crate-uri "serde_derive_internals" "0.16.0")) (sha256 - (base32 - "16z1h7w702sxnscak38jykxlhxq0b5ip4mndlb46pkaqwzi0xgka")))) - ("rust-semver-parser" + (base16-string->bytevector + "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd76f58")))) + ("rust-serde_ignored" ,(origin (method url-fetch) - (uri (crate-uri "semver-parser" "0.6.1")) + (uri (crate-uri "serde_ignored" "0.0.4")) (sha256 - (base32 - "1s8s7a7yg8xhgci17y0xhyyncg229byivhpr0wbs3ljdlyjl73p8")))) - ("rust-semver" + (base16-string->bytevector + "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01fb142")))) + ("rust-serde_json" ,(origin (method url-fetch) - (uri (crate-uri "semver" "0.5.1")) + (uri (crate-uri "serde_json" "1.0.3")) (sha256 - (base32 - "1xbiv8l72rmngb3lgbmk3vd4lalcbzxcnrn085c2b75irl7gcbxf")))) - ("rust-docopt" + (base16-string->bytevector + "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6b7ac")))) + ("rust-shell-escape" ,(origin (method url-fetch) - (uri (crate-uri "docopt" "0.6.86")) + (uri (crate-uri "shell-escape" "0.1.3")) (sha256 - (base32 - "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja")))) - ("rust-miniz-sys" + (base16-string->bytevector + "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b84ef8")))) + ("rust-socket2" ,(origin (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.7")) + (uri (crate-uri "socket2" "0.2.3")) (sha256 - (base32 - "0m7dlggsxash0k5jkx576p556g9r8vnhyl9244gjxhq1g8rls7wx")))) - ("rust-curl" + (base16-string->bytevector + "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b2791")))) + ("rust-strsim" ,(origin (method url-fetch) - (uri (crate-uri "curl" "0.4.1")) + (uri (crate-uri "strsim" "0.6.0")) (sha256 - (base32 - "1b0y27b6vpqffgzm2kxc1s2i6bgdzxk3wn65g2asbcdxrvys3mcg")))) - ("rust-flate2" + (base16-string->bytevector + "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694")))) + ("rust-syn" ,(origin (method url-fetch) - (uri (crate-uri "flate2" "0.2.14")) + (uri (crate-uri "syn" "0.11.11")) (sha256 - (base32 - "1fx3zsls5bb1zfx87s5sxkgk853z4nhjsbvq5s6if13kjlg4isry")))) - ("rust-git2" + (base16-string->bytevector + "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad")))) + ("rust-synom" ,(origin (method url-fetch) - (uri (crate-uri "git2" "0.6.3")) + (uri (crate-uri "synom" "0.11.3")) (sha256 - (base32 - "06b1bw3pwszs8617xn8js6h0j983qjgfwsychw33lshccj3cld05")))) - ("rust-crates-io" + (base16-string->bytevector + "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6")))) + ("rust-tar" ,(origin (method url-fetch) - (uri (crate-uri "crates-io" "0.4.0")) + (uri (crate-uri "tar" "0.4.13")) (sha256 - (base32 - "0kk6abp1qbpv44hkq1yjp7xgpzjzafs83i1l26ycr0aph1gbwig9")))) - ("rust-git2-curl" + (base16-string->bytevector + "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f2b1b")))) + ("rust-tempdir" ,(origin (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) + (uri (crate-uri "tempdir" "0.3.5")) (sha256 - (base32 - "13mzqp4rd81zp78261rlq23iw9aaysdr56484y1yy2xzhk3nnrv8")))) - ("rust-bufstream" + (base16-string->bytevector + "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6")))) + ("rust-termcolor" ,(origin (method url-fetch) - (uri (crate-uri "bufstream" "0.1.2")) + (uri (crate-uri "termcolor" "0.3.3")) (sha256 - (base32 - "0x6h27md1fwabbhbycfldj0wklrpjr520z9p0cpzm60fzzidnj3v")))) - ("rust-hamcrest" + (base16-string->bytevector + "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b242c75")))) + ("rust-termion" ,(origin (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) + (uri (crate-uri "termion" "1.5.1")) (sha256 - (base32 - "1m49rf7bnkx0qxja56slrjh44zi4z5bjz5x4pblqjw265828y25z")))) - ("rust-num" + (base16-string->bytevector + "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096")))) + ("rust-thread-id" ,(origin (method url-fetch) - (uri (crate-uri "num" "0.1.36")) + (uri (crate-uri "thread-id" "2.0.0")) (sha256 - (base32 - "081i1r3mdz6jasqd7qwraqqfqa3sdpvdvxl1xq0s7ip714xw1rxx")))) - ("rust-num-traits" + (base16-string->bytevector + "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03")))) + ("rust-thread_local" ,(origin (method url-fetch) - (uri (crate-uri "num-traits" "0.1.36")) + (uri (crate-uri "thread_local" "0.2.7")) (sha256 - (base32 - "07688sp4z40p14lh5ywvrpm4zq8kcxzhjks8sg33jsr5da2l4sm1")))) - ("rust-num-integer" + (base16-string->bytevector + "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5")))) + ("rust-thread_local-0.3.4" ,(origin (method url-fetch) - (uri (crate-uri "num-integer" "0.1.32")) + (uri (crate-uri "thread_local" "0.3.4")) (sha256 - (base32 - "14pvaaawl0pgdcgh4dfdd67lz58yxlfl95bry86h28pjnfzxj97v")))) - ("rust-num-bigint" + (base16-string->bytevector + "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14")))) + ("rust-toml" ,(origin (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.35")) + (uri (crate-uri "toml" "0.4.5")) (sha256 - (base32 - "0jayfkdm33p4zvcahlv46zdfhlzg053mpw32abf2lz0z8xw47cc8")))) - ("rust-num-rational" + (base16-string->bytevector + "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b6e7e")))) + ("rust-unicode-bidi" ,(origin (method url-fetch) - (uri (crate-uri "num-rational" "0.1.35")) + (uri (crate-uri "unicode-bidi" "0.3.4")) (sha256 - (base32 - "1bwaygv64qg7i78yqg0v4d0amfhamj598rpy4yxjz9rlhcxn1zsl")))) - ("rust-num-iter" + (base16-string->bytevector + "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5")))) + ("rust-unicode-normalization" ,(origin (method url-fetch) - (uri (crate-uri "num-iter" "0.1.32")) + (uri (crate-uri "unicode-normalization" "0.1.5")) (sha256 - (base32 - "0p74nj5c1mc33h9lx4wpmlmggmn5lnkhxv1225g0aix8d6ciqyi8")))) - ("rust-num-complex" + (base16-string->bytevector + "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f")))) + ("rust-unicode-xid" ,(origin (method url-fetch) - (uri (crate-uri "num-complex" "0.1.35")) + (uri (crate-uri "unicode-xid" "0.0.4")) (sha256 - (base32 - "0bzrjfppnnzf9vmkpklhp2dw9sb1lqzydb8r6k83z76i9l2qxizh")))) - ("rust-shell-escape" + (base16-string->bytevector + "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc")))) + ("rust-unreachable" ,(origin (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) + (uri (crate-uri "unreachable" "1.0.0")) + (sha256 + (base16-string->bytevector + "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56")))) + ("rust-url" + ,(origin + (method url-fetch) + (uri (crate-uri "url" "1.5.1")) + (sha256 + (base16-string->bytevector + "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27")))) + ("rust-userenv-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "userenv-sys" "0.2.0")) (sha256 - (base32 - "1y2fp2brv639icv4a0fdqs1zhlrxq8qbz27ygfa86ifmh5jcjp6x")))))) + (base16-string->bytevector + "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919b2f3")))) + ("rust-utf8-ranges" + ,(origin + (method url-fetch) + (uri (crate-uri "utf8-ranges" "0.1.3")) + (sha256 + (base16-string->bytevector + "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f")))) + ("rust-utf8-ranges-1.0.0" + ,(origin + (method url-fetch) + (uri (crate-uri "utf8-ranges" "1.0.0")) + (sha256 + (base16-string->bytevector + "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122")))) + ("rust-vcpkg" + ,(origin + (method url-fetch) + (uri (crate-uri "vcpkg" "0.2.2")) + (sha256 + (base16-string->bytevector + "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b")))) + ("rust-void" + ,(origin + (method url-fetch) + (uri (crate-uri "void" "1.0.2")) + (sha256 + (base16-string->bytevector + "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d")))) + ("rust-walkdir" + ,(origin + (method url-fetch) + (uri (crate-uri "walkdir" "1.0.7")) + (sha256 + (base16-string->bytevector + "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff")))) + ("rust-winapi" + ,(origin + (method url-fetch) + (uri (crate-uri "winapi" "0.2.8")) + (sha256 + (base16-string->bytevector + "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a")))) + ("rust-winapi-build" + ,(origin + (method url-fetch) + (uri (crate-uri "winapi-build" "0.1.1")) + (sha256 + (base16-string->bytevector + "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc")))) + ("rust-wincolor" + ,(origin + (method url-fetch) + (uri (crate-uri "wincolor" "0.1.4")) + (sha256 + (base16-string->bytevector + "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e58b8b0")))) + ("rust-ws2_32-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "ws2_32-sys" "0.2.1")) + (sha256 + (base16-string->bytevector + "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e")))))) (arguments `(#:cargo ,cargo-bootstrap - #:tests? #f ; FIXME + #:rustc ,rustc ; Force to use rustc from current file #:modules ((ice-9 match) (srfi srfi-1) ; 'every @@ -853,12 +1265,8 @@ (define-public cargo (guix build cargo-build-system)) #:phases (modify-phases %standard-phases - ;; Avoid cargo complaining about missmatched checksums. - (delete 'patch-source-shebangs) - (delete 'patch-generated-file-shebangs) - (delete 'patch-usr-bin-file) - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) + (add-after 'unpack 'unpack-dependencies + (lambda* (#:key inputs outputs #:allow-other-keys) (define (unpack source target) (mkdir-p target) (with-directory-excursion target @@ -871,37 +1279,58 @@ (define (install-rust-library entry) (match entry ((name . src) (if (string-prefix? "rust-" name) - (let* ((rust-length (string-length "rust-")) - (rust-name (string-drop name - rust-length)) - (rsrc (string-append "vendor/" - rust-name)) - (unpack-status (unpack src rsrc))) - (touch (string-append rsrc "/.cargo-ok")) - (generate-checksums rsrc src) - unpack-status))) + (let* ((rust-length (string-length "rust-")) + (rust-name (string-drop name rust-length)) + (rsrc (string-append "vendor/" rust-name)) + (unpack-status (unpack src rsrc))) + (touch (string-append rsrc "/.cargo-ok")) + (generate-checksums rsrc src) + unpack-status))) (_ #t))) - (mkdir "vendor") - (every install-rust-library inputs))) - (add-after 'unpack 'set-environment-up + (mkdir "vendor") + (every install-rust-library inputs))) + (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums (lambda* (#:key inputs #:allow-other-keys) - (let* ((gcc (assoc-ref inputs "gcc")) - (cc (string-append gcc "/bin/gcc"))) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (p) - (format p " + (substitute* "Cargo.lock" + (("(\"checksum .* = )\".*\"" all name) + (string-append name "\"" ,%cargo-reference-hash "\""))) + (for-each + (lambda (filename) + (use-modules (guix build cargo-build-system)) + (delete-file filename) + (let* ((dir (dirname filename))) + (display (string-append + "patch-cargo-checksums: generate-checksums for " + dir "\n")) + (generate-checksums dir ,%cargo-reference-project-file))) + (find-files "vendor" ".cargo-checksum.json")) + #t)) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "tests/build.rs" + (("/usr/bin/env") (which "env")) + ;; Guix llvm compiled without asmjs-unknown-emscripten at all + (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_outputs")) + (substitute* "tests/death.rs" + ;; Stuck when built in container + (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone")) + (mkdir ".cargo") + (call-with-output-file ".cargo/config" + (lambda (port) + (display " [source.crates-io] registry = 'https://github.com/rust-lang/crates.io-index' replace-with = 'vendored-sources' [source.vendored-sources] directory = 'vendor' -"))) - (setenv "CMAKE_C_COMPILER" cc) - (setenv "CC" cc)) - #t)) - (delete 'configure)))) +" port))) + ;; Disable test for cross compilation support + (setenv "CFG_DISABLE_CROSS_TESTS" "1") + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) + #t))))) (home-page "https://github.com/rust-lang/cargo") (synopsis "Build tool and package manager for Rust") (description "Cargo is a tool that allows Rust projects to declare their -- cgit v1.2.3 From aa5c206348b5606cc82bb1436aca5c9675332993 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 7 Dec 2017 12:09:09 -0600 Subject: gnu: jemalloc: Fix tests for aarch64. * gnu/packages/patches/jemalloc-arm-address-bits.patch: New patch. * gnu/packages/jemalloc.scm (jemalloc)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/jemalloc.scm | 5 ++- .../patches/jemalloc-arm-address-bits.patch | 39 ++++++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/jemalloc-arm-address-bits.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 13ad483242..46829756b7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -757,6 +757,7 @@ dist_patch_DATA = \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/jacal-fix-texinfo.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ + %D%/packages/patches/jemalloc-arm-address-bits.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jbig2dec-CVE-2016-9601.patch \ %D%/packages/patches/jbig2dec-CVE-2017-7885.patch \ diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index 5e3e32df84..5086df7a1b 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ (define-module (gnu packages jemalloc) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) + #:use-module (gnu packages) #:use-module (gnu packages perl) #:use-module (guix build-system gnu)) @@ -38,7 +40,8 @@ (define-public jemalloc version "/jemalloc-" version ".tar.bz2")) (sha256 (base32 - "1sf3lzgb0y8nnyzmp4zrca3sngdxw3kfh20sna9z03jv74fph528")))) + "1sf3lzgb0y8nnyzmp4zrca3sngdxw3kfh20sna9z03jv74fph528")) + (patches (search-patches "jemalloc-arm-address-bits.patch")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/jemalloc-arm-address-bits.patch b/gnu/packages/patches/jemalloc-arm-address-bits.patch new file mode 100644 index 0000000000..f2ef24c25a --- /dev/null +++ b/gnu/packages/patches/jemalloc-arm-address-bits.patch @@ -0,0 +1,39 @@ +From 8cfc9dec37b312a2686f602bbcdd102ca07cca99 Mon Sep 17 00:00:00 2001 +From: David Goldblatt +Date: Fri, 29 Sep 2017 13:54:08 -0700 +Subject: [PATCH] ARM: Don't extend bit LG_VADDR to compute high address bits. + +In userspace ARM on Linux, zero-ing the high bits is the correct way to do this. +This doesn't fix the fact that we currently set LG_VADDR to 48 on ARM, when in +fact larger virtual address sizes are coming soon. We'll cross that bridge when +we come to it. +--- + include/jemalloc/internal/rtree.h | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/include/jemalloc/internal/rtree.h b/include/jemalloc/internal/rtree.h +index b5d4db39..4563db23 100644 +--- a/include/jemalloc/internal/rtree.h ++++ b/include/jemalloc/internal/rtree.h +@@ -178,9 +178,21 @@ rtree_leaf_elm_bits_read(tsdn_t *tsdn, rtree_t *rtree, rtree_leaf_elm_t *elm, + + JEMALLOC_ALWAYS_INLINE extent_t * + rtree_leaf_elm_bits_extent_get(uintptr_t bits) { ++# ifdef __aarch64__ ++ /* ++ * aarch64 doesn't sign extend the highest virtual address bit to set ++ * the higher ones. Instead, the high bits gets zeroed. ++ */ ++ uintptr_t high_bit_mask = ((uintptr_t)1 << LG_VADDR) - 1; ++ /* Mask off the slab bit. */ ++ uintptr_t low_bit_mask = ~(uintptr_t)1; ++ uintptr_t mask = high_bit_mask & low_bit_mask; ++ return (extent_t *)(bits & mask); ++# else + /* Restore sign-extended high bits, mask slab bit. */ + return (extent_t *)((uintptr_t)((intptr_t)(bits << RTREE_NHIB) >> + RTREE_NHIB) & ~((uintptr_t)0x1)); ++# endif + } + + JEMALLOC_ALWAYS_INLINE szind_t -- cgit v1.2.3 From 16a7a7456109bd5be45081ba2d78bf19ba1f0c3c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 11 Dec 2017 11:40:52 +0200 Subject: Revert "gnu: libinput: Update to 1.9.3." This reverts commit 5f5083749c1ff2731e84fa7d8eea182ad45c18a5. Ninja FTBFS on armhf-linux and thus cannot build libinput. --- gnu/packages/freedesktop.scm | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 6b5dfe8ea7..6a4e118f76 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -33,7 +33,6 @@ (define-module (gnu packages freedesktop) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) - #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (gnu packages acl) @@ -68,7 +67,6 @@ (define-module (gnu packages freedesktop) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages python) - #:use-module (gnu packages valgrind) #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -143,22 +141,19 @@ (define-public xdg-utils (define-public libinput (package (name "libinput") - (version "1.9.3") + (version "1.7.3") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" name "-" version ".tar.xz")) (sha256 (base32 - "09wkc5qqk1k2a68cwfy4x853z8z35wf2qkijh66kacsvc2fjq394")))) - (build-system meson-build-system) - (arguments '(#:configure-flags '("-Ddocumentation=false"))) + "07fbzxddvhjcch43hdxb24sj7ri96zzpcjalvsicmw0i4wnn2v89")))) + (build-system gnu-build-system) (native-inputs `(("cairo" ,cairo) - ("check" ,check) ("gtk+" ,gtk+) - ("pkg-config" ,pkg-config) - ("valgrind" ,valgrind))) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("libudev" ,eudev))) ; required by libinput.pc (inputs @@ -177,17 +172,13 @@ (define-public libinput-minimal (package (inherit libinput) (name "libinput-minimal") (native-inputs - `(("check" ,check) - ("pkg-config" ,pkg-config) - ("valgrind" ,valgrind))) + `(("pkg-config" ,pkg-config))) (inputs `(("libevdev" ,libevdev) ("mtdev" ,mtdev))) (arguments - '(#:configure-flags - '("-Dlibwacom=false" - "-Ddocumentation=false" - "-Ddebug-gui=false"))))) ; requires gtk+@3 + `(#:configure-flags + '("--disable-libwacom"))))) (define-public libxdg-basedir (package -- cgit v1.2.3 From 8be84d31ea5ce90911e1099c7e73f15295ea526c Mon Sep 17 00:00:00 2001 From: Mark Meyer Date: Sun, 10 Dec 2017 23:05:33 +0100 Subject: gnu: darktable: Add configure option --- gnu/packages/photo.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 666058c9dc..0969347087 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -337,7 +337,7 @@ (define-public darktable (build-system cmake-build-system) (arguments `(#:tests? #f ; There are no tests. - #:configure-flags '("-DCMAKE_INSTALL_LIBDIR=lib") + #:configure-flags '("-DCMAKE_INSTALL_LIBDIR=lib" "-DBINARY_PACKAGE_BUILD=On") #:make-flags (list (string-append "CPATH=" (assoc-ref %build-inputs "ilmbase") -- cgit v1.2.3 From ca3c1439e151cd91046c191e65ea9d500637bfaa Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Fri, 1 Dec 2017 18:21:00 +0300 Subject: gnu: Add gource. * gnu/packages/version-control.scm (gource): New variable. --- gnu/packages/version-control.scm | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index a41ddf8da3..6820b28bae 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 André ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Stefan Reichör +;;; Copyright © 2017 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,7 @@ (define-module (gnu packages version-control) #:use-module (gnu packages documentation) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages boost) #:use-module (gnu packages cook) #:use-module (gnu packages curl) #:use-module (gnu packages docbook) @@ -57,18 +59,22 @@ (define-module (gnu packages version-control) #:use-module (gnu packages file) #:use-module (gnu packages flex) #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) #:use-module (gnu packages groff) #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-crypto) #:use-module (gnu packages haskell-web) + #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages linux) + #:use-module (gnu packages maths) #:use-module (gnu packages nano) #:use-module (gnu packages ncurses) #:use-module (gnu packages ssh) #:use-module (gnu packages web) #:use-module (gnu packages openstack) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) @@ -80,6 +86,7 @@ (define-module (gnu packages version-control) #:use-module (gnu packages xml) #:use-module (gnu packages emacs) #:use-module (gnu packages compression) + #:use-module (gnu packages sdl) #:use-module (gnu packages swig) #:use-module (gnu packages tcl) #:use-module (gnu packages time) @@ -1723,3 +1730,42 @@ (define-public java-jgit-4.2 `(("java-javaewah" ,java-javaewah) ("java-jsch" ,java-jsch) ("java-slf4j-api" ,java-slf4j-api))))) + +(define-public gource + (package + (name "gource") + (version "0.47") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/acaudwell/Gource/archive/" + "gource-" version ".tar.gz")) + (sha256 + (base32 + "1llqwdnfa1pff8bxk27qsqff1fcg0a9kfdib0rn7p28vl21n1cgj")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-boost-libdir=" + (assoc-ref %build-inputs "boost") + "/lib")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("ftgl" ,ftgl) + ("glew" ,glew) + ("glm" ,glm) + ("glu" ,glu) + ("libpng" ,libpng) + ("mesa" ,mesa) + ("pcre" ,pcre) + ("sdl-union" ,(sdl-union (list sdl2 sdl2-image))))) + (home-page "http://gource.io/") + (synopsis "3D visualisation tool for source control repositories") + (description "@code{gource} provides a software version control +visualization. The repository is displayed as a tree where the root of the +repository is the centre, directories are branches and files are leaves. +Contributors to the source code appear and disappear as they contribute to +specific files and directories.") + (license license:gpl3+))) -- cgit v1.2.3 From 4b563b3472dc88d068495231372f10372b4afb5b Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 24 Jan 2017 13:03:42 +0000 Subject: gnu: Add i3lock-color. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (i3lock-color): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/wm.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 6912d6f2d9..e3bf019027 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -8,8 +8,8 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Al McElrath ;;; Copyright © 2016 Carlo Zancanaro -;;; Copyright © 2016 Ludovic Courtès -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017 Ludovic Courtès +;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016 doncatnip ;;; Copyright © 2016 Ivan Vilata i Balaguer ;;; Copyright © 2017 Mekeor Melire @@ -44,6 +44,7 @@ (define-module (gnu packages wm) #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) @@ -68,6 +69,7 @@ (define-module (gnu packages wm) #:use-module (gnu packages gperf) #:use-module (gnu packages imagemagick) #:use-module (gnu packages lua) + #:use-module (gnu packages linux) #:use-module (gnu packages suckless) #:use-module (guix download) #:use-module (guix git-download)) @@ -335,6 +337,52 @@ (define-public quickswitch-i3 prompt.") (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/"))))) +(define-public i3lock-color + (package + (name "i3lock-color") + (version "2.10.1c") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/PandorasFox/i3lock-color/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "119xvdm4r6irqk0mar80hx6s8ydw26y35h7712rd7nbg7pb7i053")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;No tests included. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ + (zero? (system* "autoreconf" "-vfi"))))))) + (inputs + `(("xcb-util-image" ,xcb-util-image) + ("xcb-util" ,xcb-util) + ("libxcb" ,libxcb) + ("linux-pam" ,linux-pam) + ("libxkbcommon" ,libxkbcommon) + ("libev" ,libev) + ("cairo" ,cairo))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake))) + (home-page "https://github.com/PandorasFox/i3lock-color") + (synopsis "Screen locker with color configuration support") + (description + "i3lock-color is a simpler X11 screen locker derived from i3lock. +Features include: + +@enumerate +@item forking process, the locked screen is preserved when you suspend to RAM; +@item specify background color or image to be displayed in the lock screen; +@item many additional color options. +@end enumerate") + (license license:bsd-3))) + (define-public xmonad (package (name "xmonad") -- cgit v1.2.3 From b0a2dc72451e842f8512ed760c634213c6414b4a Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 24 Jan 2017 15:57:13 +0000 Subject: gnu: Add i3lock-fancy. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (i3lock-fancy): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/wm.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index e3bf019027..8098560e4c 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -45,6 +45,7 @@ (define-module (gnu packages wm) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) #:use-module (gnu packages autotools) + #:use-module (gnu packages gawk) #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) @@ -383,6 +384,72 @@ (define-public i3lock-color @end enumerate") (license license:bsd-3))) +(define-public i3lock-fancy + (package + (name "i3lock-fancy") + (version "0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;No tests included + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (icons (string-append out "/share/i3lock-fancy/icons/")) + (wmctrl (string-append (assoc-ref inputs "wmctrl") + "/bin/wmctrl")) + (mconvert (string-append (assoc-ref inputs "imagemagick") + "/bin/convert")) + (mimport (string-append (assoc-ref inputs "imagemagick") + "/bin/import")) + (awk (string-append (assoc-ref inputs "gawk") + "/bin/gawk"))) + + (substitute* "lock" + (("$(which wmctrl)") wmctrl) + (("convert") mconvert) + (("shot=\\(import") (string-append "shot=\(" mimport)) + (("awk -F") (string-append awk " -F")) + ((" awk") awk) + (("\\$scriptpath/icons/") icons)) + #t))) + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (icons (string-append out "/share/i3lock-fancy/icons/"))) + + (install-file "lock" bin) + (rename-file (string-append bin "/lock") + (string-append bin "/i3lock-fancy")) + (copy-recursively "icons" icons) + #t)))))) + (native-inputs + `(("imagemagick" ,imagemagick) + ("wmctrl" ,wmctrl) + ("gawk" ,gawk))) + (home-page "https://github.com/meskarune/i3lock-fancy") + (synopsis "Screen locker with screenshot function") + (description + "@code{i3lock-fancy} is a Bash script that takes a screenshot of +the desktop, blurs the background and adds a lock icon and text. +It requires @code{i3lock-color} or @code{i3lock} and can optionally +be passed any screenshot util like @code{scrot}. +This screen locker can be used with any window manager or +desktop environment.") + (license license:expat))) + (define-public xmonad (package (name "xmonad") -- cgit v1.2.3 From 397d7980b7947742a1a49fe635503a29b7634e24 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 9 Dec 2017 18:48:11 -0500 Subject: gnu: Add emacs-ws-butler. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-ws-butler): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d1b5aeeaf6..f5048c3dec 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2017 Peter Mikkelsen ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Mike Gerwitz +;;; Copyright © 2017 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -5958,6 +5959,35 @@ (define-public emacs-which-key settings).") (license license:gpl3+))) +(define-public emacs-ws-butler + (package + (name "emacs-ws-butler") + (version "0.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lewang/ws-butler.git") + (commit "323b651dd70ee40a25accc940b8f80c3a3185205"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb")))) + (build-system emacs-build-system) + (native-inputs + `(("ert-runner" ,ert-runner))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'check + (lambda _ + (zero? (system* "ert-runner" "tests"))))))) + (home-page "https://github.com/lewang/ws-butler") + (synopsis "Trim spaces from end of lines") + (description + "This Emacs package automatically and unobtrusively trims whitespace +characters from end of lines.") + (license license:gpl3+))) + (define-public emacs-org-edit-latex (package (name "emacs-org-edit-latex") -- cgit v1.2.3 From 9faa46ee48d12bf55355805a84a7c533f904a39d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 9 Dec 2017 22:39:00 -0500 Subject: gnu: Add emacs-csv-mode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-csv-mode): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f5048c3dec..d5142d7ac0 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -6330,6 +6330,28 @@ (define-public emacs-easy-kill let users kill or mark things easily.") (license license:gpl3+))) +(define-public emacs-csv-mode + (package + (name "emacs-csv-mode") + (version "1.7") + (source + (origin + (method url-fetch) + (uri (string-append "http://elpa.gnu.org/packages/csv-mode-" + version ".el")) + (sha256 + (base32 + "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6")))) + (build-system emacs-build-system) + (home-page + "http://elpa.gnu.org/packages/csv-mode.html") + (synopsis + "Major mode for editing comma/char separated values") + (description + "This Emacs package implements CSV mode, a major mode for editing records +in a generalized CSV (character-separated values) format.") + (license license:gpl3+))) + (define-public emacs-transmission (package (name "emacs-transmission") -- cgit v1.2.3 From fbc60db895fb665d1c0a5281972f9894997ada91 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 9 Dec 2017 23:08:12 -0500 Subject: gnu: Add emacs-grep-a-lot. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-grep-a-lot): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d5142d7ac0..6f4f8a7ec2 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1976,6 +1976,26 @@ (define-public emacs-fill-column-indicator column by drawing a thin line down the length of the editing window.") (license license:gpl3+))) +(define-public emacs-grep-a-lot + (package + (name "emacs-grep-a-lot") + (version "1.0.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ZungBang/emacs-grep-a-lot.git") + (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw")))) + (build-system emacs-build-system) + (home-page "https://github.com/ZungBang/emacs-grep-a-lot") + (synopsis "Enables multiple grep buffers in Emacs") + (description + "This Emacs package allows managing multiple grep buffers.") + (license license:gpl3+))) + (define-public emacs-inf-ruby (package (name "emacs-inf-ruby") -- cgit v1.2.3 From cdba3a84696a1fd6500b71a8e8c3389487f96a01 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 10 Dec 2017 00:05:31 -0500 Subject: gnu: Add emacs-string-inflection. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-string-inflection): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 6f4f8a7ec2..781a387a41 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2177,6 +2177,43 @@ (define-public emacs-skewer-mode in Lisp modes.") (license license:unlicense))) +(define-public emacs-string-inflection + (package + (name "emacs-string-inflection") + (version "1.0.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/akicho8/string-inflection") + (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k")))) + (build-system emacs-build-system) + (native-inputs + `(("ert-runner" ,ert-runner))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'check + (lambda _ + (zero? (system* "ert-runner"))))))) + (home-page "https://github.com/akicho8/string-inflection") + (synopsis "Convert symbol names between different naming conventions") + (description + "This Emacs package provides convenient methods for manipulating the +naming style of a symbol. It supports different naming conventions such as: + +@enumerate +@item camel case +@item Pascal case +@item all upper case +@item lower case separated by underscore +@item etc... +@end enumerate\n") + (license license:gpl2+))) + (define-public emacs-stripe-buffer (package (name "emacs-stripe-buffer") -- cgit v1.2.3 From 73138fd146a1449df77ee26cc5717b18cb15d84a Mon Sep 17 00:00:00 2001 From: "Z. Ren" Date: Sun, 10 Dec 2017 22:23:32 +0800 Subject: gnu: skalibs: Fix non-reproducibility issue. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/skarnet.scm (skalibs)[arguments]: In 'reproducible' phase, insert a 'sort' call in "Makefile". Signed-off-by: Ludovic Courtès --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 5a46b0db64..ce6fdc709d 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -47,8 +47,8 @@ (define-public skalibs ;; Sort source files deterministically so that the *.a ;; and *.so files are reproducible. (substitute* "Makefile" - (("\\$\\(ALL_SRCS:%.c=%.o\\)") - "$(sort $(ALL_SRCS:%.c=%.o))")) + (("\\$\\(wildcard src/lib\\*/\\*.c\\)") + "$(sort $(wildcard src/lib*/*.c))")) #t))))) (home-page "http://skarnet.org/software/skalibs/") (synopsis "Platform abstraction libraries for skarnet.org software") -- cgit v1.2.3 From 42e891c27bccb32f51094c2c5cf85d5b4e5e6500 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 10 Dec 2017 12:50:26 -0500 Subject: gnu: Add emacs-diff-hl. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-diff-hl): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 781a387a41..fd03056292 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5084,6 +5084,28 @@ (define-public emacs-adaptive-wrap actually changing the buffer's text.") (license license:gpl3+))) +(define-public emacs-diff-hl + (package + (name "emacs-diff-hl") + (version "1.8.4") + (source + (origin + (method url-fetch) + (uri (string-append "http://elpa.gnu.org/packages/diff-hl-" + version ".tar")) + (sha256 + (base32 + "0axhidc3cym7a2x4rpxf4745qss9s9ajyg4s9h5b4zn7v7fyp71n")))) + (build-system emacs-build-system) + (home-page "https://github.com/dgutov/diff-hl") + (synopsis + "Highlight uncommitted changes using VC") + (description + "@code{diff-hl-mode} highlights uncommitted changes on the side of the +window (using the fringe, by default), allows you to jump between +the hunks and revert them selectively.") + (license license:gpl3+))) + (define-public emacs-diminish (package (name "emacs-diminish") -- cgit v1.2.3 From 1e52fd83c2f03f9fb3de9dde662bccd4407a9309 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 10 Dec 2017 22:54:06 +0530 Subject: gnu: Add afew. * gnu/packages/mail.scm (afew): New variable. --- gnu/packages/mail.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 21db463411..89062da3b7 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2381,3 +2381,28 @@ (define-public balsa mbox, maildir and mh local mailbox formats. Balsa also supports SMTP and/or the use of a local MTA such as Sendmail.") (license gpl3+))) + +(define-public afew + (package + (name "afew") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "afew" version)) + (sha256 + (base32 + "121w7bd53xyibllxxbfykjj76n81kn1vgjqd22izyh67y8qyyk5r")))) + (build-system python-build-system) + (inputs + `(("python-chardet" ,python-chardet) + ("python-notmuch" ,python-notmuch))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "https://github.com/afewmail/afew") + (synopsis "Initial tagging script for notmuch mail") + (description "afew is an initial tagging script for notmuch mail. It +provides automatic tagging each time new mail is registered with notmuch. It +can add tags based on email headers or Maildir folders and can handle spam and +killed threads.") + (license isc))) -- cgit v1.2.3 From 9cf5f134d584c46f6ab034bb48027b0c79ab9b5a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 1 Dec 2017 07:58:24 +0000 Subject: gnu: Switch to using the version-major procedure. * gnu/packages/audio.scm (ardour)[arguments]: Switch to using version-major. (hmmer)[source]: Switch to using version-major. (pidgin)[native-search-paths]: Switch to using version-major. (r-minimal)[source]: Switch to using version-major. --- gnu/packages/audio.scm | 2 +- gnu/packages/bioinformatics.scm | 2 +- gnu/packages/messaging.scm | 2 +- gnu/packages/statistics.scm | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 4f6e4a4095..b0c3eca0ca 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -222,7 +222,7 @@ (define-public ardour (modify-phases %standard-phases (add-after 'unpack 'set-rpath-in-LDFLAGS - ,(ardour-rpath-phase (version-prefix version 1)))) + ,(ardour-rpath-phase (version-major version)))) #:test-target "test" #:python ,python-2)) (inputs diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 171b13d0d5..f81db2c84d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2917,7 +2917,7 @@ (define-public hmmer (method url-fetch) (uri (string-append "http://eddylab.org/software/hmmer" - (version-prefix version 1) "/" + (version-major version) "/" version "/hmmer-" version ".tar.gz")) (sha256 (base32 diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 9525c9f5d1..1780536d05 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -387,7 +387,7 @@ (define-public pidgin (list (search-path-specification (variable "PURPLE_PLUGIN_PATH") (files (list (string-append "lib/purple-" - (version-prefix version 1)) + (version-major version)) "lib/pidgin"))))) (home-page "http://www.pidgin.im/") (synopsis "Graphical multi-protocol instant messaging client") diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index fc18719f32..5e356a3b65 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -114,7 +114,7 @@ (define-public r-minimal (source (origin (method url-fetch) (uri (string-append "mirror://cran/src/base/R-" - (version-prefix version 1) "/R-" + (version-major version) "/R-" version ".tar.gz")) (sha256 (base32 -- cgit v1.2.3 From fd3ddefa1fdffedb73f1244b7737bb46d19cf4c9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 11 Dec 2017 20:18:02 +0200 Subject: gnu: %rust-bootstrap-binaries: Add missing catch-all entry. * gnu/packages/rust.scm (%rust-bootstrap-binaries): Add missing catch-all entry to prevent various errors in Guix. --- gnu/packages/rust.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 1ae01f106e..71015d598c 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 ng0 ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017 Nikolai Merinov +;;; Copyright © 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,10 +64,11 @@ (define %rust-bootstrap-binaries (sha256 (base32 (match %host-type - ("i686-unknown-linux-gnu" + ("i686-unknown-linux-gnu" "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") - ("x86_64-unknown-linux-gnu" - "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml")))))) + ("x86_64-unknown-linux-gnu" + "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml") + (_ "")))))) ; Catch-all for other systems. (define %cargo-reference-project-file "/dev/null") (define %cargo-reference-hash -- cgit v1.2.3 From e85d681cbfb868b33cb845d9f9a4f2df87af933d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 11 Dec 2017 20:28:23 +0200 Subject: gnu: rust: Add support for all platforms. * gnu/packages/rust.scm (%rust-bootstrap-binaries): Add entries for all platforms supported by Guix. (rustc-bootstrap, cargo-bootstrap)[supported-systems]: Remove field. --- gnu/packages/rust.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 71015d598c..a82bf2355e 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -68,6 +68,12 @@ (define %rust-bootstrap-binaries "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") ("x86_64-unknown-linux-gnu" "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml") + ("armv7-unknown-linux-gnueabihf" + "1ml8fjq2b6j2vn1j314w93pf4wjl97n1mbz609h3i7md0zqscvs1") + ("aarch64-unknown-linux-gnu" + "1hv4m2m7xjcph39r6baryfg23hjcr4sbsrfnd1lh0wn67k2fc7j9") + ("mips64el-unknown-linux-gnuabi64" + "0p7fzkfcqg5yvj86v434z351dp7s7pgns8nzxj0fz3hmbfbvlvn9") (_ "")))))) ; Catch-all for other systems. (define %cargo-reference-project-file "/dev/null") @@ -131,7 +137,6 @@ (define rustc-bootstrap (for-each (lambda (file) (system* "patchelf" "--set-interpreter" ld-so file)) (list rustc rustdoc)))))))) - (supported-systems '("i686-linux" "x86_64-linux")) (home-page "https://www.rust-lang.org") (synopsis "Prebuilt rust compiler") (description "This package provides a pre-built @command{rustc} compiler, @@ -171,7 +176,6 @@ (define cargo-bootstrap "--set-interpreter" ld-so "--set-rpath" rpath cargo))))))) - (supported-systems '("i686-linux" "x86_64-linux")) (home-page "https://www.rust-lang.org") (synopsis "Prebuilt cargo package manager") (description "This package provides a pre-built @command{cargo} package -- cgit v1.2.3 From 0d57068333a60f0c77112a67b0a95715e4827d10 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 11 Dec 2017 21:08:45 +0200 Subject: gnu: cargo: Add file-name field to input sources. * gnu/packages/rust.scm (cargo)[inputs]: Add 'file-name' field to all source inputs. --- gnu/packages/rust.scm | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index a82bf2355e..b4d98ee342 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -410,6 +410,7 @@ (define-public cargo ;; print " ,(origin"; ;; print " (method url-fetch)"; ;; print " (uri (crate-uri \"" oname "\" \"" vers "\"))"; + ;; print " (file-name \"rust-" oname "\-\" vers "\") ;; print " (sha256"; ;; print " (base16-string->bytevector"; ;; print " " hash "))))" @@ -418,6 +419,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "advapi32-sys" "0.2.0")) + (file-name "rust-advapi32-sys-0.2.0") (sha256 (base16-string->bytevector "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a")))) @@ -425,6 +427,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "aho-corasick" "0.5.3")) + (file-name "rust-aho-corasick-0.5.3") (sha256 (base16-string->bytevector "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66")))) @@ -432,6 +435,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "aho-corasick" "0.6.3")) + (file-name "rust-aho-corasick-0.6.3") (sha256 (base16-string->bytevector "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699")))) @@ -439,6 +443,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "atty" "0.2.3")) + (file-name "rust-atty-0.2.3") (sha256 (base16-string->bytevector "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b78860")))) @@ -446,6 +451,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "backtrace" "0.3.3")) + (file-name "rust-backtrace-0.3.3") (sha256 (base16-string->bytevector "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d70983")))) @@ -453,6 +459,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "backtrace-sys" "0.1.14")) + (file-name "rust-backtrace-sys-0.1.14") (sha256 (base16-string->bytevector "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292cd189")))) @@ -460,6 +467,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "bitflags" "0.7.0")) + (file-name "rust-bitflags-0.7.0") (sha256 (base16-string->bytevector "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d")))) @@ -467,6 +475,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "bitflags" "0.9.1")) + (file-name "rust-bitflags-0.9.1") (sha256 (base16-string->bytevector "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5")))) @@ -474,6 +483,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "bufstream" "0.1.3")) + (file-name "rust-bufstream-0.1.3") (sha256 (base16-string->bytevector "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d09468e32")))) @@ -481,6 +491,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "cc" "1.0.0")) + (file-name "rust-cc-1.0.0") (sha256 (base16-string->bytevector "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a76b1")))) @@ -488,6 +499,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "cfg-if" "0.1.2")) + (file-name "rust-cfg-if-0.1.2") (sha256 (base16-string->bytevector "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de")))) @@ -495,6 +507,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "cmake" "0.1.26")) + (file-name "rust-cmake-0.1.26") (sha256 (base16-string->bytevector "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b789d")))) @@ -502,6 +515,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "commoncrypto" "0.2.0")) + (file-name "rust-commoncrypto-0.2.0") (sha256 (base16-string->bytevector "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007")))) @@ -509,6 +523,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "commoncrypto-sys" "0.2.0")) + (file-name "rust-commoncrypto-sys-0.2.0") (sha256 (base16-string->bytevector "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2")))) @@ -516,6 +531,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "conv" "0.3.3")) + (file-name "rust-conv-0.3.3") (sha256 (base16-string->bytevector "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299")))) @@ -523,6 +539,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "core-foundation" "0.4.4")) + (file-name "rust-core-foundation-0.4.4") (sha256 (base16-string->bytevector "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb2320dc7")))) @@ -530,6 +547,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "core-foundation-sys" "0.4.4")) + (file-name "rust-core-foundation-sys-0.4.4") (sha256 (base16-string->bytevector "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387")))) @@ -537,6 +555,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "crossbeam" "0.2.10")) + (file-name "rust-crossbeam-0.2.10") (sha256 (base16-string->bytevector "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97")))) @@ -544,6 +563,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "crossbeam" "0.3.0")) + (file-name "rust-crossbeam-0.3.0") (sha256 (base16-string->bytevector "8837ab96533202c5b610ed44bc7f4183e7957c1c8f56e8cc78bb098593c8ba0a")))) @@ -551,6 +571,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "crypto-hash" "0.3.0")) + (file-name "rust-crypto-hash-0.3.0") (sha256 (base16-string->bytevector "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559fe602")))) @@ -558,6 +579,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "curl" "0.4.8")) + (file-name "rust-curl-0.4.8") (sha256 (base16-string->bytevector "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae9c2c")))) @@ -565,6 +587,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "curl-sys" "0.3.15")) + (file-name "rust-curl-sys-0.3.15") (sha256 (base16-string->bytevector "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e78134b55")))) @@ -572,6 +595,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "custom_derive" "0.1.7")) + (file-name "rust-custom_derive-0.1.7") (sha256 (base16-string->bytevector "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9")))) @@ -579,6 +603,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "dbghelp-sys" "0.2.0")) + (file-name "rust-dbghelp-sys-0.2.0") (sha256 (base16-string->bytevector "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850")))) @@ -586,6 +611,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "docopt" "0.8.1")) + (file-name "rust-docopt-0.8.1") (sha256 (base16-string->bytevector "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49787a")))) @@ -593,6 +619,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "dtoa" "0.4.2")) + (file-name "rust-dtoa-0.4.2") (sha256 (base16-string->bytevector "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab")))) @@ -600,6 +627,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "env_logger" "0.4.3")) + (file-name "rust-env_logger-0.4.3") (sha256 (base16-string->bytevector "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b")))) @@ -607,6 +635,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "error-chain" "0.11.0")) + (file-name "rust-error-chain-0.11.0") (sha256 (base16-string->bytevector "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3")))) @@ -614,6 +643,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "filetime" "0.1.12")) + (file-name "rust-filetime-0.1.12") (sha256 (base16-string->bytevector "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf732c0e")))) @@ -621,6 +651,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "flate2" "0.2.20")) + (file-name "rust-flate2-0.2.20") (sha256 (base16-string->bytevector "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81e423")))) @@ -628,6 +659,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "fnv" "1.0.5")) + (file-name "rust-fnv-1.0.5") (sha256 (base16-string->bytevector "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344")))) @@ -635,6 +667,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "foreign-types" "0.2.0")) + (file-name "rust-foreign-types-0.2.0") (sha256 (base16-string->bytevector "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8a29d")))) @@ -642,6 +675,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "fs2" "0.4.2")) + (file-name "rust-fs2-0.4.2") (sha256 (base16-string->bytevector "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866")))) @@ -649,6 +683,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "git2" "0.6.8")) + (file-name "rust-git2-0.6.8") (sha256 (base16-string->bytevector "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50f6fa")))) @@ -656,6 +691,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "git2-curl" "0.7.0")) + (file-name "rust-git2-curl-0.7.0") (sha256 (base16-string->bytevector "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5bf8e")))) @@ -663,6 +699,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "glob" "0.2.11")) + (file-name "rust-glob-0.2.11") (sha256 (base16-string->bytevector "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb")))) @@ -670,6 +707,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "globset" "0.2.0")) + (file-name "rust-globset-0.2.0") (sha256 (base16-string->bytevector "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42ac9c3")))) @@ -677,6 +715,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "hamcrest" "0.1.1")) + (file-name "rust-hamcrest-0.1.1") (sha256 (base16-string->bytevector "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb89d4")))) @@ -684,6 +723,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "hex" "0.2.0")) + (file-name "rust-hex-0.2.0") (sha256 (base16-string->bytevector "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e153aa")))) @@ -691,6 +731,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "home" "0.3.0")) + (file-name "rust-home-0.3.0") (sha256 (base16-string->bytevector "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641fe6db")))) @@ -698,6 +739,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "idna" "0.1.4")) + (file-name "rust-idna-0.1.4") (sha256 (base16-string->bytevector "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d")))) @@ -705,6 +747,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "ignore" "0.2.2")) + (file-name "rust-ignore-0.2.2") (sha256 (base16-string->bytevector "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c99f5")))) @@ -712,6 +755,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "itoa" "0.3.4")) + (file-name "rust-itoa-0.3.4") (sha256 (base16-string->bytevector "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c")))) @@ -719,6 +763,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "jobserver" "0.1.6")) + (file-name "rust-jobserver-0.1.6") (sha256 (base16-string->bytevector "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1b133")))) @@ -726,6 +771,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "kernel32-sys" "0.2.2")) + (file-name "rust-kernel32-sys-0.2.2") (sha256 (base16-string->bytevector "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d")))) @@ -733,6 +779,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "lazy_static" "0.2.9")) + (file-name "rust-lazy_static-0.2.9") (sha256 (base16-string->bytevector "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375f8d5")))) @@ -740,6 +787,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "libc" "0.2.31")) + (file-name "rust-libc-0.2.31") (sha256 (base16-string->bytevector "d1419b2939a0bc44b77feb34661583c7546b532b192feab36249ab584b86856c")))) @@ -747,6 +795,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "libgit2-sys" "0.6.16")) + (file-name "rust-libgit2-sys-0.6.16") (sha256 (base16-string->bytevector "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe53cb2")))) @@ -754,6 +803,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "libssh2-sys" "0.2.6")) + (file-name "rust-libssh2-sys-0.2.6") (sha256 (base16-string->bytevector "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c614024b75")))) @@ -761,6 +811,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "libz-sys" "1.0.17")) + (file-name "rust-libz-sys-1.0.17") (sha256 (base16-string->bytevector "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e6bd5")))) @@ -768,6 +819,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "log" "0.3.8")) + (file-name "rust-log-0.3.8") (sha256 (base16-string->bytevector "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b")))) @@ -775,6 +827,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "magenta" "0.1.1")) + (file-name "rust-magenta-0.1.1") (sha256 (base16-string->bytevector "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527")))) @@ -782,6 +835,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "magenta-sys" "0.1.1")) + (file-name "rust-magenta-sys-0.1.1") (sha256 (base16-string->bytevector "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699")))) @@ -789,6 +843,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "matches" "0.1.6")) + (file-name "rust-matches-0.1.6") (sha256 (base16-string->bytevector "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376")))) @@ -796,6 +851,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "memchr" "0.1.11")) + (file-name "rust-memchr-0.1.11") (sha256 (base16-string->bytevector "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20")))) @@ -803,6 +859,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "memchr" "1.0.1")) + (file-name "rust-memchr-1.0.1") (sha256 (base16-string->bytevector "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4")))) @@ -810,6 +867,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "miniz-sys" "0.1.10")) + (file-name "rust-miniz-sys-0.1.10") (sha256 (base16-string->bytevector "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4")))) @@ -817,6 +875,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "miow" "0.2.1")) + (file-name "rust-miow-0.2.1") (sha256 (base16-string->bytevector "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919")))) @@ -824,6 +883,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "net2" "0.2.31")) + (file-name "rust-net2-0.2.31") (sha256 (base16-string->bytevector "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b716c09")))) @@ -831,6 +891,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "num" "0.1.40")) + (file-name "rust-num-0.1.40") (sha256 (base16-string->bytevector "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f923525")))) @@ -838,6 +899,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "num-bigint" "0.1.40")) + (file-name "rust-num-bigint-0.1.40") (sha256 (base16-string->bytevector "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81fd0bd")))) @@ -845,6 +907,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "num-complex" "0.1.40")) + (file-name "rust-num-complex-0.1.40") (sha256 (base16-string->bytevector "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e704e6")))) @@ -852,6 +915,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "num-integer" "0.1.35")) + (file-name "rust-num-integer-0.1.35") (sha256 (base16-string->bytevector "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d53514d0fba")))) @@ -859,6 +923,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "num-iter" "0.1.34")) + (file-name "rust-num-iter-0.1.34") (sha256 (base16-string->bytevector "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13dffe01")))) @@ -866,6 +931,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "num-rational" "0.1.39")) + (file-name "rust-num-rational-0.1.39") (sha256 (base16-string->bytevector "288629c76fac4b33556f4b7ab57ba21ae202da65ba8b77466e6d598e31990790")))) @@ -873,6 +939,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "num-traits" "0.1.40")) + (file-name "rust-num-traits-0.1.40") (sha256 (base16-string->bytevector "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721b9b0")))) @@ -880,6 +947,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "num_cpus" "1.7.0")) + (file-name "rust-num_cpus-1.7.0") (sha256 (base16-string->bytevector "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453b20d")))) @@ -887,6 +955,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "openssl" "0.9.19")) + (file-name "rust-openssl-0.9.19") (sha256 (base16-string->bytevector "816914b22eb15671d62c73442a51978f311e911d6a6f6cbdafa6abce1b5038fc")))) @@ -894,6 +963,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "openssl-probe" "0.1.1")) + (file-name "rust-openssl-probe-0.1.1") (sha256 (base16-string->bytevector "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f378daf")))) @@ -901,6 +971,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "openssl-sys" "0.9.19")) + (file-name "rust-openssl-sys-0.9.19") (sha256 (base16-string->bytevector "1e4c63a7d559c1e5afa6d6a9e6fa34bbc5f800ffc9ae08b72c605420b0c4f5e8")))) @@ -908,6 +979,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "percent-encoding" "1.0.0")) + (file-name "rust-precent-encoding-1.0.0") (sha256 (base16-string->bytevector "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356")))) @@ -915,6 +987,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "pkg-config" "0.3.9")) + (file-name "rust-pkg-config-0.3.9") (sha256 (base16-string->bytevector "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903")))) @@ -922,6 +995,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "psapi-sys" "0.1.0")) + (file-name "rust-psapi-sys-0.1.0") (sha256 (base16-string->bytevector "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a2478")))) @@ -929,6 +1003,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "quote" "0.3.15")) + (file-name "rust-quote-0.3.15") (sha256 (base16-string->bytevector "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a")))) @@ -936,6 +1011,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "rand" "0.3.16")) + (file-name "rust-rand-0.3.16") (sha256 (base16-string->bytevector "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf")))) @@ -943,6 +1019,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "redox_syscall" "0.1.31")) + (file-name "rust-redox_syscall-0.1.31") (sha256 (base16-string->bytevector "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb04509")))) @@ -950,6 +1027,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "redox_termios" "0.1.1")) + (file-name "rust-redox_termios-0.1.1") (sha256 (base16-string->bytevector "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76")))) @@ -957,6 +1035,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "regex" "0.1.80")) + (file-name "rust-regex-0.1.80") (sha256 (base16-string->bytevector "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f")))) @@ -964,6 +1043,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "regex" "0.2.2")) + (file-name "rust-regex-0.2.2") (sha256 (base16-string->bytevector "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b")))) @@ -971,6 +1051,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "regex-syntax" "0.3.9")) + (file-name "rust-regex-syntax-0.3.9") (sha256 (base16-string->bytevector "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957")))) @@ -978,6 +1059,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "regex-syntax" "0.4.1")) + (file-name "rust-regex-syntax-0.4.1") (sha256 (base16-string->bytevector "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db")))) @@ -985,6 +1067,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "rustc-demangle" "0.1.5")) + (file-name "rust-rustc-demangle-0.1.5") (sha256 (base16-string->bytevector "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e817e")))) @@ -992,6 +1075,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "rustc-serialize" "0.3.24")) + (file-name "rust-rustc-serialize-0.3.24") (sha256 (base16-string->bytevector "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda")))) @@ -999,6 +1083,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "same-file" "0.1.3")) + (file-name "rust-same-file-0.1.3") (sha256 (base16-string->bytevector "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7")))) @@ -1006,6 +1091,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "scoped-tls" "0.1.0")) + (file-name "rust-scoped-tls-0.1.0") (sha256 (base16-string->bytevector "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f147d")))) @@ -1013,6 +1099,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "scopeguard" "0.1.2")) + (file-name "rust-scopeguard-0.1.2") (sha256 (base16-string->bytevector "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a6c57")))) @@ -1020,6 +1107,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "semver" "0.8.0")) + (file-name "rust-semver-0.8.0") (sha256 (base16-string->bytevector "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6454b")))) @@ -1027,6 +1115,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "semver-parser" "0.7.0")) + (file-name "rust-semver-parser-0.7.0") (sha256 (base16-string->bytevector "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3")))) @@ -1034,6 +1123,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "serde" "1.0.15")) + (file-name "rust-serde-1.0.15") (sha256 (base16-string->bytevector "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476af799")))) @@ -1041,6 +1131,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "serde_derive" "1.0.15")) + (file-name "rust-serde_derive-1.0.15") (sha256 (base16-string->bytevector "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f7aa9")))) @@ -1048,6 +1139,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "serde_derive_internals" "0.16.0")) + (file-name "rust-serde_derive_internals-0.16.0") (sha256 (base16-string->bytevector "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd76f58")))) @@ -1055,6 +1147,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "serde_ignored" "0.0.4")) + (file-name "rust-serde_ignored-0.0.4") (sha256 (base16-string->bytevector "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01fb142")))) @@ -1062,6 +1155,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "serde_json" "1.0.3")) + (file-name "rust-serde_json-1.0.3") (sha256 (base16-string->bytevector "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6b7ac")))) @@ -1069,6 +1163,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "shell-escape" "0.1.3")) + (file-name "rust-shell-escape-0.1.3") (sha256 (base16-string->bytevector "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b84ef8")))) @@ -1076,6 +1171,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "socket2" "0.2.3")) + (file-name "rust-socket2-0.2.3") (sha256 (base16-string->bytevector "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b2791")))) @@ -1083,6 +1179,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "strsim" "0.6.0")) + (file-name "rust-strsim-0.6.0") (sha256 (base16-string->bytevector "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694")))) @@ -1090,6 +1187,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "syn" "0.11.11")) + (file-name "rust-syn-0.11.11") (sha256 (base16-string->bytevector "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad")))) @@ -1097,6 +1195,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "synom" "0.11.3")) + (file-name "rust-synom-0.11.3") (sha256 (base16-string->bytevector "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6")))) @@ -1104,6 +1203,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "tar" "0.4.13")) + (file-name "rust-tar-0.4.13") (sha256 (base16-string->bytevector "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f2b1b")))) @@ -1111,6 +1211,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "tempdir" "0.3.5")) + (file-name "rust-tempdir-0.3.5") (sha256 (base16-string->bytevector "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6")))) @@ -1118,6 +1219,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "termcolor" "0.3.3")) + (file-name "rust-termcolor-0.3.3") (sha256 (base16-string->bytevector "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b242c75")))) @@ -1125,6 +1227,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "termion" "1.5.1")) + (file-name "rust-termion-1.5.1") (sha256 (base16-string->bytevector "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096")))) @@ -1132,6 +1235,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "thread-id" "2.0.0")) + (file-name "rust-thread-id-2.0.0") (sha256 (base16-string->bytevector "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03")))) @@ -1139,6 +1243,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "thread_local" "0.2.7")) + (file-name "rust-thread_local-0.2.7") (sha256 (base16-string->bytevector "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5")))) @@ -1146,6 +1251,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "thread_local" "0.3.4")) + (file-name "rust-thread_local-0.3.4") (sha256 (base16-string->bytevector "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14")))) @@ -1153,6 +1259,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "toml" "0.4.5")) + (file-name "rust-toml-0.4.5") (sha256 (base16-string->bytevector "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b6e7e")))) @@ -1160,6 +1267,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "unicode-bidi" "0.3.4")) + (file-name "rust-unicode-bidi-0.3.4") (sha256 (base16-string->bytevector "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5")))) @@ -1167,6 +1275,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "unicode-normalization" "0.1.5")) + (file-name "rust-unicode-normalization-0.1.5") (sha256 (base16-string->bytevector "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f")))) @@ -1174,6 +1283,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "unicode-xid" "0.0.4")) + (file-name "rust-unicode-xid-0.0.4") (sha256 (base16-string->bytevector "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc")))) @@ -1181,6 +1291,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "unreachable" "1.0.0")) + (file-name "rust-unreachable-1.0.0") (sha256 (base16-string->bytevector "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56")))) @@ -1188,6 +1299,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "url" "1.5.1")) + (file-name "rust-url-1.5.1") (sha256 (base16-string->bytevector "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27")))) @@ -1195,6 +1307,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "userenv-sys" "0.2.0")) + (file-name "rust-userenv-sys-0.2.0") (sha256 (base16-string->bytevector "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919b2f3")))) @@ -1202,6 +1315,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "utf8-ranges" "0.1.3")) + (file-name "rust-utf8-ranges-0.1.3") (sha256 (base16-string->bytevector "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f")))) @@ -1209,6 +1323,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "utf8-ranges" "1.0.0")) + (file-name "rust-utf8-ranges-1.0.0") (sha256 (base16-string->bytevector "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122")))) @@ -1216,6 +1331,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "vcpkg" "0.2.2")) + (file-name "rust-vcpkg-0.2.2") (sha256 (base16-string->bytevector "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b")))) @@ -1223,6 +1339,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "void" "1.0.2")) + (file-name "rust-void-1.0.2") (sha256 (base16-string->bytevector "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d")))) @@ -1230,6 +1347,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "walkdir" "1.0.7")) + (file-name "rust-walkdir-1.0.7") (sha256 (base16-string->bytevector "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff")))) @@ -1237,6 +1355,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "winapi" "0.2.8")) + (file-name "rust-winapi-0.2.8") (sha256 (base16-string->bytevector "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a")))) @@ -1244,6 +1363,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "winapi-build" "0.1.1")) + (file-name "rust-winapi-build-0.1.1") (sha256 (base16-string->bytevector "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc")))) @@ -1251,6 +1371,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "wincolor" "0.1.4")) + (file-name "rust-wincolor-0.1.4") (sha256 (base16-string->bytevector "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e58b8b0")))) @@ -1258,6 +1379,7 @@ (define-public cargo ,(origin (method url-fetch) (uri (crate-uri "ws2_32-sys" "0.2.1")) + (file-name "rust-ws2_32-sys-0.2.1") (sha256 (base16-string->bytevector "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e")))))) -- cgit v1.2.3 From b7db2c63ed5984c4886731943d6cabefe4a05fb1 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 25 Nov 2017 09:10:48 +0000 Subject: web: Don't error about missing ssl related files. Erroring here prevents doing things like building a system using nginx on a different machine from where it's intended to be deployed, or creating containers and VMs that use the ssl-certificate parts of the nginx configuration, without also getting these files to exist. * gnu/services/web.scm (emit-nginx-server-config): Don't error on missing ssl related files. --- gnu/services/web.scm | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'gnu') diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 9d713003c3..1af32278c1 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -191,16 +191,6 @@ (define-syntax-rule (and/l x tail ...) (syntax-parameterize ((<> (identifier-syntax x*))) (list tail ...)) '()))) - (for-each - (match-lambda - ((record-key . file) - (if (and file (not (file-exists? file))) - (error - (simple-format - #f - "~A in the nginx configuration for the server with name \"~A\" does not exist" record-key server-name))))) - `(("ssl-certificate" . ,ssl-certificate) - ("ssl-certificate-key" . ,ssl-certificate-key))) (list " server {\n" (and/l http-port " listen " (number->string <>) ";\n") -- cgit v1.2.3 From c48aa70a9aa68ac6f365663044357be77eb9e36a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 9 Dec 2017 09:24:07 +0000 Subject: services: web: Remove default certificate and key files for nginx. If nginx is configured with a ssl-certificate file, and ssl-certificate-key, it will fail to start unless these exist. To avoid this happening, change the default to #f. * gnu/services/web.scm () [ssl-certificate,ssl-certificate-key]: Set the defaults to #f. * gnu/tests/web.scm (%nginx-servers): Remove redundant nginx-server-configuration fields. * doc/guix.texi (Web Services): Update examples and documentation. --- doc/guix.texi | 20 ++++---------------- gnu/services/web.scm | 4 ++-- gnu/tests/web.scm | 5 +---- 3 files changed, 7 insertions(+), 22 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 23ccfa2f68..35f895bb4f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -14813,10 +14813,7 @@ A simple example configuration is given below. (server-blocks (list (nginx-server-configuration (server-name '("www.example.com")) - (root "/srv/http/www.example.com") - (https-port #f) - (ssl-certificate #f) - (ssl-certificate-key #f)))))) + (root "/srv/http/www.example.com")))))) @end example In addition to adding server blocks to the service configuration @@ -14826,9 +14823,6 @@ blocks, as in this example: @example (simple-service 'my-extra-server nginx-service-type (list (nginx-server-configuration - (https-port #f) - (ssl-certificate #f) - (ssl-certificate-key #f) (root "/srv/http/extra-website") (try-files (list "$uri" "$uri/index.html"))))) @end example @@ -14873,10 +14867,7 @@ HTTPS. (server-blocks (list (nginx-server-configuration (server-name '("www.example.com")) - (root "/srv/http/www.example.com") - (https-port #f) - (ssl-certificate #f) - (ssl-certificate-key #f)))))) + (root "/srv/http/www.example.com")))))) @end example @item @code{upstream-blocks} (default: @code{'()}) @@ -14899,9 +14890,6 @@ requests with two servers. (list (nginx-server-configuration (server-name '("www.example.com")) (root "/srv/http/www.example.com") - (https-port #f) - (ssl-certificate #f) - (ssl-certificate-key #f) (locations (list (nginx-location-configuration @@ -14965,11 +14953,11 @@ Nginx will send the list of files in the directory. A list of files whose existence is checked in the specified order. @code{nginx} will use the first file it finds to process the request. -@item @code{ssl-certificate} (default: @code{"/etc/nginx/cert.pem"}) +@item @code{ssl-certificate} (default: @code{#f}) Where to find the certificate for secure connections. Set it to @code{#f} if you don't have a certificate or you don't want to use HTTPS. -@item @code{ssl-certificate-key} (default: @code{"/etc/nginx/key.pem"}) +@item @code{ssl-certificate-key} (default: @code{#f}) Where to find the private key for secure connections. Set it to @code{#f} if you don't have a key or you don't want to use HTTPS. diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 1af32278c1..51cd9da1dd 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -102,9 +102,9 @@ (define-record-type* (try-files nginx-server-configuration-try-files (default '())) (ssl-certificate nginx-server-configuration-ssl-certificate - (default "/etc/nginx/cert.pem")) + (default #f)) (ssl-certificate-key nginx-server-configuration-ssl-certificate-key - (default "/etc/nginx/key.pem")) + (default #f)) (server-tokens? nginx-server-configuration-server-tokens? (default #f))) diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index 3fa272c676..de7ab3cd65 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -45,10 +45,7 @@ (define %nginx-servers ;; Server blocks. (list (nginx-server-configuration (root "/srv") - (http-port 8042) - (https-port #f) - (ssl-certificate #f) - (ssl-certificate-key #f)))) + (http-port 8042)))) (define %nginx-os ;; Operating system under test. -- cgit v1.2.3 From 2881f85220c05809527d2f2a8b8d71b7a67bc604 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 25 Nov 2017 11:57:37 +0000 Subject: services: web: Add support for configuring the nginx server names hash. The nginx service can fail to start if the server names hash bucket size is too small, which can happen on some systems, and when using QEMU, depending on the CPU. * gnu/services/web.scm (): Add server-names-hash-bucket-size and server-names-hash-bucket-max-size. (default-nginx-config): Add support for the new hash bucket size parameters. (nginx-service, nginx-activation): Pass the new hash bucket size parameters through to the default-nginx-config procedure. * doc/guix.texi (Web Services): Document the new hash bucket size parameters. --- doc/guix.texi | 7 +++++++ gnu/services/web.scm | 36 +++++++++++++++++++++++++++++++----- 2 files changed, 38 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 35f895bb4f..592cae5d59 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -14913,6 +14913,13 @@ This can be useful if you have an existing configuration file, or it's not possible to do what is required through the other parts of the nginx-configuration record. +@item @code{server-names-hash-bucket-size} (default: @code{#f}) +Bucket size for the server names hash tables, defaults to @code{#f} to +use the size of the processors cache line. + +@item @code{server-names-hash-bucket-max-size} (default: @code{#f}) +Maximum bucket size for the server names hash tables. + @end table @end deffn diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 51cd9da1dd..9692084285 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -38,6 +38,8 @@ (define-module (gnu services web) nginx-configuration-run-directory nginx-configuration-server-blocks nginx-configuration-upstream-blocks + nginx-configuration-server-names-hash-bucket-size + nginx-configuration-server-names-hash-bucket-max-size nginx-configuration-file @@ -141,6 +143,10 @@ (define-record-type* (default '())) ;list of (upstream-blocks nginx-configuration-upstream-blocks (default '())) ;list of + (server-names-hash-bucket-size nginx-configuration-server-names-hash-bucket-size + (default #f)) + (server-names-hash-bucket-max-size nginx-configuration-server-names-hash-bucket-max-size + (default #f)) (file nginx-configuration-file ;#f | string | file-like (default #f))) @@ -225,7 +231,9 @@ (define (flatten1 head out) (cons head out))) (fold-right flatten1 '() lst)) -(define (default-nginx-config nginx log-directory run-directory server-list upstream-list) +(define (default-nginx-config nginx log-directory run-directory server-list + upstream-list server-names-hash-bucket-size + server-names-hash-bucket-max-size) (apply mixed-text-file "nginx.conf" (flatten "user nginx nginx;\n" @@ -239,6 +247,18 @@ (define (default-nginx-config nginx log-directory run-directory server-list upst " scgi_temp_path " run-directory "/scgi_temp;\n" " access_log " log-directory "/access.log;\n" " include " nginx "/share/nginx/conf/mime.types;\n" + (if server-names-hash-bucket-size + (string-append + " server_names_hash_bucket_size " + (number->string server-names-hash-bucket-size) + ";\n") + "") + (if server-names-hash-bucket-max-size + (string-append + " server_names_hash_bucket_max_size " + (number->string server-names-hash-bucket-max-size) + ";\n") + "") "\n" (map emit-nginx-upstream-config upstream-list) (map emit-nginx-server-config server-list) @@ -258,7 +278,8 @@ (define %nginx-accounts (define nginx-activation (match-lambda (($ nginx log-directory run-directory server-blocks - upstream-blocks file) + upstream-blocks server-names-hash-bucket-size + server-names-hash-bucket-max-size file) #~(begin (use-modules (guix build utils)) @@ -279,13 +300,16 @@ (define nginx-activation (system* (string-append #$nginx "/sbin/nginx") "-c" #$(or file (default-nginx-config nginx log-directory - run-directory server-blocks upstream-blocks)) + run-directory server-blocks upstream-blocks + server-names-hash-bucket-size + server-names-hash-bucket-max-size)) "-t"))))) (define nginx-shepherd-service (match-lambda (($ nginx log-directory run-directory server-blocks - upstream-blocks file) + upstream-blocks server-names-hash-bucket-size + server-names-hash-bucket-max-size file) (let* ((nginx-binary (file-append nginx "/sbin/nginx")) (nginx-action (lambda args @@ -294,7 +318,9 @@ (define nginx-shepherd-service (system* #$nginx-binary "-c" #$(or file (default-nginx-config nginx log-directory - run-directory server-blocks upstream-blocks)) + run-directory server-blocks upstream-blocks + server-names-hash-bucket-size + server-names-hash-bucket-max-size)) #$@args)))))) ;; TODO: Add 'reload' action. -- cgit v1.2.3 From 472368a8ac3dc388278cefd98a6695e27300f1ba Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 3 Dec 2017 19:36:40 +0000 Subject: services: web: Switch nginx related functions to use match-record. As this is less prone to mistakes than match. * gnu/services/web.scm (default-nginx-config, nginx-activation, nginx-shepherd-service): Switch from using match-lambda to match-record. --- gnu/services/web.scm | 166 +++++++++++++++++++++++++-------------------------- 1 file changed, 81 insertions(+), 85 deletions(-) (limited to 'gnu') diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 9692084285..7f338039e0 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -231,39 +231,43 @@ (define (flatten1 head out) (cons head out))) (fold-right flatten1 '() lst)) -(define (default-nginx-config nginx log-directory run-directory server-list - upstream-list server-names-hash-bucket-size - server-names-hash-bucket-max-size) - (apply mixed-text-file "nginx.conf" - (flatten - "user nginx nginx;\n" - "pid " run-directory "/pid;\n" - "error_log " log-directory "/error.log info;\n" - "http {\n" - " client_body_temp_path " run-directory "/client_body_temp;\n" - " proxy_temp_path " run-directory "/proxy_temp;\n" - " fastcgi_temp_path " run-directory "/fastcgi_temp;\n" - " uwsgi_temp_path " run-directory "/uwsgi_temp;\n" - " scgi_temp_path " run-directory "/scgi_temp;\n" - " access_log " log-directory "/access.log;\n" - " include " nginx "/share/nginx/conf/mime.types;\n" - (if server-names-hash-bucket-size - (string-append - " server_names_hash_bucket_size " - (number->string server-names-hash-bucket-size) - ";\n") - "") - (if server-names-hash-bucket-max-size - (string-append - " server_names_hash_bucket_max_size " - (number->string server-names-hash-bucket-max-size) - ";\n") - "") - "\n" - (map emit-nginx-upstream-config upstream-list) - (map emit-nginx-server-config server-list) - "}\n" - "events {}\n"))) +(define (default-nginx-config config) + (match-record config + + (nginx log-directory run-directory + server-blocks upstream-blocks + server-names-hash-bucket-size + server-names-hash-bucket-max-size) + (apply mixed-text-file "nginx.conf" + (flatten + "user nginx nginx;\n" + "pid " run-directory "/pid;\n" + "error_log " log-directory "/error.log info;\n" + "http {\n" + " client_body_temp_path " run-directory "/client_body_temp;\n" + " proxy_temp_path " run-directory "/proxy_temp;\n" + " fastcgi_temp_path " run-directory "/fastcgi_temp;\n" + " uwsgi_temp_path " run-directory "/uwsgi_temp;\n" + " scgi_temp_path " run-directory "/scgi_temp;\n" + " access_log " log-directory "/access.log;\n" + " include " nginx "/share/nginx/conf/mime.types;\n" + (if server-names-hash-bucket-size + (string-append + " server_names_hash_bucket_size " + (number->string server-names-hash-bucket-size) + ";\n") + "") + (if server-names-hash-bucket-max-size + (string-append + " server_names_hash_bucket_max_size " + (number->string server-names-hash-bucket-max-size) + ";\n") + "") + "\n" + (map emit-nginx-upstream-config upstream-blocks) + (map emit-nginx-server-config server-blocks) + "}\n" + "events {}\n")))) (define %nginx-accounts (list (user-group (name "nginx") (system? #t)) @@ -275,61 +279,53 @@ (define %nginx-accounts (home-directory "/var/empty") (shell (file-append shadow "/sbin/nologin"))))) -(define nginx-activation - (match-lambda - (($ nginx log-directory run-directory server-blocks - upstream-blocks server-names-hash-bucket-size - server-names-hash-bucket-max-size file) - #~(begin - (use-modules (guix build utils)) +(define (nginx-activation config) + (match-record config + + (nginx log-directory run-directory file) + #~(begin + (use-modules (guix build utils)) - (format #t "creating nginx log directory '~a'~%" #$log-directory) - (mkdir-p #$log-directory) - (format #t "creating nginx run directory '~a'~%" #$run-directory) - (mkdir-p #$run-directory) - (format #t "creating nginx temp directories '~a/{client_body,proxy,fastcgi,uwsgi,scgi}_temp'~%" #$run-directory) - (mkdir-p (string-append #$run-directory "/client_body_temp")) - (mkdir-p (string-append #$run-directory "/proxy_temp")) - (mkdir-p (string-append #$run-directory "/fastcgi_temp")) - (mkdir-p (string-append #$run-directory "/uwsgi_temp")) - (mkdir-p (string-append #$run-directory "/scgi_temp")) - ;; Start-up logs. Once configuration is loaded, nginx switches to - ;; log-directory. - (mkdir-p (string-append #$run-directory "/logs")) - ;; Check configuration file syntax. - (system* (string-append #$nginx "/sbin/nginx") - "-c" #$(or file - (default-nginx-config nginx log-directory - run-directory server-blocks upstream-blocks - server-names-hash-bucket-size - server-names-hash-bucket-max-size)) - "-t"))))) + (format #t "creating nginx log directory '~a'~%" #$log-directory) + (mkdir-p #$log-directory) + (format #t "creating nginx run directory '~a'~%" #$run-directory) + (mkdir-p #$run-directory) + (format #t "creating nginx temp directories '~a/{client_body,proxy,fastcgi,uwsgi,scgi}_temp'~%" #$run-directory) + (mkdir-p (string-append #$run-directory "/client_body_temp")) + (mkdir-p (string-append #$run-directory "/proxy_temp")) + (mkdir-p (string-append #$run-directory "/fastcgi_temp")) + (mkdir-p (string-append #$run-directory "/uwsgi_temp")) + (mkdir-p (string-append #$run-directory "/scgi_temp")) + ;; Start-up logs. Once configuration is loaded, nginx switches to + ;; log-directory. + (mkdir-p (string-append #$run-directory "/logs")) + ;; Check configuration file syntax. + (system* (string-append #$nginx "/sbin/nginx") + "-c" #$(or file + (default-nginx-config config)) + "-t")))) -(define nginx-shepherd-service - (match-lambda - (($ nginx log-directory run-directory server-blocks - upstream-blocks server-names-hash-bucket-size - server-names-hash-bucket-max-size file) - (let* ((nginx-binary (file-append nginx "/sbin/nginx")) - (nginx-action - (lambda args - #~(lambda _ - (zero? - (system* #$nginx-binary "-c" - #$(or file - (default-nginx-config nginx log-directory - run-directory server-blocks upstream-blocks - server-names-hash-bucket-size - server-names-hash-bucket-max-size)) - #$@args)))))) +(define (nginx-shepherd-service config) + (match-record config + + (nginx file run-directory) + (let* ((nginx-binary (file-append nginx "/sbin/nginx")) + (nginx-action + (lambda args + #~(lambda _ + (zero? + (system* #$nginx-binary "-c" + #$(or file + (default-nginx-config config)) + #$@args)))))) - ;; TODO: Add 'reload' action. - (list (shepherd-service - (provision '(nginx)) - (documentation "Run the nginx daemon.") - (requirement '(user-processes loopback)) - (start (nginx-action "-p" run-directory)) - (stop (nginx-action "-s" "stop")))))))) + ;; TODO: Add 'reload' action. + (list (shepherd-service + (provision '(nginx)) + (documentation "Run the nginx daemon.") + (requirement '(user-processes loopback)) + (start (nginx-action "-p" run-directory)) + (stop (nginx-action "-s" "stop"))))))) (define nginx-service-type (service-type (name 'nginx) -- cgit v1.2.3 From adedbe95d4896c86c26b2b3ad8408e49f52e9796 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sat, 2 Dec 2017 22:03:13 +0300 Subject: gnu: Add cli-visualizer. * gnu/packages/audio.scm (cli-visualizer): New variable. --- gnu/packages/audio.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b0c3eca0ca..81ea1b1363 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -3136,3 +3136,58 @@ (define-public snd customized and extended using either the s7 Scheme implementation (included in the Snd sources), Ruby, or Forth.") (license (license:non-copyleft "file://COPYING")))) + +(define-public cli-visualizer + (package + (name "cli-visualizer") + (version "1.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/dpayne/cli-visualizer/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07zkm87f2fr8kc6531zrkya7q81sdanm6813y2f54mg13g41y6hi")))) + (build-system gnu-build-system) + (native-inputs + `(("which" ,which))) + (inputs + `(("fftw" ,fftw) + ("googletest" ,googletest) + ("ncurses" ,ncurses) + ("pulseaudio" ,pulseaudio))) + (arguments + '(#:test-target "test" + #:make-flags + (list (string-append "PREFIX=" %output "/bin/") "ENABLE_PULSE=1") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-sudo + (lambda _ + (substitute* "install.sh" (("sudo") "")) + #t)) + (add-before 'check 'set-check-environment + (lambda _ + (setenv "CXX" "g++") + (setenv "CC" "gcc") + #t)) + (add-before 'install 'make-prefix + (lambda _ + (mkdir-p (string-append (assoc-ref %outputs "out") "/bin")) + #t)) + (add-after 'install 'data + (lambda _ + (for-each (lambda (file) + (install-file file + (string-append (assoc-ref %outputs "out") + "/share/doc"))) + (find-files "examples")) + #t))))) + (home-page "https://github.com/dpayne/cli-visualizer/") + (synopsis "Command-line audio visualizer") + (description "@code{cli-visualizer} displays fast-Fourier +transforms (FFTs) of the sound being played, as well as other graphical +representations.") + (license license:expat))) -- cgit v1.2.3 From 7f7419b56f9cc4e4e2bbbd0e8268c8d762887687 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 12 Dec 2017 00:50:58 +0100 Subject: gnu: ffmpeg: Update to 3.4.1. * gnu/packages/video.scm (ffmpeg): Update to 3.4.1. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2480035f29..523682460b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -589,14 +589,14 @@ (define-public libva (define-public ffmpeg (package (name "ffmpeg") - (version "3.4") + (version "3.4.1") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1vzvpx8ixy8m44f8qwp833hv253hpghybgzbc4n8b3div3j0dvmf")))) + "1h4iz7q10wj04awr2wvmp60n7b09pfwrgwbbw9sgl7klcf52fxss")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) -- cgit v1.2.3 From f419fe4ddb55e2c78243ba4c66a3483e21662ee0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 12 Dec 2017 01:03:06 +0100 Subject: gnu: Remove ffmpeg@3.3. The reason this was required was because of a regression in ffmpeg 3.4; see . * gnu/packages/gstreamer.scm (gst-libav)[inputs]: Change FFMPEG-3.3 to FFMPEG. * gnu/packages/video.scm (ffmpeg-3.3): Remove variable. --- gnu/packages/gstreamer.scm | 2 +- gnu/packages/video.scm | 13 ------------- 2 files changed, 1 insertion(+), 14 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 33f05d69f7..5fad28952b 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -402,7 +402,7 @@ (define-public gst-libav ("python" ,python))) (inputs `(("gst-plugins-base" ,gst-plugins-base) - ("ffmpeg" ,ffmpeg-3.3) + ("ffmpeg" ,ffmpeg) ("orc" ,orc) ("zlib" ,zlib))) (home-page "http://gstreamer.freedesktop.org/") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 523682460b..0bd1be6e62 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -762,19 +762,6 @@ (define-public ffmpeg audio/video codec library.") (license license:gpl2+))) -;; XXX: Remove this when gst-libav and qtox supports 3.4. -(define-public ffmpeg-3.3 - (package - (inherit ffmpeg) - (version "3.3.5") - (source (origin - (method url-fetch) - (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" - version ".tar.xz")) - (sha256 - (base32 - "00nq8ng2p16yb48acargaz1hlp9kq24vfwvkqjlslz4a7864k4x8")))))) - (define-public ffmpeg-2.8 (package (inherit ffmpeg) -- cgit v1.2.3 From eb6263f215799e5c072380be40a0826f17da9821 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 12 Dec 2017 00:58:05 +0100 Subject: gnu: whois: Update to 5.2.19. * gnu/packages/networking.scm (whois): Update to 5.2.19. [arguments]: Don't set HAVE_LIBIDN in 'setenv' phase; this is now autodetected. [native-inputs]: Add PKG-CONFIG. --- gnu/packages/networking.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index c60f255c3d..2538f7831d 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -450,7 +450,7 @@ (define-public iodine (define-public whois (package (name "whois") - (version "5.2.18") + (version "5.2.19") (source (origin (method url-fetch) @@ -458,7 +458,7 @@ (define-public whois name "_" version ".tar.xz")) (sha256 (base32 - "1mcpgj18n1xppvlhjqzpj05yr5z48bym9bd88k10fwgkmwk0spf3")))) + "0b16w48c17k35lhd95qcl2kjq2rahk8znkg3w467rf3kzmsa4fbc")))) (build-system gnu-build-system) ;; TODO: unbundle mkpasswd binary + its po files. (arguments @@ -471,13 +471,14 @@ (define-public whois (add-before 'build 'setenv (lambda _ (setenv "HAVE_ICONV" "1") - (setenv "HAVE_LIBIDN" "1") #t))))) (inputs + ;; TODO: Switch to libidn2 when >= 2.0.3 is ungrafted in master. `(("libidn" ,libidn))) (native-inputs `(("gettext" ,gettext-minimal) - ("perl" ,perl))) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) (synopsis "Improved whois client") (description "This whois client is intelligent and can automatically select the appropriate whois server for most queries. -- cgit v1.2.3 From 3bbc6fae15fe013aa39b88f0e1866a098fb936fd Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 11 Dec 2017 19:21:35 -0500 Subject: gnu: linux-libre@4.4: Update to 4.4.105. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.105. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ec6f0b132f..09129b8331 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -389,8 +389,8 @@ (define-public linux-libre-4.9 #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.104" - "1971hphyqbzh80frkbidbqwhgk21r5p2a42bihjcd5kh3pssn4zl" + (make-linux-libre "4.4.105" + "177qvci7wfrc23vi11bnyayfivxf6d8hankgrzv26jr3z6j0rall" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From 7dd51f2dd0ecdc56a364521f8f93b48afa74e05f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 11 Dec 2017 19:22:12 -0500 Subject: gnu: linux-libre@4.9: Update to 4.9.68. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.68. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 09129b8331..c04fb6d523 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,8 +383,8 @@ (define-public linux-libre #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.67" - "1fr8h4g3j4ns0x33i36kgsgb175cdz9v530gx8sxcrbkd10i9i07" + (make-linux-libre "4.9.68" + "0azfdr8yjsvzmlp64fw5syp5sflvqgfsvd57dg7p97spwn823jmn" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From 111841c33eff515de4032e38bba8c6ab52dc940b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 11 Dec 2017 19:22:47 -0500 Subject: gnu: linux-libre: Update to 4.14.5. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.14.5. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c04fb6d523..497096d476 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -369,8 +369,8 @@ (define* (make-linux-libre version hash supported-systems (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux")) -(define %linux-libre-version "4.14.4") -(define %linux-libre-hash "1hl4n1jpqd05b7qnxbwjmbl2l5cgrh2spqsjq1fnihphmawjd3li") +(define %linux-libre-version "4.14.5") +(define %linux-libre-hash "1m3dqh0ysqkx00s064zwqyzl48jdq1bv9inm9hfqha24v7iq33b8") ;; linux-libre configuration for armhf-linux is derived from Debian armmp. It ;; supports qemu "virt" machine and possibly a large number of ARM boards. -- cgit v1.2.3 From c1c825844392d2db2414ec0c07dce0d882b6551d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 9 Dec 2017 22:01:11 +0100 Subject: gnu: Add snapscreenshot. * gnu/packages/linux.scm (snapscreenshot): New public variable. --- gnu/packages/linux.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 497096d476..3e3d110129 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4462,3 +4462,43 @@ (define-public psm ;; Only Intel-compatable processors are supported. (supported-systems '("i686-linux" "x86_64-linux")) (license (list license:bsd-2 license:gpl2)))) ;dual + +(define-public snapscreenshot + (package + (name "snapscreenshot") + (version "1.0.14.3") + (source + (origin + (method url-fetch) + (uri (string-append "http://bisqwit.iki.fi/src/arch/" + name "-" version ".tar.bz2")) + (sha256 + (base32 "0gzvqsbf6a2sbd1mqvj1lbm57i2bm5k0cr6ncr821d1f32gw03mk")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "BINDIR=" out "/bin") + (string-append "MANDIR=" out "/share/man"))) + #:tests? #f ; no test suite + #:phases + (modify-phases %standard-phases + (delete 'configure) ; ./configure is a snarky no-op + (add-before 'install 'fix-ownership + ;; Install binaries owned by ‘root’ instead of the nonexistent ‘bin’. + (lambda _ + (substitute* "depfun.mak" + ((" -o bin -g bin ") " ")) + #t)) + (add-before 'install 'create-output-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/share/man/man1")) + #t)))))) + (home-page "http://bisqwit.iki.fi/source/snapscreenshot.html") + (synopsis "Take screenshots of one or more Linux text consoles") + (description + "snapscreenshot saves a screenshot of one or more Linux text consoles as a +Targa (@dfn{.tga}) image. It can be used by anyone with read access to the +relevant @file{/dev/vcs*} file(s).") + (license license:gpl2))) -- cgit v1.2.3 From 8d8d227bbbe9bd1981bc63704c7f3fe029001f53 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 9 Dec 2017 22:16:08 +0100 Subject: gnu: Add fbcat. * gnu/packages/linux.scm (fbcat): New public variable. --- gnu/packages/linux.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3e3d110129..a25d2cd9e1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -78,6 +78,7 @@ (define-module (gnu packages linux) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) + #:use-module (gnu packages netpbm) #:use-module (gnu packages networking) #:use-module (gnu packages ninja) #:use-module (gnu packages perl) @@ -4502,3 +4503,79 @@ (define-public snapscreenshot Targa (@dfn{.tga}) image. It can be used by anyone with read access to the relevant @file{/dev/vcs*} file(s).") (license license:gpl2))) + +(define-public fbcat + (package + (name "fbcat") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/jwilk/fbcat/releases/download/" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 "1dla1na3nf3s4xy0p6w0v54zipg1x8c14yqsw8w9qjzhchr4caxw")))) + (build-system gnu-build-system) + (native-inputs + ;; For building the man pages. + `(("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("xsltproc" ,libxslt))) + (inputs + ;; The ‘fbgrab’ wrapper can use one of several PPM-to-PNG converters. We + ;; choose netpbm simply because it's the smallest. It still adds ~94 MiB + ;; to an otherwise tiny package, so we put ‘fbgrab’ in its own output. + `(("pnmtopng" ,netpbm))) + (outputs (list "out" "fbgrab")) + (arguments + `(#:make-flags (list "CC=gcc") + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-docbook-location + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "doc/Makefile" + (("http://docbook.sourceforge.net/release/xsl/current") + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl)))) + #t)) + (delete 'configure) ; no configure script + (add-after 'build 'build-documentation + (lambda* (#:key make-flags #:allow-other-keys) + (zero? (apply system* "make" "-C" "doc" + make-flags)))) + (add-after 'build 'qualify-references + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((pnmtopng (assoc-ref inputs "pnmtopng")) + (out (assoc-ref outputs "out"))) + (substitute* "fbgrab" + (("fbcat" all) + (string-append out "/bin/" all)) + (("pnmtopng" all) + (string-append pnmtopng "/bin/" all))) + #t))) + (replace 'install + ;; The Makefile lacks an ‘install’ target. Install files manually. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out:fbgrab (assoc-ref outputs "fbgrab"))) + (install-file "fbcat" (string-append out "/bin")) + (install-file "doc/fbcat.1" + (string-append out "/share/man/man1")) + (install-file "fbgrab" (string-append out:fbgrab "/bin")) + (install-file "doc/fbgrab.1" + (string-append out:fbgrab "/share/man/man1")) + #t)))))) + (home-page "https://jwilk.net/software/fbcat") + (synopsis "Take a screenshot of the contents of the Linux framebuffer") + (description + "fbcat saves the contents of the Linux framebuffer (@file{/dev/fb*}), or +a dump therof. It supports a wide range of drivers and pixel formats. +@command{fbcat} can take screenshots of virtually any application that can be +made to write its output to the framebuffer, including (but not limited to) +text-mode or graphical applications that don't use a display server. + +Also included is @command{fbgrab}, a wrapper around @command{fbcat} that +emulates the behaviour of Gunnar Monell's older fbgrab utility.") + (license license:gpl2))) -- cgit v1.2.3 From cc3ac162c558a51c90b76b84b081a15e28d0baad Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 8 Dec 2017 19:45:40 +0100 Subject: gnu: Add uthash. * gnu/packages/datastructures.scm (uthash): New public variable. --- gnu/packages/datastructures.scm | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index 36318ee04e..0c751f4970 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -116,3 +116,58 @@ (define-public liburcu based on RCU and lock-free algorithms. These structures include hash tables, queues, stacks, and doubly-linked lists.") (license license:lgpl2.1+))) + +(define-public uthash + (package + (name "uthash") + (version "2.0.2") + (source + (origin + (method url-fetch) + (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append "https://github.com/troydhanson/uthash/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "1la82gdlyl7m8ahdjirigwfh7zjgkc24cvydrqcri0vsvm8iv8rl")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl))) + (arguments + `(#:make-flags + (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) ; nothing to configure + (delete 'build) ; nothing to build + (replace 'check + (lambda* (#:key make-flags #:allow-other-keys) + (with-directory-excursion "tests" + (zero? (apply system* "make" + make-flags))))) + (replace 'install + ;; There is no top-level Makefile to do this for us. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name)) + (include (string-append out "/include"))) + ;; Don't install HTML files: they're just the below .txt files + ;; dolled up, can be stale, and regeneration requires asciidoc. + (for-each (λ (file) (install-file file doc)) + (find-files "doc" "\\.txt$")) + (for-each (λ (file) (install-file file include)) + (find-files "src" "\\.h$")) + #t)))))) + (home-page "https://troydhanson.github.io/uthash/") + (synopsis + "Hash tables, lists, and other data structures implemented as C macros") + (description + "uthash implements a hash table and a few other basic data structures +as C preprocessor macros. It aims to be minimalistic and efficient: it's +around 1,000 lines of code which, being macros, inline automatically. + +Unlike function calls with fixed prototypes, macros operate on untyped +arguments. Thus, they are able to work with any type of structure and key. +Any C structure can be stored in a hash table by adding @code{UT_hash_handle} +to the structure and choosing one or more fields to act as the key.") + (license license:bsd-2))) -- cgit v1.2.3 From 6e119bad60b3c1aa3b13f5b6d7e8c2987d3453d0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 12 Dec 2017 03:22:55 +0100 Subject: gnu: xfig, transfig: Update home pages. * gnu/packages/xfig.scm (xfig, transfig)[home-page]: Use SourceForge.net. --- gnu/packages/xfig.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm index e51558e0be..287615f1ce 100644 --- a/gnu/packages/xfig.scm +++ b/gnu/packages/xfig.scm @@ -122,7 +122,7 @@ (define-public xfig (close-pipe in) (close-port out))) (zero? (system* "make" "install.doc")))))))) - (home-page "http://xfig.org/") + (home-page "http://mcj.sourceforge.net/") (synopsis "Interactive drawing tool") (description "Xfig is an interactive drawing tool which runs under X Window System. @@ -195,7 +195,7 @@ (define-public transfig (add-after 'install 'install/doc (lambda _ (zero? (system* "make" "install.man"))))))) - (home-page "http://www.xfig.org/") + (home-page "http://mcj.sourceforge.net/") (synopsis "Create portable LaTeX figures") (description "Transfig creates a makefile to translate figures described in Fig code -- cgit v1.2.3 From cbf5eb84ef315e321b8d2d82cc59e8e3c5035aea Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Dec 2017 20:47:01 +0200 Subject: gnu: global: Update to 6.6. * gnu/packages/code.scm (global): Update to 6.6. --- gnu/packages/code.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 859dfd0ca7..b246ca0eb9 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Andy Wingo @@ -99,14 +99,14 @@ (define-public complexity (define-public global ; a global variable (package (name "global") - (version "6.5.7") + (version "6.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/global/global-" version ".tar.gz")) (sha256 (base32 - "0cnd7a7d1pl46yk15q6mnr9i9w3xi8pxgchw4ia9njgr4jjqzh6r")))) + "09vm11pkzbqbbhigapi1fvfcrb2gwqffjnc37yc2r7j2falnxa47")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) ("libltdl" ,libltdl) -- cgit v1.2.3 From 1e000f176f1512c128b50cbb2cd10ceefd89883d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 12 Dec 2017 17:47:34 +0100 Subject: gnu: miniupnpc: Update to 2.0.20171212. * gnu/packages/upnp.scm (miniupnpc): Update to 2.0.20171212. --- gnu/packages/upnp.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 8fa62c9896..f2669f11a8 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -28,14 +28,14 @@ (define-module (gnu packages upnp) (define-public miniupnpc (package (name "miniupnpc") - (version "2.0.20171102") + (version "2.0.20171212") (source (origin (method url-fetch) (uri (string-append "https://miniupnp.tuxfamily.org/files/" name "-" version ".tar.gz")) (sha256 - (base32 "1m1552kkdxkyyb5gyykp0j8falxwf1424cm55y50q9l10l11g18l")))) + (base32 "0za7pr6hrr3ajkifirhhxfn3hlhl06f622g8hnj5h8y18sp3bwff")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) @@ -59,7 +59,8 @@ (define-public miniupnpc (lambda* (#:key outputs #:allow-other-keys) (substitute* "external-ip.sh" (("upnpc") - (string-append (assoc-ref outputs "out") "/bin/upnpc")))))))) + (string-append (assoc-ref outputs "out") "/bin/upnpc"))) + #t))))) (home-page "http://miniupnp.free.fr/") (synopsis "UPnP protocol client library") (description -- cgit v1.2.3 From e05cc6b80236d7987554d13627ccad69ec7a2a46 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 10 Dec 2017 22:30:41 +0100 Subject: gnu: meson: Update to 0.44.0. * gnu/packages/build-tools.scm (meson): Update to 0.44.0 --- gnu/packages/build-tools.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 00a286150a..7c0faca9a2 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Corentin Bocquillon +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,7 +71,7 @@ (define-public bam (define-public meson (package (name "meson") - (version "0.43.0") + (version "0.44.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -78,7 +79,7 @@ (define-public meson version ".tar.gz")) (sha256 (base32 - "0h3k0m45004ay1hzz9r66fkl1kwizaigxahyrlabyw0d1slyq4y5")))) + "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah")))) (build-system python-build-system) (inputs `(("ninja", ninja))) (propagated-inputs `(("python" ,python))) -- cgit v1.2.3 From 64bae7237c65b32d97e16ff6802124c26867754a Mon Sep 17 00:00:00 2001 From: nee Date: Mon, 9 Oct 2017 23:06:05 +0200 Subject: gnu: services: Add php-fpm. * gnu/services/web.scm (, ): New record types. (php-fpm-configuration?, php-fpm-process-manager-configuration?, php-fpm-service-type, nginx-php-location): New procedures. * doc/guix.texi (Web-Services): Document php-fpm service. * gnu/tests/web.scm: Add php-fpm system test. Signed-off-by: Christopher Baines --- doc/guix.texi | 140 +++++++++++++++++++++++++++++ gnu/services/web.scm | 247 ++++++++++++++++++++++++++++++++++++++++++++++++++- gnu/tests/web.scm | 123 ++++++++++++++++++++++++- 3 files changed, 508 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 592cae5d59..bbeef47ec1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -44,6 +44,7 @@ Copyright @copyright{} 2017 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017 Arun Isaac +Copyright @copyright{} 2017 nee Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -15081,6 +15082,145 @@ capability also has to be configured on the front-end as well. @end table @end deftp +@cindex php-fpm +PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation +with some additional features useful for sites of any size. + +These features include: +@itemize @bullet +@item Adaptive process spawning +@item Basic statistics (similar to Apache's mod_status) +@item Advanced process management with graceful stop/start +@item Ability to start workers with different uid/gid/chroot/environment +and different php.ini (replaces safe_mode) +@item Stdout & stderr logging +@item Emergency restart in case of accidental opcode cache destruction +@item Accelerated upload support +@item Support for a "slowlog" +@item Enhancements to FastCGI, such as fastcgi_finish_request() - +a special function to finish request & flush all data while continuing to do +something time-consuming (video converting, stats processing, etc.) +@end itemize +... and much more. + +@defvr {Scheme Variable} php-fpm-service-type +A Service type for @code{php-fpm}. +@end defvr + +@deftp {Data Type} php-fpm-configuration +Data Type for php-fpm service configuration. +@table @asis +@item @code{php} (default: @code{php}) +The php package to use. +@item @code{socket} (default: @code{(string-append "/var/run/php" (version-major (package-version php)) "-fpm.sock")}) +The address on which to accept FastCGI requests. Valid syntaxes are: +@table @asis +@item @code{"ip.add.re.ss:port"} +Listen on a TCP socket to a specific address on a specific port. +@item @code{"port"} +Listen on a TCP socket to all addresses on a specific port. +@item @code{"/path/to/unix/socket"} +Listen on a unix socket. +@end table + +@item @code{user} (default: @code{php-fpm}) +User who will own the php worker processes. +@item @code{group} (default: @code{php-fpm}) +Group of the worker processes. +@item @code{socket-user} (default: @code{php-fpm}) +User who can speak to the php-fpm socket. +@item @code{socket-group} (default: @code{php-fpm}) +Group that can speak to the php-fpm socket. +@item @code{pid-file} (default: @code{(string-append "/var/run/php" (version-major (package-version php)) "-fpm.pid")}) +The process id of the php-fpm process is written to this file +once the service has started. +@item @code{log-file} (default: @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.log")}) +Log for the php-fpm master process. +@item @code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)}) +Detailed settings for the php-fpm process manager. +Must be either: +@table @asis +@item @code{} +@item @code{} +@item @code{} +@end table +@item @code{display-errors} (default @code{#f}) +Determines wether php errors and warning should be sent to clients +and displayed in their browsers. +This is useful for local php development, but a security risk for public sites, +as error messages can reveal passwords and personal data. +@item @code{workers-logfile} (default @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.www.log")}) +This file will log the @code{stderr} outputs of php worker processes. +Can be set to @code{#f} to disable logging. +@item @code{file} (default @code{#f}) +An optional override of the whole configuration. +You can use the @code{mixed-text-file} function or an absolute filepath for it. +@end table +@end deftp + +@deftp {Data type} php-fpm-dynamic-process-manager-configuration +Data Type for the @code{dynamic} php-fpm process manager. With the +@code{dynamic} process manager, spare worker processes are kept around +based on it's configured limits. +@table @asis +@item @code{max-children} (default: @code{5}) +Maximum of worker processes. +@item @code{start-servers} (default: @code{2}) +How many worker processes should be started on start-up. +@item @code{min-spare-servers} (default: @code{1}) +How many spare worker processes should be kept around at minimum. +@item @code{max-spare-servers} (default: @code{3}) +How many spare worker processes should be kept around at maximum. +@end table +@end deftp + +@deftp {Data type} php-fpm-static-process-manager-configuration +Data Type for the @code{static} php-fpm process manager. With the +@code{static} process manager, an unchanging number of worker processes +are created. +@table @asis +@item @code{max-children} (default: @code{5}) +Maximum of worker processes. +@end table +@end deftp + +@deftp {Data type} php-fpm-on-demand-process-manager-configuration +Data Type for the @code{on-demand} php-fpm process manager. With the +@code{on-demand} process manager, worker processes are only created as +requests arrive. +@table @asis +@item @code{max-children} (default: @code{5}) +Maximum of worker processes. +@item @code{process-idle-timeout} (default: @code{10}) +The time in seconds after which a process with no requests is killed. +@end table +@end deftp + + +@deffn {Scheme Procedure} nginx-php-fpm-location @ + [#:nginx-package nginx] @ + [socket (string-append "/var/run/php" @ + (version-major (package-version php)) @ + "-fpm.sock")] +A helper function to quickly add php to an @code{nginx-server-configuration}. +@end deffn + +A simple services setup for nginx with php can look like this: +@example +(services (cons* (dhcp-client-service) + (service php-fpm-service-type) + (service nginx-service-type + (nginx-server-configuration + (server-name '("example.com")) + (root "/srv/http/") + (locations + (list (nginx-php-location))) + (https-port #f) + (ssl-certificate #f) + (ssl-certificate-key #f))) + %base-services)) +@end example + @node Certificate Services @subsubsection Certificate Services diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 7f338039e0..582cf535cb 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 ng0 ;;; Copyright © 2016, 2017 Julien Lepiller ;;; Copyright © 2017 Christopher Baines +;;; Copyright © 2017 nee ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,8 +27,11 @@ (define-module (gnu services web) #:use-module (gnu system shadow) #:use-module (gnu packages admin) #:use-module (gnu packages web) + #:use-module (gnu packages php) #:use-module (guix records) #:use-module (guix gexp) + #:use-module ((guix utils) #:select (version-major)) + #:use-module ((guix packages) #:select (package-version)) #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:export ( @@ -78,7 +82,49 @@ (define-module (gnu services web) fcgiwrap-configuration fcgiwrap-configuration? - fcgiwrap-service-type)) + fcgiwrap-service-type + + + php-fpm-configuration + make-php-fpm-configuration + php-fpm-configuration? + php-fpm-configuration-php + php-fpm-configuration-socket + php-fpm-configuration-user + php-fpm-configuration-group + php-fpm-configuration-socket-user + php-fpm-configuration-socket-group + php-fpm-configuration-pid-file + php-fpm-configuration-log-file + php-fpm-configuration-process-manager + php-fpm-configuration-display-errors + php-fpm-configuration-workers-log-file + php-fpm-configuration-file + + + php-fpm-dynamic-process-manager-configuration + make-php-fpm-dynamic-process-manager-configuration + php-fpm-dynamic-process-manager-configuration? + php-fpm-dynamic-process-manager-configuration-max-children + php-fpm-dynamic-process-manager-configuration-start-servers + php-fpm-dynamic-process-manager-configuration-min-spare-servers + php-fpm-dynamic-process-manager-configuration-max-spare-servers + + + php-fpm-static-process-manager-configuration + make-php-fpm-static-process-manager-configuration + php-fpm-static-process-manager-configuration? + php-fpm-static-process-manager-configuration-max-children + + + php-fpm-on-demand-process-manager-configuration + make-php-fpm-on-demand-process-manager-configuration + php-fpm-on-demand-process-manager-configuration? + php-fpm-on-demand-process-manager-configuration-max-children + php-fpm-on-demand-process-manager-configuration-process-idle-timeout + + php-fpm-service-type + nginx-php-location)) ;;; Commentary: ;;; @@ -397,3 +443,202 @@ (define fcgiwrap-service-type (service-extension account-service-type fcgiwrap-accounts))) (default-value (fcgiwrap-configuration)))) + +(define-record-type* php-fpm-configuration + make-php-fpm-configuration + php-fpm-configuration? + (php php-fpm-configuration-php ; + (default php)) + (socket php-fpm-configuration-socket + (default (string-append "/var/run/php" + (version-major (package-version php)) + "-fpm.sock"))) + (user php-fpm-configuration-user + (default "php-fpm")) + (group php-fpm-configuration-group + (default "php-fpm")) + (socket-user php-fpm-configuration-socket-user + (default "php-fpm")) + (socket-group php-fpm-configuration-socket-group + (default "nginx")) + (pid-file php-fpm-configuration-pid-file + (default (string-append "/var/run/php" + (version-major (package-version php)) + "-fpm.pid"))) + (log-file php-fpm-configuration-log-file + (default (string-append "/var/log/php" + (version-major (package-version php)) + "-fpm.log"))) + (process-manager php-fpm-configuration-process-manager + (default (php-fpm-dynamic-process-manager-configuration))) + (display-errors php-fpm-configuration-display-errors + (default #f)) + (workers-log-file php-fpm-configuration-workers-log-file + (default (string-append "/var/log/php" + (version-major (package-version php)) + "-fpm.www.log"))) + (file php-fpm-configuration-file ;#f | file-like + (default #f))) + +(define-record-type* + php-fpm-dynamic-process-manager-configuration + make-php-fpm-dynamic-process-manager-configuration + php-fpm-dynamic-process-manager-configuration? + (max-children php-fpm-dynamic-process-manager-configuration-max-children + (default 5)) + (start-servers php-fpm-dynamic-process-manager-configuration-start-servers + (default 2)) + (min-spare-servers php-fpm-dynamic-process-manager-configuration-min-spare-servers + (default 1)) + (max-spare-servers php-fpm-dynamic-process-manager-configuration-max-spare-servers + (default 3))) + +(define-record-type* + php-fpm-static-process-manager-configuration + make-php-fpm-static-process-manager-configuration + php-fpm-static-process-manager-configuration? + (max-children php-fpm-static-process-manager-configuration-max-children + (default 5))) + +(define-record-type* + php-fpm-on-demand-process-manager-configuration + make-php-fpm-on-demand-process-manager-configuration + php-fpm-on-demand-process-manager-configuration? + (max-children php-fpm-on-demand-process-manager-configuration-max-children + (default 5)) + (process-idle-timeout php-fpm-on-demand-process-manager-configuration-process-idle-timeout + (default 10))) + +(define php-fpm-accounts + (match-lambda + (($ php socket user group socket-user socket-group _ _ _ _ _ _) + (list + (user-group (name "php-fpm") (system? #t)) + (user-group + (name group) + (system? #t)) + (user-account + (name user) + (group group) + (supplementary-groups '("php-fpm")) + (system? #t) + (comment "php-fpm daemon user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))))) + +(define (default-php-fpm-config socket user group socket-user socket-group + pid-file log-file pm display-errors workers-log-file) + (apply mixed-text-file "php-fpm.conf" + (flatten + "[global]\n" + "pid =" pid-file "\n" + "error_log =" log-file "\n" + "[www]\n" + "user =" user "\n" + "group =" group "\n" + "listen =" socket "\n" + "listen.owner =" socket-user "\n" + "listen.group =" socket-group "\n" + + (match pm + (($ + pm.max-children + pm.start-servers + pm.min-spare-servers + pm.max-spare-servers) + (list + "pm = dynamic\n" + "pm.max_children =" (number->string pm.max-children) "\n" + "pm.start_servers =" (number->string pm.start-servers) "\n" + "pm.min_spare_servers =" (number->string pm.min-spare-servers) "\n" + "pm.max_spare_servers =" (number->string pm.max-spare-servers) "\n")) + + (($ + pm.max-children) + (list + "pm = static\n" + "pm.max_children =" (number->string pm.max-children) "\n")) + + (($ + pm.max-children + pm.process-idle-timeout) + (list + "pm = ondemand\n" + "pm.max_children =" (number->string pm.max-children) "\n" + "pm.process_idle_timeout =" (number->string pm.process-idle-timeout) "s\n"))) + + + "php_flag[display_errors] = " (if display-errors "on" "off") "\n" + + (if workers-log-file + (list "catch_workers_output = yes\n" + "php_admin_value[error_log] =" workers-log-file "\n" + "php_admin_flag[log_errors] = on\n") + (list "catch_workers_output = no\n"))))) + +(define php-fpm-shepherd-service + (match-lambda + (($ php socket user group socket-user socket-group + pid-file log-file pm display-errors workers-log-file file) + (list (shepherd-service + (provision '(php-fpm)) + (documentation "Run the php-fpm daemon.") + (requirement '(networking)) + (start #~(make-forkexec-constructor + '(#$(file-append php "/sbin/php-fpm") + "--fpm-config" + #$(or file + (default-php-fpm-config socket user group + socket-user socket-group pid-file log-file + pm display-errors workers-log-file))) + #:pid-file #$pid-file)) + (stop #~(make-kill-destructor))))))) + +(define php-fpm-activation + (match-lambda + (($ _ _ user _ _ _ _ log-file _ _ workers-log-file _) + #~(begin + (use-modules (guix build utils)) + (let* ((user (getpwnam #$user)) + (touch (lambda (file-name) + (call-with-output-file file-name (const #t)))) + (init-log-file + (lambda (file-name) + (when #$workers-log-file + (when (not (file-exists? file-name)) + (touch file-name)) + (chown file-name (passwd:uid user) (passwd:gid user)) + (chmod file-name #o660))))) + (init-log-file #$log-file) + (init-log-file #$workers-log-file)))))) + + +(define php-fpm-service-type + (service-type + (name 'php-fpm) + (description + "Run @command{php-fpm} to provide a fastcgi socket for calling php through +a webserver.") + (extensions + (list (service-extension shepherd-root-service-type + php-fpm-shepherd-service) + (service-extension activation-service-type + php-fpm-activation) + (service-extension account-service-type + php-fpm-accounts))) + (default-value (php-fpm-configuration)))) + +(define* (nginx-php-location + #:key + (nginx-package nginx) + (socket (string-append "/var/run/php" + (version-major (package-version php)) + "-fpm.sock"))) + "Return a nginx-location-configuration that makes nginx run .php files." + (nginx-location-configuration + (uri "~ \\.php$") + (body (list + "fastcgi_split_path_info ^(.+\\.php)(/.+)$;" + (string-append "fastcgi_pass unix:" socket ";") + "fastcgi_index index.php;" + (list "include " nginx-package "/share/nginx/conf/fastcgi.conf;"))))) diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index de7ab3cd65..e975cb8300 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017 Christopher Baines ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +28,8 @@ (define-module (gnu tests web) #:use-module (gnu services networking) #:use-module (guix gexp) #:use-module (guix store) - #:export (%test-nginx)) + #:export (%test-nginx + %test-php-fpm)) (define %index.html-contents ;; Contents of the /index.html file served by nginx. @@ -129,3 +131,122 @@ (define %test-nginx (name "nginx") (description "Connect to a running NGINX server.") (value (run-nginx-test)))) + + +;;; +;;; PHP-FPM +;;; + +(define %make-php-fpm-http-root + ;; Create our server root in /srv. + #~(begin + (mkdir "/srv") + (call-with-output-file "/srv/index.php" + (lambda (port) + (display "\n" port))))) + +(define %php-fpm-nginx-server-blocks + (list (nginx-server-configuration + (root "/srv") + (locations + (list (nginx-php-location))) + (http-port 8042) + (https-port #f) + (ssl-certificate #f) + (ssl-certificate-key #f)))) + +(define %php-fpm-os + ;; Operating system under test. + (simple-operating-system + (dhcp-client-service) + (service php-fpm-service-type) + (service nginx-service-type + (nginx-configuration + (server-blocks %php-fpm-nginx-server-blocks))) + (simple-service 'make-http-root activation-service-type + %make-php-fpm-http-root))) + +(define* (run-php-fpm-test #:optional (http-port 8042)) + "Run tests in %PHP-FPM-OS, which has nginx running and listening on +HTTP-PORT, along with php-fpm." + (define os + (marionette-operating-system + %php-fpm-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (port-forwardings `((8080 . ,http-port))))) + + (define test + (with-imported-modules '((gnu build marionette) + (guix build utils)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (web uri) + (web client) + (web response)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "php-fpm") + + (test-assert "php-fpm running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'php-fpm) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-eq "nginx running" + 'running! + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'nginx) + 'running!) + marionette)) + + (test-equal "http-get" + 200 + (let-values (((response text) + (http-get "http://localhost:8080/index.php" + #:decode-body? #t))) + (response-code response))) + + (test-equal "php computed result is sent" + "Computed by php:5" + (let-values (((response text) + (http-get "http://localhost:8080/index.php" + #:decode-body? #t))) + (begin + (use-modules (ice-9 regex)) + (let ((matches (string-match "Computed by php:5" text))) + (and matches + (match:substring matches 0)))))) + + (test-end) + + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "php-fpm-test" test)) + +(define %test-php-fpm + (system-test + (name "php-fpm") + (description "Test PHP-FPM through nginx.") + (value (run-php-fpm-test)))) -- cgit v1.2.3 From a7ebe9dc39450efef2543ff7315c69811f9fa6f4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 12 Dec 2017 02:55:30 +0100 Subject: gnu: xfig: Update to 3.2.6a. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xfig.scm (xfig): Update to 3.2.6a. [native-inputs]: Remove groff, imake, makedepend. Add desktop-file-utils. [inputs]: Remove libxmu and zlib. [arguments]: Remove custom phases. Add a ‘strip-bogus-exec-prefix’ phase. Run the rudimentary test suite. --- gnu/packages/xfig.scm | 101 ++++++++++---------------------------------------- 1 file changed, 20 insertions(+), 81 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm index 287615f1ce..3bb839f6e4 100644 --- a/gnu/packages/xfig.scm +++ b/gnu/packages/xfig.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2014 Federico Beffa +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,105 +24,43 @@ (define-module (gnu packages xfig) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages xorg) #:use-module (gnu packages image) - #:use-module (gnu packages groff) #:use-module (gnu packages compression)) (define-public xfig (package (name "xfig") - (version "3.2.5c") + (version "3.2.6a") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/mcj/mcj-source/xfig." - version ".full.tar.gz")) + (uri (string-append "mirror://sourceforge/mcj/" + name "-" version ".tar.xz")) (sha256 (base32 - "1yd1jclvw5w3ja4jjzr1ysbn8iklh88wq84jn9d1gavrbfbqyqpa")))) + "0z1636w27hvgjpq98z40k8h535b4x2xr2whkvr7bibaa89fynym8")))) (build-system gnu-build-system) (native-inputs - `(("imake" ,imake) - ("makedepend" ,makedepend) - ("groff" ,groff))) ;for creating some doc + ;; For tests. + `(("desktop-file-utils" ,desktop-file-utils))) (inputs `(("libxaw3d" ,libxaw3d) - ;; Requires libjpeg>=9a, otherwise jmorecfg.h define an enum FALSE that - ;; conflicts with the FALSE macro from X11/Intrinsic.h - ("libjpeg" ,libjpeg) - ("libpng" ,libpng) - ("libxpm" ,libxpm) - ("libx11" ,libx11) - ("libxmu" ,libxmu) - ("libxt" ,libxt) - ("zlib" ,zlib))) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libxpm" ,libxpm) + ("libx11" ,libx11) + ("libxt" ,libxt))) (arguments - `(#:tests? #f - #:phases + `(#:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((imake (assoc-ref inputs "imake")) - (out (assoc-ref outputs "out"))) - (substitute* "Imakefile" - (("XCOMM XAPPLOADDIR = /home/user/xfig *") - (string-append "XAPPLOADDIR = " out ,%app-defaults-dir)) - (("XCOMM (BINDIR = )[[:graph:]]*" _ front) - (string-append front out "/bin")) - (("(PNGLIBDIR = )[[:graph:]]*" _ front) - (string-append front (assoc-ref inputs "libpng") "/lib")) - (("(PNGINC = -I)[[:graph:]]*" _ front) - (string-append front (assoc-ref inputs "libpng") "/include")) - (("(JPEGLIBDIR = )[[:graph:]]*" _ front) - (string-append front (assoc-ref inputs "libjpeg") "/lib")) - (("(JPEGINC = -I)[[:graph:]]*" _ front) - (string-append front (assoc-ref inputs "libjpeg") "/include")) - (("(ZLIBDIR = )[[:graph:]]*" _ front) - (string-append front (assoc-ref inputs "zlib") "/lib")) - (("(XPMLIBDIR = )[[:graph:]]*" _ front) - (string-append front (assoc-ref inputs "libxpm") "/lib")) - (("(XPMINC = -I)[[:graph:]]*" _ front) - (string-append front (assoc-ref inputs "libxpm") "/include")) - (("(XFIGLIBDIR = )[[:graph:]]*" _ front) - (string-append front out "/lib")) - (("(XFIGDOCDIR = )[[:graph:]]*" _ front) - (string-append front out "/share/doc")) - (("XCOMM USEINLINE") "USEINLINE")) - ;; The -a argument is required in order to pick up the correct paths - ;; to several X header files. - (invoke "xmkmf" "-a") - ;; Reset some variables that are inherited from imake templates - (substitute* "Makefile" - ;; These imake variables somehow remain undefined - (("DefaultGcc2[[:graph:]]*Opt") "-O2") - ;; Reset a few variable defaults that are set in imake templates - ((imake) out) - (("(MANPATH = )[[:graph:]]*" _ front) - (string-append front out "/share/man")) - (("(CONFDIR = )([[:graph:]]*)" _ front default) - (string-append front out default)))) - #t)) - (add-after - 'install 'install/libs - (lambda _ - (zero? (system* "make" "install.libs")))) - (add-after - 'install 'install/doc - (lambda _ - (begin - ;; The Doc/xfig_man.html file is expected by the install.html - ;; target, but is not present in the tarball, so generate it. - (use-modules (ice-9 popen)) - (let* ((in (open-pipe* OPEN_READ - "groff" "-mandoc" "-Thtml" - "Doc/xfig.man")) - (out (open-output-file "Doc/xfig_man.html"))) - (begin - (dump-port in out) - (close-pipe in) - (close-port out))) - (zero? (system* "make" "install.doc")))))))) + (add-before 'install 'strip-bogus-exec-prefix + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "xfig.desktop" + ;; The patch-dot-desktop-files phase requires a relative name. + (("Exec=/usr/bin/xfig") "Exec=xfig")) + #t))))) (home-page "http://mcj.sourceforge.net/") (synopsis "Interactive drawing tool") (description -- cgit v1.2.3 From 40761f57adaceb0e2a9f498fd6a3a25b4eb1324a Mon Sep 17 00:00:00 2001 From: Mark Meyer Date: Tue, 5 Dec 2017 00:52:42 +0100 Subject: gnu: Add krita. * gnu/packages/kde.scm (krita): New variable. Signed-off-by: Kei Kebreau --- gnu/packages/kde.scm | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 59271ebee5..b5a3df2ca3 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016, 2017 Thomas Danckaert +;;; Copyright © 2017 Mark Meyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,18 +24,29 @@ (define-module (gnu packages kde) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (gnu packages algebra) #:use-module (gnu packages apr) #:use-module (gnu packages boost) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages documentation) + #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages gnome) + #:use-module (gnu packages graphics) + #:use-module (gnu packages image) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages llvm) + #:use-module (gnu packages maths) + #:use-module (gnu packages pdf) + #:use-module (gnu packages perl) + #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages tls) #:use-module (gnu packages qt) - #:use-module (gnu packages version-control)) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xorg)) (define-public kdevelop (package @@ -220,6 +232,79 @@ (define-public kdevplatform plugins, as well as code to create plugins, or complete applications.") (license license:gpl3+))) +(define-public krita + (package + (name "krita") + (version "3.3.2.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/krita/" + "3.3.2/" name "-" version ".tar.xz")) + (sha256 + (base32 + "0i3l27cfi1h486m74xf4ynk0pwx32xaqraa91a0g1bpj1jxf2mg5")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f + #:configure-flags + (list "-DBUILD_TESTING=OFF" "-DKDE4_BUILD_TESTS=OFF" + (string-append "-DWITH_FFTW3=" + (assoc-ref %build-inputs "fftw")) + (string-append "-DWITH_GSL=" + (assoc-ref %build-inputs "gsl")) + (string-append "-DWITH_LibRaw=" + (assoc-ref %build-inputs "libraw")) + (string-append "-DWITH_TIFF=" + (assoc-ref %build-inputs "libtiff"))))) + (native-inputs + `(("curl" ,curl) + ("eigen" ,eigen) + ("extra-cmake-modules" ,extra-cmake-modules) + ("gettext-minimal" ,gettext-minimal) + ("kitemmodels" ,kitemmodels) + ("qwt" ,qwt))) + (inputs + `(("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtmultimedia" ,qtmultimedia) + ("qtx11extras" ,qtx11extras) + ("qtsvg" ,qtsvg) + ("karchive" ,karchive) + ("kcompletion" ,kcompletion) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kcrash" ,kcrash) + ("kguiaddons" ,kguiaddons) + ("ki18n" ,ki18n) + ("kiconthemes" ,kiconthemes) + ("kio" ,kio) + ("kitemviews" ,kitemviews) + ("kwidgetsaddons" ,kwidgetsaddons) + ("kwindowsystem" ,kwindowsystem) + ("kxmlgui" ,kxmlgui) + ("boost" ,boost) + ("exiv2" ,exiv2) + ("lcms" ,lcms) + ("libpng" ,libpng) + ("zlib" ,zlib) + ("libx11" ,libx11) + ("libxcb" ,libxcb) + ("libxi" ,libxi) + ("fftw" ,fftw) + ("gsl" ,gsl) + ("poppler-qt5" ,poppler-qt5) + ("libraw" ,libraw) + ("libtiff" ,libtiff) + ("perl" ,perl))) + (home-page "https://krita.org") + (synopsis "Digital painting application") + (description + "Krita is a professional painting tool designed for concept artists, +illustrators, matte and texture artists, and the VFX industry. Notable +features include brush stabilizers, brush engines and wrap-around mode.") + (license license:gpl2+))) + (define-public libkomparediff2 (package (name "libkomparediff2") -- cgit v1.2.3 From 91b21ba9f712bce033b717422c3d2022ffe8a70a Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Tue, 12 Dec 2017 18:29:23 +0300 Subject: gnu: cgit: Patch absolute file names. * gnu/packages/version-control.scm (cgit): Patch absolute file names. --- gnu/packages/version-control.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 6820b28bae..cbf5ce7d87 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -539,6 +539,18 @@ (define-public cgit (zero? (system* "tar" "--strip-components=1" "-C" "git" "-xf" (assoc-ref inputs "git:src"))))) + (add-after 'unpack 'patch-absolute-file-names + (lambda* (#:key inputs #:allow-other-keys) + (define (quoted-file-name input path) + (string-append "\"" input path "\"")) + (substitute* "ui-snapshot.c" + (("\"gzip\"") + (quoted-file-name (assoc-ref inputs "gzip") "/bin/gzip")) + (("\"bzip2\"") + (quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2")) + (("\"xz\"") + (quoted-file-name (assoc-ref inputs "xz") "/bin/xz"))) + #t)) (delete 'configure) ; no configure script (add-after 'build 'build-man (lambda* (#:key make-flags #:allow-other-keys) @@ -559,7 +571,10 @@ (define-public cgit #t))))))) (native-inputs ;; For building manpage. - `(("asciidoc" ,asciidoc))) + `(("asciidoc" ,asciidoc) + ("gzip" ,gzip) + ("bzip2" ,bzip2) + ("xz" ,xz))) (inputs `(;; Cgit directly accesses some internal Git interfaces that changed in ;; Git 2.12. Try removing this special input and using the source of the -- cgit v1.2.3 From 7b307a21dd723507854ee18e458167d0fb9134fd Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 4 Dec 2017 18:04:13 +0100 Subject: vm: Use qemu drive device parameter. * gnu/build/vm.scm (load-in-linux-vm): Use device parameter to define drive device. --- gnu/build/vm.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 20ee12709b..ed84463677 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -127,8 +127,10 @@ (define* (load-in-linux-vm builder builder) (append (if make-disk-image? - `("-drive" ,(string-append "file=" output - ",if=virtio")) + `("-device" "virtio-blk,drive=myhd" + "-drive" ,(string-append "if=none,file=" output + ",format=" disk-image-format + ",id=myhd")) '()) ;; Only enable kvm if we see /dev/kvm exists. ;; This allows users without hardware virtualization to still -- cgit v1.2.3 From 57202f2e24e0770808d4661c5610132ef9d9b692 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 00:23:29 +0100 Subject: gnu: gtksourceview: Update to 3.24.6. * gnu/packages/gtk.scm (gtksourceview): Update to 3.24.6 --- gnu/packages/gtk.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 235d2c3718..ebed5bbf92 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2016 Patrick Hetu ;;; Coypright © 2016 ng0 ;;; Coypright © 2017 Roel Janssen +;;; Coypright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -380,7 +381,7 @@ (define-public gtksourceview-2 (define-public gtksourceview (package (name "gtksourceview") - (version "3.24.4") + (version "3.24.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -388,7 +389,7 @@ (define-public gtksourceview name "-" version ".tar.xz")) (sha256 (base32 - "14x738xrz9q8qz13xd7dys748ryxyq2srbqyaa9r7n47h2av2zr0")))) + "1261fwjpwn3qizmvjns9z3k3a264j3ql5anyvmisfwywpkzbv9ks")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 4168ddf689b3b7a176afd08c2c924f8e7ebb8c20 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 06:23:51 +0100 Subject: gnu: guile-gdbm-ffi: Install documentation. * gnu/packages/guile.scm (guile-gdbm-ffi)[arguments]: Install README.md and some examples. Tidy up MKDIR-P calls. --- gnu/packages/guile.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 90630e8a36..c0fda71ead 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017 ng0 +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -1074,13 +1075,16 @@ (define-public guile-gdbm-ffi (compile-file (lambda (in-file out-file) (system* guild "compile" "-o" out-file in-file)))) - ;; Make installation directories. - (mkdir-p module-dir) - (mkdir-p doc) - ;; Switch directory for compiling and installing (chdir source) + ;; Install the documentation. + (install-file "README.md" doc) + (copy-recursively "examples" (string-append doc "/examples")) + + ;; Make installation directories. + (mkdir-p module-dir) + ;; copy the source (copy-file "gdbm.scm" gdbm.scm-dest) -- cgit v1.2.3 From c2c5b115ab0d855ed96065043fd22574fb69093a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 14:18:51 +0100 Subject: gnu: polyml: Update to 5.7.1. * gnu/packages/sml.scm (polyml): Update to 5.7.1. --- gnu/packages/sml.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm index 6e57c4a4a0..b9bd7a7e82 100644 --- a/gnu/packages/sml.scm +++ b/gnu/packages/sml.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Andy Patterson +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,14 +30,14 @@ (define-module (gnu packages sml) (define-public polyml (package (name "polyml") - (version "5.7") + (version "5.7.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/polyml/polyml/archive/v" version ".tar.gz")) (sha256 - (base32 "0ycjl746h0m22w9nsdssjl47d56jih12gpkdg3yw65gakj70sd0r")) + (base32 "0a3hcv80p9j0fny6726kvgmzjzdmak9xw7f7rv8sxv96nhjdi3fi")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (inputs -- cgit v1.2.3 From d738f134e496f3a954e51d3625d3eb1fcd5e638d Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Mon, 11 Dec 2017 19:34:01 +0530 Subject: gnu: notmuch: Move elisp directory and generate autoloads. * gnu/packages/mail.scm (notmuch)[arguments]: Move elisp files to share/emacs/site-lisp/guix.d/notmuch-. Add make-autoloads phase. --- gnu/packages/mail.scm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 89062da3b7..590bdd5135 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -703,7 +703,13 @@ (define-public notmuch "1fyx20rjpwbf2j1v5fpa5s0rjnwhcgvijzh2qyinp8rlbh1qxmab")))) (build-system gnu-build-system) (arguments - '(#:make-flags (list "V=1") ; Verbose test output. + `(#:modules ((guix build gnu-build-system) + ((guix build emacs-build-system) #:prefix emacs:) + (guix build utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build emacs-build-system) + (guix build emacs-utils)) + #:make-flags (list "V=1") ; Verbose test output. #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-notmuch-lib.el (lambda _ @@ -715,16 +721,25 @@ (define-public notmuch (setenv "CC" "gcc") (setenv "CONFIG_SHELL" (which "sh")) - (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--prefix=" out)))))) + (let* ((out (assoc-ref outputs "out")) + (elisp + (string-append out "/share/emacs/site-lisp/guix.d/" + ,name "-" ,version))) + (zero? + (system* + "./configure" + (string-append "--prefix=" out) + (string-append "--emacslispdir=" elisp) + (string-append "--emacsetcdir=" elisp)))))) (add-before 'check 'prepare-test-environment (lambda _ (setenv "TEST_CC" "gcc") ;; Patch various inline shell invocations. (substitute* (find-files "test" "\\.sh$") (("/bin/sh") (which "sh"))) - #t))))) + #t)) + (add-after 'install 'make-autoloads + (assoc-ref emacs:%standard-phases 'make-autoloads))))) (native-inputs `(("bash-completion" ,bash-completion) ("emacs" ,emacs-no-x) ; Minimal lacks libxml, needed for some tests. -- cgit v1.2.3 From da43edbe0f54ea1cf0c71bd8e30572d0e8ac336a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 19:20:47 +0100 Subject: gnu: Add perl-time-piece. * gnu/packages/perl.scm (perl-time-piece): New public variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 73bab96a26..7ff55546c6 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7890,6 +7890,28 @@ (define-public perl-time-local the system epoch.") (license (package-license perl)))) +(define-public perl-time-piece + (package + (name "perl-time-piece") + (version "1.3203") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/E/ES/ESAYM/Time-Piece-" + version ".tar.gz")) + (sha256 + (base32 "0hbg99v8xqy3nx6nrjpwh1w6xwqpfflz0djkbdd72kvf8zvglwb9")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Time-Piece/") + (synopsis "Object-Oriented time objects") + (description + "This module replaces the standard @code{localtime} and @code{gmtime} +functions with implementations that return objects. It does so in a +backwards-compatible manner, so that using these functions as documented will +still work as expected.") + (license perl-license))) + (define-public perl-timedate (package (name "perl-timedate") -- cgit v1.2.3 From ab998d5e937e644e425fb0267dc72e126ba73d83 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 14:35:07 +0100 Subject: gnu: perl-test-mocktime: Update to 0.15. * gnu/packages/perl-check.scm (perl-test-mocktime): Update to 0.15 [propagated-inputs]: Add perl-time-piece. --- gnu/packages/perl-check.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 4ed633efef..3be319d413 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2017 Petter +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -637,7 +638,7 @@ (define-public perl-test-mockobject (define-public perl-test-mocktime (package (name "perl-test-mocktime") - (version "0.13") + (version "0.15") (source (origin (method url-fetch) @@ -645,7 +646,9 @@ (define-public perl-test-mocktime "Test-MockTime-" version ".tar.gz")) (sha256 (base32 - "0yrqmjg33akannwz2f99rfm7dvvxpzsdj23lsvlvfi4qslrlqfvw")))) + "0j6cxmkj52i5xkwg8dg6klm0dh386fzc5v80n5nbdalpvq0h48c8")))) + (propagated-inputs + `(("perl-time-piece" ,perl-time-piece))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Test-MockTime/") (synopsis "Replaces actual time with simulated time") -- cgit v1.2.3 From 9210fdf8b72d03514d3bad978bcd594e892f91d8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 16:17:44 +0100 Subject: gnu: perl-test-pod: Update to 1.51. * gnu/packages/perl-check.scm (perl-test-pod): Update to 1.51 [source]: Update URI. --- gnu/packages/perl-check.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 3be319d413..0f4385b079 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -812,15 +812,15 @@ (define-public perl-test-output (define-public perl-test-pod (package (name "perl-test-pod") - (version "1.48") + (version "1.51") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/D/DW/DWHEELER/" + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Test-Pod-" version ".tar.gz")) (sha256 (base32 - "1hmwwhabyng4jrnll926b4ab73r40w3pfchlrvs0yx6kh6kwwy14")))) + "1yvy5mc4j3s2h4aizryvark2nm58g2c6zhw9mlx9wmsavz7d78f1")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "http://search.cpan.org/dist/Test-Pod/") -- cgit v1.2.3 From 1d1f1b3a6e0df47c17bb64f9e11c4ed637fc986d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 17:16:28 +0100 Subject: gnu: perl-test-requires: Update to 0.10. * gnu/packages/perl-check.scm (perl-test-requires): Update to 0.10 --- gnu/packages/perl-check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 0f4385b079..d7a4830ff0 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -853,7 +853,7 @@ (define-public perl-test-pod-coverage (define-public perl-test-requires (package (name "perl-test-requires") - (version "0.08") + (version "0.10") (source (origin (method url-fetch) @@ -861,7 +861,7 @@ (define-public perl-test-requires "Test-Requires-" version ".tar.gz")) (sha256 (base32 - "08c29m0dn34384mmmpqqlbb899zpbkkc01c2lsp31mch1frv9cg7")))) + "1d9f481lj12cw1ciil46xq9nq16p6a90nm7yrsalpf8asn8s6s17")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Test-Requires/") (synopsis "Checks to see if the module can be loaded") -- cgit v1.2.3 From a2460e0f6b0b899fe21ccd75797d3f926447ebd3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 15:05:25 +0100 Subject: gnu: perl-text-bibtex: Update to 0.85. * gnu/packages/tex.scm (perl-text-bibtex): Update to 0.85 --- gnu/packages/tex.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index adafdfd08b..69dac602c8 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2016, 2017 Ricardo Wurmus ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -3917,7 +3918,7 @@ (define-public texlive (define-public perl-text-bibtex (package (name "perl-text-bibtex") - (version "0.77") + (version "0.85") (source (origin (method url-fetch) @@ -3925,7 +3926,7 @@ (define-public perl-text-bibtex version ".tar.gz")) (sha256 (base32 - "0kkfx8skk763pivz6h2ffy2zdp1lvy6d5sz0kjaj0mdbjffvnnb4")))) + "036kxgbn1jf70pfm2lmjlzjwnhbkd888fp5lyvmkjpdd15gla18h")))) (build-system perl-build-system) (arguments `(#:phases -- cgit v1.2.3 From 5ac4bd9c0a30565b281bb4a43b53eb015e8b6a73 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 15:47:01 +0100 Subject: gnu: r-domc: Update to 1.3.5. * gnu/packages/statistics.scm (r-domc): Update to 1.3.5 --- gnu/packages/statistics.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5e356a3b65..cb79004e89 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016, 2017 Raoul Bonnal ;;; Copyright © 2017 Kyle Meyer +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -2993,14 +2994,14 @@ (define-public r-doparallel (define-public r-domc (package (name "r-domc") - (version "1.3.4") + (version "1.3.5") (source (origin (method url-fetch) (uri (cran-uri "doMC" version)) (sha256 (base32 - "0y47jl6g4f83r14pj8bafdzq1phj7bxy5dwyz3k43d2rr8phk8bn")))) + "1vfrykvfvsyq12mypd266867ml1dcwc3rj5k9c3wrn5bddcm88kr")))) (properties `((upstream-name . "doMC"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From a135b3ddfefeb8b4cb11f09a4234ac420dbb4543 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 15:22:10 +0100 Subject: gnu: r-caret: Update to 6.0-78. * gnu/packages/statistics.scm (r-caret): Update to 6.0-78 --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index cb79004e89..a36fcf64f7 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5122,14 +5122,14 @@ (define-public r-car (define-public r-caret (package (name "r-caret") - (version "6.0-77") + (version "6.0-78") (source (origin (method url-fetch) (uri (cran-uri "caret" version)) (sha256 (base32 - "05c504567s2nppzfgi36mhszbym2pr80nf50dgxcxfx030721v5y")))) + "0h1nxzii2h80aslp1zsjczrlfmaks44sskabk4yq9c5rafc7ka6y")))) (build-system r-build-system) (propagated-inputs `(("r-foreach" ,r-foreach) -- cgit v1.2.3 From 4a699769fd73a2ad5b292d16d2c2b68ad5a97363 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 14 Dec 2017 00:04:59 +0100 Subject: gnu: youtube-dl: Update to 2017.12.14. * gnu/packages/video.scm (youtube-dl): Update to 2017.12.14. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0bd1be6e62..466274c6aa 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1129,7 +1129,7 @@ (define-public libvpx (define-public youtube-dl (package (name "youtube-dl") - (version "2017.12.10") + (version "2017.12.14") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1137,7 +1137,7 @@ (define-public youtube-dl version ".tar.gz")) (sha256 (base32 - "1jlwxmwp56d0c86hn0zkdv6vzgxf17yddg7p2qblss152kji85vb")))) + "01hvsch7ybff0amivl86m6klz156bm3hfh66zz5q8ha2af5j44hj")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion -- cgit v1.2.3 From 35e86e3605fdfa9920749b2b791f799770722b14 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 12 Dec 2017 21:09:58 -0500 Subject: gnu: Erlang: Update to 20.1.7 [fixes CVE-2017-1000385]. * gnu/packages/erlang.scm (erlang): Update to 20.1.7 (native-inputs): Use version-major+minor in the URI of erlang-manpages. --- gnu/packages/erlang.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 770ed715bc..77f39ee630 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Steve Sprang -;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2017 Pjotr Prins ;;; ;;; This file is part of GNU Guix. @@ -23,6 +23,7 @@ (define-module (gnu packages erlang) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages fontutils) @@ -35,7 +36,7 @@ (define-module (gnu packages erlang) (define-public erlang (package (name "erlang") - (version "20.1") + (version "20.1.7") (source (origin (method url-fetch) ;; The tarball from http://erlang.org/download contains many @@ -46,7 +47,7 @@ (define-public erlang (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0r4g8ag7nlpw06y4c39fgcyccykj2sbyhv5jgp4qmrjci2ydgns8")) + "00pmngdyh1h088anmx6fbk085i93ajgk92rz7qsyhfc0lx0sm0a9")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -59,7 +60,7 @@ (define-public erlang ,(origin (method url-fetch) (uri (string-append "http://erlang.org/download/otp_doc_man_" - version ".tar.gz")) + (version-major+minor version) ".tar.gz")) (sha256 (base32 "0ikvdpn4z7az6szg176l1r2yxhgs3msa3wgb3gmy45jkz0pzik05")))))) -- cgit v1.2.3 From aa29f8fb02510bea77fa4a5c830caa1400f7c136 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 14 Dec 2017 10:48:28 +0100 Subject: gnu: gucharmap: Use glib-or-gtk-build-system. * gnu/packages/gnome.scm (gucharmap): Use glib-or-gtk-build-system. --- gnu/packages/gnome.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index cece14c0d8..7b93ddd14e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6632,7 +6632,7 @@ (define-public gucharmap (sha256 (base32 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ("glib:bin" ,glib "bin") ; for glib-compile-resources. -- cgit v1.2.3 From 4e0b3583eab7dd67c2e13ad614e48f8d31c59c90 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 14 Dec 2017 09:12:56 +1000 Subject: gnu: diamond: Update to 0.9.14. * gnu/packages/bioinformatics.scm (diamond): Update to 0.9.14. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f81db2c84d..d325258feb 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2073,7 +2073,7 @@ (define-public deeptools (define-public diamond (package (name "diamond") - (version "0.9.13") + (version "0.9.14") (source (origin (method url-fetch) (uri (string-append @@ -2082,7 +2082,7 @@ (define-public diamond (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1pi5ncqwmynqpmmp3j3lhnqrjhj34sr6wpmsgrpkv3wyxx22fv86")))) + "07li3chjdna0wjyh680j3bhwiqh1fbfq9dy9jxxs82mc0rw0m1yy")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target -- cgit v1.2.3 From 8a6cd65a2a66107b5a1ae12138a9af0002f55983 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 14 Dec 2017 18:45:21 +1000 Subject: gnu: python-scikit-learn: Patch test non-determinism. * gnu/packages/patches/python-scikit-learn-fix-test-non-determinism.patch: New file. * gnu/packages/machine-learning.scm (python-scikit-learn)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/machine-learning.scm | 4 +++- ...hon-scikit-learn-fix-test-non-determinism.patch | 25 ++++++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-scikit-learn-fix-test-non-determinism.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 46829756b7..f6b29a7155 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1014,6 +1014,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-parse-too-many-fields.patch \ %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ %D%/packages/patches/python-statsmodels-fix-tests.patch \ + %D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-faker-fix-build-32bit.patch \ %D%/packages/patches/python-pandas-skip-failing-tests.patch \ diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index cf400a0eed..c8bd5d7747 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -621,7 +621,9 @@ (define-public python-scikit-learn (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "18n8775kyfwbvcjjjzda9c5sqy4737c0hrmj6qj1ps2jmlqzair9")))) + "18n8775kyfwbvcjjjzda9c5sqy4737c0hrmj6qj1ps2jmlqzair9")) + (patches (search-patches + "python-scikit-learn-fix-test-non-determinism.patch")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/python-scikit-learn-fix-test-non-determinism.patch b/gnu/packages/patches/python-scikit-learn-fix-test-non-determinism.patch new file mode 100644 index 0000000000..90328cc0eb --- /dev/null +++ b/gnu/packages/patches/python-scikit-learn-fix-test-non-determinism.patch @@ -0,0 +1,25 @@ +This patch stops a test sometimes failing because of non-determinism. See +https://github.com/scikit-learn/scikit-learn/pull/9542 + +From ff9f6db6e8b59c2b3528c8137ed4054f57c1d7c4 Mon Sep 17 00:00:00 2001 +From: Hanmin Qin +Date: Sun, 13 Aug 2017 22:13:49 +0800 +Subject: [PATCH] add random_state + +--- + sklearn/tests/test_kernel_ridge.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sklearn/tests/test_kernel_ridge.py b/sklearn/tests/test_kernel_ridge.py +index 4750a096ac6..979875870b6 100644 +--- a/sklearn/tests/test_kernel_ridge.py ++++ b/sklearn/tests/test_kernel_ridge.py +@@ -10,7 +10,7 @@ + from sklearn.utils.testing import assert_array_almost_equal + + +-X, y = make_regression(n_features=10) ++X, y = make_regression(n_features=10, random_state=0) + Xcsr = sp.csr_matrix(X) + Xcsc = sp.csc_matrix(X) + Y = np.array([y, y]).T -- cgit v1.2.3 From 97c26793d94fe95c51de21fd98bc5cab2f1425a7 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 12 Dec 2017 10:35:44 +0100 Subject: gnu: Add python2-pyopengl-accelerate. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python.scm (python2-pyopengl-accelerate): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/python.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 01b4e2cd29..e36056d454 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -11523,6 +11523,22 @@ (define-public python2-pyopengl library.") (license license:bsd-3))) +(define-public python2-pyopengl-accelerate + (package + (inherit python2-pyopengl) + (name "python2-pyopengl-accelerate") + (version "3.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "PyOpenGL-accelerate" version)) + (sha256 + (base32 + "0464c1ifzk0k92lyndikmvzjgnx1y25r7bkkc8pnxm4kp1q4czwj")))) + (synopsis "Acceleration code for PyOpenGL") + (description + "This is the Cython-coded accelerator module for PyOpenGL."))) + (define-public python-rencode (package (name "python-rencode") -- cgit v1.2.3 From a0ec2d256d0e7352f31eb2adc4c18c40e420a419 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 12 Dec 2017 10:28:24 +0100 Subject: gnu: xpra: Update to 2.2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (xpra): Update to 2.2. [inputs]: Add python2-netifaces and python2-pyopengl-accelerate. Fix position of commas. Signed-off-by: Ludovic Courtès --- gnu/packages/xorg.scm | 55 ++++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 27 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d70226930f..b9e469a121 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5952,7 +5952,7 @@ (define-public xcompmgr (define-public xpra (package (name "xpra") - (version "2.1.3") + (version "2.2") (source (origin (method url-fetch) @@ -5960,41 +5960,42 @@ (define-public xpra version ".tar.xz")) (sha256 (base32 - "0r0l3p59q05fmvkp3jv8vmny2v8m1vyhqkg6b9r2qgxn1kcxx7rm")))) + "0gi0i5pbhfzr5j4mbngjxvrk6r4lvigw4w2104znplmmrf1mw6y2")))) (build-system python-build-system) - (inputs `(("ffmpeg", ffmpeg) - ("flac", flac) + (inputs `(("ffmpeg" ,ffmpeg) + ("flac" ,flac) ("gtk+-2" ,gtk+-2) ;; no full GTK3 support yet - ("libjpeg", libjpeg) - ("libpng", libpng) - ("libvpx", libvpx) - ("libx264", libx264) - ("libxcomposite", libxcomposite) - ("libxdamage", libxdamage) - ("libxkbfile", libxkbfile) - ("libxrandr", libxrandr) - ("libxtst", libxtst) - ("lzo", lzo) - ("python2-cryptography", python2-cryptography) - ("python2-dbus", python2-dbus) - ("python2-lz4", python2-lz4) - ("python2-lzo", python2-lzo) - ("python2-numpy", python2-numpy) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libvpx" ,libvpx) + ("libx264" ,libx264) + ("libxcomposite" ,libxcomposite) + ("libxdamage" ,libxdamage) + ("libxkbfile" ,libxkbfile) + ("libxrandr" ,libxrandr) + ("libxtst" ,libxtst) + ("lzo" ,lzo) + ("python2-cryptography" ,python2-cryptography) + ("python2-dbus" ,python2-dbus) + ("python2-lz4" ,python2-lz4) + ("python2-lzo" ,python2-lzo) + ("python2-netifaces" ,python2-netifaces) + ("python2-numpy" ,python2-numpy) ("python2-pillow" ,python2-pillow) - ("python2-pycairo", python2-pycairo) - ("python2-pycrypto", python2-pycrypto) - ("python2-pygobject", python2-pygobject) - ("python2-pyopengl", python2-pyopengl) - ("python2-pygtk", python2-pygtk) - ("python2-rencode", python2-rencode) - ("xorg-server", xorg-server))) + ("python2-pycairo" ,python2-pycairo) + ("python2-pycrypto" ,python2-pycrypto) + ("python2-pygobject" ,python2-pygobject) + ("python2-pyopengl" ,python2-pyopengl) + ("python2-pyopengl-accelerate" ,python2-pyopengl-accelerate) + ("python2-pygtk" ,python2-pygtk) + ("python2-rencode" ,python2-rencode) + ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config) ("python2-cython", python2-cython))) (arguments `(#:python ,python-2 ;; no full Python 3 support yet #:configure-flags '("--with-tests" "--with-bundle_tests" - "--without-opengl" ;; TODO: pygtkglext needed. "--without-Xdummy" ;; We use Xvfb instead. "--without-Xdummy_wrapper" "--without-strict") -- cgit v1.2.3 From e536b1d308bddc41d4eb45094e67eead681dbdd1 Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 14 Dec 2017 13:22:58 +0000 Subject: gnu: s-shell: Update to commit da2e5c20c0c5f477ec3426dc2584889a789b1659. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/shells.scm (s-shell): Update to commit da2e5c20c0c5f477ec3426dc2584889a789b1659. [version]: Use 'git-version'. Signed-off-by: Ludovic Courtès --- gnu/packages/shells.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 1f076999cb..343f50d6d7 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -511,11 +511,11 @@ (define-public linenoise (license bsd-2)))) (define-public s-shell - (let ((commit "6604341edb3a775ff94415762af3ee9bd86bfb3c") - (revision "1")) + (let ((commit "da2e5c20c0c5f477ec3426dc2584889a789b1659") + (revision "2")) (package (name "s-shell") - (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) @@ -525,13 +525,15 @@ (define-public s-shell (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1075cml6dl15d770j3m12yz90cjacsdslbv3gank1nxd76vmpdcr")))) + "0qiny71ww5nhzy4mnc8652hn0mlxyb67h333gbdxp4j4qxsi13q4")))) (build-system gnu-build-system) (inputs `(("linenoise" ,linenoise))) (arguments `(#:tests? #f - #:make-flags (list "CC=gcc") + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'install-directory-fix -- cgit v1.2.3 From 86383d674672b472ebb5edbf7d3e475709b608c8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 13 Dec 2017 23:40:36 +0100 Subject: gnu: yoshimi: Update to 1.5.5. * gnu/packages/music.scm (yoshimi): Update to 1.5.5. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 1aabe814be..628cd465e2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1857,7 +1857,7 @@ (define-public zynaddsubfx (define-public yoshimi (package (name "yoshimi") - (version "1.5.3") + (version "1.5.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/yoshimi/" @@ -1865,7 +1865,7 @@ (define-public yoshimi "/yoshimi-" version ".tar.bz2")) (sha256 (base32 - "0sns35pyw2f74xrv1fxiyf9g9415kvh2rrbdjd60hsiv584nlari")))) + "0h71x9742bswifwll7bma1fz648fd5xd0yfp7byvsczy6zhjz5pf")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there are no tests -- cgit v1.2.3 From 2713e399eeffe36b3e7c6be5307323a1a24d774e Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 15 Dec 2017 13:25:46 +1000 Subject: gnu: ruby-2.3: Update to 2.3.6 [fixes CVE-2017-17405]. * gnu/packages/ruby.scm (ruby-2.3): Update to 2.3.6. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index caab8fac4b..6402107907 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -105,7 +105,7 @@ (define-public ruby (define-public ruby-2.3 (package (inherit ruby) - (version "2.3.5") + (version "2.3.6") (source (origin (method url-fetch) @@ -114,7 +114,7 @@ (define-public ruby-2.3 "/ruby-" version ".tar.xz")) (sha256 (base32 - "1npzcnq5kh0f9y88w5gj4v6ln8csr91361k3r43dmhlhn6mpsfkx")) + "0mlz0mk7yyxia37k8fdv8m8a72h61nfbns28430h796l4an6kng0")) (modules '((guix build utils))) (snippet `(begin ;; Remove bundled libffi -- cgit v1.2.3 From 263c56d293ca72af9c22bdd37fd8ac51677c1679 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 15 Dec 2017 13:26:12 +1000 Subject: gnu: ruby-2.2: Update to 2.2.9 [fixes CVE-2017-17405]. * gnu/packages/ruby.scm (ruby-2.2): Update to 2.2.9. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 6402107907..91378ca992 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -123,7 +123,7 @@ (define-public ruby-2.3 (define-public ruby-2.2 (package (inherit ruby) - (version "2.2.8") + (version "2.2.9") (source (origin (method url-fetch) @@ -132,7 +132,7 @@ (define-public ruby-2.2 "/ruby-" version ".tar.xz")) (sha256 (base32 - "1c31slidv2bdnnir3qfmdjs193b5s2ycb9pnf1lc55kk0cazrsip")))))) + "0p18xykx8dm5mmlx5n5243z67lj4vbvwr70bnc5x12am22ql8fri")))))) (define-public ruby-2.1 (package (inherit ruby) -- cgit v1.2.3 From 6098a386a90f63fc8c6f18c5edfce15320789941 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 15 Dec 2017 13:47:46 +1000 Subject: gnu: bedtools: Update to 2.27.1. * gnu/packages/ruby.scm (bedtools): Update to 2.27.1. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d325258feb..58421d35e8 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -421,7 +421,7 @@ (define-public bedops (define-public bedtools (package (name "bedtools") - (version "2.27.0") + (version "2.27.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/arq5x/bedtools2/releases/" @@ -429,7 +429,7 @@ (define-public bedtools "bedtools-" version ".tar.gz")) (sha256 (base32 - "0q6fsiz4s52yzxs6h2vxwq95fsi3n64wkpinkk05mfh4dmhybw74")))) + "1ndg5yknrxl4djx8ddzgk12rrbiidfpmkkg5z3f95jzryfxarhn8")))) (build-system gnu-build-system) (arguments '(#:test-target "test" -- cgit v1.2.3 From 86637f18bec9566973e78bf417a63426b47287b5 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 15 Dec 2017 13:47:57 +1000 Subject: gnu: ruby: Replace with ruby-2.4.3 [fixes CVE-2017-17405]. * gnu/packages/ruby.scm (ruby-2.4.3): New variable. (ruby)[replacement]: New field. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 91378ca992..34387e5754 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -49,6 +49,7 @@ (define-module (gnu packages ruby) (define-public ruby (package (name "ruby") + (replacement ruby-2.4.3) (version "2.4.2") (source (origin @@ -102,6 +103,26 @@ (define-public ruby (home-page "https://ruby-lang.org") (license license:ruby))) +(define-public ruby-2.4.3 + (package + (inherit ruby) + (name "ruby") + (version "2.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "http://cache.ruby-lang.org/pub/ruby/" + (version-major+minor version) + "/ruby-" version ".tar.xz")) + (sha256 + (base32 + "0l9bv67dgsphk42lmiskhrnh47hbyj6rfg2rcjx22xivpx07srr3")) + (modules '((guix build utils))) + (snippet `(begin + ;; Remove bundled libffi + (delete-file-recursively "ext/fiddle/libffi-3.2.1") + #t)))))) + (define-public ruby-2.3 (package (inherit ruby) -- cgit v1.2.3 From acf54bca225b63f5b06e335a55045421c47bbd09 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 5 Dec 2017 11:34:01 +0100 Subject: vm: Adapt qemu command to ARM. * gnu/build/vm.scm (load-in-linux-vm): New argument #:target-arm32. Use it to adapt command for qemu-system-arm. This implies to choose a machine ("virt"), use the correct console port "ttyAMA0", disable KVM use that is buggy on some ARM boards (Odroid XU4 for example) and use user mode network stack instead of NIC. Gather all those options in a new variable "arch-specific-flags". * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass to load-in-linux-vm "#:target-arm32?" argument. --- gnu/build/vm.scm | 34 +++++++++++++++++++++++++++------- gnu/system/vm.scm | 4 ++++ 2 files changed, 31 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index ed84463677..8f8ca609f2 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -77,6 +77,7 @@ (define* (load-in-linux-vm builder linux initrd make-disk-image? single-file-output? + target-arm32? (disk-image-size (* 100 (expt 2 20))) (disk-image-format "qcow2") (references-graphs '())) @@ -91,6 +92,31 @@ (define* (load-in-linux-vm builder REFERENCES-GRAPHS can specify a list of reference-graph files as produced by the #:references-graphs parameter of 'derivation'." + + (define arch-specific-flags + `(;; On ARM, a machine has to be specified. Use "virt" machine to avoid + ;; hardware limits imposed by other machines. + ,@(if target-arm32? '("-M" "virt") '()) + + ;; Only enable kvm if we see /dev/kvm exists. This allows users without + ;; hardware virtualization to still use these commands. KVM support is + ;; still buggy on some ARM32 boards. Do not use it even if available. + ,@(if (and (file-exists? "/dev/kvm") + (not target-arm32?)) + '("-enable-kvm") + '()) + "-append" + ;; The serial port name differs between emulated architectures/machines. + ,@(if target-arm32? + `(,(string-append "console=ttyAMA0 --load=" builder)) + `(,(string-append "console=ttyS0 --load=" builder))) + ;; NIC is not supported on ARM "virt" machine, so use a user mode + ;; network stack instead. + ,@(if target-arm32? + '("-device" "virtio-net-pci,netdev=mynet" + "-netdev" "user,id=mynet") + '("-net" "nic,model=virtio")))) + (when make-disk-image? (format #t "creating ~a image of ~,2f MiB...~%" disk-image-format (/ disk-image-size (expt 2 20))) @@ -113,7 +139,6 @@ (define* (load-in-linux-vm builder (unless (zero? (apply system* qemu "-nographic" "-no-reboot" "-m" (number->string memory-size) - "-net" "nic,model=virtio" "-virtfs" (string-append "local,id=store_dev,path=" (%store-directory) @@ -132,12 +157,7 @@ (define* (load-in-linux-vm builder ",format=" disk-image-format ",id=myhd")) '()) - ;; Only enable kvm if we see /dev/kvm exists. - ;; This allows users without hardware virtualization to still - ;; use these commands. - (if (file-exists? "/dev/kvm") - '("-enable-kvm") - '())))) + arch-specific-flags))) (error "qemu failed" qemu)) ;; When MAKE-DISK-IMAGE? is true, the image is in OUTPUT already. diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index d754ac76f0..b376337c8d 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -175,6 +175,10 @@ (define builder #:memory-size #$memory-size #:make-disk-image? #$make-disk-image? #:single-file-output? #$single-file-output? + ;; FIXME: ‘target-arm32?’ may not operate on + ;; the right system/target values. Rewrite + ;; using ‘let-system’ when available. + #:target-arm32? #$(target-arm32?) #:disk-image-format #$disk-image-format #:disk-image-size size #:references-graphs graphs))))) -- cgit v1.2.3 From e22482038611a53a9d2b25df20363664cd91be2e Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 5 Dec 2017 12:59:15 +0100 Subject: bootloader: Factorize write-file-on-device. * gnu/bootloader/extlinux.scm (install-extlinux): Factorize bootloader writing in a new procedure write-file-on-device defined in (gnu build bootloader). * gnu/build/bootloader.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. * gnu/system/vm.scm (qemu-img): Adapt to import and use (gnu build bootloader) module during derivation building. * gnu/scripts/system.scm (bootloader-installer-derivation): Ditto. --- gnu/bootloader/extlinux.scm | 10 +++------- gnu/build/bootloader.scm | 37 +++++++++++++++++++++++++++++++++++++ gnu/local.mk | 1 + gnu/system/vm.scm | 6 ++++-- guix/scripts/system.scm | 6 ++++-- 5 files changed, 49 insertions(+), 11 deletions(-) create mode 100644 gnu/build/bootloader.scm (limited to 'gnu') diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 9b6e2c7f2a..f7820a37a4 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -20,6 +20,7 @@ (define-module (gnu bootloader extlinux) #:use-module (gnu bootloader) #:use-module (gnu system) + #:use-module (gnu build bootloader) #:use-module (gnu packages bootloaders) #:use-module (guix gexp) #:use-module (guix monads) @@ -95,13 +96,8 @@ (define (install-extlinux mbr) (find-files syslinux-dir "\\.c32$")) (unless (and (zero? (system* extlinux "--install" install-dir)) - (call-with-input-file (string-append syslinux-dir "/" #$mbr) - (lambda (input) - (let ((bv (get-bytevector-n input 440))) - (call-with-output-file device - (lambda (output) - (put-bytevector output bv)) - #:binary #t))))) + (write-file-on-device + (string-append syslinux-dir "/" #$mbr) 440 device 0)) (error "failed to install SYSLINUX"))))) (define install-extlinux-mbr diff --git a/gnu/build/bootloader.scm b/gnu/build/bootloader.scm new file mode 100644 index 0000000000..d00674dd40 --- /dev/null +++ b/gnu/build/bootloader.scm @@ -0,0 +1,37 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Mathieu Othacehe +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu build bootloader) + #:use-module (ice-9 binary-ports) + #:export (write-file-on-device)) + + +;;; +;;; Writing utils. +;;; + +(define (write-file-on-device file size device offset) + "Write SIZE bytes from FILE to DEVICE starting at OFFSET." + (call-with-input-file file + (lambda (input) + (let ((bv (get-bytevector-n input size))) + (call-with-output-file device + (lambda (output) + (seek output offset SEEK_SET) + (put-bytevector output bv)) + #:binary #t))))) diff --git a/gnu/local.mk b/gnu/local.mk index f6b29a7155..c87af5a17b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -489,6 +489,7 @@ GNU_SYSTEM_MODULES = \ %D%/system/vm.scm \ \ %D%/build/activation.scm \ + %D%/build/bootloader.scm \ %D%/build/cross-toolchain.scm \ %D%/build/file-systems.scm \ %D%/build/install.scm \ diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index b376337c8d..6102d465b8 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -277,10 +277,12 @@ (define* (qemu-image #:key the image." (expression->derivation-in-linux-vm name - (with-imported-modules (source-module-closure '((gnu build vm) + (with-imported-modules (source-module-closure '((gnu build bootloader) + (gnu build vm) (guix build utils))) #~(begin - (use-modules (gnu build vm) + (use-modules (gnu build bootloader) + (gnu build vm) (guix build utils) (srfi srfi-26) (ice-9 binary-ports)) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index d0eacc573c..cbf7e6cd03 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -674,9 +674,11 @@ (define (bootloader-installer-derivation installer and TARGET arguments." (with-monad %store-monad (gexp->file "bootloader-installer" - (with-imported-modules '((guix build utils)) + (with-imported-modules '((gnu build bootloader) + (guix build utils)) #~(begin - (use-modules (guix build utils) + (use-modules (gnu build bootloader) + (guix build utils) (ice-9 binary-ports)) (#$installer #$bootloader #$device #$target)))))) -- cgit v1.2.3 From 5830168207705a98b132bc0c15b1ece6f7132b0a Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 9 Dec 2017 13:05:28 +0000 Subject: gnu: Add Easytag. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/music.scm (easytag): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/music.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 628cd465e2..31f681c722 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -40,6 +40,7 @@ (define-module (gnu packages music) #:use-module (guix build-system cmake) #:use-module (guix build-system python) #:use-module (guix build-system scons) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system waf) #:use-module (gnu packages) #:use-module (gnu packages algebra) @@ -469,6 +470,75 @@ (define-public hydrogen enable professional yet simple and intuitive pattern-based drum programming.") (license license:gpl2+))) +(define-public easytag + (package + (name "easytag") + (version "2.4.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/easytag/2.4/easytag-" + version ".tar.xz")) + (sha256 + (base32 + "1mbxnqrw1fwcgraa1bgik25vdzvf97vma5pzknbwbqq5ly9fwlgw")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("glib" ,glib "bin") + ("intltool" ,intltool) + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("xmllint" ,libxml2))) + (inputs + `(("flac" ,flac) + ("gtk+" ,gtk+) + ("id3lib" ,id3lib) + ("libid3tag" ,libid3tag) + ("libvorbis" ,libvorbis) + ("opusfile" ,opusfile) + ("speex" ,speex) + ("taglib" ,taglib) + ("wavpack" ,wavpack) + ("yelp" ,yelp))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'configure-libid3tag + (lambda* (#:key inputs #:allow-other-keys) + ;; libid3tag does not provide a .pc file and EasyTAG's configure + ;; script healivy relies on pkg-config. Providing a temporary + ;; local .pc file is easier than patching the configure script. + (let* ((libid3tag (assoc-ref inputs "libid3tag"))) + (mkdir-p "pkgconfig") + (with-output-to-file + "pkgconfig/id3tag.pc" + (lambda _ + (format #t + "prefix=~@*~a~@ + libdir=${prefix}/lib~@ + includedir=${prefix}/include~@ + Libs: -L${libdir} -lid3tag -lz~@ + Cflags: -I${includedir}~%" + libid3tag))) + (setenv "PKG_CONFIG_PATH" + (string-append (getenv "PKG_CONFIG_PATH") + ":" (getcwd) "/pkgconfig"))))) + (add-after 'unpack 'patch-makefile + (lambda _ + (substitute* "Makefile.in" + ;; The Makefile generates a test-desktop-file-validate.sh + ;; script with /bin/sh hard-coded. + (("/bin/sh") (which "sh")) + ;; Don't create 'icon-theme.cache'. + (("gtk-update-icon-cache") "true"))))))) + (home-page "https://wiki.gnome.org/Apps/EasyTAG") + (synopsis "Simple application for viewing and editing tags in audio files") + (description + "EasyTAG is an application for viewing and editing tags in audio files. +It supports MP3, MP2, MP4/AAC, FLAC, Ogg Opus, Ogg Speex, Ogg Vorbis, +MusePack, Monkey's Audio, and WavPack files.") + (license license:gpl2+))) + (define-public extempore (package (name "extempore") -- cgit v1.2.3 From 852ba10a548bc87d8e23700fe12538340665f225 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 15:00:20 +0100 Subject: gnu: vis: Update to 0.4. * gnu/packages/text-editors.scm (vis): Update to 0.4. [arguments]: Document the #:tests situation and the (broken) #:test-target. [inputs]: Add tre. --- gnu/packages/text-editors.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 7843c120aa..6f4d44f0d9 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Feng Shu ;;; Copyright © 2017 ng0 ;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2014 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ (define-module (gnu packages text-editors) #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages regex) #:use-module (gnu packages ruby) #:use-module (gnu packages terminals) #:use-module (gnu packages xml)) @@ -47,17 +49,19 @@ (define-module (gnu packages text-editors) (define-public vis (package (name "vis") - (version "0.3") + (version "0.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/martanne/" name "/archive/v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0xvhkj4j8pcmpnsx7f93d6n2f068xnl7wacfs97vr0agxwrfvn5y")))) + (base32 + "1iclfsc9vn40fqfiz56vrw6dmr4x8q9gvav0b53kkpc6zcfa86zi")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; No tests. + `(#:test-target "test" + #:tests? #f ; no releases; snapshots are missing tests #:phases (modify-phases %standard-phases (add-after 'install 'wrap-binary @@ -80,7 +84,8 @@ (define-public vis (inputs `(("lua", lua) ("ncurses", ncurses) ("libtermkey", libtermkey) - ("lua-lpeg", lua-lpeg))) + ("lua-lpeg", lua-lpeg) + ("tre" ,tre))) (synopsis "Vim-like text editor") (description "Vis aims to be a modern, legacy free, simple yet efficient vim-like text -- cgit v1.2.3 From d65854bdda4ad5464fcd8fe6289eedc13ea82ba1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 11:17:09 +0100 Subject: gnu: python2-pyicu: Disable failing test. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python.scm (python2-pyicu)[arguments]: Add ‘delete-failing-test’ phase. --- gnu/packages/python.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e36056d454..c6dd67fb29 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1130,7 +1130,20 @@ (define-public python-pyicu (license license:x11))) (define-public python2-pyicu - (package-with-python2 python-pyicu)) + (let ((base (package-with-python2 + (strip-python2-variant python-pyicu)))) + (package + (inherit base) + (arguments + `(,@(package-arguments base) + #:phases + (modify-phases %standard-phases + (add-before 'check 'delete-failing-test + (λ _ + ;; XXX: This fails due to Unicode issues unique to Python 2, + ;; it seems: . + (delete-file "test/test_Script.py") + #t)))))))) (define-public python2-dogtail ;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and -- cgit v1.2.3 From ceb3952764e49400d4419fea64a9201a32dad3de Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 12 Dec 2017 16:41:56 +0100 Subject: system: Add BeagleBone Black installer. * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New exported bootloader. * gnu/system/install.scm (beaglebone-black-installation-os): New exported variable. --- gnu/bootloader/u-boot.scm | 25 ++++++++++++++++++++++++- gnu/system/install.scm | 29 +++++++++++++++++++++++++++-- 2 files changed, 51 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 963b0d7597..397eb8181c 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -21,18 +21,35 @@ (define-module (gnu bootloader u-boot) #:use-module (gnu bootloader extlinux) #:use-module (gnu bootloader) #:use-module (gnu system) + #:use-module (gnu build bootloader) #:use-module (gnu packages bootloaders) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix records) #:use-module (guix utils) - #:export (u-boot-bootloader)) + #:export (u-boot-bootloader + u-boot-beaglebone-black-bootloader)) (define install-u-boot #~(lambda (bootloader device mount-point) (if bootloader (error "Failed to install U-Boot")))) +(define install-beaglebone-black-u-boot + ;; http://wiki.beyondlogic.org/index.php?title=BeagleBoneBlack_Upgrading_uBoot + ;; This first stage bootloader called MLO (U-Boot SPL) is expected at + ;; 0x20000 by BBB ROM code. The second stage bootloader will be loaded by + ;; the MLO and is expected at 0x60000. Write both first stage ("MLO") and + ;; second stage ("u-boot.img") images, read in BOOTLOADER directory, to the + ;; specified DEVICE. + #~(lambda (bootloader device mount-point) + (let ((mlo (string-append bootloader "/libexec/MLO")) + (u-boot (string-append bootloader "/libexec/u-boot.img"))) + (write-file-on-device mlo (* 256 512) + device (* 256 512)) + (write-file-on-device u-boot (* 1024 512) + device (* 768 512))))) + ;;; @@ -45,3 +62,9 @@ (define u-boot-bootloader (name 'u-boot) (package #f) (installer install-u-boot))) + +(define u-boot-beaglebone-black-bootloader + (bootloader + (inherit u-boot-bootloader) + (package u-boot-beagle-bone-black) + (installer install-beaglebone-black-u-boot))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index c2f73f7e8f..8864415d7c 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -22,6 +22,7 @@ (define-module (gnu system install) #:use-module (gnu) + #:use-module (gnu bootloader u-boot) #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix monads) @@ -42,7 +43,8 @@ (define-module (gnu system install) #:use-module (gnu packages nvi) #:use-module (ice-9 match) #:use-module (srfi srfi-26) - #:export (installation-os)) + #:export (installation-os + beaglebone-black-installation-os)) ;;; Commentary: ;;; @@ -372,7 +374,30 @@ (define installation-os nvi ;:wq! %base-packages)))) -;; Return it here so 'guix system' can consume it directly. +(define beaglebone-black-installation-os + (operating-system + (inherit installation-os) + (bootloader (bootloader-configuration + (bootloader u-boot-beaglebone-black-bootloader) + (target "/dev/sda"))) + (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") + 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))))) + +;; Return the default os here so 'guix system' can consume it directly. installation-os ;;; install.scm ends here -- cgit v1.2.3 From fb9472a327cb2643d8097af6a0c60809b50622bb Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Fri, 15 Dec 2017 16:08:30 +0100 Subject: gnu: Add lookingglass. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (lookingglass): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/virtualization.scm | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 85563dde6f..2fcd9e5a7a 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -36,6 +36,7 @@ (define-module (gnu packages virtualization) #:use-module (gnu packages dns) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -709,3 +710,46 @@ (define-public qmpbackup incremental backups of running QEMU virtual machines via QMP, the QEMU Machine Protocol.") (license gpl3+))) + +(define-public lookingglass + (package + (name "lookingglass") + (version "a5") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/gnif/LookingGlass/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0lrb821914fp27xaq0spwhbblssz55phiygvdlvcrkifa138v8pf")))) + (build-system gnu-build-system) + (inputs `(("fontconfig" ,fontconfig) + ("glu" ,glu) + ("mesa" ,mesa) + ("openssl" ,openssl) + ("sdl2" ,sdl2) + ("sdl2-ttf" ,sdl2-ttf) + ("spice-protocol" ,spice-protocol))) + (native-inputs `(("pkg-config", pkg-config))) + (arguments + `(#:tests? #f ;; No tests are available. + #:phases (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (chdir "client") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "bin/looking-glass-client" + (string-append (assoc-ref outputs "out") + "/bin")) + #t))))) + (home-page "https://looking-glass.hostfission.com") + (synopsis "KVM Frame Relay (KVMFR) implementation") + (description "Looking Glass allows the use of a KVM (Kernel-based Virtual +Machine) configured for VGA PCI Pass-through without an attached physical +monitor, keyboard or mouse. It displays the VM's rendered contents on your main +monitor/GPU.") + (license gpl2+))) -- cgit v1.2.3 From fd4f26ee20d8e4ca453d5d45df95b3bc1f3b9df8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 12:22:26 +0100 Subject: gnu: ghc-reflection: Update to 2.1.2. * gnu/packages/haskell.scm (ghc-reflection): Update to 2.1.2. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 95bb3811ca..68172d8a91 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1292,7 +1292,7 @@ (define-public cpphs (define-public ghc-reflection (package (name "ghc-reflection") - (version "2.1") + (version "2.1.2") (source (origin (method url-fetch) @@ -1302,7 +1302,7 @@ (define-public ghc-reflection ".tar.gz")) (sha256 (base32 - "10w3m6v3g6am203wbrikdbp57x9vw6b4jsh7bxdzsss4nmpm81zg")))) + "0f9w0akbm6p8h7kzgcd2f6nnpw1wy84pqn45vfz1ch5j0hn8h2d9")))) (build-system haskell-build-system) (inputs `(("ghc-tagged" ,ghc-tagged))) (home-page "https://github.com/ekmett/reflection") -- cgit v1.2.3 From 2c7f6ce15dfd1adc32e37e92e792f30f676e53d6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 12:20:04 +0100 Subject: gnu: text-editors: Fix nckx's copyright statement. * gnu/packages/text-editors.scm: Fix Tobias Geerinckx-Rice's copyright statement. --- gnu/packages/text-editors.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 6f4d44f0d9..44b42ce9b6 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Feng Shu ;;; Copyright © 2017 ng0 ;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2014 Tobias Geerinckx-Rice +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; -- cgit v1.2.3 From 6bc862c10035e0521b736ed5c9e7dd1f2dd92eb5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 14 Dec 2017 00:08:10 +0100 Subject: gnu: r-foreach: Update to 1.4.4. * gnu/packages/statistics.scm (r-foreach): Update to 1.4.4 --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index a36fcf64f7..80a1df9cfb 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2943,14 +2943,14 @@ (define-public r-iterators (define-public r-foreach (package (name "r-foreach") - (version "1.4.3") + (version "1.4.4") (source (origin (method url-fetch) (uri (cran-uri "foreach" version)) (sha256 (base32 - "10aqsd3rxz03s1qdb6gsb1cj89mj4vmh491zfpin4skj1xvkzw0y")))) + "0j2yj0rn0d5nbzz9nq5rqqgnxhp9pbd92q4klsarl2xpsn8119y0")))) (build-system r-build-system) (propagated-inputs `(("r-codetools" ,r-codetools) -- cgit v1.2.3 From 574b1d0262c0e9af8aa7bbfe4998a498f2ba23da Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 16:44:00 +0100 Subject: gnu: python-pyicu: Set python2-variant. This follows up on commit d65854bdda4ad5464fcd8fe6289eedc13ea82ba1, which did not fix test failures for dependents using package-with-python2. * gnu/packages/python.scm (python-pyicu)[properties]: Set python2-variant. --- gnu/packages/python.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c6dd67fb29..082856bfbf 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1127,6 +1127,7 @@ (define-public python-pyicu (synopsis "Python extension wrapping the ICU C++ API") (description "PyICU is a python extension wrapping the ICU C++ API.") + (properties `((python2-variant . ,(delay python2-pyicu)))) (license license:x11))) (define-public python2-pyicu -- cgit v1.2.3 From 1137d85b08cd32d2b8b98deba5881f5daf92d97b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 11 Dec 2017 12:16:20 -0600 Subject: gnu: eigen: Update to 3.3.4. * gnu/packages/patches/eigen-arm-neon-fixes.patch: New patch. * gnu/packages/algebra.scm (eigen): Update to 3.3.4. [source]: Use patch. Disable svd-preallocation test for BDCSVD. [arguments]: Set "EIGEN_SEED" environment variable in check phase. * gnu/local.mk (dist_patch_DATA): Add patch. --- gnu/local.mk | 1 + gnu/packages/algebra.scm | 27 ++- gnu/packages/patches/eigen-arm-neon-fixes.patch | 245 ++++++++++++++++++++++++ 3 files changed, 264 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/eigen-arm-neon-fixes.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index c87af5a17b..636919550c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -609,6 +609,7 @@ dist_patch_DATA = \ %D%/packages/patches/dtc-format-modifier.patch \ %D%/packages/patches/dtc-32-bits-check.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ + %D%/packages/patches/eigen-arm-neon-fixes.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-disable-failing-tests.patch \ %D%/packages/patches/einstein-build.patch \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index a7336066ef..7e26e76f4a 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -577,27 +578,34 @@ (define-public fftw-openmpi (define-public eigen (package (name "eigen") - (version "3.2.9") + (version "3.3.4") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/eigen/eigen/get/" version ".tar.bz2")) (sha256 (base32 - "1zs5b210mq7nyanky07li6456rrd0xv2nxf6sl2lhkzdq5p067jd")) + "19m4406jvqnwh7kpcvx1lfx2vdc5zwia5q9ayv89bimg1gmln9fx")) (file-name (string-append name "-" version ".tar.bz2")) + (patches (search-patches "eigen-arm-neon-fixes.patch")) (modules '((guix build utils))) (snippet ;; There are 3 test failures in the "unsupported" directory, ;; but maintainers say it's a known issue and it's unsupported ;; anyway, so just skip them. - '(substitute* "CMakeLists.txt" - (("add_subdirectory\\(unsupported\\)") - "# Do not build the tests for unsupported features.\n") - ;; Work around - ;; . - (("\"include/eigen3\"") - "\"${CMAKE_INSTALL_PREFIX}/include/eigen3\""))))) + '(begin + (substitute* "CMakeLists.txt" + (("add_subdirectory\\(unsupported\\)") + "# Do not build the tests for unsupported features.\n") + ;; Work around + ;; . + (("\"include/eigen3\"") + "\"${CMAKE_INSTALL_PREFIX}/include/eigen3\"")) + (substitute* "test/bdcsvd.cpp" + ;; See + ;; https://bitbucket.org/eigen/eigen/commits/ea8c22ce6920e982d15245ee41d0531a46a28e5d + ((".*svd_preallocate[^\n]*" &) + (string-append "//" & " // Not supported by BDCSVD"))))))) (build-system cmake-build-system) (arguments '(;; Turn off debugging symbols to save space. @@ -608,6 +616,7 @@ (define-public eigen (lambda _ (let* ((cores (parallel-job-count)) (dash-j (format #f "-j~a" cores))) + (setenv "EIGEN_SEED" "1") ;for reproducibility ;; First build the tests, in parallel. See ;; . (and (zero? (system* "make" "buildtests" dash-j)) diff --git a/gnu/packages/patches/eigen-arm-neon-fixes.patch b/gnu/packages/patches/eigen-arm-neon-fixes.patch new file mode 100644 index 0000000000..0838f30463 --- /dev/null +++ b/gnu/packages/patches/eigen-arm-neon-fixes.patch @@ -0,0 +1,245 @@ +# HG changeset patch +# User Gael Guennebaud +# Date 1497514590 -7200 +# Node ID d781c1de98342c5ca29c2fe719d8d3c96a35dcd4 +# Parent 48cd83b2b459aa9f3f5dca135d38760fe0b02a2f +Bug 1436: fix compilation of Jacobi rotations with ARM NEON, some specializations of internal::conj_helper were missing. + +diff --git a/Eigen/Core b/Eigen/Core +--- a/Eigen/Core ++++ b/Eigen/Core +@@ -371,6 +371,7 @@ + #include "src/Core/MathFunctions.h" + #include "src/Core/GenericPacketMath.h" + #include "src/Core/MathFunctionsImpl.h" ++#include "src/Core/arch/Default/ConjHelper.h" + + #if defined EIGEN_VECTORIZE_AVX512 + #include "src/Core/arch/SSE/PacketMath.h" +diff --git a/Eigen/src/Core/arch/AVX/Complex.h b/Eigen/src/Core/arch/AVX/Complex.h +--- a/Eigen/src/Core/arch/AVX/Complex.h ++++ b/Eigen/src/Core/arch/AVX/Complex.h +@@ -204,23 +204,7 @@ + } + }; + +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet8f& x, const Packet4cf& y, const Packet4cf& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet4cf pmul(const Packet8f& x, const Packet4cf& y) const +- { return Packet4cf(Eigen::internal::pmul(x, y.v)); } +-}; +- +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet4cf& x, const Packet8f& y, const Packet4cf& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf& x, const Packet8f& y) const +- { return Packet4cf(Eigen::internal::pmul(x.v, y)); } +-}; ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet4cf,Packet8f) + + template<> EIGEN_STRONG_INLINE Packet4cf pdiv(const Packet4cf& a, const Packet4cf& b) + { +@@ -400,23 +384,7 @@ + } + }; + +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet4d& x, const Packet2cd& y, const Packet2cd& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet2cd pmul(const Packet4d& x, const Packet2cd& y) const +- { return Packet2cd(Eigen::internal::pmul(x, y.v)); } +-}; +- +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet2cd& x, const Packet4d& y, const Packet2cd& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet2cd pmul(const Packet2cd& x, const Packet4d& y) const +- { return Packet2cd(Eigen::internal::pmul(x.v, y)); } +-}; ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cd,Packet4d) + + template<> EIGEN_STRONG_INLINE Packet2cd pdiv(const Packet2cd& a, const Packet2cd& b) + { +diff --git a/Eigen/src/Core/arch/AltiVec/Complex.h b/Eigen/src/Core/arch/AltiVec/Complex.h +--- a/Eigen/src/Core/arch/AltiVec/Complex.h ++++ b/Eigen/src/Core/arch/AltiVec/Complex.h +@@ -224,23 +224,7 @@ + } + }; + +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, const Packet2cf& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) const +- { return Packet2cf(internal::pmul(x, y.v)); } +-}; +- +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, const Packet2cf& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) const +- { return Packet2cf(internal::pmul(x.v, y)); } +-}; ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f) + + template<> EIGEN_STRONG_INLINE Packet2cf pdiv(const Packet2cf& a, const Packet2cf& b) + { +@@ -416,23 +400,8 @@ + return pconj(internal::pmul(a, b)); + } + }; +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, const Packet1cd& c) const +- { return padd(c, pmul(x,y)); } + +- EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) const +- { return Packet1cd(internal::pmul(x, y.v)); } +-}; +- +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, const Packet1cd& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) const +- { return Packet1cd(internal::pmul(x.v, y)); } +-}; ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d) + + template<> EIGEN_STRONG_INLINE Packet1cd pdiv(const Packet1cd& a, const Packet1cd& b) + { +diff --git a/Eigen/src/Core/arch/Default/ConjHelper.h b/Eigen/src/Core/arch/Default/ConjHelper.h +new file mode 100644 +--- /dev/null ++++ b/Eigen/src/Core/arch/Default/ConjHelper.h +@@ -0,0 +1,29 @@ ++ ++// This file is part of Eigen, a lightweight C++ template library ++// for linear algebra. ++// ++// Copyright (C) 2017 Gael Guennebaud ++// ++// This Source Code Form is subject to the terms of the Mozilla ++// Public License v. 2.0. If a copy of the MPL was not distributed ++// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. ++ ++#ifndef EIGEN_ARCH_CONJ_HELPER_H ++#define EIGEN_ARCH_CONJ_HELPER_H ++ ++#define EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(PACKET_CPLX, PACKET_REAL) \ ++ template<> struct conj_helper { \ ++ EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_REAL& x, const PACKET_CPLX& y, const PACKET_CPLX& c) const \ ++ { return padd(c, pmul(x,y)); } \ ++ EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_REAL& x, const PACKET_CPLX& y) const \ ++ { return PACKET_CPLX(Eigen::internal::pmul(x, y.v)); } \ ++ }; \ ++ \ ++ template<> struct conj_helper { \ ++ EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_CPLX& x, const PACKET_REAL& y, const PACKET_CPLX& c) const \ ++ { return padd(c, pmul(x,y)); } \ ++ EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_CPLX& x, const PACKET_REAL& y) const \ ++ { return PACKET_CPLX(Eigen::internal::pmul(x.v, y)); } \ ++ }; ++ ++#endif // EIGEN_ARCH_CONJ_HELPER_H +diff --git a/Eigen/src/Core/arch/NEON/Complex.h b/Eigen/src/Core/arch/NEON/Complex.h +--- a/Eigen/src/Core/arch/NEON/Complex.h ++++ b/Eigen/src/Core/arch/NEON/Complex.h +@@ -265,6 +265,8 @@ + } + }; + ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f) ++ + template<> EIGEN_STRONG_INLINE Packet2cf pdiv(const Packet2cf& a, const Packet2cf& b) + { + // TODO optimize it for NEON +@@ -456,6 +458,8 @@ + } + }; + ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d) ++ + template<> EIGEN_STRONG_INLINE Packet1cd pdiv(const Packet1cd& a, const Packet1cd& b) + { + // TODO optimize it for NEON +diff --git a/Eigen/src/Core/arch/SSE/Complex.h b/Eigen/src/Core/arch/SSE/Complex.h +--- a/Eigen/src/Core/arch/SSE/Complex.h ++++ b/Eigen/src/Core/arch/SSE/Complex.h +@@ -229,23 +229,7 @@ + } + }; + +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, const Packet2cf& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) const +- { return Packet2cf(Eigen::internal::pmul(x, y.v)); } +-}; +- +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, const Packet2cf& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) const +- { return Packet2cf(Eigen::internal::pmul(x.v, y)); } +-}; ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f) + + template<> EIGEN_STRONG_INLINE Packet2cf pdiv(const Packet2cf& a, const Packet2cf& b) + { +@@ -430,23 +414,7 @@ + } + }; + +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, const Packet1cd& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) const +- { return Packet1cd(Eigen::internal::pmul(x, y.v)); } +-}; +- +-template<> struct conj_helper +-{ +- EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, const Packet1cd& c) const +- { return padd(c, pmul(x,y)); } +- +- EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) const +- { return Packet1cd(Eigen::internal::pmul(x.v, y)); } +-}; ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d) + + template<> EIGEN_STRONG_INLINE Packet1cd pdiv(const Packet1cd& a, const Packet1cd& b) + { +diff --git a/Eigen/src/Core/arch/ZVector/Complex.h b/Eigen/src/Core/arch/ZVector/Complex.h +--- a/Eigen/src/Core/arch/ZVector/Complex.h ++++ b/Eigen/src/Core/arch/ZVector/Complex.h +@@ -336,6 +336,9 @@ + } + }; + ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f) ++EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d) ++ + template<> EIGEN_STRONG_INLINE Packet1cd pdiv(const Packet1cd& a, const Packet1cd& b) + { + // TODO optimize it for AltiVec -- cgit v1.2.3 From 6ad0c92df5335191b30d7f32693f27b7c170759a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 13 Dec 2017 10:30:32 -0600 Subject: gnu: ceres-solver: Update to 1.13.0. * gnu/packages/maths.scm (ceres-solver): Update to 1.13.0. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1c84d29649..5c7926a635 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1230,7 +1230,7 @@ (define-public ipopt (define-public ceres (package (name "ceres-solver") - (version "1.11.0") + (version "1.13.0") (home-page "http://ceres-solver.org/") (source (origin (method url-fetch) @@ -1238,7 +1238,7 @@ (define-public ceres version ".tar.gz")) (sha256 (base32 - "0i7qkbf8g6pd8arxzldppga26ckv93y8zldsfz6wbd4n6b1nqrjd")))) + "1kbxgab3q1vgyq7hjqasr1lji4b2sgn7ss351amklkb3jyhr1x0x")))) (build-system cmake-build-system) (arguments ;; TODO: Build HTML user documentation and install separately. -- cgit v1.2.3 From 7683bf1183cfd05e5c4475265687096589d0239e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 13 Dec 2017 15:37:58 -0600 Subject: gnu: texlive-bin: Disable tests on aarch64. * gnu/packages/tex.scm (texlive-bin)[arguments]: Disable tests on aarch64. --- gnu/packages/tex.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 69dac602c8..4e8efc8faf 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -162,10 +162,12 @@ (define-public texlive-bin "--with-system-zlib" "--with-system-zziplib") - ;; Disable tests on mips64 to cope with a failure of luajiterr.test. - ;; XXX FIXME fix luajit properly on mips64. - #:tests? ,(not (string-prefix? "mips64" (or (%current-target-system) - (%current-system)))) + ;; Disable tests on mips64/aarch64 to cope with a failure of luajiterr.test. + ;; XXX FIXME fix luajit properly on mips64 and aarch64. + #:tests? ,(let ((s (or (%current-target-system) + (%current-system)))) + (not (or (string-prefix? "aarch64" s) + (string-prefix? "mips64" s)))) #:phases (modify-phases %standard-phases (add-after 'install 'postint -- cgit v1.2.3 From 5bd3a84109caf820eeafc1d6872fc55428294f70 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 15 Dec 2017 22:08:34 +0100 Subject: gnu: guile-gdbm-ffi: Default to Guile 2.2. * gnu/packages/guile.scm (guile-gdbm-ffi)[inputs]: Switch to GUILE-2.2. (guile2.0-gdbm-ffi, guile2.2-gdbm-ffi): New variables. --- gnu/packages/guile.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index c0fda71ead..887e360a35 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1097,7 +1097,7 @@ (define-public guile-gdbm-ffi ;; compile to the destination (compile-file gdbm.scm-dest gdbm.go-dest))))) (inputs - `(("guile" ,guile-2.0))) + `(("guile" ,guile-2.2))) (propagated-inputs `(("gdbm" ,gdbm))) (home-page "https://github.com/ijp/guile-gdbm") @@ -1107,8 +1107,11 @@ (define-public guile-gdbm-ffi Guile's foreign function interface.") (license license:gpl3+))) +(define-public guile2.0-gdbm-ffi + (package-for-guile-2.0 guile-gdbm-ffi)) + (define-public guile2.2-gdbm-ffi - (package-for-guile-2.2 guile-gdbm-ffi)) + (deprecated-package "guile2.2-gdbm-ffi" guile-gdbm-ffi)) (define-public guile-sqlite3 (let ((commit "607721fe1174a299e45d457acacf94eefb964071")) -- cgit v1.2.3 From 86c979b7941261fb706395b83e98a8e09042343b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 15 Dec 2017 23:30:29 +0100 Subject: gnu: hplip: Update to 3.7.11. * gnu/packages/cups.scm (hplip): Update to 3.7.11. [source]: Add 'snippet'. [arguments]: In 'fix-hard-coded-file-names' phase, adjust hack for $(hplip_statedir) creation. [inputs]: Add ZLIB. [native-inputs]: Add PERL. --- gnu/packages/cups.scm | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index e3a252bc0c..07437af1a7 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -369,14 +369,19 @@ (define-public cups (define-public hplip (package (name "hplip") - (version "3.17.10") + (version "3.17.11") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "0v27hg856b5z2rilczcbfgz8ksxn0n810g1glac3mxkj8qbl8wqg")))) + "0xda7x7xxjvzn1l0adlvbwcw21crq1r3r79bkf94q3m5i6abx49g")) + (modules '((guix build utils))) + (snippet + ;; Fix type mismatch. + '(substitute* "prnt/hpcups/genPCLm.cpp" + (("boolean") "bool"))))) (build-system gnu-build-system) (home-page "http://hplipopensource.com/") (synopsis "HP Printer Drivers") @@ -436,11 +441,11 @@ (define-public hplip (("/usr/include/libusb-1.0") (string-append (assoc-ref inputs "libusb") "/include/libusb-1.0")) - (("^\tinstall-dist_hplip_stateDATA") - ;; Remove dependencies on - ;; 'install-dist_hplip_stateDATA' so we don't bail - ;; out while trying to create /var/lib/hplip. - "\t") + (("hplip_statedir =.*$") + ;; Don't bail out while trying to create + ;; /var/lib/hplip. We can safely change its value + ;; here because it's hard-coded in the code anyway. + "hplip_statedir = $(prefix)\n") (("hplip_confdir = /etc/hp") ;; This is only used for installing the default config. (string-append "hplip_confdir = " out @@ -469,12 +474,14 @@ (define-public hplip ("cups-minimal" ,cups-minimal) ("libusb" ,libusb) ("sane-backends" ,sane-backends-minimal) + ("zlib" ,zlib) ("dbus" ,dbus) ("python-wrapper" ,python-wrapper) ("python" ,python) ;; TODO: Make hp-setup find python-dbus. ("python-dbus" ,python-dbus))) - (native-inputs `(("pkg-config" ,pkg-config))))) + (native-inputs `(("pkg-config" ,pkg-config) + ("perl" ,perl))))) (define-public foomatic-filters (package -- cgit v1.2.3 From 1018444608f63066eddd7c85a1d2fa2db4eeb50b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 15 Dec 2017 20:13:19 -0500 Subject: gnu: linux-libre@4.1: Update to 4.1.48. * gnu/packages/linux.scm (linux-libre-4.1): Update to 4.1.48. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a25d2cd9e1..6d45e1e46f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -396,8 +396,8 @@ (define-public linux-libre-4.4 #:configuration-file kernel-config)) (define-public linux-libre-4.1 - (make-linux-libre "4.1.47" - "036nxrsnii4p7224xpr7rvhyik5agb1q00lmx6hra8c2v5412x6y" + (make-linux-libre "4.1.48" + "13ii6ixcm46hzk1ns6n4hrrv4dyc0n3wvj2qhmxi178akdcgbn8a" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From d14d1f1d0462d0e5bf7d326d173a99f0b9e75b03 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 15 Dec 2017 20:14:09 -0500 Subject: gnu: linux-libre@4.9: Update to 4.9.69. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.69. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6d45e1e46f..acf0cb572a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -384,8 +384,8 @@ (define-public linux-libre #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.68" - "0azfdr8yjsvzmlp64fw5syp5sflvqgfsvd57dg7p97spwn823jmn" + (make-linux-libre "4.9.69" + "0xkqbh8fpx47appszjbxzljr6vr0wyk0fphlkynpcrmingk4b98j" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From b43ef298fee65f1105bd9c3a449a07528056dab8 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 15 Dec 2017 20:15:30 -0500 Subject: gnu: linux-libre: Update to 4.14.6. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.14.6. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index acf0cb572a..fecc04a8c7 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -370,8 +370,8 @@ (define* (make-linux-libre version hash supported-systems (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux")) -(define %linux-libre-version "4.14.5") -(define %linux-libre-hash "1m3dqh0ysqkx00s064zwqyzl48jdq1bv9inm9hfqha24v7iq33b8") +(define %linux-libre-version "4.14.6") +(define %linux-libre-hash "0q6dl2shkj5dkf0wgzgfyaq0axk97w05j618xi619y9xqph4ql79") ;; linux-libre configuration for armhf-linux is derived from Debian armmp. It ;; supports qemu "virt" machine and possibly a large number of ARM boards. -- cgit v1.2.3 From afe98094dc465533c2b6b06a02be2ca62602579c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 19:45:50 +0100 Subject: gnu: gflags: Update to 2.2.1. * gnu/packages/popt.scm (gflags): Update to 2.2.1 --- gnu/packages/popt.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm index 9c125dcc4f..fbee08bd0b 100644 --- a/gnu/packages/popt.scm +++ b/gnu/packages/popt.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2016 Ludovic Courtès ;;; Copyright © 2015, 2016 Ricardo Wurmus +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -95,14 +96,14 @@ (define-public popt (define-public gflags (package (name "gflags") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/gflags/gflags" "/archive/v" version ".tar.gz")) (sha256 (base32 - "120z4w40zr4s8wvfyw1bdmqvincwrwjnimzlwhs1ficaa333cv26")) + "03lxc2ah8i392kh1naq99iip34k4fpv22kwflyx3byd2ssycs9xf")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments -- cgit v1.2.3 From 794251674e164d1159b5847046a537d1f4474d12 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 19:22:41 +0100 Subject: gnu: perl-compress-raw-zlib: Update to 2.076. * gnu/packages/compression.scm (perl-compress-raw-zlib): Update to 2.076 --- gnu/packages/compression.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 6b8b28b9ff..2710504917 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -652,7 +652,7 @@ (define-public perl-compress-raw-bzip2 (define-public perl-compress-raw-zlib (package (name "perl-compress-raw-zlib") - (version "2.074") + (version "2.076") (source (origin (method url-fetch) @@ -660,7 +660,7 @@ (define-public perl-compress-raw-zlib "Compress-Raw-Zlib-" version ".tar.gz")) (sha256 (base32 - "08bpx9v6i40n54rdcj6invlj294z20amrl8wvwf9b83aldwdwsd3")))) + "1al2h0i6mspldmlf5c09fy5a4j8swsxd31v6zi8zx9iyqk1lw7in")))) (build-system perl-build-system) (inputs `(("zlib" ,zlib))) -- cgit v1.2.3 From 7e8aac188f83e5950dd33aec6e858ce20051c0b1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 25 Nov 2017 23:01:31 +0200 Subject: gnu: perl-crypt-openssl-bignum: Update to 0.09. * gnu/packages/tls.scm (perl-crypt-openssl-bignum): Update to 0.09 --- gnu/packages/tls.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index b321525d33..9e2c1c6d49 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Rutger Helling ;;; ;;; This file is part of GNU Guix. @@ -707,7 +708,7 @@ (define perl-crypt-arguments (define-public perl-crypt-openssl-bignum (package (name "perl-crypt-openssl-bignum") - (version "0.08") + (version "0.09") (source (origin (method url-fetch) @@ -717,7 +718,7 @@ (define-public perl-crypt-openssl-bignum ".tar.gz")) (sha256 (base32 - "0gamn4dff1bz77nswacy1dlpn9fkwahzw7yvvik4nbwwy2s63hc8")))) + "1p22znbajq91lbk2k3yg12ig7hy5b4vy8igxwqkmbm4nhgxp4ki3")))) (build-system perl-build-system) (inputs `(("openssl" ,openssl))) (arguments perl-crypt-arguments) -- cgit v1.2.3 From ce0be1bcf4a45ef278ee4240fa793b05e09d7b4f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 13 Dec 2017 20:57:05 +0100 Subject: gnu: perl-lingua-en-inflect: Update to 1.903. * gnu/packages/language.scm (perl-lingua-en-inflect): Update to 1.903 --- gnu/packages/language.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 57d625057c..42e66709f3 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Eric Bavier +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,7 +52,7 @@ (define-public perl-lingua-en-findnumber (define-public perl-lingua-en-inflect (package (name "perl-lingua-en-inflect") - (version "1.901") + (version "1.903") (source (origin (method url-fetch) @@ -59,7 +60,7 @@ (define-public perl-lingua-en-inflect "Lingua-EN-Inflect-" version ".tar.gz")) (sha256 (base32 - "0mcwlgf6hkh4zm3s1x899f25xj4hyzrc2vssiwfxysqja36yf5ys")))) + "0j8d1f1wvmgc11d71pc8xp8fv5a1nb2yfw1dgd19xhscn1klpvzw")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect") -- cgit v1.2.3 From a4b7142e02a8a37d34ca884e140afc34867e7292 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 19:24:57 +0100 Subject: gnu: perl-lingua-stem-ru: Update to 0.04. * gnu/packages/language.scm (perl-lingua-stem-ru): Update to 0.04 [source]: Update download URI. --- gnu/packages/language.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 42e66709f3..06190ba6ac 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -285,15 +285,15 @@ (define-public perl-lingua-stem-it (define-public perl-lingua-stem-ru (package (name "perl-lingua-stem-ru") - (version "0.01") + (version "0.04") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AL/ALGDR/" + (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Lingua-Stem-Ru-" version ".tar.gz")) (sha256 (base32 - "0pqgg442fkf12ayh9fgmpa8q9x0iqx6s96181r52yn7s7pcs61h6")))) + "0a2jmdz7jn32qj5hyiw5kbv8fvlpmws8i00a6xcbkzb48yvwww0j")))) (build-system perl-build-system) (home-page "http://search.cpan.org/dist/Lingua-Stem-Ru") (synopsis "Porter's stemming algorithm for Russian") -- cgit v1.2.3 From d6f5ad882e5edf48ea85dffd827fbc637ec1c8d1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 19:26:38 +0100 Subject: gnu: perl-net-dns: Update to 1.14. * gnu/packages/networking.scm (perl-net-dns): Update to 1.14 --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 2538f7831d..bf8e8c65d4 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -711,7 +711,7 @@ (define-public aircrack-ng (define-public perl-net-dns (package (name "perl-net-dns") - (version "1.13") + (version "1.14") (source (origin (method url-fetch) @@ -721,7 +721,7 @@ (define-public perl-net-dns ".tar.gz")) (sha256 (base32 - "0dlca65l45mqs7l58fg838bj3as5kmnbs1zy8vg9cbsz6rindivy")))) + "1z4r092qv0ify033dld5jayk8gs0bc7pl130dvb8ab7b9rcqmhw3")))) (build-system perl-build-system) (inputs `(("perl-digest-hmac" ,perl-digest-hmac))) -- cgit v1.2.3 From 697a958add91ed465f2e9c49e4db531349fc30a2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 19:53:10 +0100 Subject: gnu: perl-test-most: Update to 0.35. * gnu/packages/perl-check.scm (perl-test-most): Update to 0.35 --- gnu/packages/perl-check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index d7a4830ff0..25fa5687ee 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -662,7 +662,7 @@ (define-public perl-test-mocktime (define-public perl-test-most (package (name "perl-test-most") - (version "0.34") + (version "0.35") (source (origin (method url-fetch) @@ -670,7 +670,7 @@ (define-public perl-test-most "Test-Most-" version ".tar.gz")) (sha256 (base32 - "0i72aih3pakm8gh73wx1n4dwq8lbx6dvxhla46gsapszws6hr0n2")))) + "0zv5dyzq55r28plffibcr7wd00abap0h2zh4s4p8snaiszsad5wq")))) (build-system perl-build-system) (propagated-inputs `(("perl-test-differences" ,perl-test-differences) -- cgit v1.2.3 From 2927c2c00c820b560770cd4137b84749e371d39f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 19:42:18 +0100 Subject: gnu: perl-test-simple: Update to 1.302120. * gnu/packages/perl-check.scm (perl-test-simple): Update to 1.302120 --- gnu/packages/perl-check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 25fa5687ee..915f3f6ee7 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -916,14 +916,14 @@ (define-public perl-test-sharedfork (define-public perl-test-simple (package (name "perl-test-simple") - (version "1.302078") + (version "1.302120") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/" "Test-Simple-" version ".tar.gz")) (sha256 (base32 - "05acl24kmz3dgr2nayy162yaf0kz92h1j5vkiavyv6mdh2lz6ixb")))) + "0v1l0hfza9zlw3qj5l2mrzljy1sk02h3yqcb4kixdb2d5l4n08y8")))) (build-system perl-build-system) (synopsis "Basic utilities for writing tests") (description -- cgit v1.2.3 From b11407d9afc0dd0547474aa1734650d5a151e42d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 20:06:07 +0100 Subject: gnu: perl-test-trailingspace: Update to 0.0301. * gnu/packages/perl-check.scm (perl-test-trailingspace): Update to 0.0301 --- gnu/packages/perl-check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 915f3f6ee7..4335acfffc 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -1143,7 +1143,7 @@ (define-public perl-test-yaml (define-public perl-test-trailingspace (package (name "perl-test-trailingspace") - (version "0.0300") + (version "0.0301") (source (origin (method url-fetch) @@ -1153,7 +1153,7 @@ (define-public perl-test-trailingspace ".tar.gz")) (sha256 (base32 - "01slmrcjfq38mpdg3hlb7lnnbgsqbn26958y3hzx0zwrif40pigr")))) + "0w2rvsksv7cmf80v632xm2rwxrv933kzz97839yhwynvg9s7b252")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) -- cgit v1.2.3 From 2c438e563ae9ecc885d83fe991f3047dd3f57366 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 21:03:17 +0100 Subject: gnu: perl-test-trap: Update to 0.3.3. * gnu/packages/perl-check.scm (perl-test-trap): Update to 0.3.3. --- gnu/packages/perl-check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 4335acfffc..84983dea81 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -982,7 +982,7 @@ (define-public perl-test-tester (define-public perl-test-trap (package (name "perl-test-trap") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) @@ -990,7 +990,7 @@ (define-public perl-test-trap "Test-Trap-v" version ".tar.gz")) (sha256 (base32 - "0jq54pkm4s61gk8gzxglix1ff9s0m9vi6bpfv7f63lb9qq4r76rr")))) + "1676gqjyk0zig3yyqv053y5j1pajp2af08ffmgx94n414whbhm5c")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) -- cgit v1.2.3 From 67c939d9b86f8b3f17fb9c6bfd2b0037c98cfc81 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 15 Dec 2017 20:05:35 +0100 Subject: gnu: perl-test-yaml: Update to 1.06. * gnu/packages/perl-check.scm (perl-test-yaml): Update to 1.06 --- gnu/packages/perl-check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 84983dea81..b1d1f08150 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -1122,7 +1122,7 @@ (define-public perl-test-writevariants (define-public perl-test-yaml (package (name "perl-test-yaml") - (version "1.05") + (version "1.06") (source (origin (method url-fetch) @@ -1130,7 +1130,7 @@ (define-public perl-test-yaml "Test-YAML-" version ".tar.gz")) (sha256 (base32 - "079nayc0fp2fwjv8s2yr069bdffln699j6z3lqr5dpx1v2qg82ck")))) + "0hxrfs7p9hqkhvv5nhk2hd3kh32smwng4nz47b8xf4iw2q1n2dr7")))) (build-system perl-build-system) (propagated-inputs `(("perl-test-base" ,perl-test-base))) -- cgit v1.2.3 From 5985d01bd84a10439c5c0418bf2979aaa8a08b1a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 15 Dec 2017 23:16:01 -0500 Subject: gnu: mutt: Update to 1.9.2. * gnu/packages/mail.scm (mutt): Update to 1.9.2. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 590bdd5135..31ff6d641c 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -240,14 +240,14 @@ (define-public fetchmail (define-public mutt (package (name "mutt") - (version "1.9.1") + (version "1.9.2") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "1c8vv4anl555a03pbnwf8wnf0d8pcnd4p35y3q8f5ikkcflq76vl")) + "15kqxpx8bykqbyw4q33hkz0j2f65v6cl21sl5li2vw5vaaim5qd2")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs -- cgit v1.2.3 From 97817e7f18bd3bd95152e46239ad96928678e944 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 16 Dec 2017 00:16:40 +0100 Subject: linux-boot: Add make-static-device-nodes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/build/linux-boot.scm (make-static-device-nodes): New variable. (): New variable. (read-static-device-nodes): New variable. (report-system-error): New variable. (catch-system-error): New variable. (create-device-node): New variable. (mkdir-p*): New variable. Co-Authored-By: Ludovic Courtès --- gnu/build/linux-boot.scm | 107 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) (limited to 'gnu') diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 2547f1e0af..4dd740174e 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -22,8 +22,11 @@ (define-module (gnu build linux-boot) #:use-module (system repl error-handling) #:autoload (system repl repl) (start-repl) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) #:use-module (srfi srfi-26) #:use-module (ice-9 match) + #:use-module (ice-9 rdelim) + #:use-module (ice-9 regex) #:use-module (ice-9 ftw) #:use-module (guix build utils) #:use-module ((guix build syscalls) @@ -35,6 +38,7 @@ (define-module (gnu build linux-boot) linux-command-line find-long-option make-essential-device-nodes + make-static-device-nodes configure-qemu-networking bind-mount @@ -105,6 +109,109 @@ (define* (make-disk-device-nodes base major #:optional (minor 0)) 'block-special #o644 (device-number major (+ minor i))) (loop (+ i 1))))) +;; Representation of a /dev node. +(define-record-type + (device-node name type major minor module) + device-node? + (name device-node-name) + (type device-node-type) + (major device-node-major) + (minor device-node-minor) + (module device-node-module)) + +(define (read-static-device-nodes port) + "Read from PORT a list of written in the format used by +/lib/modules/*/*.devname files." + (let loop ((line (read-line port))) + (if (eof-object? line) + '() + (match (string-split line #\space) + (((? (cut string-prefix? "#" <>)) _ ...) + (loop (read-line port))) + ((module-name device-name device-spec) + (let* ((device-parts + (string-match "([bc])([0-9][0-9]*):([0-9][0-9]*)" + device-spec)) + (type-string (match:substring device-parts 1)) + (type (match type-string + ("c" 'char-special) + ("b" 'block-special))) + (major-string (match:substring device-parts 2)) + (major (string->number major-string 10)) + (minor-string (match:substring device-parts 3)) + (minor (string->number minor-string 10))) + (cons (device-node device-name type major minor module-name) + (loop (read-line port))))) + (_ + (begin + (format (current-error-port) + "read-static-device-nodes: ignored devname line '~a'~%" line) + (loop (read-line port)))))))) + +(define* (mkdir-p* dir #:optional (mode #o755)) + "This is a variant of 'mkdir-p' that works around + by passing MODE explicitly in each 'mkdir' call." + (define absolute? + (string-prefix? "/" dir)) + + (define not-slash + (char-set-complement (char-set #\/))) + + (let loop ((components (string-tokenize dir not-slash)) + (root (if absolute? + "" + "."))) + (match components + ((head tail ...) + (let ((path (string-append root "/" head))) + (catch 'system-error + (lambda () + (mkdir path mode) + (loop tail path)) + (lambda args + (if (= EEXIST (system-error-errno args)) + (loop tail path) + (apply throw args)))))) + (() #t)))) + +(define (report-system-error name . args) + "Report a system error for the file NAME." + (let ((errno (system-error-errno args))) + (format (current-error-port) "could not create '~a': ~a~%" name + (strerror errno)))) + +;; Catch a system-error, log it and don't die from it. +(define-syntax-rule (catch-system-error name exp) + (catch 'system-error + (lambda () + exp) + (lambda args + (apply report-system-error name args)))) + +;; Create a device node like the passed here on the filesystem. +(define create-device-node + (match-lambda + (($ xname type major minor module) + (let ((name (string-append "/dev/" xname))) + (mkdir-p* (dirname name)) + (catch-system-error name + (mknod name type #o600 (device-number major minor))))))) + +(define* (make-static-device-nodes linux-release-module-directory) + "Create static device nodes required by the given Linux release. +This is required in order to solve a chicken-or-egg problem: +The Linux kernel has a feature to autoload modules when a device is first +accessed. +And udev has a feature to set the permissions of static nodes correctly +when it is starting up and also to automatically create nodes when hardware +is hotplugged. That leaves universal device files which are not linked to +one specific hardware device. These we have to create." + (let ((devname-name (string-append linux-release-module-directory "/" + "modules.devname"))) + (for-each create-device-node + (call-with-input-file devname-name + read-static-device-nodes)))) + (define* (make-essential-device-nodes #:key (root "/")) "Make essential device nodes under ROOT/dev." ;; The hand-made devtmpfs/udev! -- cgit v1.2.3 From 86e6b4c93104e2f83429b9e12f15ed62341289b4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 16 Dec 2017 00:17:03 +0100 Subject: services: base: Use make-static-device-nodes. Fixes . * gnu/services/base.scm (udev-shepherd-service): Use make-static-device-nodes. --- gnu/services/base.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 291dd63256..5e08927af3 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1727,6 +1727,17 @@ (define (wait-for-udevd) (setenv "EUDEV_RULES_DIRECTORY" #$(file-append rules "/lib/udev/rules.d")) + (let* ((kernel-release + (utsname:release (uname))) + (linux-module-directory + (getenv "LINUX_MODULE_DIRECTORY")) + (directory + (string-append linux-module-directory "/" + kernel-release)) + (old-umask (umask #o022))) + (make-static-device-nodes directory) + (umask old-umask)) + (let ((pid (primitive-fork))) (case pid ((0) @@ -1750,7 +1761,10 @@ (define (wait-for-udevd) ;; When halting the system, 'udev' is actually killed by ;; 'user-processes', i.e., before its own 'stop' method was called. ;; Thus, make sure it is not respawned. - (respawn? #f))))))) + (respawn? #f) + ;; We need additional modules. + (modules `((gnu build linux-boot) + ,@%default-modules)))))))) (define udev-service-type (service-type (name 'udev) -- cgit v1.2.3 From 4b359532570b8cd75241c46a4d325d66427a7821 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:12:42 +0100 Subject: gnu: gx-guvnor-lv2: Correct license. * gnu/packages/music.scm (gx-guvnor-lv2)[license]: Use GPLv3+. --- gnu/packages/music.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 31f681c722..e4fb4dcfa2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2704,8 +2704,9 @@ (define-public gx-guvnor-lv2 (description "This package provides the LV2 plugin \"GxGuvnor\", a simulation of an overdrive or distortion pedal for guitars.") ;; The LICENSE file says GPLv3 but the license headers in the files say - ;; GPLv2 or later. - (license license:gpl2+))) + ;; GPLv2 or later. The whole project is released under GPLv3 or later + ;; according to https://github.com/brummer10/GxGuvnor.lv2/issues/1 + (license license:gpl3+))) (define-public gx-vbass-preamp-lv2 (let ((commit "0e599abab10c7669dd444e5d06f671c2fc1b9c6c") -- cgit v1.2.3 From 6ac8c78c89b6a59916ece24364b824df83e4df5c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:34:48 +0100 Subject: gnu: gx-guvnor-lv2: Download sources from git. * gnu/packages/music.scm (gx-guvnor-lv2)[source]: Download from git. [arguments]: Decouple "install" target from build target. --- gnu/packages/music.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index e4fb4dcfa2..fe118d42bb 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2677,13 +2677,14 @@ (define-public gx-guvnor-lv2 (name "gx-guvnor-lv2") (version "0.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/brummer10/GxGuvnor.lv2/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/brummer10/GxGuvnor.lv2.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0rnfvrvs8qmmldyfmx4llyly33zp68448gx40ywdwj42x0mam92p")))) + "1wa5070j40p7f0b3kr259pzm99xb6cf2badr2capayjvgayd6gnm")))) (build-system gnu-build-system) (arguments `(;; The check target is used only to output a warning. @@ -2695,7 +2696,8 @@ (define-public gx-guvnor-lv2 (replace 'configure (lambda _ (substitute* "Makefile" - (("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n")) + (("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n") + (("install : all") "install :")) #t))))) (inputs `(("lv2" ,lv2))) -- cgit v1.2.3 From 45ab28a713b00b52dd022e090b96a3a37fa881b5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:36:51 +0100 Subject: gnu: gx-vbass-preamp-lv2: Inherit phases from gx-guvnor-lv2. * gnu/packages/music.scm (gx-vbass-preamp-lv2)[arguments]: Remove field. --- gnu/packages/music.scm | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index fe118d42bb..fea8790237 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2725,16 +2725,6 @@ (define-public gx-vbass-preamp-lv2 (base32 "1dzksdfrva666gpi62fd2ni9rhf18sl917f1894qr0b17pbdh9k1")) (file-name (string-append name "-" version "-checkout")))) - (arguments - (substitute-keyword-arguments (package-arguments gx-guvnor-lv2) - ((#:phases phases) - `(modify-phases ,phases - (replace 'configure - (lambda _ - (substitute* "Makefile" - (("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n") - (("install : all") "install :")) - #t)))))) (home-page "https://github.com/brummer10/GxVBassPreAmp.lv2") (synopsis "Simulation of the Vox Venue Bass 100 Pre Amp Section") (description "This package provides the LV2 plugin \"GxVBassPreAmp\", a -- cgit v1.2.3 From 48b95a193cca73bd2455ba23db73b5f53ab3c4eb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:37:36 +0100 Subject: gnu: gx-suppa-tone-bender-lv2: Fetch sources from git. * gnu/packages/music.scm (gx-suppa-tone-bender-lv2)[source]: Fetch from git. --- gnu/packages/music.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index fea8790237..9abce5e711 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2796,14 +2796,14 @@ (define-public gx-suppa-tone-bender-lv2 (name "gx-suppa-tone-bender-lv2") (version "0.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/brummer10/" - "GxSuppaToneBender.lv2/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/brummer10/GxSuppaToneBender.lv2.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1j90fns87035sfr6bxs4cvqxbyy3pqjhihx1nis8xajn202nl1hx")) - (file-name (string-append name "-" version ".tar.gz")))) + "01x6bjmllkmvxfzc5xwdix7w021j26js71awv728cxsmkxgqw0zy")))) (home-page "https://github.com/brummer10/GxSuppaToneBender.lv2") (synopsis "Simulation of the Vox Suppa Tone Bender pedal") (description "This package provides the LV2 plugin -- cgit v1.2.3 From 37519239ac42dd96ac2a7d86559a0e5f49432583 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:38:26 +0100 Subject: gnu: gx-hyperion-lv2: Fetch sources from git. * gnu/packages/music.scm (gx-hyperion-lv2)[source]: Fetch from git. --- gnu/packages/music.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 9abce5e711..6ccfa5bec0 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2835,14 +2835,14 @@ (define-public gx-hyperion-lv2 (name "gx-hyperion-lv2") (version "0.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/brummer10/" - "GxHyperion.lv2/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/brummer10/GxHyperion.lv2.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1pd7l33a14kq73wavgqq7csw4n3mwjz9d5rxaj0jgsyxd3llp3wh")) - (file-name (string-append name "-" version ".tar.gz")))) + "1vx79s6s9if117y2g0ppdja2sv2wcny6xcfl3j1z4cipahnildxf")))) (home-page "https://github.com/brummer10/GxHyperion.lv2") (synopsis "Simulation of the Hyperion Fuzz pedal") (description "This package provides the LV2 plugin \"GxHyperion\", a -- cgit v1.2.3 From d42c66132e50dfcf8a62da7f3a2e266fe22c05b3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:38:56 +0100 Subject: gnu: gx-voodoo-fuzz-lv2: Fetch sources from git * gnu/packages/music.scm (gx-voodoo-fuzz-lv2)[source]: Fetch from git. --- gnu/packages/music.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 6ccfa5bec0..a0e86bc7c5 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2853,14 +2853,14 @@ (define-public gx-voodoo-fuzz-lv2 (name "gx-voodoo-fuzz-lv2") (version "0.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/brummer10/" - "GxVoodoFuzz.lv2/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/brummer10/GxVoodoFuzz.lv2.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0cc8sg7q493bs6pcq4ipqp6czpxv04nh9yvn8kq2x65ni2208n2f")) - (file-name (string-append name "-" version ".tar.gz")))) + "1v0scphivri1fk4hl20j13f92i48mnx1zsil4hgnadsmm4nsfw43")))) (home-page "https://github.com/brummer10/GxVoodoFuzz.lv2") (synopsis "Fuzz effect modelled after the Voodoo Lab SuperFuzz") (description "This package provides the LV2 plugin \"GxVoodooFuzz\", a -- cgit v1.2.3 From 5057535f2981aba22df09c3d038c8d5eb9b686ac Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:39:28 +0100 Subject: gnu: gx-super-fuzz-lv2: Fetch sources from git. * gnu/packages/music.scm (gx-super-fuzz-lv2)[source]: Fetch from git. --- gnu/packages/music.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index a0e86bc7c5..b3a734e13b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2873,14 +2873,14 @@ (define-public gx-super-fuzz-lv2 (name "gx-super-fuzz-lv2") (version "0.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/brummer10/" - "GxSuperFuzz.lv2/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/brummer10/GxSuperFuzz.lv2.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0pnivq05f1kji8c5jxsqdzhdfk3xn422v2d1x20x3jfsxnaf115x")) - (file-name (string-append name "-" version ".tar.gz")))) + "1jlljd9hlgfflbiizq47lv1xbbgjyx3v835mf24zmh1q5zsw4np4")))) (home-page "https://github.com/brummer10/GxSuperFuzz.lv2") (synopsis "Fuzz effect modelled after the UniVox SuperFuzz") (description "This package provides the LV2 plugin \"GxSuperFuzz\", an -- cgit v1.2.3 From 0febd67387b1dbc431dfa093275d6acc0692a3f9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:39:50 +0100 Subject: gnu: gx-vintage-fuzz-master-lv2: Fetch sources from git. * gnu/packages/music.scm (gx-vintage-fuzz-master-lv2)[source]: Fetch from git. --- gnu/packages/music.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b3a734e13b..ce7816dd3a 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2893,14 +2893,14 @@ (define-public gx-vintage-fuzz-master-lv2 (name "gx-vintage-fuzz-master-lv2") (version "0.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/brummer10/" - "GxVintageFuzzMaster.lv2/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/brummer10/GxVintageFuzzMaster.lv2.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0bdkfj6xi2g4izfw3pmr4i0nqzg8jnkdwc23x9ifxwc6p1kbayzk")) - (file-name (string-append name "-" version ".tar.gz")))) + "02jb211z8rw2qr5r1z5mdxlqgiw6cbc319xpqplvn6k21c59mskv")))) (home-page "https://github.com/brummer10/GxVintageFuzzMaster.lv2") (synopsis "Fuzz effect simulation of the vintage Fuzz Master") (description "This package provides the LV2 plugin -- cgit v1.2.3 From fe049d2180cb7cd1ca2418f301059040c302319d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:43:10 +0100 Subject: gnu: mod-utilities: Update to 0-2.80ea3ea9f. * gnu/packages/music.scm (mod-utilities): Update to 0-2.80ea3ea9f. [arguments]: Set PREFIX and CC. --- gnu/packages/music.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index ce7816dd3a..9fff6504d6 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2947,8 +2947,8 @@ (define-public gx-switchless-wah-lv2 a simulation of an analog Wah pedal with switchless activation.")))) (define-public mod-utilities - (let ((commit "7cdeeac26ae682730740105ece121d4dddb8ba3f") - (revision "1")) + (let ((commit "80ea3ea9f52fab7f191671f4810bf90fc955a046") + (revision "2")) (package (name "mod-utilities") (version (string-append "0-" revision "." (string-take commit 9))) @@ -2957,17 +2957,19 @@ (define-public mod-utilities (uri (git-reference (url "https://github.com/moddevices/mod-utilities.git") (commit commit))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1ilnkbrmwrszxvc21qlb86h29yz7cnc6rcp0jmna1y693ny2qhf4")) - (file-name (string-append name "-" version "-checkout")))) + "1v55zmzmlg0ka7341x5lsvb44amy17vk27s669ps1basd1bk5s5v")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are no tests #:make-flags (list (string-append "INSTALL_PATH=" (assoc-ref %outputs "out") - "/lib/lv2")) + "/lib/lv2") + (string-append "PREFIX=" (assoc-ref %outputs "out")) + "CC=gcc") #:phases (modify-phases %standard-phases (delete 'configure)))) -- cgit v1.2.3 From 341bddb31542d03bef35b1234e6e9466be337798 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 08:55:21 +0100 Subject: gnu: axoloti-runtime: Update ChibiOS URL. * gnu/packages/axoloti.scm (axoloti-runtime)[inputs]: Update URL for ChibiOS sources. --- gnu/packages/axoloti.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm index 8ce4a63131..4963bb33cf 100644 --- a/gnu/packages/axoloti.scm +++ b/gnu/packages/axoloti.scm @@ -189,7 +189,7 @@ (define-public axoloti-runtime `(("chibios" ,(origin (method url-fetch) - (uri "mirror://sourceforge/chibios/ChibiOS_RT%20stable/Version%202.6.9/ChibiOS_2.6.9.zip") + (uri "mirror://sourceforge/chibios/ChibiOS%20GPL3/Version%202.6.9/ChibiOS_2.6.9.zip") (sha256 (base32 "0lb5s8pkj80mqhsy47mmq0lqk34s2a2m3xagzihalvabwd0frhlj")))) -- cgit v1.2.3 From 02345c963e1e8a45afcdf5acb80fca4538244b36 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 30 Jul 2017 14:13:06 +0200 Subject: gnu: Add knights. * gnu/packages/games.scm (knights): New variable. --- gnu/packages/games.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 524572b99a..d8df3d532d 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -354,6 +354,47 @@ (define-public freedoom effects and music to make a completely free game.") (license license:bsd-3))) +(define-public knights + (package + (name "knights") + (version "025") + (source (origin + (method url-fetch) + (uri (string-append "http://www.knightsgame.org.uk/files/knights_" + version "_src.tar.gz")) + (sha256 + (base32 + "18vp2ygvn0s0jz8rm585jqf6hjqkam1ximq81k0r9hpmfj7wb88f")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + ;; No configure script. + (delete 'configure)) + #:tests? #f)) ;; No check target. + (inputs + `(("boost" ,boost) + ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer))) + ("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("curl" ,curl))) + (home-page "http://www.knightsgame.org.uk/") + (synopsis "Multiplayer dungeon game involving knights and quests") + (description "Knights is a multiplayer game involving several knights who +must run around a dungeon and complete various quests. Each game revolves +around a quest – for example, you might have to find some items and carry them +back to your starting point. This may sound easy, but as there are only +enough items in the dungeon for one player to win, you may end up having to +kill your opponents to get their stuff! Other quests involve escaping from +the dungeon, fighting a duel to the death against the enemy knights, or +destroying an ancient book using a special wand.") + ;; This package includes modified sources of lua (X11), enet (Expat), and + ;; guichan (BSD-3). The "Coercri" library is released under the Boost + ;; license. The whole package is released under GPLv3+. + (license license:gpl3+))) + (define-public gnubg (package (name "gnubg") -- cgit v1.2.3 From 67df7164e0e38c343aa3a6a43308217ed985f655 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Dec 2017 21:44:49 +0200 Subject: gnu: Add libvdpau-va-gl. * gnu/packages/video.scm (libvdpau-va-gl): New variable. * gnu/packages/patches/libvdpau-va-gl-unbundle.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/patches/libvdpau-va-gl-unbundle.patch | 35 ++++++++++++++++++++++ gnu/packages/video.scm | 35 ++++++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 gnu/packages/patches/libvdpau-va-gl-unbundle.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 636919550c..0e93f9f102 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -836,6 +836,7 @@ dist_patch_DATA = \ %D%/packages/patches/libunistring-gnulib-multi-core.patch \ %D%/packages/patches/libusb-0.1-disable-tests.patch \ %D%/packages/patches/libusb-for-axoloti.patch \ + %D%/packages/patches/libvdpau-va-gl-unbundle.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libxcb-python-3.5-compat.patch \ %D%/packages/patches/libxml2-CVE-2016-4658.patch \ diff --git a/gnu/packages/patches/libvdpau-va-gl-unbundle.patch b/gnu/packages/patches/libvdpau-va-gl-unbundle.patch new file mode 100644 index 0000000000..b15e15c2a3 --- /dev/null +++ b/gnu/packages/patches/libvdpau-va-gl-unbundle.patch @@ -0,0 +1,35 @@ +From 18e3ff648356cf06a39372aa4a4bbf2732d9d0f4 Mon Sep 17 00:00:00 2001 +From: Efraim Flashner +Date: Tue, 12 Dec 2017 21:36:44 +0200 +Subject: [PATCH] don't use bundled libvdpau headers + +--- + CMakeLists.txt | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0484179..e950707 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,16 +9,17 @@ find_package(PkgConfig REQUIRED) + find_package(X11 REQUIRED) + pkg_check_modules(LIBVA libva-x11 REQUIRED) + pkg_check_modules(LIBGL gl REQUIRED) ++pkg_check_modules(LIBVDPAU vdpau REQUIRED) + + set(DRIVER_NAME "vdpau_va_gl" CACHE STRING "driver name") + set(LIB_SUFFIX "" CACHE STRING "library path suffix (if needed)") + set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/vdpau" CACHE PATH "library installation path") + + include_directories ( +- 3rdparty + ${X11_INCLUDE_DIRS} + ${LIBVA_INCLUDE_DIRS} + ${LIBGL_INCLUDE_DIRS} ++ ${LIBVDPAU_INCLUDE_DIRS} + ${GENERATED_INCLUDE_DIRS} + ${CMAKE_BINARY_DIR} + ) +-- +2.15.1 + diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 466274c6aa..28ef48844c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1864,6 +1864,41 @@ (define-public vdpauinfo implementation.") (license (license:x11-style "file://COPYING")))) +(define-public libvdpau-va-gl + (package + (name "libvdpau-va-gl") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/i-rinat/libvdpau-va-gl/" + "releases/download/v" version "/libvdpau-va-gl-" + version ".tar.gz")) + (sha256 + (base32 + "1x2ag1f2fwa4yh1g5spv99w9x1m33hbxlqwyhm205ssq0ra234bx")) + (patches (search-patches "libvdpau-va-gl-unbundle.patch")) + (modules '((guix build utils))) + (snippet '(delete-file-recursively "3rdparty")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f)) ; Tests require a running X11 server, with VA-API support. + (native-inputs + `(("libvdpau" ,libvdpau) + ("pkg-config" ,pkg-config))) + (inputs + `(("libva" ,libva) + ("mesa" ,mesa))) + (home-page "https://github.com/i-rinat/libvdpau-va-gl") + (synopsis "VDPAU driver with VA-API/OpenGL backend") + (description + "Many applications can use VDPAU to accelerate portions of the video +decoding process and video post-processing to the GPU video hardware. Since +there is no VDPAU available on Intel chips, they fall back to different drawing +techniques. This driver uses OpenGL under the hood to accelerate drawing and +scaling and VA-API (if available) to accelerate video decoding.") + (license license:expat))) + (define-public recordmydesktop (package (name "recordmydesktop") -- cgit v1.2.3 From 1b74b126fe73608bad9ebe20c009d68a97b3608e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 17:51:00 +0100 Subject: gnu: gx-vbass-preamp-lv2: Update to 0-2.eb999b0ca. * gnu/packages/music.scm (gx-vbass-preamp-lv2): Update to 0-2.eb999b0ca. [inputs]: Add gtk+-2. [native-inputs]: Add pkg-config. (gx-overdriver-lv2, gx-tone-mender-lv2, gx-push-pull-lv2, gx-switchless-wah-lv2): Inherit from gx-guvnor-lv2. --- gnu/packages/music.scm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 9fff6504d6..479c824064 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2711,8 +2711,8 @@ (define-public gx-guvnor-lv2 (license license:gpl3+))) (define-public gx-vbass-preamp-lv2 - (let ((commit "0e599abab10c7669dd444e5d06f671c2fc1b9c6c") - (revision "1")) + (let ((commit "eb999b0ca0ef4da40a59e458a9ab6e7042b96c99") + (revision "2")) (package (inherit gx-guvnor-lv2) (name "gx-vbass-preamp-lv2") (version (string-append "0-" revision "." (string-take commit 9))) @@ -2723,8 +2723,13 @@ (define-public gx-vbass-preamp-lv2 (commit commit))) (sha256 (base32 - "1dzksdfrva666gpi62fd2ni9rhf18sl917f1894qr0b17pbdh9k1")) + "0firap073ldw4nrykkd7jvyyj0jbl1nslxyzjj4kswazp99x7d9h")) (file-name (string-append name "-" version "-checkout")))) + (inputs + `(("lv2" ,lv2) + ("gtk+" ,gtk+-2))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "https://github.com/brummer10/GxVBassPreAmp.lv2") (synopsis "Simulation of the Vox Venue Bass 100 Pre Amp Section") (description "This package provides the LV2 plugin \"GxVBassPreAmp\", a @@ -2734,7 +2739,7 @@ (define-public gx-vbass-preamp-lv2 (define-public gx-overdriver-lv2 (let ((commit "ed71801987449414bf3adaa0dbfac68e8775f1ce") (revision "1")) - (package (inherit gx-vbass-preamp-lv2) + (package (inherit gx-guvnor-lv2) (name "gx-overdriver-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin @@ -2754,7 +2759,7 @@ (define-public gx-overdriver-lv2 (define-public gx-tone-mender-lv2 (let ((commit "b6780b4a3e4782b3ed0e5882d6788f178aed138f") (revision "1")) - (package (inherit gx-vbass-preamp-lv2) + (package (inherit gx-guvnor-lv2) (name "gx-tone-mender-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin @@ -2774,7 +2779,7 @@ (define-public gx-tone-mender-lv2 (define-public gx-push-pull-lv2 (let ((commit "7f76ae2068498643ac8671ee0930b13ee3fd8eb5") (revision "1")) - (package (inherit gx-vbass-preamp-lv2) + (package (inherit gx-guvnor-lv2) (name "gx-push-pull-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin @@ -2929,7 +2934,7 @@ (define-public gx-slow-gear-lv2 (define-public gx-switchless-wah-lv2 (let ((commit "7b08691203314612999f0ce2328cdc1161cd6665") (revision "2")) - (package (inherit gx-vbass-preamp-lv2) + (package (inherit gx-guvnor-lv2) (name "gx-switchless-wah-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin -- cgit v1.2.3 From d921a1f4dd7d742fa730fd7f120376c1673a39a0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 18:04:53 +0100 Subject: gnu: gx-slow-gear-lv2: Update to 0-3.5d37e775b. * gnu/packages/music.scm (gx-slow-gear-lv2): Update to 0-3.5d37e775b. --- gnu/packages/music.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 479c824064..a95fb6aaae 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2912,8 +2912,8 @@ (define-public gx-vintage-fuzz-master-lv2 \"GxVintageFuzzMaster\", a simulation of the vintage Fuzz Master pedal."))) (define-public gx-slow-gear-lv2 - (let ((commit "cb852e0426f4e6fe077e7f1ede73a4da335cfc5e") - (revision "2")) + (let ((commit "5d37e775b0feef1d82feee94e2a7a2d7e57efe2d") + (revision "3")) (package (inherit gx-vbass-preamp-lv2) (name "gx-slow-gear-lv2") (version (string-append "0-" revision "." (string-take commit 9))) @@ -2924,7 +2924,7 @@ (define-public gx-slow-gear-lv2 (commit commit))) (sha256 (base32 - "0dp7afi1r3kzciiyn1hrkz6arsq47ys9sx5g4b7xa9k1dv92ishp")) + "141mz69zkhk3lm54bb6wgpnghb92zm1ig7fv07240cmhydqji1q1")) (file-name (string-append name "-" version "-checkout")))) (home-page "https://github.com/brummer10/GxSlowGear.lv2") (synopsis "Slow gear audio effect") -- cgit v1.2.3 From d9f65bd32dbfba38e357498770f80d2f7240f3aa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 18:05:23 +0100 Subject: gnu: gx-saturator-lv2: Update to 0-3.605330f43. * gnu/packages/music.scm (gx-saturator-lv2): Update to 0-3.605330f43. --- gnu/packages/music.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index a95fb6aaae..1befaf26d5 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2816,8 +2816,8 @@ (define-public gx-suppa-tone-bender-lv2 pedal."))) (define-public gx-saturator-lv2 - (let ((commit "0b581ac85c515325b9f16e51937cae6e1bf81a0a") - (revision "2")) + (let ((commit "605330f432c94b6eb3f8203cbe472befae959532") + (revision "3")) (package (inherit gx-vbass-preamp-lv2) (name "gx-saturator-lv2") (version (string-append "0-" revision "." (string-take commit 9))) @@ -2828,7 +2828,7 @@ (define-public gx-saturator-lv2 (commit commit))) (sha256 (base32 - "1cl785pzq8zk55m1rnhfd6qsabci6kpf4pf002gwr91vagyq246z")) + "1w4nvh0rmxrv3s3hmh4fs74f3hc0jn31v00j769j7v68mqr7kawy")) (file-name (string-append name "-" version "-checkout")))) (home-page "https://github.com/brummer10/GxSaturator.lv2") (synopsis "Saturation effect") -- cgit v1.2.3 From 25504aaff82f78837e508c597a7b488d9e3c9057 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 16 Dec 2017 19:17:43 +0200 Subject: gnu: lookingglass: Limit to Intel compatable systems. * gnu/packages/virtualization.scm (lookingglass)[supported-systems]: New field. --- gnu/packages/virtualization.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 2fcd9e5a7a..2f5ad80bc7 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -752,4 +752,6 @@ (define-public lookingglass Machine) configured for VGA PCI Pass-through without an attached physical monitor, keyboard or mouse. It displays the VM's rendered contents on your main monitor/GPU.") + ;; This package requires SSE instructions. + (supported-systems '("i686-linux" "x86_64-linux")) (license gpl2+))) -- cgit v1.2.3 From ca6182a1be5ccc76043b4138e504ee6ae143edae Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 16 Dec 2017 17:49:15 +0100 Subject: gnu: guix: Update snapshot to 02345c. * gnu/packages/package-management.scm (guix): Update to 02345c. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 45119bc708..dae6499b62 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -86,8 +86,8 @@ (define-public guix ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.14.0") - (commit "ad4953bc0ec1684c49c0934304c7ec200a0cd280") - (revision 1)) + (commit "02345c963e1e8a45afcdf5acb80fca4538244b36") + (revision 2)) (package (name "guix") @@ -103,7 +103,7 @@ (define-public guix (commit commit))) (sha256 (base32 - "0ngra4cb1kf3kwccslmhnvlr116drsnbqrsjniq1hrg5mqf6vf1b")) + "0f33makasj14zf0zfv1w7k04bkcpdy5grx5b904vv5ygi5bak7nx")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From e908a5af89614987302b32ac84e7d3af1c33e549 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 16 Dec 2017 16:04:53 -0500 Subject: gnu: borg: Fix a data loss bug. See for more information. * gnu/packages/patches/borg-fix-archive-corruption-bug.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/backup.scm (borg)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/backup.scm | 1 + .../patches/borg-fix-archive-corruption-bug.patch | 68 ++++++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 gnu/packages/patches/borg-fix-archive-corruption-bug.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 0e93f9f102..d4237b54d7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -558,6 +558,7 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-ld-new-dtags.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blast+-fix-makefile.patch \ + %D%/packages/patches/borg-fix-archive-corruption-bug.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/cairo-CVE-2016-9082.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index f021aa83d8..e634d6ab96 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -470,6 +470,7 @@ (define-public borg (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) + (patches (search-patches "borg-fix-archive-corruption-bug.patch")) (sha256 (base32 "1rvn8b6clzd1r317r9jkvk34r31risi0dxfjc7jffhnwasck4anc")) diff --git a/gnu/packages/patches/borg-fix-archive-corruption-bug.patch b/gnu/packages/patches/borg-fix-archive-corruption-bug.patch new file mode 100644 index 0000000000..0debf119be --- /dev/null +++ b/gnu/packages/patches/borg-fix-archive-corruption-bug.patch @@ -0,0 +1,68 @@ +Fix a bug in `borg check --repair` that corrupts existing archives: + +https://github.com/borgbackup/borg/issues/3444 + +Patches copied from upstream source repository: + +https://github.com/borgbackup/borg/commit/e09892caec8a63d59e909518c4e9c230dbd69774 +https://github.com/borgbackup/borg/commit/a68d28bfa4db30561150c83eb6a0dca5efa4d9e8 + +From a68d28bfa4db30561150c83eb6a0dca5efa4d9e8 Mon Sep 17 00:00:00 2001 +From: Thomas Waldmann +Date: Sat, 16 Dec 2017 01:11:40 +0100 +Subject: [PATCH 1/2] modify borg check unit test so it "hangs", see #3444 + +it doesn't infinitely hang, but slows down considerably. +--- + src/borg/testsuite/archiver.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py +index c7def2c7..b3383e97 100644 +--- a/src/borg/testsuite/archiver.py ++++ b/src/borg/testsuite/archiver.py +@@ -3006,7 +3006,7 @@ def test_missing_file_chunk(self): + def test_missing_archive_item_chunk(self): + archive, repository = self.open_archive('archive1') + with repository: +- repository.delete(archive.metadata.items[-5]) ++ repository.delete(archive.metadata.items[0]) + repository.commit() + self.cmd('check', self.repository_location, exit_code=1) + self.cmd('check', '--repair', self.repository_location, exit_code=0) +-- +2.15.1 + + +From e09892caec8a63d59e909518c4e9c230dbd69774 Mon Sep 17 00:00:00 2001 +From: Thomas Waldmann +Date: Sat, 16 Dec 2017 01:16:05 +0100 +Subject: [PATCH 2/2] check --repair: fix malfunctioning validator, fixes #3444 + +the major problem was the ('path' in item) expression. +the dict has bytes-typed keys there, so it never succeeded as it +looked for a str key. this is a 1.1 regression, 1.0 was fine. + +the dict -> StableDict change is just for being more specific, +the check triggered correctly as StableDict subclasses dict, +it was just a bit too general. +--- + src/borg/archive.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/borg/archive.py b/src/borg/archive.py +index 239d00b7..be086800 100644 +--- a/src/borg/archive.py ++++ b/src/borg/archive.py +@@ -1457,7 +1457,7 @@ def robust_iterator(archive): + """ + item_keys = frozenset(key.encode() for key in self.manifest.item_keys) + required_item_keys = frozenset(key.encode() for key in REQUIRED_ITEM_KEYS) +- unpacker = RobustUnpacker(lambda item: isinstance(item, dict) and 'path' in item, ++ unpacker = RobustUnpacker(lambda item: isinstance(item, StableDict) and b'path' in item, + self.manifest.item_keys) + _state = 0 + +-- +2.15.1 + -- cgit v1.2.3 From 1475d5c6c7fab1a77b5282522c851a5fd50b483e Mon Sep 17 00:00:00 2001 From: Mark Meyer Date: Wed, 13 Dec 2017 23:49:09 +0100 Subject: gnu: krita: Enhance krita. * gnu/packages/kde.scm (krita)[inputs]: Add libjpeg-turbo, ilmbase and openexr. [native-inputs]: Add vc. [arguments]: Set path to headers for ilmbase. Signed-off-by: Kei Kebreau --- gnu/packages/kde.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index b5a3df2ca3..89ad30ecd2 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -256,14 +256,18 @@ (define-public krita (string-append "-DWITH_LibRaw=" (assoc-ref %build-inputs "libraw")) (string-append "-DWITH_TIFF=" - (assoc-ref %build-inputs "libtiff"))))) + (assoc-ref %build-inputs "libtiff")) + (string-append "-DCMAKE_CXX_FLAGS=-I" + (assoc-ref %build-inputs "ilmbase") + "/include/OpenEXR")))) (native-inputs `(("curl" ,curl) ("eigen" ,eigen) ("extra-cmake-modules" ,extra-cmake-modules) ("gettext-minimal" ,gettext-minimal) ("kitemmodels" ,kitemmodels) - ("qwt" ,qwt))) + ("qwt" ,qwt) + ("vc" ,vc))) (inputs `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) @@ -287,6 +291,7 @@ (define-public krita ("exiv2" ,exiv2) ("lcms" ,lcms) ("libpng" ,libpng) + ("libjpeg-turbo" ,libjpeg-turbo) ("zlib" ,zlib) ("libx11" ,libx11) ("libxcb" ,libxcb) @@ -296,7 +301,9 @@ (define-public krita ("poppler-qt5" ,poppler-qt5) ("libraw" ,libraw) ("libtiff" ,libtiff) - ("perl" ,perl))) + ("perl" ,perl) + ("ilmbase" ,ilmbase) + ("openexr" ,openexr))) (home-page "https://krita.org") (synopsis "Digital painting application") (description -- cgit v1.2.3 From bef02e9e1c405cd28c42cf7fec3385bfb3e2bb21 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 16 Dec 2017 16:58:31 -0500 Subject: gnu: python-dulwich: Update to 0.18.6 [fixes CVE-2017-16228]. * gnu/packages/python.scm (python-dulwich, python2-dulwich): Update to 0.18.6. --- gnu/packages/python.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 082856bfbf..4baef43914 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9897,7 +9897,7 @@ (define-public python2-cheetah (define-public python-dulwich (package (name "python-dulwich") - (version "0.16.3") + (version "0.18.6") (source (origin (method url-fetch) @@ -9905,7 +9905,8 @@ (define-public python-dulwich "dulwich-" version ".tar.gz") (pypi-uri "dulwich" version))) (sha256 - (base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als")))) + (base32 + "1aa1xfrxkc3j9s4xi0llhf5gndyi9ryprcxsqfa5fcb8ph34981q")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From bc3d6077489e7be5bee35d426207ac0f290c09d0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 17 Dec 2017 08:49:04 +0200 Subject: gnu: global: Update to 6.6.1 [fixes CVE-2017-17531]. * gnu/packages/code.scm (global): Update to 6.6.1. --- gnu/packages/code.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index b246ca0eb9..a094f0a465 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -99,14 +99,14 @@ (define-public complexity (define-public global ; a global variable (package (name "global") - (version "6.6") + (version "6.6.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/global/global-" version ".tar.gz")) (sha256 (base32 - "09vm11pkzbqbbhigapi1fvfcrb2gwqffjnc37yc2r7j2falnxa47")))) + "1r2r6z41lmgbszzwx7h3jqhwnqb9jj32pndzhr3lb0id710c8gcl")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) ("libltdl" ,libltdl) -- cgit v1.2.3 From e25ca462e5c6b4e5bbcfb70dbdf1006a25749dee Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 17 Dec 2017 08:31:32 +0100 Subject: services: cleanup: Remove "/run/udev/watch.old" directory. * gnu/services.scm (cleanup-gexp): Remove "/run/udev/watch.old" directory. --- gnu/services.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services.scm b/gnu/services.scm index 016ff08e0b..15fc6dcb49 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -392,7 +392,8 @@ (define (cleanup-gexp _) (mkdir "/tmp") (chmod "/tmp" #o1777) (mkdir "/var/run") - (chmod "/var/run" #o755)))))))) + (chmod "/var/run" #o755) + (delete-file-recursively "/run/udev/watch.old")))))))) (define cleanup-service-type ;; Service that cleans things up in /tmp and similar. -- cgit v1.2.3 From f845793237c9f4a84da0a3b9737792153adf07eb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 17 Dec 2017 16:49:45 +0100 Subject: gnu: pinentry-tty: Add meta-data for 'guix refresh'. * gnu/packages/gnupg.scm (pinentry-tty)[properties]: New field. --- gnu/packages/gnupg.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index d2b74c4721..8a81e9f9e9 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Mark H Weaver @@ -749,7 +749,10 @@ (define-public pinentry-tty (description "Pinentry provides a console that allows users to enter a passphrase when @code{gpg} is run and needs it.") - (license license:gpl2+))) + (license license:gpl2+) + (properties '((ftp-server . "ftp.gnupg.org") + (ftp-directory . "/gcrypt/pinentry") + (upstream-name . "pinentry"))))) (define-public pinentry-gtk2 (package -- cgit v1.2.3 From 217f704c6aa6a95caea0ebb7a252b8b2f1d78860 Mon Sep 17 00:00:00 2001 From: Mark Meyer Date: Sun, 17 Dec 2017 14:08:17 +0100 Subject: gnu: gourmet: Fix runtime failure and enhance plugin. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . Reported by Caleb Herbert . * gnu/packages/nutrition.scm (gourmet)[inputs]: Add python-lxml. [arguments]: Custom install phase. Signed-off-by: Ludovic Courtès --- gnu/packages/nutrition.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/nutrition.scm b/gnu/packages/nutrition.scm index 90019f848c..0e03253cf1 100644 --- a/gnu/packages/nutrition.scm +++ b/gnu/packages/nutrition.scm @@ -52,11 +52,18 @@ (define-public gourmet (inputs `(("pygtk" ,python2-pygtk) ("sqlalchemy" ,python2-sqlalchemy) + ("python-lxml" ,python2-lxml) ("python-pillow" ,python2-pillow) ("elib.intl" ,python2-elib.intl))) (arguments `(#:python ,python-2 ;exception and print syntax - #:tests? #f)) ;tests look bitrotted + #:tests? #f ;tests look bitrotted + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key make-flags #:allow-other-keys) + (zero? (system* "python" "setup.py" "install" "--prefix" + (assoc-ref %outputs "out")))))))) (home-page "http://thinkle.github.io/gourmet/") (synopsis "Recipe organizer") (description -- cgit v1.2.3 From ad564a06ad3a58027888fe7b71f0d5563a019c08 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 17 Dec 2017 18:58:17 +0100 Subject: gnu: Add grammalecte. * gnu/packages/dictionaries.scm (grammalecte): New variable. --- gnu/packages/dictionaries.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 062c29b66d..0239eeda60 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -23,6 +23,7 @@ (define-module (gnu packages dictionaries) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages base) #:use-module (gnu packages curl) @@ -206,6 +207,45 @@ (define-public ding (home-page "http://www-user.tu-chemnitz.de/~fri/ding/") (license gpl2+))) +(define-public grammalecte + (package + (name "grammalecte") + (version "0.6.1") + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://www.dicollecte.org/grammalecte/zip/" + "Grammalecte-fr-v" version ".zip")) + (sha256 + (base32 + "0bl342i7nqbg8swk3fxashg9liyp3jdnix59pndhy41cpm1xln4i")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-setup.py + ;; FIXME: "setup.py" contains a typo in 0.6.1 release. The + ;; issue was reported and fixed upstream + ;; (https://dicollecte.org/thread.php?prj=fr&t=674). This + ;; phase can be removed in next release. + (lambda _ + (substitute* "setup.py" + (("server_options\\.") "grammalecte-server-options.")) + #t))))) + (home-page "https://www.dicollecte.org") + (synopsis "French spelling and grammar checker") + (description "Grammalecte is a grammar checker dedicated to the French +language, derived from Lightproof. + +Grammalecte aims at helping to write a proper French without distracting users +with false positives. This grammar checker follows the principle: the less +false positives, the better; if it cannot know with a good chance if +a dubious expression is wrong, it will keep silent. + +The package provides the command line interface, along with a server +and a Python library.") + (license license:gpl3+))) + (define-public translate-shell (package (name "translate-shell") -- cgit v1.2.3 From e8a051ee7c140886bce8dcd191cb10918b2d4078 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 16 Dec 2017 19:14:06 +0000 Subject: services: certbot: Fix certbot renewal job. Quote the list of hosts, to avoid generating a broken job definition. * gnu/services/certbot.scm (certbot-renewal-jobs): Quote the hosts when passing them in to the job gexp. --- gnu/services/certbot.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index dc072ea8da..0d72a4b700 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -72,7 +72,7 @@ (define certbot-renewal-jobs (string-concatenate (map (lambda (host) (string-append " -d " host)) - #$hosts)))))))))) + '#$hosts)))))))))) (define certbot-activation (match-lambda -- cgit v1.2.3 From 56d924a59b78be3974fadb64e1d959061ca1b898 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 17 Dec 2017 21:34:33 +0100 Subject: gnu: grammalecte: Fix 'license' field. * gnu/packages/dictionaries.scm (grammalecte)[license]: Change name to 'gpl3+'. --- gnu/packages/dictionaries.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 0239eeda60..d96a88b4d1 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -244,7 +244,7 @@ (define-public grammalecte The package provides the command line interface, along with a server and a Python library.") - (license license:gpl3+))) + (license gpl3+))) (define-public translate-shell (package -- cgit v1.2.3 From e0d96774dd48c29ccc4c90fea1f8f71850ab0879 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 9 Dec 2017 08:36:52 +0000 Subject: gnu: system: vm: Use loose cache for 9p file system. This improves the performance of the shared store for operations involving lots of files, e.g. searching through the store. * gnu/system/vm.scm (mapping->file-system): Add cache=loose to options. --- gnu/system/vm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 6102d465b8..c1305d3f9e 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -554,7 +554,7 @@ (define (mapping->file-system mapping) (device (file-system->mount-tag source)) (type "9p") (flags (if writable? '() '(read-only))) - (options (string-append "trans=virtio")) + (options "trans=virtio,cache=loose") (check? #f) (create-mount-point? #t))))) -- cgit v1.2.3 From 98cf8ca89a41329c00f0e895f599901e357a60f1 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 12 Dec 2017 06:48:27 +0000 Subject: gnu: Add mod-wsgi. * gnu/packages/web.scm (mod-wsgi): New variable. --- gnu/packages/web.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index eb0436cb35..514003755c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -145,6 +145,36 @@ (define-public httpd (license l:asl2.0) (home-page "https://httpd.apache.org/"))) +(define-public mod-wsgi + (package + (name "mod-wsgi") + (version "4.5.22") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/GrahamDumpleton/mod_wsgi/archive/" + version ".tar.gz")) + (sha256 + (base32 + "0n1yhmrfp8mjbsngmyjl937c6rc0069p6wdi1lknrbn1q42hzw6q")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;; TODO: Can't figure out if there are tests + #:make-flags (list + (string-append "DESTDIR=" + (assoc-ref %outputs "out")) + "LIBEXECDIR=/modules"))) + (inputs + `(("httpd" ,httpd) + ("python" ,python-wrapper))) + (synopsis "Apache HTTPD module for Python WSGI applications") + (description + "The mod_wsgi module for the Apache HTTPD Server adds support for running +applications that support the Python @acronym{WSGI, Web Server Gateway +Interface} specification.") + (license l:asl2.0) + (home-page "https://modwsgi.readthedocs.io/"))) + (define-public nginx (package (name "nginx") -- cgit v1.2.3 From 87dbb634a992e51fbcea86034a6c37f126a25a78 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 17 Dec 2017 20:57:35 -0500 Subject: gnu: openssl: Update replacement to 1.0.2n [fixes CVE-2017-{3737,3738}]. * gnu/packages/tls.scm (openssl)[replacement]: Use openssl-1.0.2n. (openssl-1.0.2m): Replace with ... (openssl-1.0.2n): ... this updated version. Update comment. --- gnu/packages/tls.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 9e2c1c6d49..75d8c9497e 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -255,7 +255,7 @@ (define-public openssl (package (name "openssl") (version "1.0.2l") - (replacement openssl-1.0.2m) + (replacement openssl-1.0.2n) (source (origin (method url-fetch) (uri (list (string-append "ftp://ftp.openssl.org/source/" @@ -398,12 +398,12 @@ (define-public openssl (license license:openssl) (home-page "http://www.openssl.org/"))) -;; Fixes CVE-2017-3735 and CVE-2017-3736. +;; Fixes CVE-2017-3735, CVE-2017-3736, CVE-2017-3737, and CVE-2017-3738. ;; See . -(define-public openssl-1.0.2m +(define-public openssl-1.0.2n (package (inherit openssl) - (version "1.0.2m") + (version "1.0.2n") (source (origin (inherit (package-source openssl)) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -415,7 +415,7 @@ (define-public openssl-1.0.2m "/openssl-" version ".tar.gz"))) (sha256 (base32 - "03vvlfnxx4lhxc83ikfdl6jqph4h52y7lb7li03va6dkqrgg2vwc")))))) + "1zm82pyq5a9jm10q6iv7d3dih3xwjds4x30fqph3k317byvsn2rp")))))) (define-public openssl-next (package -- cgit v1.2.3 From 2ca712bdbae5551a270c17522da20e8cb84a29cf Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 2 Dec 2017 20:17:45 -0500 Subject: vm: Pass the host's /dev/urandom to the guest at /dev/hwrng. * gnu/build/vm.scm (load-in-linux-vm): Use QEMU's virtio-rng-pci. * gnu/system/vm.scm (common-qemu-options): Likewise. --- gnu/build/vm.scm | 4 +++- gnu/system/vm.scm | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 8f8ca609f2..404f324045 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2016 Christopher Allan Webber -;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Marius Bakke ;;; @@ -139,6 +139,8 @@ (define arch-specific-flags (unless (zero? (apply system* qemu "-nographic" "-no-reboot" "-m" (number->string memory-size) + "-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng" + "-device" "virtio-rng-pci,rng=guixsd-vm-rng" "-virtfs" (string-append "local,id=store_dev,path=" (%store-directory) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index c1305d3f9e..53629daa90 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2016 Christopher Allan Webber -;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Marius Bakke ;;; @@ -666,6 +666,8 @@ (define (virtfs-option fs) "-no-reboot" "-net nic,model=virtio" + "-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng" + "-device" "virtio-rng-pci,rng=guixsd-vm-rng" #$@(map virtfs-option shared-fs) "-vga std" -- cgit v1.2.3 From f7ce213404209cd73777834f329ddd23d72c354c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 22:34:20 +0100 Subject: gnu: Add sonivox-eas. * gnu/packages/music.scm (sonivox-eas): New variable. --- gnu/packages/music.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 1befaf26d5..acbb2ee7ba 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3618,3 +3618,34 @@ (define-public libmygpo-qt @url{https://gpodder.net} APIs. It allows applications to discover, manage and track podcasts.") (license license:lgpl2.1+))) + +(define-public sonivox-eas + (package + (name "sonivox-eas") + (version "1.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pedrolcl/Linux-SonivoxEas.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0l9gs00p5g4k4qy6i7nv1mfi2n2wnsycwjrgrh9hxzam4irf2mw2")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ; there are no tests + (inputs + `(("alsa-lib" ,alsa-lib) + ("drumstick" ,drumstick) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/pedrolcl/Linux-SonivoxEas") + (synopsis "MIDI synthesizer library") + (description "This project is a real time General MIDI synthesizer based +on the Sonivox EAS Synthesizer by Google. It does not need external +soundfonts, using embedded samples instead.") + ;; Sonivox is released under the ASL2.0; the rest of the code is under + ;; GPLv2+. + (license (list license:gpl2+ license:asl2.0)))) -- cgit v1.2.3 From 92b36e3aa55dea89789c57ee5591060dc9025737 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 23:08:15 +0100 Subject: gnu: Add whysynth. * gnu/packages/music.scm (whysynth): New variable. --- gnu/packages/music.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index acbb2ee7ba..ff48d0c59f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3649,3 +3649,40 @@ (define-public sonivox-eas ;; Sonivox is released under the ASL2.0; the rest of the code is under ;; GPLv2+. (license (list license:gpl2+ license:asl2.0)))) + +(define-public whysynth + (package + (name "whysynth") + (version "20170701") + (source (origin + (method url-fetch) + (uri (string-append "http://smbolton.com/whysynth/whysynth-" + version ".tar.bz2")) + (sha256 + (base32 + "02qbn0hbvn1iym4zxv35b201blg31yjpgh71h8db0j5zls2xc0m6")))) + (build-system gnu-build-system) + (inputs + `(("dssi" ,dssi) + ("liblo" ,liblo) + ("fftwf" ,fftwf) + ("gtk+" ,gtk+-2) + ("ladspa" ,ladspa) + ("alsa-lib" ,alsa-lib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://smbolton.com/whysynth.html") + (synopsis "DSSI software synthesizer") + (description "WhySynth is a versatile softsynth which operates as a plugin +for the DSSI Soft Synth Interface. A brief list of features: + +@enumerate +@item 4 oscillators, 2 filters, 3 LFOs, and 5 envelope generators per voice. +@item 11 oscillator modes: minBLEP, wavecycle, chorused wavecycle, + asynchronous granular, three FM modes, waveshaper, noise, PADsynth, and phase + distortion. +@item 10 filter modes. +@item flexible modulation and mixdown options, plus effects. +@end enumerate +") + (license license:gpl2+))) -- cgit v1.2.3 From 407137935727b6dc05d8e1a6b42af49ea93a79bc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 16 Dec 2017 23:42:54 +0100 Subject: gnu: Add qjackrcd. * gnu/packages/audio.scm (qjackrcd): New variable. --- gnu/packages/audio.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 81ea1b1363..b13c2f4d32 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1993,6 +1993,38 @@ (define-public qjackctl into various outputs and to start, stop and configure jackd") (license license:gpl2+))) +(define-public qjackrcd + (package + (name "qjackrcd") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/qjackrcd/stable/" + "qjackrcd-" version ".tar.gz")) + (sha256 + (base32 + "0xpnhzbwg5c60n5dhwln5p7qm191nvmf23la88zxfqx1jv0mmxxb")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "qmake" + (string-append "PREFIX=" + (assoc-ref outputs "out"))))))))) + (native-inputs + `(("qtbase" ,qtbase))) ; for qmake + (inputs + `(("jack" ,jack-1) + ("libsndfile" ,libsndfile) + ("qtbase" ,qtbase))) + (home-page "https://sourceforge.net/projects/qjackrcd/") + (synopsis "Stereo audio recorder for JACK") + (description "QJackRcd is a simple graphical stereo recorder for JACK +supporting silence processing for automatic pause, file splitting, and +background file post-processing.") + (license license:gpl2+))) (define-public raul (package -- cgit v1.2.3 From 39b335849b17778d5ad7495213781064d08bb6a6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 17 Dec 2017 08:48:27 +0100 Subject: gnu: Add jack-capture. * gnu/packages/music.scm (jack-capture): New variable. --- gnu/packages/music.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index ff48d0c59f..39e80f9cb1 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2045,6 +2045,43 @@ (define-public jack-keyboard allows you to send JACK MIDI events (i.e. play) using your PC keyboard.") (license license:bsd-2))) +(define-public jack-capture + (package + (name "jack-capture") + (version "0.9.73") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kmatheussen/jack_capture.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0jcqky96q8xgya6wqv1p8pj9fkf2wh7ynl67ah7x5bn3basgfclf")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:tests? #f ; there are none + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("gtk+" ,gtk+-2) + ("jack" ,jack-1) + ("libogg" ,libogg) + ("liblo" ,liblo) + ("lame" ,lame) + ("libsndfile" ,libsndfile))) + (home-page "https://github.com/kmatheussen/jack_capture") + (synopsis "Program for recording sound files with JACK") + (description "This is a program for recording sound files with JACK. It +can connect to any JACK port and record the output into a stereo WAV file.") + (license license:gpl2+))) + (define-public cursynth (package (name "cursynth") -- cgit v1.2.3 From 13edf1b9ea17fcb184730c69d879abaf0e8da66e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 17 Dec 2017 09:08:55 +0100 Subject: gnu: Add aj-snapshot. * gnu/packages/music.scm (aj-snapshot): New variable. --- gnu/packages/music.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 39e80f9cb1..cb2eda997d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2108,6 +2108,34 @@ (define-public cursynth computer's keyboard.") (license license:gpl3+))) +(define-public aj-snapshot + (package + (name "aj-snapshot") + (version "0.9.7") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/aj-snapshot/" + "aj-snapshot-" version ".tar.bz2")) + (sha256 + (base32 + "0yxccgp9qw2cyqv719wlbq8wfsr5ga8czvwa7bmb8dh5s11n3rn8")))) + (build-system gnu-build-system) + (inputs + `(("minixml" ,minixml) + ("jack" ,jack-1) + ("alsa-lib" ,alsa-lib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://aj-snapshot.sourceforge.net/") + (synopsis "Snapshot connections between ALSA and JACK clients") + (description "Aj-snapshot is a small program that can be used to make +snapshots of the connections made between JACK and/or ALSA clients. Because +JACK can provide both audio and MIDI support to programs, aj-snapshot can +store both types of connections for JACK. ALSA, on the other hand, only +provides routing facilities for MIDI clients. Aj-snapshot is meant to be used +from the command line.") + (license license:gpl3+))) + (define-public qtractor (package (name "qtractor") -- cgit v1.2.3 From cf31d5e1148c57169f4cbbb3650ced7bc407f14c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 17 Dec 2017 12:24:43 +0100 Subject: gnu: Add noise-repellent. * gnu/packages/audio.scm (noise-repellent): New variable. --- gnu/packages/audio.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b13c2f4d32..867b7ceca0 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -3169,6 +3169,54 @@ (define-public snd the Snd sources), Ruby, or Forth.") (license (license:non-copyleft "file://COPYING")))) +(define-public noise-repellent + (package + (name "noise-repellent") + (version "0.1.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lucianodato/noise-repellent.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0rd3dlmk3vivjmcr6x2x860y0j1d49c2j95j6ny50v184mwvn11j")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:tests? #f ; there are none + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (inputs + `(("lv2" ,lv2) + ("fftwf" ,fftwf))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/lucianodato/noise-repellent") + (synopsis "LV2 plugin for broadband noise reduction") + (description "Noise Repellent is an LV2 plugin to reduce noise. It has +the following features: + +@enumerate +@item Spectral gating and spectral subtraction suppression rule +@item Adaptive and manual noise thresholds estimation +@item Adjustable noise floor +@item Adjustable offset of thresholds to perform over-subtraction +@item Time smoothing and a masking estimation to reduce artifacts +@item Basic onset detector to avoid transients suppression +@item Whitening of the noise floor to mask artifacts and to recover higher + frequencies +@item Option to listen to the residual signal +@item Soft bypass +@item Noise profile saved with the session +@end enumerate +") + (license license:lgpl3+))) + (define-public cli-visualizer (package (name "cli-visualizer") -- cgit v1.2.3 From b6313997ad74af0ca11826f66f63e38de1d3cc7e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 17 Dec 2017 23:26:34 +0100 Subject: gnu: qmidiarp: Update to 0.6.5. * gnu/packages/music.scm (qmidiarp): Update to 0.6.5. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index cb2eda997d..a1014978be 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3140,14 +3140,14 @@ (define-public ingen (define-public qmidiarp (package (name "qmidiarp") - (version "0.6.4") + (version "0.6.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qmidiarp/qmidiarp/" version "/qmidiarp-" version ".tar.bz2")) (sha256 (base32 - "1gkfv8ajgf86kbn6j5ilfc1zlz17gdi9yxzywqd6jwff4xlm75hx")))) + "043yh1p0rrbj1v840y27529m9260g55gvh1km8az4jxy7mns58r2")))) (build-system gnu-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 8271b8d22a84ded6bfd2a81531116d00347c653c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 11:56:12 +0100 Subject: gnu: r-seurat: Fix ModularityOptimizer.jar. * gnu/packages/bioinformatics.scm (r-seurat)[arguments]: Include Main-Class attribute in manifest. --- gnu/packages/bioinformatics.scm | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 58421d35e8..99693bd62d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9427,11 +9427,17 @@ (define-public r-seurat (let ((classesdir "tmp-classes")) (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) (mkdir classesdir) - (and (zero? (apply system* `("javac" "-d" ,classesdir - ,@(find-files "java" "\\.java$")))) - (zero? (system* "jar" - "-cf" "inst/java/ModularityOptimizer.jar" - "-C" classesdir "."))))))))) + + (with-output-to-file "manifest" + (lambda _ + (display "Manifest-Version: 1.0 +Main-Class: ModularityOptimizer\n"))) + (and (zero? (apply system* `("javac" "-d" ,classesdir + ,@(find-files "java" "\\.java$")))) + (zero? (system* "jar" + "-cmf" "manifest" + "inst/java/ModularityOptimizer.jar" + "-C" classesdir "."))))))))) (native-inputs `(("jdk" ,icedtea "jdk"))) (propagated-inputs -- cgit v1.2.3 From ae1642600707e35e1541f8d488cd5ffb5699ecb2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 11:58:32 +0100 Subject: gnu: Add r-ica. * gnu/packages/cran.scm (r-ica): New variable. --- gnu/packages/cran.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 11d30815cf..24076c5ef4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1642,3 +1642,23 @@ (define-public r-vcd Friendly and is now the main support package for a new book, \"Discrete Data Analysis with R\" by Michael Friendly and David Meyer (2015).") (license license:gpl2))) + +(define-public r-ica + (package + (name "r-ica") + (version "1.0-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ica" version)) + (sha256 + (base32 + "1bkl4a72l0k6gm82l3jxnib898z20cw17zg81jj39l9dn65rlmcq")))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/ica/") + (synopsis "Independent component analysis") + (description "This package provides tools for @dfn{Independent Component +Analysis} (ICA) using various algorithms: FastICA, +Information-Maximization (Infomax), and @dfn{Joint Approximate Diagonalization +of Eigenmatrices} (JADE).") + (license license:gpl2+))) -- cgit v1.2.3 From bf025ff6f2b922fd7a8c4205812842354c2cffae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 11:58:48 +0100 Subject: gnu: Add r-dtw. * gnu/packages/cran.scm (r-dtw): New variable. --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 24076c5ef4..e97069b968 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1662,3 +1662,26 @@ (define-public r-ica Information-Maximization (Infomax), and @dfn{Joint Approximate Diagonalization of Eigenmatrices} (JADE).") (license license:gpl2+))) + +(define-public r-dtw + (package + (name "r-dtw") + (version "1.18-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "dtw" version)) + (sha256 + (base32 + "1b91vahba09cqlb8b1ry4dlv4rbldb4s2p6w52gmyw31vxdv5nnr")))) + (build-system r-build-system) + (propagated-inputs `(("r-proxy" ,r-proxy))) + (home-page "http://dtw.r-forge.r-project.org/") + (synopsis "Dynamic Time Warping Algorithms") + (description "This package provides a comprehensive implementation of +@dfn{dynamic time warping} (DTW) algorithms in R. DTW computes the +optimal (least cumulative distance) alignment between points of two time +series. Common DTW variants covered include local (slope) and global (window) +constraints, subsequence matches, arbitrary distance definitions, +normalizations, minimum variance matching, and so on.") + (license license:gpl2+))) -- cgit v1.2.3 From 15ef07f00e427c8bf136c054bb410608db64fe62 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 11:59:00 +0100 Subject: gnu: Add r-sdmtools. * gnu/packages/cran.scm (r-sdmtools): New variable. --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e97069b968..7708e3a425 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1685,3 +1685,27 @@ (define-public r-dtw constraints, subsequence matches, arbitrary distance definitions, normalizations, minimum variance matching, and so on.") (license license:gpl2+))) + +(define-public r-sdmtools + (package + (name "r-sdmtools") + (version "1.1-221") + (source + (origin + (method url-fetch) + (uri (cran-uri "SDMTools" version)) + (sha256 + (base32 + "1kacrpamshv7wz83yn45sfbw4m9c44xrrngzcklnwx8gcxx2knm6")))) + (properties `((upstream-name . "SDMTools"))) + (build-system r-build-system) + (propagated-inputs `(("r-r-utils" ,r-r-utils))) + (home-page "http://www.rforge.net/SDMTools/") + (synopsis "Species distribution modelling tools") + (description "This packages provides a set of tools for post processing +the outcomes of species distribution modeling exercises. It includes novel +methods for comparing models and tracking changes in distributions through +time. It further includes methods for visualizing outcomes, selecting +thresholds, calculating measures of accuracy and landscape fragmentation +statistics, etc.") + (license license:gpl3+))) -- cgit v1.2.3 From ae3f207951c75cad3966f8a2feb2faec8cc63c59 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 11:59:10 +0100 Subject: gnu: Add r-scatterplot3d. * gnu/packages/cran.scm (r-scatterplot3d): New variable. --- gnu/packages/cran.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 7708e3a425..c5cc759385 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1709,3 +1709,21 @@ (define-public r-sdmtools thresholds, calculating measures of accuracy and landscape fragmentation statistics, etc.") (license license:gpl3+))) + +(define-public r-scatterplot3d + (package + (name "r-scatterplot3d") + (version "0.3-40") + (source + (origin + (method url-fetch) + (uri (cran-uri "scatterplot3d" version)) + (sha256 + (base32 + "0ababcj87kx7860mica9y2ydlhskxmgj9n46crx036cila512jc2")))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/scatterplot3d/") + (synopsis "3D scatter plot") + (description "This package provides an implementation of scatter plots for +plotting. a three dimensional point cloud.") + (license license:gpl2))) -- cgit v1.2.3 From f90018e56821397ae28fada1c4d823c3e0c8750e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 11:59:20 +0100 Subject: gnu: Add r-ggridges. * gnu/packages/cran.scm (r-ggridges): New variable. --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c5cc759385..e0e44067aa 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1727,3 +1727,27 @@ (define-public r-scatterplot3d (description "This package provides an implementation of scatter plots for plotting. a three dimensional point cloud.") (license license:gpl2))) + +(define-public r-ggridges + (package + (name "r-ggridges") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggridges" version)) + (sha256 + (base32 + "0kfa3icqdalqdg1klxjrhfl7if35d3wnsiyl86bprw5dyqyh3lh3")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-plyr" ,r-plyr) + ("r-scales" ,r-scales))) + (home-page "https://github.com/clauswilke/ggridges") + (synopsis "Ridgeline plots in ggplot2") + (description + "Ridgeline plots provide a convenient way of visualizing changes in +distributions over time or space. This package enables the creation of such +plots in @code{ggplot2}.") + (license license:gpl2))) -- cgit v1.2.3 From 007f6d9885b81543b02489e503e51264677ed132 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 11:59:28 +0100 Subject: gnu: Add r-ggjoy. * gnu/packages/cran.scm (r-ggjoy): New variable. --- gnu/packages/cran.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e0e44067aa..e7c9c6588a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1751,3 +1751,25 @@ (define-public r-ggridges distributions over time or space. This package enables the creation of such plots in @code{ggplot2}.") (license license:gpl2))) + +(define-public r-ggjoy + (package + (name "r-ggjoy") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggjoy" version)) + (sha256 + (base32 + "1s24zn7gmk52bvjjhanxby7rxbnc2yfl0nx5nv7x7z0zja8gg7nb")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-ggridges" ,r-ggridges))) + (home-page "https://github.com/clauswilke/ggjoy") + (synopsis "Joyplots in ggplot2") + (description "Joyplots provide a convenient way of visualizing changes in +distributions over time or space. This package enables the creation of such +plots in @code{ggplot2}.") + (license license:gpl2))) -- cgit v1.2.3 From fff9b8843918c4ab9740d9aa355506cd3d24bbc8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 11:59:39 +0100 Subject: gnu: Add r-diffusionmap. * gnu/packages/graph.scm (r-diffusionmap): New variable. --- gnu/packages/graph.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index b5bdfe83fc..70df77b5d2 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -27,6 +27,7 @@ (define-module (gnu packages graph) #:use-module (gnu packages gcc) #:use-module (gnu packages bioinformatics) #:use-module (gnu packages compression) + #:use-module (gnu packages cran) #:use-module (gnu packages graphviz) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) @@ -119,6 +120,31 @@ (define-public r-igraph more.") (license license:gpl2+))) +(define-public r-diffusionmap + (package + (name "r-diffusionmap") + (version "1.1-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "diffusionMap" version)) + (sha256 + (base32 + "1l985q2hfc8ss5afajik4p25dx628yikvhdimz5s0pql800q2yv3")))) + (properties `((upstream-name . "diffusionMap"))) + (build-system r-build-system) + (propagated-inputs + `(("r-igraph" ,r-igraph) + ("r-matrix" ,r-matrix) + ("r-scatterplot3d" ,r-scatterplot3d))) + (home-page "http://www.r-project.org") + (synopsis "Diffusion map") + (description "This package implements the diffusion map method of data +parametrization, including creation and visualization of diffusion maps, +clustering with diffusion K-means and regression using the adaptive regression +model.") + (license license:gpl2))) + (define-public r-rgraphviz (package (name "r-rgraphviz") -- cgit v1.2.3 From f1a2b1cb20cdc0c7f3e58bab4acea39eabfbd5a5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Dec 2017 11:59:50 +0100 Subject: gnu: r-seurat: Update to 2.1.0. * gnu/packages/bioinformatics.scm (r-seurat): Update to 2.1.0. [propagated-inputs]: Add r-diffusionmap, r-dtw, r-ggjoy, r-hmisc, r-ica, r-mass, r-matrix, r-nmf, r-plotly, r-sdmtools, r-tidyr; remove r-plyr, r-rcppeigen, r-fastica. --- gnu/packages/bioinformatics.scm | 140 ++++++++++++++++++++-------------------- 1 file changed, 70 insertions(+), 70 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 99693bd62d..cf026ab24e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -9397,38 +9397,30 @@ (define-public r-msnid (license license:artistic2.0))) (define-public r-seurat - ;; Source releases are only made for new x.0 versions. All newer versions - ;; are only released as pre-built binaries. At the time of this writing the - ;; latest binary release is 1.4.0.12, which is equivalent to this commit. - (let ((commit "fccb77d1452c35ee47e47ebf8e87bddb59f3b08d") - (revision "1")) - (package - (name "r-seurat") - (version (string-append "1.4.0.12-" revision "." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/satijalab/seurat") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "101wq3aqrdmbfi3lqmq4iivk9iwbf10d4z216ss25hf7n9091cyl")) - ;; Delete pre-built jar. - (snippet - '(begin (delete-file "inst/java/ModularityOptimizer.jar") - #t)))) - (build-system r-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'build-jar - (lambda* (#:key inputs #:allow-other-keys) - (let ((classesdir "tmp-classes")) - (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) - (mkdir classesdir) - - (with-output-to-file "manifest" + (package + (name "r-seurat") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (cran-uri "Seurat" version)) + (sha256 + (base32 + "1hqaq6bciikrsyw157w8fn4jw885air7xbkxrmism93rp4qx483x")) + ;; Delete pre-built jar. + (snippet + '(begin (delete-file "inst/java/ModularityOptimizer.jar") + #t)))) + (properties `((upstream-name . "Seurat"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'build-jar + (lambda* (#:key inputs #:allow-other-keys) + (let ((classesdir "tmp-classes")) + (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) + (mkdir classesdir) + (with-output-to-file "manifest" (lambda _ (display "Manifest-Version: 1.0 Main-Class: ModularityOptimizer\n"))) @@ -9437,49 +9429,57 @@ (define-public r-seurat (zero? (system* "jar" "-cmf" "manifest" "inst/java/ModularityOptimizer.jar" - "-C" classesdir "."))))))))) - (native-inputs - `(("jdk" ,icedtea "jdk"))) - (propagated-inputs - `(("r-ape" ,r-ape) - ("r-caret" ,r-caret) - ("r-cowplot" ,r-cowplot) - ("r-dplyr" ,r-dplyr) - ("r-fastica" ,r-fastica) - ("r-fnn" ,r-fnn) - ("r-fpc" ,r-fpc) - ("r-gdata" ,r-gdata) - ("r-ggplot2" ,r-ggplot2) - ("r-gplots" ,r-gplots) - ("r-gridextra" ,r-gridextra) - ("r-igraph" ,r-igraph) - ("r-irlba" ,r-irlba) - ("r-lars" ,r-lars) - ("r-mixtools" ,r-mixtools) - ("r-pbapply" ,r-pbapply) - ("r-plyr" ,r-plyr) - ("r-ranger" ,r-ranger) - ("r-rcolorbrewer" ,r-rcolorbrewer) - ("r-rcpp" ,r-rcpp) - ("r-rcppeigen" ,r-rcppeigen) - ("r-rcppprogress" ,r-rcppprogress) - ("r-reshape2" ,r-reshape2) - ("r-rocr" ,r-rocr) - ("r-rtsne" ,r-rtsne) - ("r-stringr" ,r-stringr) - ("r-tclust" ,r-tclust) - ("r-tsne" ,r-tsne) - ("r-vgam" ,r-vgam))) - (home-page "http://www.satijalab.org/seurat") - (synopsis "Seurat is an R toolkit for single cell genomics") - (description - "This package is an R package designed for QC, analysis, and + "-C" classesdir "."))))))))) + (native-inputs + `(("jdk" ,icedtea "jdk"))) + (propagated-inputs + `(("r-ape" ,r-ape) + ("r-caret" ,r-caret) + ("r-cowplot" ,r-cowplot) + ("r-diffusionmap" ,r-diffusionmap) + ("r-dplyr" ,r-dplyr) + ("r-dtw" ,r-dtw) + ("r-fnn" ,r-fnn) + ("r-fpc" ,r-fpc) + ("r-gdata" ,r-gdata) + ("r-ggjoy" ,r-ggjoy) + ("r-ggplot2" ,r-ggplot2) + ("r-gplots" ,r-gplots) + ("r-gridextra" ,r-gridextra) + ("r-hmisc" ,r-hmisc) + ("r-ica" ,r-ica) + ("r-igraph" ,r-igraph) + ("r-irlba" ,r-irlba) + ("r-lars" ,r-lars) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-mixtools" ,r-mixtools) + ("r-nmf" ,r-nmf) + ("r-pbapply" ,r-pbapply) + ("r-plotly" ,r-plotly) + ("r-ranger" ,r-ranger) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rcpp" ,r-rcpp) + ("r-rcppprogress" ,r-rcppprogress) + ("r-reshape2" ,r-reshape2) + ("r-rocr" ,r-rocr) + ("r-rtsne" ,r-rtsne) + ("r-sdmtools" ,r-sdmtools) + ("r-stringr" ,r-stringr) + ("r-tclust" ,r-tclust) + ("r-tidyr" ,r-tidyr) + ("r-tsne" ,r-tsne) + ("r-vgam" ,r-vgam))) + (home-page "http://www.satijalab.org/seurat") + (synopsis "Seurat is an R toolkit for single cell genomics") + (description + "This package is an R package designed for QC, analysis, and exploration of single cell RNA-seq data. It easily enables widely-used analytical techniques, including the identification of highly variable genes, dimensionality reduction; PCA, ICA, t-SNE, standard unsupervised clustering algorithms; density clustering, hierarchical clustering, k-means, and the discovery of differentially expressed genes and markers.") - (license license:gpl3)))) + (license license:gpl3))) (define-public r-aroma-light (package -- cgit v1.2.3 From 8b223ceac4ff0781e95d69362875f87cff03f4d6 Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Sat, 9 Dec 2017 12:59:12 +0100 Subject: services: nginx: Replace 'http-port' and 'https-port' with 'listen'. * doc/guix.texi (Web Services, Version Control Services): Update accordingly. * gnu/services/certbot.scm (certbot-nginx-server-configurations): Likewise. * gnu/services/version-control.scm (%cgit-configuration-nginx): Likewise. * gnu/services/web.scm (, emit-nginx-server-config): Likewise. * gnu/tests/version-control.scm (%cgit-configuration-nginx, %git-nginx-configuration): Likewise. * gnu/tests/web.scm (%nginx-servers, %php-fpm-nginx-server-blocks): Likewise. --- doc/guix.texi | 20 +++++++++----------- gnu/services/certbot.scm | 4 ++-- gnu/services/version-control.scm | 3 ++- gnu/services/web.scm | 16 ++++++---------- gnu/tests/version-control.scm | 7 +++---- gnu/tests/web.scm | 6 +++--- 6 files changed, 25 insertions(+), 31 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 242e54fd15..e44478cbf4 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -14938,17 +14938,15 @@ Data type representing the configuration of an nginx server block. This type has the following parameters: @table @asis -@item @code{http-port} (default: @code{80}) -Nginx will listen for HTTP connection on this port. Set it at @code{#f} if -nginx should not listen for HTTP (non secure) connection for this -@dfn{server block}. +@item @code{listen} (default: @code{'("80" "443 ssl")}) +Each @code{listen} directive sets the address and port for IP, or the +path for a UNIX-domain socket on which the server will accept requests. +Both address and port, or only address or only port can be specified. +An address may also be a hostname, for example: -@item @code{https-port} (default: @code{443}) -Nginx will listen for HTTPS connection on this port. Set it at @code{#f} if -nginx should not listen for HTTPS (secure) connection for this @dfn{server block}. - -Note that nginx can listen for HTTP and HTTPS connections in the same -@dfn{server block}. +@example +'("127.0.0.1:8000" "127.0.0.1" "8000" "*:8000" "localhost:8000") +@end example @item @code{server-name} (default: @code{(list 'default)}) A list of server names this server represents. @code{'default} represents the @@ -17689,7 +17687,7 @@ serve the default @file{/srv/git} over HTTPS might be: (server-blocks (list (nginx-server-configuration - (http-port #f) + (listen '("443 ssl")) (server-name "git.my-host.org") (ssl-certificate "/etc/letsencrypt/live/git.my-host.org/fullchain.pem") diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 0d72a4b700..8aac2638b3 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Sou Bunnbu +;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,8 +98,7 @@ (define certbot-nginx-server-configurations (map (lambda (host) (nginx-server-configuration - (http-port 80) - (https-port #f) + (listen '("80")) (ssl-certificate #f) (ssl-certificate-key #f) (server-name (list host)) diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index fce2ce1c25..6bf656949a 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2017 Oleg Pykhalov +;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -231,7 +232,7 @@ (define %cgit-configuration-nginx "fastcgi_param HTTP_HOST $server_name;" "fastcgi_pass 127.0.0.1:9000;"))))) (try-files (list "$uri" "@cgit")) - (https-port #f) + (listen '("80")) (ssl-certificate #f) (ssl-certificate-key #f)))) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 582cf535cb..8a16f50de4 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016, 2017 Julien Lepiller ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2017 nee +;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,8 +50,7 @@ (define-module (gnu services web) nginx-server-configuration nginx-server-configuration? - nginx-server-configuration-http-port - nginx-server-configuartion-https-port + nginx-server-configuration-listen nginx-server-configuration-server-name nginx-server-configuration-root nginx-server-configuration-locations @@ -135,10 +135,8 @@ (define-module (gnu services web) (define-record-type* nginx-server-configuration make-nginx-server-configuration nginx-server-configuration? - (http-port nginx-server-configuration-http-port - (default 80)) - (https-port nginx-server-configuration-https-port - (default 443)) + (listen nginx-server-configuration-listen + (default '("80" "443 ssl"))) (server-name nginx-server-configuration-server-name (default (list 'default))) (root nginx-server-configuration-root @@ -225,8 +223,7 @@ (define emit-nginx-location-config " }\n")))) (define (emit-nginx-server-config server) - (let ((http-port (nginx-server-configuration-http-port server)) - (https-port (nginx-server-configuration-https-port server)) + (let ((listen (nginx-server-configuration-listen server)) (server-name (nginx-server-configuration-server-name server)) (ssl-certificate (nginx-server-configuration-ssl-certificate server)) (ssl-certificate-key @@ -245,8 +242,7 @@ (define-syntax-rule (and/l x tail ...) '()))) (list " server {\n" - (and/l http-port " listen " (number->string <>) ";\n") - (and/l https-port " listen " (number->string <>) " ssl;\n") + (map (lambda (directive) (list " listen " directive ";\n")) listen) " server_name " (config-domain-strings server-name) ";\n" (and/l ssl-certificate " ssl_certificate " <> ";\n") (and/l ssl-certificate-key " ssl_certificate_key " <> ";\n") diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm index 2cbacf0ef9..7367861b05 100644 --- a/gnu/tests/version-control.scm +++ b/gnu/tests/version-control.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Oleg Pykhalov ;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,8 +79,7 @@ (define %cgit-configuration-nginx "fastcgi_param HTTP_HOST $server_name;" "fastcgi_pass 127.0.0.1:9000;"))))) (try-files (list "$uri" "@cgit")) - (http-port 19418) - (https-port #f) + (listen '("19418")) (ssl-certificate #f) (ssl-certificate-key #f)))) @@ -211,8 +211,7 @@ (define %git-nginx-configuration (server-blocks (list (nginx-server-configuration - (http-port 19418) - (https-port #f) + (listen '("19418")) (ssl-certificate #f) (ssl-certificate-key #f) (locations diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index e975cb8300..f1214fb5fd 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ludovic Courtès ;;; Copyright © 2017 Christopher Baines +;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,7 +48,7 @@ (define %nginx-servers ;; Server blocks. (list (nginx-server-configuration (root "/srv") - (http-port 8042)))) + (listen '("8042" "443 ssl"))))) (define %nginx-os ;; Operating system under test. @@ -153,8 +154,7 @@ (define %php-fpm-nginx-server-blocks (root "/srv") (locations (list (nginx-php-location))) - (http-port 8042) - (https-port #f) + (listen "8042") (ssl-certificate #f) (ssl-certificate-key #f)))) -- cgit v1.2.3 From b05e8ee1205bc10f2ab33045f257170d4ce1999b Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Sat, 9 Dec 2017 22:47:53 +0100 Subject: services: nginx: Allow to add raw content to the server blocks. * doc/guix.texi (Web Services): Document 'raw-content'. * gnu/services/web.scm ()[raw-content]: New field. (emit-nginx-server-config): Add it. --- doc/guix.texi | 3 +++ gnu/services/web.scm | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index e44478cbf4..68f3a88781 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -14979,6 +14979,9 @@ you don't have a key or you don't want to use HTTPS. @item @code{server-tokens?} (default: @code{#f}) Whether the server should add its configuration to response. +@item @code{raw-content} (default: @code{'()}) +A list of raw lines added to the server block. + @end table @end deftp diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 8a16f50de4..2371ddb6d0 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -58,6 +58,7 @@ (define-module (gnu services web) nginx-server-configuration-ssl-certificate nginx-server-configuration-ssl-certificate-key nginx-server-configuration-server-tokens? + nginx-server-configuration-raw-content nginx-upstream-configuration @@ -152,7 +153,9 @@ (define-record-type* (ssl-certificate-key nginx-server-configuration-ssl-certificate-key (default #f)) (server-tokens? nginx-server-configuration-server-tokens? - (default #f))) + (default #f)) + (raw-content nginx-server-configuration-raw-content + (default '()))) (define-record-type* nginx-upstream-configuration make-nginx-upstream-configuration @@ -232,7 +235,8 @@ (define (emit-nginx-server-config server) (index (nginx-server-configuration-index server)) (try-files (nginx-server-configuration-try-files server)) (server-tokens? (nginx-server-configuration-server-tokens? server)) - (locations (nginx-server-configuration-locations server))) + (locations (nginx-server-configuration-locations server)) + (raw-content (nginx-server-configuration-raw-content server))) (define-syntax-parameter <> (syntax-rules ())) (define-syntax-rule (and/l x tail ...) (let ((x* x)) @@ -255,6 +259,7 @@ (define-syntax-rule (and/l x tail ...) "\n" (map emit-nginx-location-config locations) "\n" + (map (lambda (x) (list " " x "\n")) raw-content) " }\n"))) (define (emit-nginx-upstream-config upstream) -- cgit v1.2.3 From af8c547d335f30548e6ffd22ff307f39841125b2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 18 Dec 2017 15:12:59 +0100 Subject: gnu: claws-mail: Update to 3.16.0. * gnu/packages/mail.scm (claws-mail): Update to 3.16.0. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 31ff6d641c..0423dd7c56 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -943,7 +943,7 @@ (define-public compface (define-public claws-mail (package (name "claws-mail") - (version "3.15.1") + (version "3.16.0") (source (origin (method url-fetch) (uri (string-append @@ -951,7 +951,7 @@ (define-public claws-mail ".tar.xz")) (sha256 (base32 - "0hlm2jipyr4z6izlrpvabpz4ivh49i13avnm848kr1nv68pkq2cd")))) + "1awpr3s7n8bq8p3w10a4j6lg5bizjxyiqp4rqzc2j8cn7lyi64n2")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("bogofilter" ,bogofilter) -- cgit v1.2.3 From 9f1e39d1fcca0525bc51dc0eedd11a902089bba4 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 18 Dec 2017 14:47:44 +0100 Subject: system: examples: Add a template for BeagleBone Black. * gnu/system/examples/beaglebone-black.tmpl: New file. * Makefile.am (EXAMPLES): Add it. * gnu/system/install.scm (/etc/configuration-files): Add it. --- Makefile.am | 1 + gnu/system/examples/beaglebone-black.tmpl | 54 +++++++++++++++++++++++++++++++ gnu/system/install.scm | 2 ++ 3 files changed, 57 insertions(+) create mode 100644 gnu/system/examples/beaglebone-black.tmpl (limited to 'gnu') diff --git a/Makefile.am b/Makefile.am index fe1e685f34..a0e5ff1697 100644 --- a/Makefile.am +++ b/Makefile.am @@ -254,6 +254,7 @@ AUX_FILES = \ # Templates, examples. EXAMPLES = \ gnu/system/examples/bare-bones.tmpl \ + gnu/system/examples/beaglebone-black.tmpl \ gnu/system/examples/desktop.tmpl \ gnu/system/examples/lightweight-desktop.tmpl \ gnu/system/examples/vm-image.tmpl diff --git a/gnu/system/examples/beaglebone-black.tmpl b/gnu/system/examples/beaglebone-black.tmpl new file mode 100644 index 0000000000..609b801cab --- /dev/null +++ b/gnu/system/examples/beaglebone-black.tmpl @@ -0,0 +1,54 @@ +;; This is an operating system configuration template +;; for a "bare bones" setup on BeagleBone Black board. + +(use-modules (gnu) (gnu bootloader u-boot)) +(use-service-modules networking) +(use-package-modules bootloaders screen ssh) + +(operating-system + (host-name "komputilo") + (timezone "Europe/Berlin") + (locale "en_US.utf8") + + ;; Assuming /dev/mmcblk1 is the eMMC, and "my-root" is + ;; the label of the target root file system. + (bootloader (bootloader-configuration + (bootloader u-boot-beaglebone-black-bootloader) + (target "/dev/mmcblk1"))) + (file-systems (cons (file-system + (device "my-root") + (title 'label) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + + ;; This is where user accounts are specified. The "root" + ;; account is implicit, and is initially created with the + ;; empty password. + (users (cons (user-account + (name "alice") + (comment "Bob's sister") + (group "users") + + ;; Adding the account to the "wheel" group + ;; makes it a sudoer. Adding it to "audio" + ;; and "video" allows the user to play sound + ;; and access the webcam. + (supplementary-groups '("wheel" + "audio" "video")) + (home-directory "/home/alice")) + %base-user-accounts)) + + ;; Globally-installed packages. + (packages (cons* screen openssh %base-packages)) + + (services (cons* (dhcp-client-service) + ;; mingetty does not work on serial lines. + ;; Use agetty with board-specific serial parameters. + (agetty-service + (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty "ttyO0"))) + %base-services))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 8864415d7c..1cc3db1160 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -156,9 +156,11 @@ (define directory (string-append #$output "/" target))) '(#$(file "bare-bones.tmpl") + #$(file "beaglebone-black.tmpl") #$(file "desktop.tmpl") #$(file "lightweight-desktop.tmpl")) '("bare-bones.scm" + "beaglebone-black.scm" "desktop.scm" "lightweight-desktop.scm")) #t)))) -- cgit v1.2.3 From 4e9dfe399b9f5bf3d90d3eeae2848973294cfa62 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 22 Nov 2017 10:25:32 +0100 Subject: gnu: Fix ambiguous 'zip' reference. * gnu/packages/photo.scm: Hide 'zip' from (srfi srfi-1). --- gnu/packages/photo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 0969347087..34a2180500 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2017 Ludovic Courtès ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015, 2017 Andreas Enge ;;; Copyright © 2016, 2017 Efraim Flashner @@ -59,7 +59,7 @@ (define-module (gnu packages photo) #:use-module (gnu packages xfig) #:use-module (gnu packages xorg) #:use-module (gnu packages xml) - #:use-module (srfi srfi-1) + #:use-module ((srfi srfi-1) #:hide (zip)) #:use-module (srfi srfi-26)) (define-public libraw -- cgit v1.2.3 From b50a9cc0088c2bf58a3576734afc614f458fa931 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 18 Dec 2017 17:00:24 +0100 Subject: gnu: psm: Update home page URL. * gnu/packages/linux.scm (psm)[home-page]: Update. [source](uri): Use it. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index fecc04a8c7..75263a08e2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4424,10 +4424,11 @@ (define-public psm (package (name "psm") (version "3.3.20170428") + (home-page "https://github.com/intel/psm") (source (origin (method git-fetch) - (uri (git-reference (url "http://github.com/01org/psm") + (uri (git-reference (url home-page) (commit "604758e76dc31e68d1de736ccf5ddf16cb22355b"))) (file-name (string-append "psm-" version ".tar.gz")) (sha256 @@ -4453,7 +4454,6 @@ (define-public psm (substitute* "Makefile" (("/lib64") "/lib")) #t))))) - (home-page "https://github.com/01org/psm") (synopsis "Intel Performance Scaled Messaging (PSM) Libraries") (description "The PSM Messaging API, or PSM API, is Intel's low-level user-level -- cgit v1.2.3 From 91675d50824065cc03304d5bdef5212ceb1ce92d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Dec 2017 22:37:41 +0200 Subject: gnu: rsync: Patch CVE-2017-{16548,17433,17434}. * gnu/packages/rsync.scm (rsync)[source]: Add patches. [properties]: Mark CVE-2017-15994 as not relevant. * gnu/packages/patches/rsync-CVE-2017-16548.patch, gnu/packages/patches/rsync-CVE-2017-17433.patch, gnu/packages/patches/rsync-CVE-2017-17433-fix-tests.patch, gnu/packages/patches/rsync-CVE-2017-17434-pt1.patch, gnu/packages/patches/rsync-CVE-2017-17434-pt2.patch: New files. * gnu/local.mk (dist_patch_DATA): Register them. --- gnu/local.mk | 5 +++ gnu/packages/patches/rsync-CVE-2017-16548.patch | 31 +++++++++++++++ .../patches/rsync-CVE-2017-17433-fix-tests.patch | 42 ++++++++++++++++++++ gnu/packages/patches/rsync-CVE-2017-17433.patch | 45 ++++++++++++++++++++++ .../patches/rsync-CVE-2017-17434-pt1.patch | 28 ++++++++++++++ .../patches/rsync-CVE-2017-17434-pt2.patch | 39 +++++++++++++++++++ gnu/packages/rsync.scm | 11 +++++- 7 files changed, 200 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/rsync-CVE-2017-16548.patch create mode 100644 gnu/packages/patches/rsync-CVE-2017-17433-fix-tests.patch create mode 100644 gnu/packages/patches/rsync-CVE-2017-17433.patch create mode 100644 gnu/packages/patches/rsync-CVE-2017-17434-pt1.patch create mode 100644 gnu/packages/patches/rsync-CVE-2017-17434-pt2.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index d4237b54d7..484449f72e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1052,6 +1052,11 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rsem-makefile.patch \ + %D%/packages/patches/rsync-CVE-2017-16548.patch \ + %D%/packages/patches/rsync-CVE-2017-17433.patch \ + %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/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/patches/rsync-CVE-2017-16548.patch b/gnu/packages/patches/rsync-CVE-2017-16548.patch new file mode 100644 index 0000000000..52a75ea241 --- /dev/null +++ b/gnu/packages/patches/rsync-CVE-2017-16548.patch @@ -0,0 +1,31 @@ +https://bugzilla.samba.org/show_bug.cgi?id=13112 +https://git.samba.org/rsync.git/?p=rsync.git;a=patch;h=47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1 + +From 47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1 Mon Sep 17 00:00:00 2001 +From: Wayne Davison +Date: Sun, 5 Nov 2017 11:33:15 -0800 +Subject: [PATCH] Enforce trailing \0 when receiving xattr name values. Fixes + bug 13112. + +--- + xattrs.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/xattrs.c b/xattrs.c +index 68305d7..4867e6f 100644 +--- a/xattrs.c ++++ b/xattrs.c +@@ -824,6 +824,10 @@ void receive_xattr(int f, struct file_struct *file) + out_of_memory("receive_xattr"); + name = ptr + dget_len + extra_len; + read_buf(f, name, name_len); ++ if (name_len < 1 || name[name_len-1] != '\0') { ++ rprintf(FERROR, "Invalid xattr name received (missing trailing \\0).\n"); ++ exit_cleanup(RERR_FILEIO); ++ } + if (dget_len == datum_len) + read_buf(f, ptr, dget_len); + else { +-- +1.9.1 + diff --git a/gnu/packages/patches/rsync-CVE-2017-17433-fix-tests.patch b/gnu/packages/patches/rsync-CVE-2017-17433-fix-tests.patch new file mode 100644 index 0000000000..74bac0fc33 --- /dev/null +++ b/gnu/packages/patches/rsync-CVE-2017-17433-fix-tests.patch @@ -0,0 +1,42 @@ +https://git.samba.org/?p=rsync.git;a=patch;h=f5e8a17e093065fb20fea00a29540fe2c7896441 +minor edits were made to get the patch to apply + +From f5e8a17e093065fb20fea00a29540fe2c7896441 Mon Sep 17 00:00:00 2001 +From: Wayne Davison +Date: Sun, 3 Dec 2017 15:49:56 -0800 +Subject: [PATCH] Fix issue with earlier path-check (fixes "make check") and + make a BOOL more explicit. + +--- + checksum.c | 2 +- + receiver.c | 10 +++++----- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/receiver.c b/receiver.c +index 9c46242..75cb00d 100644 +--- a/receiver.c ++++ b/receiver.c +@@ -574,15 +574,15 @@ int recv_files(int f_in, int f_out, char *local_name) + file = dir_flist->files[cur_flist->parent_ndx]; + fname = local_name ? local_name : f_name(file, fbuf); + +- if (daemon_filter_list.head +- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) { ++ if (DEBUG_GTE(RECV, 1)) ++ rprintf(FINFO, "recv_files(%s)\n", fname); ++ ++ if (daemon_filter_list.head && (*fname != '.' || fname[1] != '\0') ++ && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) { + rprintf(FERROR, "attempt to hack rsync failed.\n"); + exit_cleanup(RERR_PROTOCOL); + } + +- if (DEBUG_GTE(RECV, 1)) +- rprintf(FINFO, "recv_files(%s)\n", fname); +- + #ifdef SUPPORT_XATTRS + if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && do_xfers + && !(want_xattr_optim && BITS_SET(iflags, ITEM_XNAME_FOLLOWS|ITEM_LOCAL_CHANGE))) +-- +1.9.1 + diff --git a/gnu/packages/patches/rsync-CVE-2017-17433.patch b/gnu/packages/patches/rsync-CVE-2017-17433.patch new file mode 100644 index 0000000000..84e4067509 --- /dev/null +++ b/gnu/packages/patches/rsync-CVE-2017-17433.patch @@ -0,0 +1,45 @@ +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17433 +https://git.samba.org/?p=rsync.git;a=patch;h=3e06d40029cfdce9d0f73d87cfd4edaf54be9c51 + +From 3e06d40029cfdce9d0f73d87cfd4edaf54be9c51 Mon Sep 17 00:00:00 2001 +From: Jeriko One +Date: Thu, 2 Nov 2017 23:44:19 -0700 +Subject: [PATCH] Check fname in recv_files sooner. + +--- + receiver.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/receiver.c b/receiver.c +index baae3a9..9fdafa1 100644 +--- a/receiver.c ++++ b/receiver.c +@@ -574,6 +574,12 @@ int recv_files(int f_in, int f_out, char *local_name) + file = dir_flist->files[cur_flist->parent_ndx]; + fname = local_name ? local_name : f_name(file, fbuf); + ++ if (daemon_filter_list.head ++ && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) { ++ rprintf(FERROR, "attempt to hack rsync failed.\n"); ++ exit_cleanup(RERR_PROTOCOL); ++ } ++ + if (DEBUG_GTE(RECV, 1)) + rprintf(FINFO, "recv_files(%s)\n", fname); + +@@ -645,12 +651,6 @@ int recv_files(int f_in, int f_out, char *local_name) + + cleanup_got_literal = 0; + +- if (daemon_filter_list.head +- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) { +- rprintf(FERROR, "attempt to hack rsync failed.\n"); +- exit_cleanup(RERR_PROTOCOL); +- } +- + if (read_batch) { + int wanted = redoing + ? we_want_redo(ndx) +-- +1.9.1 + diff --git a/gnu/packages/patches/rsync-CVE-2017-17434-pt1.patch b/gnu/packages/patches/rsync-CVE-2017-17434-pt1.patch new file mode 100644 index 0000000000..0d9298743d --- /dev/null +++ b/gnu/packages/patches/rsync-CVE-2017-17434-pt1.patch @@ -0,0 +1,28 @@ +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17434 +https://git.samba.org/?p=rsync.git;a=patch;h=5509597decdbd7b91994210f700329d8a35e70a1 + +From 5509597decdbd7b91994210f700329d8a35e70a1 Mon Sep 17 00:00:00 2001 +From: Jeriko One +Date: Thu, 16 Nov 2017 17:26:03 -0800 +Subject: [PATCH] Check daemon filter against fnamecmp in recv_files(). + +--- + receiver.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/receiver.c b/receiver.c +index 9fdafa1..9c46242 100644 +--- a/receiver.c ++++ b/receiver.c +@@ -722,7 +722,7 @@ int recv_files(int f_in, int f_out, char *local_name) + break; + } + if (!fnamecmp || (daemon_filter_list.head +- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0)) { ++ && check_filter(&daemon_filter_list, FLOG, fnamecmp, 0) < 0)) { + fnamecmp = fname; + fnamecmp_type = FNAMECMP_FNAME; + } +-- +1.9.1 + diff --git a/gnu/packages/patches/rsync-CVE-2017-17434-pt2.patch b/gnu/packages/patches/rsync-CVE-2017-17434-pt2.patch new file mode 100644 index 0000000000..fad19d01fb --- /dev/null +++ b/gnu/packages/patches/rsync-CVE-2017-17434-pt2.patch @@ -0,0 +1,39 @@ +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17434 +https://git.samba.org/?p=rsync.git;a=patch;h=70aeb5fddd1b2f8e143276f8d5a085db16c593b9 + +From 70aeb5fddd1b2f8e143276f8d5a085db16c593b9 Mon Sep 17 00:00:00 2001 +From: Jeriko One +Date: Thu, 16 Nov 2017 17:05:42 -0800 +Subject: [PATCH] Sanitize xname in read_ndx_and_attrs. + +--- + rsync.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/rsync.c b/rsync.c +index b82e598..a0945ba 100644 +--- a/rsync.c ++++ b/rsync.c +@@ -49,6 +49,7 @@ extern int flist_eof; + extern int file_old_total; + extern int keep_dirlinks; + extern int make_backups; ++extern int sanitize_paths; + extern struct file_list *cur_flist, *first_flist, *dir_flist; + extern struct chmod_mode_struct *daemon_chmod_modes; + #ifdef ICONV_OPTION +@@ -396,6 +397,11 @@ int read_ndx_and_attrs(int f_in, int f_out, int *iflag_ptr, uchar *type_ptr, + if (iflags & ITEM_XNAME_FOLLOWS) { + if ((len = read_vstring(f_in, buf, MAXPATHLEN)) < 0) + exit_cleanup(RERR_PROTOCOL); ++ ++ if (sanitize_paths) { ++ sanitize_path(buf, buf, "", 0, SP_DEFAULT); ++ len = strlen(buf); ++ } + } else { + *buf = '\0'; + len = -1; +-- +1.9.1 + diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm index dba4e89a05..d7fc188af2 100644 --- a/gnu/packages/rsync.scm +++ b/gnu/packages/rsync.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Andreas Enge ;;; Copyright © 2016 Mark H Weaver +;;; Copyright © 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,7 +39,15 @@ (define-public rsync version ".tar.gz")) (sha256 (base32 - "1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc")))) + "1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc")) + (patches (search-patches "rsync-CVE-2017-16548.patch" + "rsync-CVE-2017-17433.patch" + "rsync-CVE-2017-17433-fix-tests.patch" + "rsync-CVE-2017-17434-pt1.patch" + "rsync-CVE-2017-17434-pt2.patch" + )) + )) + (properties `((lint-hidden-cve . ("CVE-2017-15994")))) ; introduced after 3.1.2 (build-system gnu-build-system) (inputs `(("perl" ,perl) ("acl" ,acl))) -- cgit v1.2.3 From 147d42fc0362160baf50bdc71ab918c1e1db2f88 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 18 Dec 2017 16:39:56 -0500 Subject: gnu: emacspeak: Update to 47.0. * gnu/packages/emacs.scm (emacspeak): Update to 47.0. [source]: Remove snippet. [arguments]: Set SHELL environment variable. --- gnu/packages/emacs.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index fd03056292..1a00d8cb16 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4983,7 +4983,7 @@ (define-public emacs-highlight-stages (define-public emacspeak (package (name "emacspeak") - (version "46.0") + (version "47.0") (source (origin (method url-fetch) @@ -4992,11 +4992,7 @@ (define-public emacspeak version "/emacspeak-" version ".tar.bz2")) (sha256 (base32 - "15x4yfp3wl2fxm1nkx6pz3clw6zyw3argcsqxgcx6pa28sivlg2n")) - (modules '((guix build utils))) - (snippet - ;; Delete the bundled byte-compiled elisp files. - '(for-each delete-file (find-files "lisp" "\\.elc$"))))) + "0xbcc266x752y68s3g096m161irzvsqym3axzqn8rb276a8x55n7")))) (build-system gnu-build-system) (arguments '(#:make-flags (list (string-append "prefix=" @@ -5006,6 +5002,7 @@ (define-public emacspeak (replace 'configure (lambda _ ;; Configure Emacspeak according to etc/install.org. + (setenv "SHELL" (which "sh")) (zero? (system* "make" "config")))) (add-after 'build 'build-espeak (lambda _ -- cgit v1.2.3 From 63dc76381648aa974c3ff02a6b278ceec67a7643 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 18 Dec 2017 17:18:17 -0500 Subject: gnu: deutex: Update to 5.1.0. * gnu/packages/games.scm (deutex): Update to 5.1.0. --- gnu/packages/game-development.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 799e82ae0e..ca76ff7d85 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -112,7 +112,7 @@ (define-public bullet (define-public deutex (package (name "deutex") - (version "5.0.0") + (version "5.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/Doom-Utils/" name @@ -120,7 +120,7 @@ (define-public deutex name "-" version ".tar.xz")) (sha256 (base32 - "1jvffcpq64hk3jysz4q6zi9hqkksy151ci9553h8q7wrrkbw0i9z")))) + "0hwkm0q2w16ddmiwh7x3jcfp58zjb40a5dh7c3sybwm9bar37pn1")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc))) (home-page "https://github.com/Doom-Utils/deutex") -- cgit v1.2.3 From 8e9b3c6647ea0a47142cc35704cc18acd5e105c4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 13 Dec 2017 07:38:13 +0100 Subject: gnu: expect: Update to 5.45.3. * gnu/packages/tcl.scm (expect): Update to 5.45.3. --- gnu/packages/tcl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 8591ff808c..c8eac41f0a 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -89,7 +89,7 @@ (define-public tcl (define-public expect (package (name "expect") - (version "5.45") + (version "5.45.3") (source (origin (method url-fetch) @@ -97,7 +97,7 @@ (define-public expect version "/expect" version ".tar.gz")) (sha256 (base32 - "0h60bifxj876afz4im35rmnbnxjx4lbdqp2ja3k30fwa8a8cm3dj")))) + "1s9ba7m0bmg6brn4x030y2xg7hqara1fr4hlrrllm54mf5xp2865")))) (build-system gnu-build-system) (inputs `(;; TODO: Add these optional dependencies. -- cgit v1.2.3 From 7bd9af73765240cb84e2d779e9b29873252e60f6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 17 Dec 2017 02:17:16 +0100 Subject: gnu: libsodium: Update to 1.0.16. * gnu/packages/crypto.scm (libsodium): Update to 1.0.16. --- gnu/packages/crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 7f0240002f..92da952999 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -61,7 +61,7 @@ (define-module (gnu packages crypto) (define-public libsodium (package (name "libsodium") - (version "1.0.15") + (version "1.0.16") (source (origin (method url-fetch) (uri (list (string-append @@ -72,7 +72,7 @@ (define-public libsodium "releases/old/libsodium-" version ".tar.gz"))) (sha256 (base32 - "1x3qw7lsz44vcxpcn1dvwig410phg6gmv31jwj94arrgka3rwspv")))) + "0cq5pn7qcib7q70mm1lgjwj75xdxix27v0xl1xl0kvxww7hwgbgf")))) (build-system gnu-build-system) (synopsis "Portable NaCl-based crypto library") (description -- cgit v1.2.3 From 2ea3333504b391ac7ad26a0b93aad3e18028a2ea Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 17 Dec 2017 02:34:02 +0100 Subject: gnu: libjpeg-turbo: Update to 1.5.3. * gnu/packages/image.scm (libjpeg-turbo): Update to 1.5.3. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index e220ac242a..548c1df44d 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1123,14 +1123,14 @@ (define-public optipng (define-public libjpeg-turbo (package (name "libjpeg-turbo") - (version "1.5.2") + (version "1.5.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" version "/" name "-" version ".tar.gz")) (sha256 (base32 - "0a5m0psfp5952y5vrcs0nbdz1y9wqzg2ms0xwrx752034wxr964h")))) + "08r5b5mywwrxv4axvq80dm31cklz81grczlzlxr2xqa6pgi90j5j")))) (build-system gnu-build-system) (native-inputs `(("nasm" ,nasm))) -- cgit v1.2.3 From 937790df9d9ed9f17d1807c7c0567ee71549d92b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 19 Dec 2017 01:15:09 +0100 Subject: gnu: qemu: Update to 2.10.2. * gnu/packages/patches/qemu-CVE-2017-15118.patch, gnu/packages/patches/qemu-CVE-2017-15119.patch, gnu/packages/patches/qemu-CVE-2017-15268.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/packages/virtualization.scm (qemu): Update to 2.10.2. [source](patches): Remove obsolete. --- gnu/local.mk | 3 -- gnu/packages/patches/qemu-CVE-2017-15118.patch | 58 ---------------------- gnu/packages/patches/qemu-CVE-2017-15119.patch | 68 -------------------------- gnu/packages/patches/qemu-CVE-2017-15268.patch | 62 ----------------------- gnu/packages/virtualization.scm | 7 +-- 5 files changed, 2 insertions(+), 196 deletions(-) delete mode 100644 gnu/packages/patches/qemu-CVE-2017-15118.patch delete mode 100644 gnu/packages/patches/qemu-CVE-2017-15119.patch delete mode 100644 gnu/packages/patches/qemu-CVE-2017-15268.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 484449f72e..efb91fd826 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1032,9 +1032,6 @@ dist_patch_DATA = \ %D%/packages/patches/python2-subprocess32-disable-input-test.patch \ %D%/packages/patches/python2-unittest2-remove-argparse.patch \ %D%/packages/patches/qemu-CVE-2017-15038.patch \ - %D%/packages/patches/qemu-CVE-2017-15118.patch \ - %D%/packages/patches/qemu-CVE-2017-15119.patch \ - %D%/packages/patches/qemu-CVE-2017-15268.patch \ %D%/packages/patches/qemu-CVE-2017-15289.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ diff --git a/gnu/packages/patches/qemu-CVE-2017-15118.patch b/gnu/packages/patches/qemu-CVE-2017-15118.patch deleted file mode 100644 index d427317be9..0000000000 --- a/gnu/packages/patches/qemu-CVE-2017-15118.patch +++ /dev/null @@ -1,58 +0,0 @@ -Fix CVE-2017-15118: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15118 -https://bugzilla.redhat.com/show_bug.cgi?id=1516922 - -Patch copied from upstream source repository: - -https://git.qemu.org/?p=qemu.git;a=commitdiff;h=51ae4f8455c9e32c54770c4ebc25bf86a8128183 - -From 51ae4f8455c9e32c54770c4ebc25bf86a8128183 Mon Sep 17 00:00:00 2001 -From: Eric Blake -Date: Wed, 22 Nov 2017 15:07:22 -0600 -Subject: [PATCH] nbd/server: CVE-2017-15118 Stack smash on large export name - -Introduced in commit f37708f6b8 (2.10). The NBD spec says a client -can request export names up to 4096 bytes in length, even though -they should not expect success on names longer than 256. However, -qemu hard-codes the limit of 256, and fails to filter out a client -that probes for a longer name; the result is a stack smash that can -potentially give an attacker arbitrary control over the qemu -process. - -The smash can be easily demonstrated with this client: -$ qemu-io f raw nbd://localhost:10809/$(printf %3000d 1 | tr ' ' a) - -If the qemu NBD server binary (whether the standalone qemu-nbd, or -the builtin server of QMP nbd-server-start) was compiled with --fstack-protector-strong, the ability to exploit the stack smash -into arbitrary execution is a lot more difficult (but still -theoretically possible to a determined attacker, perhaps in -combination with other CVEs). Still, crashing a running qemu (and -losing the VM) is bad enough, even if the attacker did not obtain -full execution control. - -CC: qemu-stable@nongnu.org -Signed-off-by: Eric Blake ---- - nbd/server.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/nbd/server.c b/nbd/server.c -index a81801e3bc..92c0fdd03b 100644 ---- a/nbd/server.c -+++ b/nbd/server.c -@@ -386,6 +386,10 @@ static int nbd_negotiate_handle_info(NBDClient *client, uint32_t length, - msg = "name length is incorrect"; - goto invalid; - } -+ if (namelen >= sizeof(name)) { -+ msg = "name too long for qemu"; -+ goto invalid; -+ } - if (nbd_read(client->ioc, name, namelen, errp) < 0) { - return -EIO; - } --- -2.15.0 - diff --git a/gnu/packages/patches/qemu-CVE-2017-15119.patch b/gnu/packages/patches/qemu-CVE-2017-15119.patch deleted file mode 100644 index 6265ecf8d6..0000000000 --- a/gnu/packages/patches/qemu-CVE-2017-15119.patch +++ /dev/null @@ -1,68 +0,0 @@ -Fix CVE-2017-15119: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15119 -https://bugzilla.redhat.com/show_bug.cgi?id=1516925 - -Patch copied from upstream source repository: - -https://git.qemu.org/?p=qemu.git;a=commitdiff;h=fdad35ef6c5839d50dfc14073364ac893afebc30 - -From fdad35ef6c5839d50dfc14073364ac893afebc30 Mon Sep 17 00:00:00 2001 -From: Eric Blake -Date: Wed, 22 Nov 2017 16:25:16 -0600 -Subject: [PATCH] nbd/server: CVE-2017-15119 Reject options larger than 32M - -The NBD spec gives us permission to abruptly disconnect on clients -that send outrageously large option requests, rather than having -to spend the time reading to the end of the option. No real -option request requires that much data anyways; and meanwhile, we -already have the practice of abruptly dropping the connection on -any client that sends NBD_CMD_WRITE with a payload larger than 32M. - -For comparison, nbdkit drops the connection on any request with -more than 4096 bytes; however, that limit is probably too low -(as the NBD spec states an export name can theoretically be up -to 4096 bytes, which means a valid NBD_OPT_INFO could be even -longer) - even if qemu doesn't permit exports longer than 256 -bytes. - -It could be argued that a malicious client trying to get us to -read nearly 4G of data on a bad request is a form of denial of -service. In particular, if the server requires TLS, but a client -that does not know the TLS credentials sends any option (other -than NBD_OPT_STARTTLS or NBD_OPT_EXPORT_NAME) with a stated -payload of nearly 4G, then the server was keeping the connection -alive trying to read all the payload, tying up resources that it -would rather be spending on a client that can get past the TLS -handshake. Hence, this warranted a CVE. - -Present since at least 2.5 when handling known options, and made -worse in 2.6 when fixing support for NBD_FLAG_C_FIXED_NEWSTYLE -to handle unknown options. - -CC: qemu-stable@nongnu.org -Signed-off-by: Eric Blake ---- - nbd/server.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/nbd/server.c b/nbd/server.c -index 7d6801b427..a81801e3bc 100644 ---- a/nbd/server.c -+++ b/nbd/server.c -@@ -673,6 +673,12 @@ static int nbd_negotiate_options(NBDClient *client, uint16_t myflags, - } - length = be32_to_cpu(length); - -+ if (length > NBD_MAX_BUFFER_SIZE) { -+ error_setg(errp, "len (%" PRIu32" ) is larger than max len (%u)", -+ length, NBD_MAX_BUFFER_SIZE); -+ return -EINVAL; -+ } -+ - trace_nbd_negotiate_options_check_option(option, - nbd_opt_lookup(option)); - if (client->tlscreds && --- -2.15.0 - diff --git a/gnu/packages/patches/qemu-CVE-2017-15268.patch b/gnu/packages/patches/qemu-CVE-2017-15268.patch deleted file mode 100644 index 8238c3059f..0000000000 --- a/gnu/packages/patches/qemu-CVE-2017-15268.patch +++ /dev/null @@ -1,62 +0,0 @@ -Fix CVE-2017-15268: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15268 - -Patch copied from upstream source repository: - -https://git.qemu.org/?p=qemu.git;a=commitdiff;h=a7b20a8efa28e5f22c26c06cd06c2f12bc863493 - -From a7b20a8efa28e5f22c26c06cd06c2f12bc863493 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Mon, 9 Oct 2017 14:43:42 +0100 -Subject: [PATCH] io: monitor encoutput buffer size from websocket GSource - -The websocket GSource is monitoring the size of the rawoutput -buffer to determine if the channel can accepts more writes. -The rawoutput buffer, however, is merely a temporary staging -buffer before data is copied into the encoutput buffer. Thus -its size will always be zero when the GSource runs. - -This flaw causes the encoutput buffer to grow without bound -if the other end of the underlying data channel doesn't -read data being sent. This can be seen with VNC if a client -is on a slow WAN link and the guest OS is sending many screen -updates. A malicious VNC client can act like it is on a slow -link by playing a video in the guest and then reading data -very slowly, causing QEMU host memory to expand arbitrarily. - -This issue is assigned CVE-2017-15268, publically reported in - - https://bugs.launchpad.net/qemu/+bug/1718964 - -Reviewed-by: Eric Blake -Signed-off-by: Daniel P. Berrange ---- - io/channel-websock.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/io/channel-websock.c b/io/channel-websock.c -index d1d471f86e..04bcc059cd 100644 ---- a/io/channel-websock.c -+++ b/io/channel-websock.c -@@ -28,7 +28,7 @@ - #include - - --/* Max amount to allow in rawinput/rawoutput buffers */ -+/* Max amount to allow in rawinput/encoutput buffers */ - #define QIO_CHANNEL_WEBSOCK_MAX_BUFFER 8192 - - #define QIO_CHANNEL_WEBSOCK_CLIENT_KEY_LEN 24 -@@ -1208,7 +1208,7 @@ qio_channel_websock_source_check(GSource *source) - if (wsource->wioc->rawinput.offset || wsource->wioc->io_eof) { - cond |= G_IO_IN; - } -- if (wsource->wioc->rawoutput.offset < QIO_CHANNEL_WEBSOCK_MAX_BUFFER) { -+ if (wsource->wioc->encoutput.offset < QIO_CHANNEL_WEBSOCK_MAX_BUFFER) { - cond |= G_IO_OUT; - } - --- -2.15.0 - diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 2f5ad80bc7..a1709b0b6d 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -81,19 +81,16 @@ (define (qemu-patch commit file-name sha256) (define-public qemu (package (name "qemu") - (version "2.10.1") + (version "2.10.2") (source (origin (method url-fetch) (uri (string-append "https://download.qemu.org/qemu-" version ".tar.xz")) (patches (search-patches "qemu-CVE-2017-15038.patch" - "qemu-CVE-2017-15118.patch" - "qemu-CVE-2017-15119.patch" - "qemu-CVE-2017-15268.patch" "qemu-CVE-2017-15289.patch")) (sha256 (base32 - "1ahwl7r18iw2ds0q3c51nlivqsan9hcgnc8bbf9pv366iy81mm8x")))) + "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw")))) (build-system gnu-build-system) (arguments '(;; Running tests in parallel can occasionally lead to failures, like: -- cgit v1.2.3 From 972fa87039b8a037c42327aaa04be5d7d78d79ac Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 19 Dec 2017 01:20:44 +0100 Subject: gnu: pcsc-lite: Update to 1.8.23. * gnu/packages/security-token.scm (pcsc-lite): Update to 1.8.23. [arguments]<#:configure-flags>: Add "--disable-libsystemd". [license]: Adjust to removed sd-daemon files. --- gnu/packages/security-token.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index fa910a92aa..7c6b957411 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -145,18 +145,19 @@ (define-public libyubikey (define-public pcsc-lite (package (name "pcsc-lite") - (version "1.8.22") + (version "1.8.23") (source (origin (method url-fetch) (uri (string-append - "https://alioth.debian.org/frs/download.php/file/4225/" + "https://alioth.debian.org/frs/download.php/file/4235/" "pcsc-lite-" version ".tar.bz2")) (sha256 (base32 - "01flkdyqs7kr6c63dv2qg8dwir3v9jlr9rzlw7vafrivxmhqydba")))) + "1jc9ws5ra6v3plwraqixin0w0wfxj64drahrbkyrrwzghqjjc9ss")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers"))) + `(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers" + "--disable-libsystemd"))) (native-inputs `(("perl" ,perl) ; for pod2man ("pkg-config" ,pkg-config))) @@ -169,7 +170,6 @@ (define-public pcsc-lite readers using the SCard API. pcsc-lite is used to connect to the PC/SC daemon from a client application and provide access to the desired reader.") (license (list license:bsd-3 ; pcsc-lite - license:expat ; src/sd-daemon.[ch] license:isc ; src/strlcat.c src/strlcpy.c license:gpl3+)))) ; src/spy/* -- cgit v1.2.3 From 98bd11cfe7b931e9c6d6bf002a8a225fb7a1025b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 19 Dec 2017 01:37:22 +0100 Subject: gnu: termite: Update to 13. * gnu/packages/terminals.scm (termite): Update to 13. --- gnu/packages/terminals.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 215511864a..68507cf645 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -97,7 +97,7 @@ (define-public tilda (define-public termite (package (name "termite") - (version "12") + (version "13") (source (origin (method git-fetch) @@ -109,7 +109,7 @@ (define-public termite (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0s6dyg3vcqk5qcx90bs24wdnd3p56rdjdcanx4pcxvp6ksjl61jz")))) + "02cn70ygl93ghhkhs3xdxn5b1yadc255v3yp8cmhhyzsv5027hvj")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3