From 5dfd80e1c5c9803a281804801592d191cf9148ae Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Sun, 22 Jul 2018 16:23:53 -0700 Subject: [PATCH 001/170] services: tor: Add a system test. * gnu/services/networking.scm (tor-configuration->torrc): Set PidFile to /var/run/tor/tor.pid in the base torrc configuration. (tor-shepherd-service) : Call make-forkexec-constructor/container with a new #:pid-file argument to tell Shepherd where to find the PID file. Add a a new to its existing #:mappings argument to share /var/run/tor with the the container. (tor-hidden-services-activation): Update docstring. Create /var/run/tor and set its permissions so only the tor user can access it. * gnu/tests/networking.scm (%test-tor, %tor-os): New variables. (run-tor-test): New procedure. --- gnu/services/networking.scm | 22 +++++++++++++-- gnu/tests/networking.scm | 56 ++++++++++++++++++++++++++++++++++++- 2 files changed, 74 insertions(+), 4 deletions(-) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index d5d0cf9d1d..66772e48b7 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -612,6 +613,7 @@ demand."))) ### These lines were generated from your system configuration: User tor DataDirectory /var/lib/tor +PidFile /var/run/tor/tor.pid Log notice syslog\n" port) (for-each (match-lambda @@ -639,7 +641,7 @@ HiddenServicePort ~a ~a~%" #t)))))))) (define (tor-shepherd-service config) - "Return a running TOR." + "Return a running Tor." (match config (($ tor) (let ((torrc (tor-configuration->torrc config))) @@ -665,12 +667,17 @@ HiddenServicePort ~a ~a~%" (writable? #t)) (file-system-mapping (source "/dev/log") ;for syslog - (target source))))) + (target source)) + (file-system-mapping + (source "/var/run/tor") + (target source) + (writable? #t))) + #:pid-file "/var/run/tor/tor.pid")) (stop #~(make-kill-destructor)) (documentation "Run the Tor anonymous network overlay.")))))))) (define (tor-hidden-service-activation config) - "Return the activation gexp for SERVICES, a list of hidden services." + "Set up directories for Tor and its hidden services, if any." #~(begin (use-modules (guix build utils)) @@ -686,6 +693,15 @@ HiddenServicePort ~a ~a~%" ;; The daemon bails out if we give wider permissions. (chmod directory #o700))) + ;; Allow Tor to write its PID file. + (mkdir-p "/var/run/tor") + (chown "/var/run/tor" (passwd:uid %user) (passwd:gid %user)) + ;; Set the group permissions to rw so that if the system administrator + ;; has specified UnixSocksGroupWritable=1 in their torrc file, members + ;; of the "tor" group will be able to use the SOCKS socket. + (chmod "/var/run/tor" #o750) + + ;; Allow Tor to access the hidden services' directories. (mkdir-p "/var/lib/tor") (chown "/var/lib/tor" (passwd:uid %user) (passwd:gid %user)) (chmod "/var/lib/tor" #o700) diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index 323679e7fc..5e54edc462 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -30,7 +30,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages networking) #:use-module (gnu services shepherd) - #:export (%test-inetd %test-openvswitch %test-dhcpd)) + #:export (%test-inetd %test-openvswitch %test-dhcpd %test-tor)) (define %inetd-os ;; Operating system with 2 inetd services. @@ -339,3 +339,57 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (name "dhcpd") (description "Test a running DHCP daemon configuration.") (value (run-dhcpd-test)))) + + +;;; +;;; Services related to Tor +;;; + +(define %tor-os + (simple-operating-system + (tor-service))) + +(define (run-tor-test) + (define os + (marionette-operating-system %tor-os + #:imported-modules '((gnu services herd)) + #:requirements '(tor))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (ice-9 popen) + (ice-9 rdelim) + (srfi srfi-64)) + + (define marionette + (make-marionette (list #$(virtual-machine os)))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "tor") + + (test-assert "tor is alive" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (srfi srfi-1)) + (live-service-running + (find (lambda (live) + (memq 'tor + (live-service-provision live))) + (current-services)))) + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "tor-test" test)) + +(define %test-tor + (system-test + (name "tor") + (description "Test a running Tor daemon configuration.") + (value (run-tor-test)))) From d973915e4842b8b1bfc2266ed42d3b8c2ca77e93 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Wed, 25 Jul 2018 02:51:41 -0700 Subject: [PATCH 002/170] services: tor: Rename activation procedure. * gnu/services/networking.scm: Rename the procedure tor-hidden-service-activation to tor-activation. --- gnu/services/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 66772e48b7..b7f2bfe7b3 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -676,7 +676,7 @@ HiddenServicePort ~a ~a~%" (stop #~(make-kill-destructor)) (documentation "Run the Tor anonymous network overlay.")))))))) -(define (tor-hidden-service-activation config) +(define (tor-activation config) "Set up directories for Tor and its hidden services, if any." #~(begin (use-modules (guix build utils)) @@ -721,7 +721,7 @@ HiddenServicePort ~a ~a~%" (service-extension account-service-type (const %tor-accounts)) (service-extension activation-service-type - tor-hidden-service-activation))) + tor-activation))) ;; This can be extended with hidden services. (compose concatenate) From 4dd53a83b5292d4e90ca221d6bcf03350ed8dc45 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Mon, 30 Jul 2018 22:47:43 -0700 Subject: [PATCH 003/170] marionette: Add support for QEMU's "quit" command. * gnu/build/marionette.scm (marionette-control): Don't wait for the monitor prompt when the command was "quit". --- gnu/build/marionette.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm index bb018fc9c1..61284b8980 100644 --- a/gnu/build/marionette.scm +++ b/gnu/build/marionette.scm @@ -222,7 +222,8 @@ pcsys_monitor\")." (($ _ _ monitor) (display command monitor) (newline monitor) - (wait-for-monitor-prompt monitor)))) + ;; The "quit" command terminates QEMU immediately, with no output. + (unless (string=? command "quit") (wait-for-monitor-prompt monitor))))) (define* (marionette-screen-text marionette #:key From cb29343940dfffe8863c0a6b1e2b3494c7836b53 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Mon, 30 Jul 2018 22:50:16 -0700 Subject: [PATCH 004/170] marionette: Add wait-for-unix-socket. * gnu/build/marionette.scm (wait-for-unix-socket): New variable. --- gnu/build/marionette.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm index 61284b8980..f94eab5cc0 100644 --- a/gnu/build/marionette.scm +++ b/gnu/build/marionette.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2018 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ marionette-eval wait-for-file wait-for-tcp-port + wait-for-unix-socket marionette-control marionette-screen-text wait-for-screen-text @@ -214,6 +216,29 @@ MARIONETTE. Raise an error on failure." ('failure (error "nobody's listening on port" port)))) +(define* (wait-for-unix-socket file-name marionette + #:key (timeout 20)) + "Wait for up to TIMEOUT seconds for FILE-NAME, a Unix domain socket, to +accept connections in MARIONETTE. Raise an error on failure." + (match (marionette-eval + `(begin + (let ((sock (socket PF_UNIX SOCK_STREAM 0))) + (let loop ((i 0)) + (catch 'system-error + (lambda () + (connect sock AF_UNIX ,file-name) + 'success) + (lambda args + (if (< i ,timeout) + (begin + (sleep 1) + (loop (+ 1 i))) + 'failure)))))) + marionette) + ('success #t) + ('failure + (error "nobody's listening on unix domain socket" file-name)))) + (define (marionette-control command marionette) "Run COMMAND in the QEMU monitor of MARIONETTE. COMMAND is a string such as \"sendkey ctrl-alt-f1\" or \"screendump foo.ppm\" (info \"(qemu-doc) From b0f951e4f04766892933e3b60d1b24ab3a8589c2 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Mon, 30 Jul 2018 22:53:47 -0700 Subject: [PATCH 005/170] tests: tor: Add more test cases. * gnu/tests/networking.scm (%tor-os/unix-socks-socket): New variable. (run-tor-test) : New variables. <"tor is alive">: Move common code from this test case... : ...into this new procedure. <"tor is listening", "tor is alive, even when using a SOCKS socket"> <"tor is listening, even when using a SOCKS socket">: New test cases. --- gnu/tests/networking.scm | 59 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 53 insertions(+), 6 deletions(-) diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index 5e54edc462..7ca71f0c2c 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2018 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -349,12 +350,29 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (simple-operating-system (tor-service))) +(define %tor-os/unix-socks-socket + (simple-operating-system + (service tor-service-type + (tor-configuration + (config-file + (plain-file "test-torrc" + "\ +SocksPort unix:/var/run/tor/socks-sock +UnixSocksGroupWritable 1 +") + ))))) + (define (run-tor-test) (define os (marionette-operating-system %tor-os #:imported-modules '((gnu services herd)) #:requirements '(tor))) + (define os/unix-socks-socket + (marionette-operating-system %tor-os/unix-socks-socket + #:imported-modules '((gnu services herd)) + #:requirements '(tor))) + (define test (with-imported-modules '((gnu build marionette)) #~(begin @@ -366,12 +384,7 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (define marionette (make-marionette (list #$(virtual-machine os)))) - (mkdir #$output) - (chdir #$output) - - (test-begin "tor") - - (test-assert "tor is alive" + (define (tor-is-alive? marionette) (marionette-eval '(begin (use-modules (gnu services herd) @@ -383,6 +396,40 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (current-services)))) marionette)) + (mkdir #$output) + (chdir #$output) + + (test-begin "tor") + + ;; Test the usual Tor service. + + (test-assert "tor is alive" + (tor-is-alive? marionette)) + + (test-assert "tor is listening" + (let ((default-port 9050)) + (wait-for-tcp-port default-port marionette))) + + ;; Don't run two VMs at once. + (marionette-control "quit" marionette) + + ;; Test the Tor service using a SOCKS socket. + + (let* ((socket-directory "/tmp/more-sockets") + (_ (mkdir socket-directory)) + (marionette/unix-socks-socket + (make-marionette + (list #$(virtual-machine os/unix-socks-socket)) + ;; We can't use the same socket directory as the first + ;; marionette. + #:socket-directory socket-directory))) + (test-assert "tor is alive, even when using a SOCKS socket" + (tor-is-alive? marionette/unix-socks-socket)) + + (test-assert "tor is listening, even when using a SOCKS socket" + (wait-for-unix-socket "/var/run/tor/socks-sock" + marionette/unix-socks-socket))) + (test-end) (exit (= (test-runner-fail-count (test-runner-current)) 0))))) From 3bcb305b98e02f6c9d98e7325813fc00f18f0e6c Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Tue, 31 Jul 2018 01:13:48 -0700 Subject: [PATCH 006/170] services: tor: Make it easier to use UNIX sockets. * doc/guix.texi (Networking Services): Document it, and mention that tor-service is deprecated. * gnu/services/networking.scm () : New field. (tor-configuration->torrc): When socks-socket-type is 'unix, set SocksPort to UNIX domain socket /var/run/tor/socks-sock and set UnixSocksGroupWritable to 1. * gnu/tests/networking.scm (%tor-os/unix-socks-socket): Instead of using a custom config file, just set socks-socket-type to 'unix. --- doc/guix.texi | 55 ++++++++++++++++++++++++++++++++----- gnu/services/networking.scm | 10 +++++-- gnu/tests/networking.scm | 8 +----- 3 files changed, 57 insertions(+), 16 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index d2d278df47..3a3368b78f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11450,16 +11450,57 @@ detailed discussion of each configuration field. @end deftp @cindex Tor -@deffn {Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}] -Return a service to run the @uref{https://torproject.org, Tor} anonymous -networking daemon. +@defvr {Scheme Variable} tor-service-type +This is the type for a service that runs the @uref{https://torproject.org, +Tor} anonymous networking daemon. The service is configured using a +@code{} record. By default, the Tor daemon runs as the +@code{tor} unprivileged user, which is a member of the @code{tor} group. -The daemon runs as the @code{tor} unprivileged user. It is passed -@var{config-file}, a file-like object, with an additional @code{User tor} line -and lines for hidden services added via @code{tor-hidden-service}. Run -@command{man tor} for information about the configuration file. +@end defvr + +@deffn {Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}] +This procedure is deprecated and will be removed in a future release. Return +a service of the @code{tor-service-type} type. @var{config-file} and +@var{tor} have the same meaning as in @code{}. @end deffn +@deftp {Data Type} tor-configuration +@table @asis +@item @code{tor} (default: @code{tor}) +The package that provides the Tor daemon. This package is expected to provide +the daemon at @file{bin/tor} relative to its output directory. The default +package is the @uref{https://www.torproject.org, Tor Project's} +implementation. + +@item @code{config-file} (default: @code{(plain-file "empty" "")}) +The configuration file to use. It will be appended to a default configuration +file, and the final configuration file will be passed to @code{tor} via its +@code{-f} option. This may be any ``file-like'' object (@pxref{G-Expressions, +file-like objects}). See @code{man tor} for details on the configuration file +syntax. + +@item @code{hidden-services} (default: @code{'()}) +The list of @code{} records to use. For any hidden service +you include in this list, appropriate configuration to enable the hidden +service will be automatically added to the default configuration file. You +may conveniently create @code{} records using the +@code{tor-hidden-service} procedure described below. + +@item @code{socks-socket-type} (default: @code{'tcp}) +The default socket type that Tor should use for its SOCKS socket. This must +be either @code{'tcp} or @code{'unix}. If it is @code{'tcp}, then by default +Tor will listen on TCP port 9050 on the loopback interface (i.e., localhost). +If it is @code{'unix}, then Tor will listen on the UNIX domain socket +@file{/var/run/tor/socks-sock}, which will be made writable by members of the +@code{tor} group. + +If you want to customize the SOCKS socket in more detail, leave +@code{socks-socket-type} at its default value of @code{'tcp} and use +@code{config-file} to override the default by providing your own +@code{SocksPort} option. +@end table +@end deftp + @cindex hidden service @deffn {Scheme Procedure} tor-hidden-service @var{name} @var{mapping} Define a new Tor @dfn{hidden service} called @var{name} and implementing diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index b7f2bfe7b3..b6b5ee3fec 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -577,7 +577,9 @@ demand."))) (config-file tor-configuration-config-file (default (plain-file "empty" ""))) (hidden-services tor-configuration-hidden-services - (default '()))) + (default '())) + (socks-socket-type tor-configuration-socks-socket-type ; 'tcp or 'unix + (default 'tcp))) (define %tor-accounts ;; User account and groups for Tor. @@ -599,7 +601,7 @@ demand."))) (define (tor-configuration->torrc config) "Return a 'torrc' file for CONFIG." (match config - (($ tor config-file services) + (($ tor config-file services socks-socket-type) (computed-file "torrc" (with-imported-modules '((guix build utils)) @@ -615,6 +617,10 @@ User tor DataDirectory /var/lib/tor PidFile /var/run/tor/tor.pid Log notice syslog\n" port) + (when (eq? 'unix '#$socks-socket-type) + (display "\ +SocksPort unix:/var/run/tor/socks-sock +UnixSocksGroupWritable 1\n" port)) (for-each (match-lambda ((service (ports hosts) ...) diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index 7ca71f0c2c..381c5caf14 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -354,13 +354,7 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (simple-operating-system (service tor-service-type (tor-configuration - (config-file - (plain-file "test-torrc" - "\ -SocksPort unix:/var/run/tor/socks-sock -UnixSocksGroupWritable 1 -") - ))))) + (socks-socket-type 'unix))))) (define (run-tor-test) (define os From 8b1f8f64c80c37167cfa10aab357e0993293ac3c Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Mon, 27 Aug 2018 18:30:01 +0300 Subject: [PATCH 007/170] gnu: openmw: Update to 0.44.0. * gnu/packages/game-development.scm (openmw): Update to 0.44.0. --- gnu/packages/game-development.scm | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 8d66317ce7..86f2877f82 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1037,23 +1037,18 @@ of use.") (license license:expat))) (define-public openmw - ;; XXX The current version does not support qt 5.11, but the upcoming - ;; version (0.44) will do. - (let ((commit "5bc073603e8c7887e015a0ef41b4cefd6e688aaf") - (revision "1")) (package (name "openmw") - (version (git-version "0.43" revision commit)) + (version "0.44.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/OpenMW/openmw.git") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (method url-fetch) + (uri + (string-append "https://github.com/OpenMW/openmw/archive/" + name "-" version ".tar.gz")) (sha256 (base32 - "1sp4n3f1syvv0iz7n72wh226fyc0jh98cg8bvs574jvvqx6qn851")))) + "03fgm2f2r7y0aqlgp038pdlnllgvm3jimrp968p4nhz1sffvjzcy")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target @@ -1080,7 +1075,7 @@ the 2002 open-world RPG Morrowind. The engine comes with its own editor, called OpenMW-CS which allows the user to edit or create their own original games.") (home-page "https://openmw.org") - (license license:gpl3)))) + (license license:gpl3))) (define-public godot (package From 40f7ebac66913a531854cc18f9b417624508d654 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 26 Aug 2018 14:27:33 +0300 Subject: [PATCH 008/170] gnu: Add emacs-build-farm. * gnu/packages/emacs.scm (emacs-build-farm): New variable. --- gnu/packages/emacs.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 8665356f5c..6d34f626af 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1722,6 +1722,32 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or @code{M-x guix-help} command.") (license license:gpl3+))) +(define-public emacs-build-farm + (package + (name "emacs-build-farm") + (version "0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/alezost-emacs/build-farm") + (commit "fa7fa54901416fc5c216a5014394cbd73a61efc6"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1zw3pivma6cv9j7k7qm02jd6wnxmsc1v2mjcssd50im99zzrqflh")))) + (build-system emacs-build-system) + (propagated-inputs + `(("bui" ,emacs-bui) + ("magit-popup" ,emacs-magit-popup))) + (home-page "https://gitlab.com/alezost-emacs/build-farm") + (synopsis "Emacs interface for Hydra and Cuirass build farms") + (description + "This Emacs package provides an interface for Hydra and +Cuirass (build farms used by Nix and Guix). It allows you to look at +various data related to the build farm projects, jobsets, builds and +evaluations. The entry point is @code{M-x build-farm} command.") + (license license:gpl3+))) + (define-public emacs-d-mode (package (name "emacs-d-mode") From d2434b6966b06893a4d2b15d0620b05e921fd182 Mon Sep 17 00:00:00 2001 From: Ison111 Date: Tue, 28 Aug 2018 12:19:40 +0200 Subject: [PATCH 009/170] gnu: Add SpaceFM. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lxde.scm (spacefm): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/lxde.scm | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 9a0d8e957d..19938fa93c 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -5,6 +5,8 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Brendan Tildesley ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Ison111 +;;; Copyright © 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,17 +26,21 @@ (define-module (gnu packages lxde) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages docbook) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages image-viewers) #:use-module (gnu packages linux) + #:use-module (gnu packages lsof) #:use-module (gnu packages openbox) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages text-editors) + #:use-module (gnu packages video) #:use-module (gnu packages wm) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -230,6 +236,48 @@ with freedesktop.org standard.") (home-page "https://lxde.org") (license license:gpl2+))) +(define-public spacefm + ;; SpaceFM is based on PCManFM. + (package + (name "spacefm") + (version "1.0.6") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/IgnorantGuru/spacefm/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1jg7xfyr7kihjnalxp8wxyb9qjk8hqf5l36rp3s0lvkpmpyakppy")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs `(("bash" ,bash) + ("gtk+" ,gtk+) + ("eudev" ,eudev) + ("desktop-file-utils" ,desktop-file-utils) + ("shared-mime-info" ,shared-mime-info) + ("ffmpegthumbnailer" ,ffmpegthumbnailer) + ("jmtpfs" ,jmtpfs) + ("lsof" ,lsof) + ("udisks" ,udisks))) + (arguments + `(#:configure-flags (list (string-append "--with-bash-path=" + (assoc-ref %build-inputs "bash") + "/bin/bash") + (string-append "--sysconfdir=" + (assoc-ref %outputs "out") + "/etc")))) + (home-page "http://ignorantguru.github.io/spacefm/") + (synopsis "Multi-panel tabbed file manager") + (description "SpaceFM is a graphical, multi-panel, tabbed file manager +based on PCManFM with built-in virtual file system, udev-based device manager, +customizable menu system, and Bash integration.") + + ;; The combination is GPLv3+ but src/exo is under LGPLv3+. + (license license:gpl3+))) + (define-public lxmenu-data (package (name "lxmenu-data") From 1ae29e3f5a1f13b4ddfedd066b2e55556db031ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 28 Aug 2018 12:25:06 +0200 Subject: [PATCH 010/170] gnu: dico: Update to 2.6. * gnu/packages/dico.scm (dico): Update to 2.6. [inputs]: Switch to GUILE-2.2. --- gnu/packages/dico.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/dico.scm b/gnu/packages/dico.scm index b374a9b996..a85987d9b1 100644 --- a/gnu/packages/dico.scm +++ b/gnu/packages/dico.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016 Ludovic Courtès +;;; Copyright © 2015, 2016, 2018 Ludovic Courtès ;;; Copyright © 2016, 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. @@ -37,14 +37,14 @@ (define-public dico (package (name "dico") - (version "2.5") + (version "2.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/dico/dico-" version ".tar.xz")) (sha256 (base32 - "0szm3z4xvq0pjj8kxl4paq63byamf281kzn1la0cdm5ngavypxxq")))) + "0zmi041gv5nd5fmyzgdrgrsy2pvjaq9p8dvvhxwi842hiyng5b7i")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "--with-guile-site-dir=" %output @@ -62,7 +62,7 @@ `(("m4" ,m4) ;used at run time ("pcre" ,pcre) ("python" ,python-2) - ("guile" ,guile-2.0) + ("guile" ,guile-2.2) ("gsasl" ,gsasl) ("groff" ,groff) ("readline" ,readline) From 6772ed1e07d6b8ce557199d91aaa1442c77186c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 28 Aug 2018 12:33:50 +0200 Subject: [PATCH 011/170] services: openssh: Add 'log-level' field. * gnu/services/ssh.scm ()[log-level]: New field. (openssh-config-file): Honor it. * doc/guix.texi (Networking Services): Document it. --- doc/guix.texi | 6 ++++++ gnu/services/ssh.scm | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 3a3368b78f..cd0e74a2d7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11782,6 +11782,12 @@ Additional authorized keys can be specified @i{via} Note that this does @emph{not} interfere with the use of @file{~/.ssh/authorized_keys}. + +@item @code{log-level} (default: @code{'info}) +This is a symbol specifying the logging level: @code{quiet}, @code{fatal}, +@code{error}, @code{info}, @code{verbose}, @code{debug}, etc. See the man +page for @file{sshd_config} for the full list of level names. + @end table @end deftp diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index dd96ad6aec..056602248f 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 Julien Lepiller ;;; Copyright © 2017 Clément Lassieur @@ -319,6 +319,10 @@ The other options should be self-descriptive." (accepted-environment openssh-configuration-accepted-environment (default '())) + ;; symbol + (log-level openssh-configuration-log-level + (default 'info)) + ;; list of user-name/file-like tuples (authorized-keys openssh-authorized-keys (default '())) @@ -451,6 +455,10 @@ of user-name/file-like tuples." (format port "PrintLastLog ~a\n" #$(if (openssh-configuration-print-last-log? config) "yes" "no")) + (format port "LogLevel ~a\n" + #$(string-upcase + (symbol->string + (openssh-configuration-log-level config)))) ;; Add '/etc/authorized_keys.d/%u', which we populate. (format port "AuthorizedKeysFile \ From 8a5a1eff422c5e3bca785f3967d444d0eafcf9c3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 27 Aug 2018 15:13:01 -0400 Subject: [PATCH 012/170] gnu: dropbear: Fix CVE-2018-15599. * gnu/packages/patches/dropbear-CVE-2018-15599.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/ssh.scm (dropbear)[source]: Use it. --- gnu/local.mk | 1 + .../patches/dropbear-CVE-2018-15599.patch | 240 ++++++++++++++++++ gnu/packages/ssh.scm | 1 + 3 files changed, 242 insertions(+) create mode 100644 gnu/packages/patches/dropbear-CVE-2018-15599.patch diff --git a/gnu/local.mk b/gnu/local.mk index a2e538570b..7b980b2f20 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -651,6 +651,7 @@ dist_patch_DATA = \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/doxygen-gcc-ice.patch \ %D%/packages/patches/doxygen-test.patch \ + %D%/packages/patches/dropbear-CVE-2018-15599.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elogind-glibc-2.27.patch \ diff --git a/gnu/packages/patches/dropbear-CVE-2018-15599.patch b/gnu/packages/patches/dropbear-CVE-2018-15599.patch new file mode 100644 index 0000000000..a474552cd2 --- /dev/null +++ b/gnu/packages/patches/dropbear-CVE-2018-15599.patch @@ -0,0 +1,240 @@ +Fix CVE-2018-15599: + +http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/2018q3/002108.html +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-15599 + +Patch copied from upstream source repository: + +https://github.com/mkj/dropbear/commit/52adbb34c32d3e2e1bcdb941e20a6f81138b8248 + +From 52adbb34c32d3e2e1bcdb941e20a6f81138b8248 Mon Sep 17 00:00:00 2001 +From: Matt Johnston +Date: Thu, 23 Aug 2018 23:43:12 +0800 +Subject: [PATCH] Wait to fail invalid usernames + +--- + auth.h | 6 +++--- + svr-auth.c | 19 +++++-------------- + svr-authpam.c | 26 ++++++++++++++++++++++---- + svr-authpasswd.c | 27 ++++++++++++++------------- + svr-authpubkey.c | 11 ++++++++++- + 5 files changed, 54 insertions(+), 35 deletions(-) + +diff --git a/auth.h b/auth.h +index da498f5b..98f54683 100644 +--- a/auth.h ++++ b/auth.h +@@ -37,9 +37,9 @@ void recv_msg_userauth_request(void); + void send_msg_userauth_failure(int partial, int incrfail); + void send_msg_userauth_success(void); + void send_msg_userauth_banner(const buffer *msg); +-void svr_auth_password(void); +-void svr_auth_pubkey(void); +-void svr_auth_pam(void); ++void svr_auth_password(int valid_user); ++void svr_auth_pubkey(int valid_user); ++void svr_auth_pam(int valid_user); + + #if DROPBEAR_SVR_PUBKEY_OPTIONS_BUILT + int svr_pubkey_allows_agentfwd(void); +diff --git a/svr-auth.c b/svr-auth.c +index c19c0901..edde86bc 100644 +--- a/svr-auth.c ++++ b/svr-auth.c +@@ -149,10 +149,8 @@ void recv_msg_userauth_request() { + if (methodlen == AUTH_METHOD_PASSWORD_LEN && + strncmp(methodname, AUTH_METHOD_PASSWORD, + AUTH_METHOD_PASSWORD_LEN) == 0) { +- if (valid_user) { +- svr_auth_password(); +- goto out; +- } ++ svr_auth_password(valid_user); ++ goto out; + } + } + #endif +@@ -164,10 +162,8 @@ void recv_msg_userauth_request() { + if (methodlen == AUTH_METHOD_PASSWORD_LEN && + strncmp(methodname, AUTH_METHOD_PASSWORD, + AUTH_METHOD_PASSWORD_LEN) == 0) { +- if (valid_user) { +- svr_auth_pam(); +- goto out; +- } ++ svr_auth_pam(valid_user); ++ goto out; + } + } + #endif +@@ -177,12 +173,7 @@ void recv_msg_userauth_request() { + if (methodlen == AUTH_METHOD_PUBKEY_LEN && + strncmp(methodname, AUTH_METHOD_PUBKEY, + AUTH_METHOD_PUBKEY_LEN) == 0) { +- if (valid_user) { +- svr_auth_pubkey(); +- } else { +- /* pubkey has no failure delay */ +- send_msg_userauth_failure(0, 0); +- } ++ svr_auth_pubkey(valid_user); + goto out; + } + #endif +diff --git a/svr-authpam.c b/svr-authpam.c +index 05e4f3e5..d201bc96 100644 +--- a/svr-authpam.c ++++ b/svr-authpam.c +@@ -178,13 +178,14 @@ pamConvFunc(int num_msg, + * Keyboard interactive would be a lot nicer, but since PAM is synchronous, it + * gets very messy trying to send the interactive challenges, and read the + * interactive responses, over the network. */ +-void svr_auth_pam() { ++void svr_auth_pam(int valid_user) { + + struct UserDataS userData = {NULL, NULL}; + struct pam_conv pamConv = { + pamConvFunc, + &userData /* submitted to pamvConvFunc as appdata_ptr */ + }; ++ const char* printable_user = NULL; + + pam_handle_t* pamHandlep = NULL; + +@@ -204,12 +205,23 @@ void svr_auth_pam() { + + password = buf_getstring(ses.payload, &passwordlen); + ++ /* We run the PAM conversation regardless of whether the username is valid ++ in case the conversation function has an inherent delay. ++ Use ses.authstate.username rather than ses.authstate.pw_name. ++ After PAM succeeds we then check the valid_user flag too */ ++ + /* used to pass data to the PAM conversation function - don't bother with + * strdup() etc since these are touched only by our own conversation + * function (above) which takes care of it */ +- userData.user = ses.authstate.pw_name; ++ userData.user = ses.authstate.username; + userData.passwd = password; + ++ if (ses.authstate.pw_name) { ++ printable_user = ses.authstate.pw_name; ++ } else { ++ printable_user = ""; ++ } ++ + /* Init pam */ + if ((rc = pam_start("sshd", NULL, &pamConv, &pamHandlep)) != PAM_SUCCESS) { + dropbear_log(LOG_WARNING, "pam_start() failed, rc=%d, %s", +@@ -242,7 +254,7 @@ void svr_auth_pam() { + rc, pam_strerror(pamHandlep, rc)); + dropbear_log(LOG_WARNING, + "Bad PAM password attempt for '%s' from %s", +- ses.authstate.pw_name, ++ printable_user, + svr_ses.addrstring); + send_msg_userauth_failure(0, 1); + goto cleanup; +@@ -253,12 +265,18 @@ void svr_auth_pam() { + rc, pam_strerror(pamHandlep, rc)); + dropbear_log(LOG_WARNING, + "Bad PAM password attempt for '%s' from %s", +- ses.authstate.pw_name, ++ printable_user, + svr_ses.addrstring); + send_msg_userauth_failure(0, 1); + goto cleanup; + } + ++ if (!valid_user) { ++ /* PAM auth succeeded but the username isn't allowed in for another reason ++ (checkusername() failed) */ ++ send_msg_userauth_failure(0, 1); ++ } ++ + /* successful authentication */ + dropbear_log(LOG_NOTICE, "PAM password auth succeeded for '%s' from %s", + ses.authstate.pw_name, +diff --git a/svr-authpasswd.c b/svr-authpasswd.c +index bdee2aa1..69c7d8af 100644 +--- a/svr-authpasswd.c ++++ b/svr-authpasswd.c +@@ -48,22 +48,14 @@ static int constant_time_strcmp(const char* a, const char* b) { + + /* Process a password auth request, sending success or failure messages as + * appropriate */ +-void svr_auth_password() { ++void svr_auth_password(int valid_user) { + + char * passwdcrypt = NULL; /* the crypt from /etc/passwd or /etc/shadow */ + char * testcrypt = NULL; /* crypt generated from the user's password sent */ +- char * password; ++ char * password = NULL; + unsigned int passwordlen; +- + unsigned int changepw; + +- passwdcrypt = ses.authstate.pw_passwd; +- +-#ifdef DEBUG_HACKCRYPT +- /* debugging crypt for non-root testing with shadows */ +- passwdcrypt = DEBUG_HACKCRYPT; +-#endif +- + /* check if client wants to change password */ + changepw = buf_getbool(ses.payload); + if (changepw) { +@@ -73,12 +65,21 @@ void svr_auth_password() { + } + + password = buf_getstring(ses.payload, &passwordlen); +- +- /* the first bytes of passwdcrypt are the salt */ +- testcrypt = crypt(password, passwdcrypt); ++ if (valid_user) { ++ /* the first bytes of passwdcrypt are the salt */ ++ passwdcrypt = ses.authstate.pw_passwd; ++ testcrypt = crypt(password, passwdcrypt); ++ } + m_burn(password, passwordlen); + m_free(password); + ++ /* After we have got the payload contents we can exit if the username ++ is invalid. Invalid users have already been logged. */ ++ if (!valid_user) { ++ send_msg_userauth_failure(0, 1); ++ return; ++ } ++ + if (testcrypt == NULL) { + /* crypt() with an invalid salt like "!!" */ + dropbear_log(LOG_WARNING, "User account '%s' is locked", +diff --git a/svr-authpubkey.c b/svr-authpubkey.c +index aa6087c9..ff481c87 100644 +--- a/svr-authpubkey.c ++++ b/svr-authpubkey.c +@@ -79,7 +79,7 @@ static int checkfileperm(char * filename); + + /* process a pubkey auth request, sending success or failure message as + * appropriate */ +-void svr_auth_pubkey() { ++void svr_auth_pubkey(int valid_user) { + + unsigned char testkey; /* whether we're just checking if a key is usable */ + char* algo = NULL; /* pubkey algo */ +@@ -102,6 +102,15 @@ void svr_auth_pubkey() { + keybloblen = buf_getint(ses.payload); + keyblob = buf_getptr(ses.payload, keybloblen); + ++ if (!valid_user) { ++ /* Return failure once we have read the contents of the packet ++ required to validate a public key. ++ Avoids blind user enumeration though it isn't possible to prevent ++ testing for user existence if the public key is known */ ++ send_msg_userauth_failure(0, 0); ++ goto out; ++ } ++ + /* check if the key is valid */ + if (checkpubkey(algo, algolen, keyblob, keybloblen) == DROPBEAR_FAILURE) { + send_msg_userauth_failure(0, 0); diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index a58ebff481..03c4e3cc0b 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -440,6 +440,7 @@ TCP, not the SSH protocol.") (uri (string-append "https://matt.ucc.asn.au/" name "/releases/" name "-" version ".tar.bz2")) + (patches (search-patches "dropbear-CVE-2018-15599.patch")) (sha256 (base32 "0rgavbzw7jrs5wslxm0dnwx2m409yzxd9hazd92r7kx8xikr3yzj")))) From 84fbb4b223cb46472d444ea9aae060789fce5d24 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Mon, 27 Aug 2018 23:24:47 -0700 Subject: [PATCH 013/170] gnu: electron-cash: Update to 3.3.1. * gnu/packages/finance.scm (electron-cash): Update to 3.3.1. Signed-off-by: Leo Famulari --- gnu/packages/finance.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 2cbd4854ec..7aeaffcc5d 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -335,7 +335,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (package (inherit electrum) (name "electron-cash") - (version "3.3") + (version "3.3.1") (source (origin (method url-fetch) @@ -346,7 +346,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") ".tar.gz")) (sha256 (base32 - "1x487hyacdm1qhik1mhfimr4jwcwz7sgsbkh11awrb6j19sxdxym")) + "1jdy89rfdwc2jadx3rqj5yvynpcn90cx6482ax9f1cj9gfxp9j2b")) (modules '((guix build utils))) (snippet '(begin From 967de7c5b0100e49acf2ea1fd85bf8503b9d2057 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 30 Jul 2018 12:36:45 +0300 Subject: [PATCH 014/170] gnu: Add ephoto. * gnu/packages/enlightenment.scm (ephoto): New variable. --- gnu/packages/enlightenment.scm | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index cff5ab14a9..15ec492793 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -421,3 +421,50 @@ and in creating applications based on the Enlightenment Foundation Library suite "Simple PDF viewer based on the Enlightenment Foundation Libraries.") (home-page "https://github.com/kaihu/lekha") (license license:gpl3+))) + +(define-public ephoto + (package + (name "ephoto") + (version "1.5") + (source + (origin + (method url-fetch) + (uri (list (string-append "http://www.smhouston.us/stuff/ephoto-" + version ".tar.xz") + (string-append "https://download.enlightenment.org/rel/" + "apps/ephoto/ephoto-" version ".tar.xz"))) + (sha256 + (base32 + "04kli43sfsy6s660g13pjc0kjmgdcmq8m4qh02vvpcwv60mf9mgz")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-home-directory + ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 + (lambda _ (setenv "HOME" "/tmp") #t))))) + (native-inputs + `(("check" ,check) + ("pkg-config" ,pkg-config))) + (inputs + `(("efl" ,efl))) + (home-page "http://smhouston.us/ephoto/") + (synopsis "EFL image viewer/editor/manipulator/slideshow creator") + (description "Ephoto is an image viewer and editor written using the +@dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and ease +of use, while taking advantage of the speed and small footprint the EFL provide. + +Ephoto’s features include: +@enumerate +@item Browsing the filesystem and displaying images in an easy to use grid view. +@item Browsing images in a single image view format. +@item Viewing images in a slideshow. +@item Editing your image with features such as cropping, auto enhance, +blurring, sharpening, brightness/contrast/gamma adjustments, hue/saturation/value +adjustments, and color level adjustment. +@item Applying artistic filters to your image such as black and white and old photo. +@item Drag And Drop along with file operations to easy maintain your photo directories. +@end enumerate\n") + (license (list + license:bsd-2 ; Ephoto's thumbnailing code + license:bsd-3)))) From dc8675afa76a996c7d1d55edba1dcb17d044a9a6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 30 Jul 2018 12:42:05 +0300 Subject: [PATCH 015/170] gnu: Add urlscan. * gnu/packages/mail.scm (urlscan): New variable. --- gnu/packages/mail.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d1c1c096e5..fc8436452a 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2596,3 +2596,29 @@ processes mailboxes based on the results. It can be used to delete, copy, move, flag, etc. messages residing in mailboxes at the same or different mail servers. The 4rev1 and 4 versions of IMAP are supported.") (license license:expat))) + +(define-public urlscan + (package + (name "urlscan") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "urlscan" version)) + (sha256 + (base32 + "133f28bisr4xj0nihpwpil8dyadss62mp8qgqdyzd676hg9xjfyc")))) + (build-system python-build-system) + (propagated-inputs + `(("python-urwid" ,python-urwid))) + (home-page "https://github.com/firecat53/urlscan") + (synopsis "View/select the URLs in an email message or file") + (description + "Urlscan is a small program that is designed to integrate with the +@code{mutt} mailreader to allow you to easily launch a Web browser for URLs +contained in email messages. It parses an email message or file and scans it +for URLs and email addresses. It then displays the URLs and their context +within the message, and allows you to choose one or more URLs to send to your +Web browser. Alternatively, it send a list of all URLs to stdout. It is a +replacement for the @code{urlview} program.") + (license gpl2))) From f96ed06805db934ff735e80596f1373dc1c2b5a8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 26 Aug 2018 18:42:23 +0200 Subject: [PATCH 016/170] gnu: snappy: Optimise. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/compression.scm (snappy)[source]: Build with ‘-O2’. * gnu/package/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/compression.scm | 17 ++++----- ...snappy-add-O2-flag-in-CmakeLists.txt.patch | 36 +++++++++++++++++++ 3 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7b980b2f20..73d43547d8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1140,6 +1140,7 @@ dist_patch_DATA = \ %D%/packages/patches/slim-sigusr1.patch \ %D%/packages/patches/slim-reset.patch \ %D%/packages/patches/slim-login.patch \ + %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ %D%/packages/patches/sooperlooper-build-with-wx-30.patch \ %D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch \ %D%/packages/patches/soundtouch-CVE-2018-1000223.patch \ diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 666c9bfc3e..4619f385bb 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1154,14 +1154,15 @@ algorithm within the Numpy framework.") (package (name "snappy") (version "1.1.7") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/google/snappy/archive/" - version ".tar.gz")) - (file-name (string-append "snappy-" version ".tar.gz")) - (sha256 - (base32 - "1m7rcdqzkys5lspj8jcsaah8w33zh28s771bw0ga2lgzfgl05yix")))) + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/google/snappy/archive/" + version ".tar.gz")) + (file-name (string-append "snappy-" version ".tar.gz")) + (sha256 + (base32 "1m7rcdqzkys5lspj8jcsaah8w33zh28s771bw0ga2lgzfgl05yix")) + (patches (search-patches "snappy-add-O2-flag-in-CmakeLists.txt.patch")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) diff --git a/gnu/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch b/gnu/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch new file mode 100644 index 0000000000..561763dabe --- /dev/null +++ b/gnu/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch @@ -0,0 +1,36 @@ +From: Tobias Geerinckx-Rice +Date: Sun, 26 Aug 2018 17:24:42 +0200 +Subject: [PATCH] snappy: Add O2 flag in CmakeLists.txt. + +Use ‘-O2’ optimisation when building with CMake, as is already done when +using the Makefile. This patch was copied verbatim from the Snappy +mailing list[0]. + +[0]: + +From 903c72fb29b2db07b4abc38a5feb83d88f739d80 Mon Sep 17 00:00:00 2001 +From: huangwenjun +Date: Fri, 10 Aug 2018 17:17:35 +0800 +Subject: [PATCH] Add O2 optimize flag in CmakeLists.txt. + +--- + CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 62ecd09..29e0cdc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,9 @@ set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + ++SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") ++SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") ++ + # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make + # it prominent in the GUI. + option(BUILD_SHARED_LIBS "Build shared libraries(DLLs)." OFF) +-- +2.1.0 + From 4fca5a44f6eda4a0f623a9f61a96df0c2655ef38 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 28 Aug 2018 13:37:09 +0200 Subject: [PATCH 017/170] gnu: libntlm: Update to 1.5. * gnu/packages/gsasl.scm (libntlm): Update to 1.5. [source]: Use HTTPS. --- gnu/packages/gsasl.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm index 9dcebe9832..127b476ef3 100644 --- a/gnu/packages/gsasl.scm +++ b/gnu/packages/gsasl.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012 Andreas Enge ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Eric Bavier +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,14 +34,14 @@ (define-public libntlm (package (name "libntlm") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) - (uri (string-append "http://www.nongnu.org/libntlm/releases/" + (uri (string-append "https://www.nongnu.org/libntlm/releases/" "libntlm-" version ".tar.gz")) (sha256 (base32 - "129532iiip2cjr5h03bgz184v64v27sfm1r70v3ms4yk65gdf5c4")))) + "1gcvv7f9rggpxay81qv6kw5hr6gd4qiyzkbwhzz02fx9jvv9kmsk")))) (build-system gnu-build-system) (synopsis "Library that implements NTLM authentication") (description From 7bbdd943e77b68d64bcdfa1693e293e31676cfc3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 28 Aug 2018 19:53:55 +0200 Subject: [PATCH 018/170] gnu: claws-mail: Update to 3.17.1. * gnu/packages/mail.scm (claws-mail): Update to 3.17.1. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index fc8436452a..1f7e971d60 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1011,7 +1011,7 @@ compresses it.") (define-public claws-mail (package (name "claws-mail") - (version "3.17.0") + (version "3.17.1") (source (origin (method url-fetch) (uri (string-append @@ -1019,7 +1019,7 @@ compresses it.") ".tar.xz")) (sha256 (base32 - "119y6q9p8zwm2xqlbkgqd119a529kjqlyldmb4h940z6c2qyjhqm")))) + "1wknxbwyzm5xjh3cqmddcxmvp1rkp301qga5n5rgfi7vcd0myyvm")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("bogofilter" ,bogofilter) From e29bb27d88355ee37c2c90f6c090f53e7f2966e6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 28 Aug 2018 17:25:22 +0200 Subject: [PATCH 019/170] gnu: r-pracma: Update to 2.1.5. * gnu/packages/maths.scm (r-pracma): Update to 2.1.5. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 3d571e8cc9..ad33ccbcc6 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2049,12 +2049,12 @@ programming problems.") (define-public r-pracma (package (name "r-pracma") - (version "2.1.4") + (version "2.1.5") (source (origin (method url-fetch) (uri (cran-uri "pracma" version)) (sha256 - (base32 "1ygm81i7mqvh229dp9935djjyb120p3bqvaf4k572sa4q63fzjhc")))) + (base32 "18cv7c2gvagbmggfbsy2xk9bpn47izd0qrmqnc3q7afvj6pr6nf9")))) (build-system r-build-system) (propagated-inputs `(("r-quadprog" ,r-quadprog))) From f882d7c7c5c3f0c0cf7b26ba51fc0c80d1704fba Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 28 Aug 2018 15:15:29 +0200 Subject: [PATCH 020/170] gnu: python-apipkg: Update home page. * gnu/packages/python.scm (python-apipkg)[home-page]: Update. --- gnu/packages/python.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6ab6763a96..33bbc28edf 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7378,7 +7378,7 @@ applications.") (description "With apipkg you can control the exported namespace of a Python package and greatly reduce the number of imports for your users. It is a small pure Python module that works on virtually all Python versions.") - (home-page "https://bitbucket.org/hpk42/apipkg") + (home-page "https://github.com/pytest-dev/apipkg") (license license:expat))) (define-public python2-apipkg From 2c3d30ef51a427f8abfb3632073843dcd8c4eac5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 28 Aug 2018 13:46:03 +0200 Subject: [PATCH 021/170] gnu: r-plotrix: Update to 3.7-3. * gnu/packages/statistics.scm (r-plotrix): Update to 3.7-3. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5367554d82..56dfa0d15f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2455,13 +2455,13 @@ disk (or a connection).") (define-public r-plotrix (package (name "r-plotrix") - (version "3.7-2") + (version "3.7-3") (source (origin (method url-fetch) (uri (cran-uri "plotrix" version)) (sha256 (base32 - "0hx3xv94gzlyy7ny5k4mzs7w1798h1zka175m5bkzc524493cm88")))) + "18702y1gbyis56mh219z5ww0nrkh6qx7bgqv3khyn80g2giwk7cf")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/plotrix") (synopsis "Various plotting functions") From acf18cb19097e85ee5917b60aa32e3d69e752899 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 02:59:02 +0200 Subject: [PATCH 022/170] gnu: capstone: Use HTTPS home page. * gnu/packages/engineering.scm (capstone)[home-page]: Use HTTPS. --- gnu/packages/engineering.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 3b433a1bfe..d53b25cff9 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1101,7 +1101,7 @@ language, ADMS transforms Verilog-AMS code into other target languages.") (setenv "LDFLAGS" (string-append "-Wl,-rpath=" (assoc-ref outputs "out") "/lib")) #t))))) - (home-page "http://www.capstone-engine.org") + (home-page "https://www.capstone-engine.org") (synopsis "Lightweight multi-platform, multi-architecture disassembly framework") (description "Capstone is a lightweight multi-platform, multi-architecture disassembly From 59b55def00361b1dbe2e979c2d0d4517d861c60c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 29 Aug 2018 13:10:58 +0200 Subject: [PATCH 023/170] gnu: Add r-infotheo. * gnu/packages/cran.scm (r-infotheo): New variable. --- gnu/packages/cran.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index eb6bf9c38b..76f0359312 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4944,3 +4944,22 @@ developers to generate user interfaces easy to maintain.") models. The methods employed are applicable to virtually any predictive model and make comparisons between different methodologies straightforward.") (license license:gpl2+))) + +(define-public r-infotheo + (package + (name "r-infotheo") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "infotheo" version)) + (sha256 + (base32 + "18xacczfq3z3xpy434js4nf3l19lczngzd0lq26wh22pvg1yniwv")))) + (build-system r-build-system) + (home-page "http://homepage.meyerp.com/software") + (synopsis "Information-theoretic measures") + (description + "This package implements various measures of information theory based on +several entropy estimators.") + (license license:gpl3+))) From 9587544b447db9a4952b8c368c5600f8ac439ff9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Aug 2018 16:55:43 +0200 Subject: [PATCH 024/170] gnu: Add ghc 8.4.3. * gnu/packages/haskell.scm (ghc-8): Rename this... (ghc-8.0): ...to this. (ghc): Point at ghc-8.0. (ghc-8): New variable for GHC 8.4.3. Co-authored-by: Timothy Samplet --- gnu/packages/haskell.scm | 129 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 127 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7d7d85f951..a07bb049a2 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -34,6 +34,7 @@ (define-module (gnu packages haskell) #:use-module (gnu packages) + #:use-module (gnu packages base) #:use-module (gnu packages bootstrap) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -322,7 +323,7 @@ top of CLISP.") interactive environment for the functional language Haskell.") (license license:bsd-3))) -(define-public ghc-8 +(define-public ghc-8.0 (package (name "ghc") (version "8.0.2") @@ -434,7 +435,131 @@ interactive environment for the functional language Haskell.") interactive environment for the functional language Haskell.") (license license:bsd-3))) -(define-public ghc ghc-8) +(define-public ghc-8 + (package (inherit ghc-8.0) + (name "ghc") + (version "8.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.haskell.org/ghc/dist/" + version "/" name "-" version "-src.tar.xz")) + (sha256 + (base32 "1mk046vb561j75saz05rghhbkps46ym5aci4264dwc2qk3dayixf")))) + (inputs + `(("gmp" ,gmp) + ("ncurses" ,ncurses) + ("libffi" ,libffi) + ("target-binutils" ,binutils) + ("target-gcc" ,gcc) + ("target-ld-wrapper" ,(make-ld-wrapper "ld-wrapper" + #:binutils binutils)))) + (native-inputs + `(("perl" ,perl) + ("python" ,python) ; for tests + ("ghostscript" ,ghostscript) ; for tests + ;; GHC 8.4.3 is built with GHC 8. + ("ghc-bootstrap" ,ghc-8.0) + ("ghc-testsuite" + ,(origin + (method url-fetch) + (uri (string-append + "https://www.haskell.org/ghc/dist/" + version "/" name "-" version "-testsuite.tar.xz")) + (sha256 + (base32 + "1z55b1z0m3plqd2d1ks6w5wvx7igm7zsk3i4v7cms003z0as0hzz")))))) + (arguments + `(#:test-target "test" + ;; We get a smaller number of test failures by disabling parallel test + ;; execution. + #:parallel-tests? #f + + ;; The DSOs use $ORIGIN to refer to each other, but (guix build + ;; gremlin) doesn't support it yet, so skip this phase. + #:validate-runpath? #f + + ;; Don't pass --build=, because the configure script + ;; auto-detects slightly different triplets for --host and --target and + ;; then complains that they don't match. + #:build #f + + #:configure-flags + (list + (string-append "--with-gmp-libraries=" + (assoc-ref %build-inputs "gmp") "/lib") + (string-append "--with-gmp-includes=" + (assoc-ref %build-inputs "gmp") "/include") + "--with-system-libffi" + (string-append "--with-ffi-libraries=" + (assoc-ref %build-inputs "libffi") "/lib") + (string-append "--with-ffi-includes=" + (assoc-ref %build-inputs "libffi") "/include") + (string-append "--with-curses-libraries=" + (assoc-ref %build-inputs "ncurses") "/lib") + (string-append "--with-curses-includes=" + (assoc-ref %build-inputs "ncurses") "/include")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-testsuite + (lambda* (#:key inputs #:allow-other-keys) + (invoke "tar" "xvf" + (assoc-ref inputs "ghc-testsuite") + "--strip-components=1") + #t)) + (add-after 'unpack-testsuite 'fix-shell-wrappers + (lambda _ + (substitute* '("driver/ghci/ghc.mk" + "utils/mkdirhier/ghc.mk" + "rules/shell-wrapper.mk") + (("echo '#!/bin/sh'") + (format #f "echo '#!~a'" (which "sh")))) + #t)) + ;; This is necessary because the configure system no longer uses + ;; “AC_PATH_” but “AC_CHECK_”, setting the variables to just the + ;; plain command names. + (add-before 'configure 'set-target-programs + (lambda* (#:key inputs #:allow-other-keys) + (let ((binutils (assoc-ref inputs "target-binutils")) + (gcc (assoc-ref inputs "target-gcc")) + (ld-wrapper (assoc-ref inputs "target-ld-wrapper"))) + (setenv "CC" (string-append gcc "/bin/gcc")) + (setenv "CXX" (string-append gcc "/bin/g++")) + (setenv "LD" (string-append ld-wrapper "/bin/ld")) + (setenv "NM" (string-append binutils "/bin/nm")) + (setenv "RANLIB" (string-append binutils "/bin/ranlib")) + (setenv "STRIP" (string-append binutils "/bin/strip")) + ;; The 'ar' command does not follow the same pattern. + (setenv "fp_prog_ar" (string-append binutils "/bin/ar")) + #t))) + (add-before 'build 'fix-references + (lambda _ + (substitute* '("testsuite/timeout/Makefile" + "testsuite/timeout/timeout.py" + "testsuite/timeout/timeout.hs" + "testsuite/tests/programs/life_space_leak/life.test" + ;; libraries + "libraries/process/System/Process/Posix.hs" + "libraries/process/tests/process001.hs" + "libraries/process/tests/process002.hs" + "libraries/unix/cbits/execvpe.c") + (("/bin/sh") (which "sh")) + (("/bin/ls") (which "ls")) + (("/bin/rm") "rm")) + #t)) + (add-before 'build 'fix-environment + (lambda _ + (unsetenv "GHC_PACKAGE_PATH") + (setenv "CONFIG_SHELL" (which "bash")) + #t))))) + (native-search-paths (list (search-path-specification + (variable "GHC_PACKAGE_PATH") + (files (list + (string-append "lib/ghc-" version))) + (file-pattern ".*\\.conf\\.d$") + (file-type 'directory)))))) + +(define-public ghc ghc-8.0) (define-public ghc-hostname (package From 9e17757ff5d8d5159bda789cf4b3e28105b40adf Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 29 Aug 2018 16:58:54 +0200 Subject: [PATCH 025/170] Revert "gnu: snappy: Optimise." This causes too many rebuilds for the master branch. This reverts commit f96ed06805db934ff735e80596f1373dc1c2b5a8. --- gnu/local.mk | 1 - gnu/packages/compression.scm | 17 +++++---- ...snappy-add-O2-flag-in-CmakeLists.txt.patch | 36 ------------------- 3 files changed, 8 insertions(+), 46 deletions(-) delete mode 100644 gnu/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch diff --git a/gnu/local.mk b/gnu/local.mk index 73d43547d8..7b980b2f20 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1140,7 +1140,6 @@ dist_patch_DATA = \ %D%/packages/patches/slim-sigusr1.patch \ %D%/packages/patches/slim-reset.patch \ %D%/packages/patches/slim-login.patch \ - %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ %D%/packages/patches/sooperlooper-build-with-wx-30.patch \ %D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch \ %D%/packages/patches/soundtouch-CVE-2018-1000223.patch \ diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 4619f385bb..666c9bfc3e 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1154,15 +1154,14 @@ algorithm within the Numpy framework.") (package (name "snappy") (version "1.1.7") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/google/snappy/archive/" - version ".tar.gz")) - (file-name (string-append "snappy-" version ".tar.gz")) - (sha256 - (base32 "1m7rcdqzkys5lspj8jcsaah8w33zh28s771bw0ga2lgzfgl05yix")) - (patches (search-patches "snappy-add-O2-flag-in-CmakeLists.txt.patch")))) + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/google/snappy/archive/" + version ".tar.gz")) + (file-name (string-append "snappy-" version ".tar.gz")) + (sha256 + (base32 + "1m7rcdqzkys5lspj8jcsaah8w33zh28s771bw0ga2lgzfgl05yix")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) diff --git a/gnu/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch b/gnu/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch deleted file mode 100644 index 561763dabe..0000000000 --- a/gnu/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Tobias Geerinckx-Rice -Date: Sun, 26 Aug 2018 17:24:42 +0200 -Subject: [PATCH] snappy: Add O2 flag in CmakeLists.txt. - -Use ‘-O2’ optimisation when building with CMake, as is already done when -using the Makefile. This patch was copied verbatim from the Snappy -mailing list[0]. - -[0]: - -From 903c72fb29b2db07b4abc38a5feb83d88f739d80 Mon Sep 17 00:00:00 2001 -From: huangwenjun -Date: Fri, 10 Aug 2018 17:17:35 +0800 -Subject: [PATCH] Add O2 optimize flag in CmakeLists.txt. - ---- - CMakeLists.txt | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 62ecd09..29e0cdc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -6,6 +6,9 @@ set(CMAKE_CXX_STANDARD 11) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) - -+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") -+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") -+ - # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make - # it prominent in the GUI. - option(BUILD_SHARED_LIBS "Build shared libraries(DLLs)." OFF) --- -2.1.0 - From 8892cac329d3d99391ca38d9498507409cb68b36 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 29 Aug 2018 17:04:13 +0200 Subject: [PATCH 026/170] gnu: Add python-llvmlite. * gnu/packages/llvm.scm (python-llvmlite): New variable. --- gnu/packages/llvm.scm | 53 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index add7f1b40c..cd710bcb79 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Dennis Mungai -;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2016, 2018 Ricardo Wurmus ;;; Copyright © 2017 Roel Janssen ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -30,6 +30,7 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages gcc) #:use-module (gnu packages bootstrap) ;glibc-dynamic-linker @@ -380,3 +381,53 @@ code analysis tools.") (patches (list (search-patch "llvm-for-extempore.patch"))))) ;; Extempore refuses to build on architectures other than x86_64 (supported-systems '("x86_64-linux")))) + +(define-public python-llvmlite + (package + (name "python-llvmlite") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "llvmlite" version)) + (sha256 + (base32 + "01zwjlc3c5mhrwmv4b73zgbskwqps9ly0nrh54bbj1f1l72f839j")))) + (build-system python-build-system) + (inputs + `(("llvm" + ,(package + (inherit llvm) + (source (origin + (inherit (package-source llvm)) + (patches + (list + (origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/numba/" + "llvmlite/v" version "/conda-recipes/" + "D47188-svml.patch")) + (sha256 + (base32 + "0mrj24jvkv3hjcmyg98zmvmyl1znlh2j63rdr69f6g7s96d2pfv1"))) + (origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/numba/" + "llvmlite/v" version "/conda-recipes/" + "twine_cfg_undefined_behavior.patch")) + (sha256 + (base32 + "07h71n2m1mn9zcfgw04zglffknplb233zqbcd6pckq0wygkrxflp"))) + (origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/numba/" + "llvmlite/v" version "/conda-recipes/" + "0001-Transforms-Add-missing-header-for-InstructionCombini.patch")) + (sha256 + (base32 + "1pp0z9696l6j4dwz7ypjrm4vvkj0d3mlf1g8zmiyk08akw5lz0cb"))))))))))) + (home-page "http://llvmlite.pydata.org") + (synopsis "Wrapper around basic LLVM functionality") + (description + "This package provides a Python binding to LLVM for use in Numba.") + (license license:bsd-3))) From d8b8eb3ff5453676ffd5251f17424dad5e9966e8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 20 Aug 2018 20:00:17 +0200 Subject: [PATCH 027/170] gnu: Add python-numba. * gnu/packages/python.scm (python-numba): New variable. --- gnu/packages/python.scm | 84 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 33bbc28edf..7575ab1859 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -99,6 +99,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages machine-learning) #:use-module (gnu packages man) #:use-module (gnu packages maths) @@ -13895,3 +13896,86 @@ Let's Encrypt.") development that supports command line argument parsing, command string validation testing and application logic.") (license license:expat))) + +;; Make sure to upgrade python-llvmlite in (gnu packages llvm) together with +;; python-numba. They have a very unflexible relationship. +(define-public python-numba + (package + (name "python-numba") + (version "0.39.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "numba" version)) + (sha256 + (base32 + "1bibvkwga1v8293i9ivl469d8bzgabn3vgr2ig7c1i68v8frsx07")))) + (build-system python-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build python-build-system) + (ice-9 ftw) + (srfi srfi-1) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-proprietary-features + (lambda _ + (setenv "NUMBA_DISABLE_HSA" "1") + (setenv "NUMBA_DISABLE_CUDA" "1") + #t)) + (add-after 'unpack 'remove-failing-tests + (lambda _ + ;; FIXME: these tests fail for unknown reasons: + ;; test_non_writable_pycache, test_non_creatable_pycache, and + ;; test_frozen (all in numba.tests.test_dispatcher.TestCache). + (substitute* "numba/tests/test_dispatcher.py" + (("def test(_non_writable_pycache)" _ m) + (string-append "def guix_skip" m)) + (("def test(_non_creatable_pycache)" _ m) + (string-append "def guix_skip" m)) + (("def test(_frozen)" _ m) + (string-append "def guix_skip" m))) + + ;; These tests fail because we don't run the tests from the build + ;; directory: test_setup_py_distutils, test_setup_py_setuptools + ;; They ar in numba.tests.test_pycc.TestDistutilsSupport. + (substitute* "numba/tests/test_pycc.py" + (("def test(_setup_py_distutils|_setup_py_setuptools)" _ m) + (string-append "def guix_skip" m))) + #t)) + (replace 'check + (lambda _ + (let ((cwd (getcwd))) + (setenv "PYTHONPATH" + (string-append cwd "/build/" + (find (cut string-prefix? "lib" <>) + (scandir (string-append cwd "/build"))) + ":" + (getenv "PYTHONPATH"))) + ;; Something is wrong with the PYTHONPATH when running the + ;; tests from the build directory, as it complains about not being + ;; able to import certain modules. + (with-directory-excursion "/tmp" + (invoke "python3" "-m" "numba.runtests" "-v" "-m"))) + #t))))) + (propagated-inputs + `(("python-llvmlite" ,python-llvmlite) + ("python-numpy" ,python-numpy) + ("python-singledispatch" ,python-singledispatch))) + ;; Needed for tests. + (inputs + `(("python-jinja2" ,python-jinja2) + ("python-pygments" ,python-pygments))) + (home-page "https://numba.pydata.org") + (synopsis "Compile Python code using LLVM") + (description "Numba gives you the power to speed up your applications with +high performance functions written directly in Python. With a few +annotations, array-oriented and math-heavy Python code can be just-in-time +compiled to native machine instructions, similar in performance to C, C++ and +Fortran, without having to switch languages or Python interpreters. + +Numba works by generating optimized machine code using the LLVM compiler +infrastructure at import time, runtime, or statically (using the included pycc +tool).") + (license license:bsd-3))) From 22b770ce0003b7d6fe98299292f8f5c0569f0712 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 20 Aug 2018 20:00:18 +0200 Subject: [PATCH 028/170] gnu: Add python-anndata. * gnu/packages/python.scm (python-anndata): New variable. --- gnu/packages/python.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7575ab1859..f59e24d5ff 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13979,3 +13979,29 @@ Numba works by generating optimized machine code using the LLVM compiler infrastructure at import time, runtime, or statically (using the included pycc tool).") (license license:bsd-3))) + +(define-public python-anndata + (package + (name "python-anndata") + (version "0.6.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "anndata" version)) + (sha256 + (base32 + "1fh461xyyc7pcrjfgd013bdc2alf53r46ss3gfw3431mbb1gappi")))) + (build-system python-build-system) + (propagated-inputs + `(("python-h5py" ,python-h5py) + ("python-natsort" ,python-natsort) + ("python-pandas" ,python-pandas) + ("python-scipy" ,python-scipy))) + (home-page "https://github.com/theislab/anndata") + (synopsis "Annotated data for data analysis pipelines") + (description "Anndata is a package for simple (functional) high-level APIs +for data analysis pipelines. In this context, it provides an efficient, +scalable way of keeping track of data together with learned annotations and +reduces the code overhead typically encountered when using a mostly +object-oriented library such as @code{scikit-learn}.") + (license license:bsd-3))) From c7fe888b424faec05a0d55e8b9321d6852ffb1f2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 29 Aug 2018 17:05:46 +0200 Subject: [PATCH 029/170] gnu: Add python-scanpy. * gnu/packages/bioinformatics.scm (python-scanpy): New variable. --- gnu/packages/bioinformatics.scm | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index cb3c4bc1fd..3c300e48e9 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13458,3 +13458,39 @@ conversions, region filtering, FASTA sequence extraction and more.") spliced (back-spliced) sequencing reads, indicative of circular RNA (circRNA) in RNA-seq data.") (license license:gpl3)))) + +(define-public python-scanpy + (package + (name "python-scanpy") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "scanpy" version)) + (sha256 + (base32 + "1ak7bxms5a0yvf65prppq2g38clkv7c7jnjbnfpkh3xxv7q512jz")))) + (build-system python-build-system) + (propagated-inputs + `(("python-anndata" ,python-anndata) + ("python-igraph" ,python-igraph) + ("python-numba" ,python-numba) + ("python-joblib" ,python-joblib) + ("python-natsort" ,python-natsort) + ("python-networkx" ,python-networkx) + ("python-statsmodels" ,python-statsmodels) + ("python-scikit-learn" ,python-scikit-learn) + ("python-matplotlib" ,python-matplotlib) + ("python-pandas" ,python-pandas) + ("python-scipy" ,python-scipy) + ("python-seaborn" ,python-seaborn) + ("python-h5py" ,python-h5py) + ("python-tables" ,python-tables))) + (home-page "http://github.com/theislab/scanpy") + (synopsis "Single-Cell Analysis in Python.") + (description "Scanpy is a scalable toolkit for analyzing single-cell gene +expression data. It includes preprocessing, visualization, clustering, +pseudotime and trajectory inference and differential expression testing. The +Python-based implementation efficiently deals with datasets of more than one +million cells.") + (license license:bsd-3))) From ac94ccb9b43186264e1cb3aa0c337b1e13772cca Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 12 Aug 2018 20:26:34 +0200 Subject: [PATCH 030/170] gnu: Add python-pyudev. * gnu/packages/admin.scm (python-pyudev): New variable. --- gnu/packages/admin.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index c9230c3295..b372cd0079 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2750,3 +2750,42 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") (description "@code{pscircle} visualizes Linux processes in the form of a radial tree.") (license license:gpl2+))) + +(define-public python-pyudev + (package + (name "python-pyudev") + (version "0.21.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyudev" version)) + (sha256 + (base32 + "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; Tests require /sys + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-ctypes-udev + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((eudev (assoc-ref inputs "eudev"))) + (substitute* "src/pyudev/core.py" + (("'udev'") + (string-append "'" eudev "/lib/libudev.so'"))) + (substitute* "src/pyudev/_ctypeslib/utils.py" + ;; Use absolute paths instead of keys. + (("= find_library") "= ")) + #t)))))) + (inputs + `(("eudev" ,eudev))) + (native-inputs + `(("python-docutils" ,python-docutils) + ("python-hypothesis" ,python-hypothesis) + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-sphinx" ,python-sphinx))) + (home-page "http://pyudev.readthedocs.org/") + (synopsis "Python udev binding") + (description "This package provides @code{udev} bindings for Python.") + (license license:lgpl2.1))) From 15c56e82735380c73894e704643cfbcee45a1c45 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 15 Aug 2018 19:46:08 +0200 Subject: [PATCH 031/170] gnu: Add solaar. * gnu/packages/admin.scm (solaar): New variable. --- gnu/packages/admin.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index b372cd0079..3d58780b95 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2789,3 +2789,42 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") (synopsis "Python udev binding") (description "This package provides @code{udev} bindings for Python.") (license license:lgpl2.1))) + +(define-public solaar + (package + (name "solaar") + (version "0.9.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pwr/Solaar.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "085mfa13dap3wqik1dqlad0d7kff4rv7j4ljh99c7l8nhczkqgwm")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-prefix-detection + (lambda _ + (substitute* "setup.py" + (("'--prefix' in sys\\.argv") + "len([x.startswith('--prefix=') for x in sys.argv]) > 0")) + #t)) + (replace 'build + (lambda _ + (invoke "python" "setup.py" "build"))) + (add-before 'check 'setenv-PATH + (lambda _ + (setenv "PYTHONPATH" (string-append "lib:" (getenv "PYTHONPATH"))) + #t))))) + (propagated-inputs + `(("python-pygobject" ,python-pygobject) + ("python-pyudev" ,python-pyudev))) + (home-page "https://smxi.org/docs/inxi.htm") + (synopsis "Linux devices manager for the Logitech Unifying Receiver") + (description "This package provides tools to manage clients of the +Logitech Unifying Receiver.") + (license license:gpl2))) From 9e21f2170ec36f04097cee6ee76ba14c888cc81c Mon Sep 17 00:00:00 2001 From: pimi Date: Tue, 28 Aug 2018 22:32:44 +0200 Subject: [PATCH 032/170] gnu: Add r-abcoptim. gnu/packages/cran.scm (r-abcoptim): New variable. Signed-off-by: Leo Famulari --- gnu/packages/cran.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 76f0359312..016d1b1e41 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4963,3 +4963,28 @@ and make comparisons between different methodologies straightforward.") "This package implements various measures of information theory based on several entropy estimators.") (license license:gpl3+))) + +(define-public r-abcoptim + (package + (name "r-abcoptim") + (version "0.15.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ABCoptim" version)) + (sha256 + (base32 "1ih0xk88qhsmpvnxf56041wx5sk8as2f4f2gdnpnwdym9mbr9n4b")))) + (properties `((upstream-name . "ABCoptim"))) + (build-system r-build-system) + (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/gvegayon/ABCoptim/") + (synopsis "Optimization of Artificial Bee Colony algorithm") + (description + "Artificial Bee Colony (ABC) is one of the most recently defined algorithms by Dervis +Karaboga in 2005, motivated by the intelligent behavior of honey bees. It is as +simple as Particle Swarm Optimization (PSO) and Differential Evolution (DE) +algorithms, and uses only common control parameters such as colony size and +maximum cycle number. The @code{r-abcoptim} implements the Artificial bee +colony optimization algorithm @url{http://mf.erciyes.edu.tr/abc/pub/tr06_2005.pdf}. + This version is a work-in-progress and is written in R code.") + (license license:expat))) From 4f9355c3606ecbe83dce78e6d01fa974d912bd4a Mon Sep 17 00:00:00 2001 From: pimi Date: Tue, 28 Aug 2018 22:26:13 +0200 Subject: [PATCH 033/170] gnu: Add gffcompare. gnu/packages/bioinformatics.scm (gffcompare): New variable. Signed-off-by: Leo Famulari --- gnu/packages/bioinformatics.scm | 64 +++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 3c300e48e9..22a00894c2 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018 Gábor Boskovits +;;; Copyright © 2018 Mădălin Ionel Patrașcu ;;; ;;; This file is part of GNU Guix. ;;; @@ -13494,3 +13495,66 @@ pseudotime and trajectory inference and differential expression testing. The Python-based implementation efficiently deals with datasets of more than one million cells.") (license license:bsd-3))) + +(define-public gffcompare + (let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41") + (revision "1")) + (package + (name "gffcompare") + (version (git-version "0.10.15" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gpertea/gffcompare/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cp5qpxdhw4mxpya5dld8wi3jk00zyklm6rcri426wydinrnfmkg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'copy-gclib-source + (lambda* (#:key inputs #:allow-other-keys) + (mkdir "../gclib") + (copy-recursively + (assoc-ref inputs "gclib-source") "../gclib") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "gffcompare" bin) + #t)))))) + (native-inputs + `(("gclib-source" ; see 'README.md' of gffcompare + ,(let ((commit "54917d0849c1e83cfb057b5f712e5cb6a35d948f") + (revision "1") + (name "gclib") + (version (git-version "0.10.3" revision commit))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gpertea/gclib/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0b51lc0b8syrv7186fd7n8f15rwnf264qgfmm2palrwks1px24mr"))))))) + (home-page "https://github.com/gpertea/gffcompare/") + (synopsis "Tool for comparing or classifing transcripts of RNA-Seq") + (description + "@code{gffcompare} is a tool that can: +@enumerate +@item compare and evaluate the accuracy of RNA-Seq transcript assemblers +(Cufflinks, Stringtie); +@item collapse (merge) duplicate transcripts from multiple GTF/GFF3 files (e.g. +resulted from assembly of different samples); +@item classify transcripts from one or multiple GTF/GFF3 files as they relate to +reference transcripts provided in a annotation file (also in GTF/GFF3 format). +@end enumerate") + (license + (list + license:expat ;license for gffcompare + license:artistic2.0))))) ;license for gclib From b4c698c8c99952fef0c9aa8c53c36631d84b5ef7 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Tue, 28 Aug 2018 14:50:39 -0700 Subject: [PATCH 034/170] gnu: python-trezor: Update to 0.10.2. * gnu/packages/finance.scm (python-trezor): Update to 0.10.2. [arguments]: Replace check with tests that do not require hardware device. [propagated-inputs]: Add python-click, python-libusb1, python-pyblake2 and python-typing. [native-inputs]: Add python-mock and python-pytest. Signed-off-by: Leo Famulari --- gnu/packages/finance.scm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 7aeaffcc5d..28bfb28f49 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -664,23 +664,38 @@ Ledger Blue/Nano S.") (define-public python-trezor (package (name "python-trezor") - (version "0.7.16") + (version "0.10.2") (source (origin (method url-fetch) (uri (pypi-uri "trezor" version)) (sha256 (base32 - "055kii56wgwadl5z911s59ya2fnsqzk3n5i19s2hb9sv2by6knvb")))) + "138k6zsqqpb46k3rcpyslm9q7yq5i6k4myvr9n425jnkadf4vfjd")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Default tests run device-specific tests which fail, only run specific tests. + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (invoke "python" "-m" "pytest" "--pyarg" "trezorlib.tests.unit_tests") + (invoke "python" "-m" "pytest" "-m" "slow_cosi" "--pyarg" "trezorlib.tests.unit_tests") + ))))) (propagated-inputs - `(("python-ecdsa" ,python-ecdsa) + `(("python-click" ,python-click) + ("python-ecdsa" ,python-ecdsa) ("python-hidapi" ,python-hidapi) + ("python-libusb1" ,python-libusb1) ("python-mnemonic" ,python-mnemonic) ("python-protobuf" ,python-protobuf) - ("python-requests" ,python-requests))) + ("python-pyblake2" ,python-pyblake2) + ("python-requests" ,python-requests) + ("python-typing" ,python-typing))) (native-inputs - `(("python-pyqt" ,python-pyqt))) ; Tests + `(("python-mock" ,python-mock) ; Tests + ("python-pyqt" ,python-pyqt) ; Tests + ("python-pytest" ,python-pytest))) ; Tests (home-page "https://github.com/trezor/python-trezor") (synopsis "Python library for communicating with TREZOR Hardware Wallet") (description "@code{trezor} is a Python library for communicating with From caf8a003b33f9ed59c8f9bf6fc2ca9929b96b63b Mon Sep 17 00:00:00 2001 From: Christopher Lemmer Webber Date: Wed, 29 Aug 2018 15:52:05 -0400 Subject: [PATCH 035/170] gnu: emacs-racket-mode: Update to commit 92c3348. * gnu/packages/emacs.scm (emacs-racket-mode): Update to commit 92c3348. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 6d34f626af..a1ce64ffaa 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -10053,7 +10053,7 @@ perform regression test for packages that provide font-lock rules.") (license license:gpl3+)))) (define-public emacs-racket-mode - (let ((commit "add0190d3c9bdad25fee57f8efd0460c9a45c2ec") + (let ((commit "92c33487f6c707880ac3f6169e7ea65ddffd1463") (revision "1")) (package (name "emacs-racket-mode") @@ -10068,7 +10068,7 @@ perform regression test for packages that provide font-lock rules.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0bf6s4nqjfacij20x9vppdnq8fq1bf53cch6p4g8xqcqri3ms4jw")))) + "19q6ym10gj2xdzzcgh3wdbq1xv8cv7nlrhv2b0bjvvdjzhiki472")))) (build-system emacs-build-system) (arguments `(#:include '("\\.el$" "\\.rkt$"))) From de5cbd4a38a33e0412f1c481fe8e01a871dc13e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 29 Aug 2018 22:28:06 +0200 Subject: [PATCH 036/170] records: Adjust 'record-abi-mismatch-error' arguments. Previously, 'display-error' (as used by 'warn-about-load-error', for instance) would be called with a wrong number of arguments when a 'record-abi-mismatch-error' was caught: warning: failed to load '(gnu tests install)': Backtrace: [...] ERROR: In procedure display-error: Wrong number of arguments to # Now you get warnings and error reports as intended: warning: failed to load '(gnu tests install)': In procedure abi-check: : record ABI mismatch; recompilation needed warning: failed to load '(gnu tests ssh)': In procedure abi-check: : record ABI mismatch; recompilation needed * guix/records.scm (print-record-abi-mismatch-error): Remove. Remove top-level call to 'set-exception-printer!'. (abi-check): Use arguments as expected by 'display-error'. --- guix/records.scm | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/guix/records.scm b/guix/records.scm index da3ecdaaf8..1f11648e2c 100644 --- a/guix/records.scm +++ b/guix/records.scm @@ -52,17 +52,6 @@ ((weird _ ...) ;weird! (syntax-violation name "invalid field specifier" #'weird))))) -(define (print-record-abi-mismatch-error port key args - default-printer) - (match args - ((rtd . _) - ;; The source file where this exception is thrown must be recompiled. - (format port "ERROR: ~a: record ABI mismatch; recompilation needed" - rtd)))) - -(set-exception-printer! 'record-abi-mismatch-error - print-record-abi-mismatch-error) - (eval-when (expand load eval) ;; The procedures below are needed both at run time and at expansion time. @@ -81,7 +70,11 @@ interface\" (ABI) for TYPE is equal to COOKIE." (with-syntax ((current-abi (current-abi-identifier type))) #`(unless (eq? current-abi #,cookie) - (throw 'record-abi-mismatch-error #,type))))) + ;; The source file where this exception is thrown must be + ;; recompiled. + (throw 'record-abi-mismatch-error 'abi-check + "~a: record ABI mismatch; recompilation needed" + '(#,type) '()))))) (define-syntax make-syntactic-constructor (syntax-rules () From d258c791441b46705f4360cf141343363d1751f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 29 Aug 2018 22:32:05 +0200 Subject: [PATCH 037/170] tests: Warn about test module load failures. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported by Clément Lassieur and Leo Famulari at . * gnu/tests.scm (test-modules): Pass #:warn to 'scheme-modules'. --- gnu/tests.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/tests.scm b/gnu/tests.scm index 5d4a4f8062..9e8eed7d95 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -22,6 +22,7 @@ #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix records) + #:use-module ((guix ui) #:select (warn-about-load-error)) #:use-module (gnu bootloader) #:use-module (gnu bootloader grub) #:use-module (gnu system) @@ -258,7 +259,8 @@ the system under test." (define (test-modules) "Return the list of modules that define system tests." (scheme-modules (dirname (search-path %load-path "guix.scm")) - "gnu/tests")) + "gnu/tests" + #:warn warn-about-load-error)) (define (fold-system-tests proc seed) "Invoke PROC on each system test, passing it the test and the previous From 4db7a9dc663c5b26e45ec35538bf68ff87acdf7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 29 Aug 2018 23:29:03 +0200 Subject: [PATCH 038/170] linux-modules: Raise an error when a kernel module cannot be found. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously we'd get an unhelpful backtrace like this: In gnu/build/linux-modules.scm: 184:47 4 (recursive-module-dependencies _ #:lookup-module _) 98:14 3 (module-dependencies _) 85:18 2 (modinfo-section-contents _) In ice-9/ports.scm: 439:11 1 (call-with-input-file #f # ?) In unknown file: 0 (open-file #f "r" #:encoding #f #:guess-encoding #f) ERROR: In procedure open-file: Wrong type (expecting string): #f builder for `/gnu/store/…-linux-modules.drv' failed with exit code 1 * gnu/build/linux-modules.scm (find-module-file): When MODULE cannot be found, raise an error instead of returning #f. This is more useful to the user. --- gnu/build/linux-modules.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index ae141b6f54..2d81175041 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -136,7 +136,7 @@ and normalizing it." (define (find-module-file directory module) "Lookup module NAME under DIRECTORY, and return its absolute file name. NAME can be a file name with or without '.ko', or it can be a module name. -Return #f if it could not be found. +Raise an error if it could not be found. Module names can differ from file names in interesting ways; for instance, module names usually (always?) use underscores as the inter-word separator, @@ -162,7 +162,7 @@ whereas file names often, but not always, use hyphens. Examples: ((file) file) (() - #f) + (error "kernel module not found" module directory)) ((_ ...) (error "several modules by that name" module directory)))) From 8490a8346b5c8207f5798be55bea1de865b0bd42 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Fri, 13 Jul 2018 11:49:13 +0300 Subject: [PATCH 039/170] services: Add ddclient service. * gnu/services/dns.scm (ddclient-configuration, ddclient-service-type): New variables. (uglify-field-name, serialize-field, serialize-boolean, serialize-integer, serialize-string, serialize-list, serialize-extra-options, ddclient-activation, ddclient-shepherd-service, generate-ddclient-documentation): New procedures. * doc/guix.texi (DNS Services): Document it. --- doc/guix.texi | 108 ++++++++++++++++++++++++++++ gnu/services/dns.scm | 168 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 275 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index cd0e74a2d7..97631d52e4 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17263,6 +17263,114 @@ When false, disable negative caching. @end table @end deftp +@subsubheading ddclient Service + +@cindex ddclient +The ddclient service described below runs the ddclient daemon, which takes +care of automatically updating DNS entries for service providers such as +@uref{https://dyn.com/dns/, Dyn}. + +The following example show instantiates the service with its default +configuration: + +@example +(service ddclient-service-type) +@end example + +Note that ddclient needs to access credentials that are stored in a +@dfn{secret file}, by default @file{/etc/ddclient/secrets} (see +@code{secret-file} below.) You are expected to create this file manually, in +an ``out-of-band'' fashion (you @emph{could} make this file part of the +service configuration, for instance by using @code{plain-file}, but it will be +world-readable @i{via} @file{/gnu/store}.) See the examples in the +@file{share/ddclient} directory of the @code{ddclient} package. + +@c %start of fragment + +Available @code{ddclient-configuration} fields are: + +@deftypevr {@code{ddclient-configuration} parameter} package ddclient +The ddclient package. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} integer daemon +The period after which ddclient will retry to check IP and domain name. + +Defaults to @samp{300}. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} boolean syslog +Use syslog for the output. + +Defaults to @samp{#t}. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} string mail +Mail to user. + +Defaults to @samp{"root"}. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} string mail-failure +Mail failed update to user. + +Defaults to @samp{"root"}. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} string pid +The ddclient PID file. + +Defaults to @samp{"/var/run/ddclient/ddclient.pid"}. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} boolean ssl +Enable SSL support. + +Defaults to @samp{#t}. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} string user +Specifies the user name or ID that is used when running ddclient +program. + +Defaults to @samp{"ddclient"}. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} string group +Group of the user who will run the ddclient program. + +Defaults to @samp{"ddclient"}. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} string secret-file +Secret file which will be appended to @file{ddclient.conf} file. This +file contains credentials for use by ddclient. You are expected to +create it manually. + +Defaults to @samp{"/etc/ddclient/secrets.conf"}. + +@end deftypevr + +@deftypevr {@code{ddclient-configuration} parameter} list extra-options +Extra options will be appended to @file{ddclient.conf} file. + +Defaults to @samp{()}. + +@end deftypevr + + +@c %end of fragment + + @node VPN Services @subsubsection VPN Services @cindex VPN (virtual private network) diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index 2c57a36b84..16bd039f59 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Julien Lepiller +;;; Copyright © 2018 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,7 +46,10 @@ zone-entry dnsmasq-service-type - dnsmasq-configuration)) + dnsmasq-configuration + + ddclient-service-type + ddclient-configuration)) ;;; ;;; Knot DNS. @@ -670,3 +674,165 @@ (compose list dnsmasq-shepherd-service)))) (default-value (dnsmasq-configuration)) (description "Run the dnsmasq DNS server."))) + + +;;; +;;; ddclient +;;; + +(define (uglify-field-name field-name) + (string-delete #\? (symbol->string field-name))) + +(define (serialize-field field-name val) + (format #t "~a=~a\n" (uglify-field-name field-name) val)) + +(define (serialize-boolean field-name val) + (serialize-field field-name (if val "yes" "no"))) + +(define (serialize-integer field-name val) + (serialize-field field-name (number->string val))) + +(define (serialize-string field-name val) + (if (and (string? val) (string=? val "")) + "" + (serialize-field field-name val))) + +(define (serialize-list field-name val) + (if (null? val) "" (serialize-field field-name (string-join val)))) + +(define (serialize-extra-options extra-options) + (string-join extra-options "\n" 'suffix)) + +(define-configuration ddclient-configuration + (ddclient + (package ddclient) + "The ddclient package.") + (daemon + (integer 300) + "The period after which ddclient will retry to check IP and domain name.") + (syslog + (boolean #t) + "Use syslog for the output.") + (mail + (string "root") + "Mail to user.") + (mail-failure + (string "root") + "Mail failed update to user.") + (pid + (string "/var/run/ddclient/ddclient.pid") + "The ddclient PID file.") + (ssl + (boolean #t) + "Enable SSL support.") + (user + (string "ddclient") + "Specifies the user name or ID that is used when running ddclient +program.") + (group + (string "ddclient") + "Group of the user who will run the ddclient program.") + (secret-file + (string "/etc/ddclient/secrets.conf") + "Secret file which will be appended to @file{ddclient.conf} file. This +file contains credentials for use by ddclient. You are expected to create it +manually.") + (extra-options + (list '()) + "Extra options will be appended to @file{ddclient.conf} file.")) + +(define (ddclient-account config) + "Return the user accounts and user groups for CONFIG." + (let ((ddclient-user (ddclient-configuration-user config)) + (ddclient-group (ddclient-configuration-group config))) + (list (user-group + (name ddclient-group) + (system? #t)) + (user-account + (name ddclient-user) + (system? #t) + (group ddclient-group) + (comment "ddclientd privilege separation user") + (home-directory (string-append "/var/run/" ddclient-user)))))) + +(define (ddclient-activation config) + "Return the activation GEXP for CONFIG." + (with-imported-modules '((guix build utils) + (ice-9 rdelim)) + #~(begin + (use-modules (guix build utils) + (ice-9 rdelim)) + (let ((ddclient-user + #$(passwd:uid (getpw (ddclient-configuration-user config)))) + (ddclient-group + #$(passwd:gid (getpw (ddclient-configuration-group config)))) + (ddclient-secret-file + #$(ddclient-configuration-secret-file config))) + ;; 'ddclient' complains about ddclient.conf file permissions, which + ;; rules out /gnu/store. Thus we copy the ddclient.conf to /etc. + (for-each (lambda (dir) + (mkdir-p dir) + (chmod dir #o700) + (chown dir ddclient-user ddclient-group)) + '("/var/cache/ddclient" "/var/run/ddclient" + "/etc/ddclient")) + (with-output-to-file "/etc/ddclient/ddclient.conf" + (lambda () + (display + (string-append + "# Generated by 'ddclient-service'.\n\n" + #$(with-output-to-string + (lambda () + (serialize-configuration config + ddclient-configuration-fields))) + (if (string-null? ddclient-secret-file) + "" + (format #f "\n\n# Appended from '~a'.\n\n~a" + ddclient-secret-file + (with-input-from-file ddclient-secret-file + read-string))))))) + (chmod "/etc/ddclient/ddclient.conf" #o600) + (chown "/etc/ddclient/ddclient.conf" + ddclient-user ddclient-group))))) + +(define (ddclient-shepherd-service config) + "Return a for ddclient with CONFIG." + (let ((ddclient (ddclient-configuration-ddclient config)) + (ddclient-pid (ddclient-configuration-pid config)) + (ddclient-user (ddclient-configuration-user config)) + (ddclient-group (ddclient-configuration-group config))) + (list (shepherd-service + (provision '(ddclient)) + (documentation "Run ddclient daemon.") + (start #~(make-forkexec-constructor + (list #$(file-append ddclient "/bin/ddclient") + "-foreground" + "-file" "/etc/ddclient/ddclient.conf") + #:pid-file #$ddclient-pid + #:environment-variables + (list "SSL_CERT_DIR=/run/current-system/profile\ +/etc/ssl/certs" + "SSL_CERT_FILE=/run/current-system/profile\ +/etc/ssl/certs/ca-certificates.crt") + #:user #$ddclient-user + #:group #$ddclient-group)) + (stop #~(make-kill-destructor)))))) + +(define ddclient-service-type + (service-type + (name 'ddclient) + (extensions + (list (service-extension account-service-type + ddclient-account) + (service-extension shepherd-root-service-type + ddclient-shepherd-service) + (service-extension activation-service-type + ddclient-activation))) + (default-value (ddclient-configuration)) + (description "Configure address updating utility for dynamic DNS services, +ddclient."))) + +(define (generate-ddclient-documentation) + (generate-documentation + `((ddclient-configuration ,ddclient-configuration-fields)) + 'ddclient-configuration)) From 99e0fb24fb7984304f139cb02b31643216642491 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Wed, 29 Aug 2018 19:47:12 -0400 Subject: [PATCH 040/170] gnu: audacity: Fix GtkFileChooserDialog. * gnu/packages/audio.scm (audacity)[arguments]: Add 'wrap-program' phase to fix GtkFileChooserDialog. [inputs]: Rename "gtk" to "gtk+". --- gnu/packages/audio.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index f7f831918b..5468742c81 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -324,7 +324,7 @@ engineers, musicians, soundtrack editors and composers.") (build-system gnu-build-system) (inputs `(("wxwidgets" ,wxwidgets) - ("gtk" ,gtk+) + ("gtk+" ,gtk+) ("alsa-lib" ,alsa-lib) ("jack" ,jack-1) ("expat" ,expat) @@ -410,6 +410,15 @@ engineers, musicians, soundtrack editors and composers.") (("../lib-src/portmidi/porttime/porttime.h") "porttime.h")) (substitute* "src/prefs/MidiIOPrefs.cpp" (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/audacity") + ;; For GtkFileChooserDialog. + `("GSETTINGS_SCHEMA_DIR" = + (,(string-append (assoc-ref inputs "gtk+") + "/share/glib-2.0/schemas")))) #t))) ;; The test suite is not "well exercised" according to the developers, ;; and fails with various errors. See From 7bb7920f64a871eadd8e76687f72673ef2298746 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 29 Aug 2018 23:15:18 +0200 Subject: [PATCH 041/170] gnu: duplicity: Update to 0.7.18.1. * gnu/packages/backup.scm (duplicity): Update to 0.7.18.1. [arguments]: Remove upstreamed '--ignore-mdc-error' kluge. Rename 'patch-source' phase to 'use-store-file-names'. --- gnu/packages/backup.scm | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index b36bb74f6f..bd4a177ecd 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -67,7 +67,7 @@ (define-public duplicity (package (name "duplicity") - (version "0.7.18") + (version "0.7.18.1") (source (origin (method url-fetch) @@ -77,7 +77,7 @@ version ".tar.gz")) (sha256 (base32 - "1qlika4l1k1nx8zr657ihcy0yzr1c1cdnjlbs325l5krvc3zbc5b")))) + "17c0203y5qz9w8iyhs26l44qf6a1vp26b5ykz1ypdr2kv6g02df9")))) (build-system python-build-system) (native-inputs `(("util-linux" ,util-linux) ; setsid command, for the tests @@ -99,21 +99,12 @@ #:test-target "test" #:phases (modify-phases %standard-phases - (add-before 'build 'patch-source + (add-before 'build 'use-store-file-names (lambda* (#:key inputs #:allow-other-keys) - ;; Embed gpg store name. (substitute* "duplicity/gpginterface.py" (("self.call = 'gpg'") (string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'"))) - ;; This matches up with an unreleased upstream fix, it should be - ;; removed when the package is updated. - ;; https://bazaar.launchpad.net/~duplicity-team/duplicity/0.8-series/revision/1308 - (substitute* "duplicity/gpg.py" - (("--no-secmem-warning'\\)") - "--no-secmem-warning') - gnupg.options.extra_args.append('--ignore-mdc-error')")) - (substitute* '("testing/functional/__init__.py" "testing/overrides/bin/lftp") (("/bin/sh") (which "sh"))) From 1f0f9514eb77632bb0c22894fbcff6ca08534b19 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 29 Aug 2018 02:43:56 +0200 Subject: [PATCH 042/170] gnu: gparted: Update to 0.32.0. * gnu/packages/disk.scm (gparted): Update to 0.32.0. --- gnu/packages/disk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index c7103c565a..58c867d765 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -336,14 +336,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") (define-public gparted (package (name "gparted") - (version "0.31.0") + (version "0.32.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" version "/gparted-" version ".tar.gz")) (sha256 - (base32 "1fh7rpgb4xxdhgyjsirb83zvjfc5mfngb8a1pjbv7r6r6jj4jyrv")))) + (base32 "1fjp4c8jc0kjbbih1x1vs9v40d9lncma642kflnmy0bixxnvh7df")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; tests require a network connection From a82b561fef437d2f4a041e5f4df8305963552069 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 04:00:47 +0200 Subject: [PATCH 043/170] gnu: robocut: Don't use unstable tarball. * gnu/packages/printers.scm (robocut)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/printers.scm | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/gnu/packages/printers.scm b/gnu/packages/printers.scm index f8890cb7f1..dff9ed3010 100644 --- a/gnu/packages/printers.scm +++ b/gnu/packages/printers.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Ludovic Courtès +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,7 +19,7 @@ (define-module (gnu packages printers) #:use-module (guix packages) - #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages libusb) @@ -32,15 +33,15 @@ (package (name "robocut") (version "1.0.11") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Timmmm/robocut/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "0nmr1plq1f6sarxwqwy4vzbxkljlx8y4xalm7r05vx4lrdai5pad")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Timmmm/robocut.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dp9cssyik63yvkk35s51v94a873x751iqg93qzd8dpqkmz5z8gn")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases From 33eea5c4393329db159652609605fbb5e6c1ebf0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 29 Aug 2018 03:23:45 +0200 Subject: [PATCH 044/170] gnu: perl-sub-identify: Update to 0.14. * gnu/packages/perl.scm (perl-sub-identify): Update to 0.14. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a2d368306a..4d70e019b9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7631,7 +7631,7 @@ renaming exports, if they try to use them.") (define-public perl-sub-identify (package (name "perl-sub-identify") - (version "0.10") + (version "0.14") (source (origin (method url-fetch) @@ -7639,7 +7639,7 @@ renaming exports, if they try to use them.") "Sub-Identify-" version ".tar.gz")) (sha256 (base32 - "087fjcg6w576w47i1slj6mjfd3gl1b0airgddmn3prn0nff6nn2m")))) + "0vxdxyfh6037xy88ic7500wydzmsxldhp95n8bld2kaihqh2g386")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sub-Identify") (synopsis "Retrieve names of code references") From ad3306f62fc607fe553fca7c4b01f87a46499e03 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 29 Aug 2018 02:52:47 +0200 Subject: [PATCH 045/170] gnu: perl-gd: Update to 2.69. * gnu/packages/gd.scm (perl-gd): Update to 2.69. --- gnu/packages/gd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 56553a6745..c374695524 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -94,7 +94,7 @@ most common applications of GD involve website development.") (define-public perl-gd (package (name "perl-gd") - (version "2.68") + (version "2.69") (source (origin (method url-fetch) @@ -102,7 +102,7 @@ most common applications of GD involve website development.") "GD-" version ".tar.gz")) (sha256 (base32 - "0p2ya641nl5cvcqgw829xgabh835qijfd6vq2ba12862946xx8va")))) + "0palmq7l42fibqxhrabnjm7di4q8kciq9323902d717x3i4jvc6x")))) (build-system perl-build-system) (inputs `(("fontconfig" ,fontconfig) From bfb994d8be24d27378d77d0d280cf01b44eaa344 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 29 Aug 2018 03:52:18 +0200 Subject: [PATCH 046/170] gnu: r-car: Update to 3.0-2. * gnu/packages/statistics.scm (r-car): Update to 3.0-2. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 56dfa0d15f..97246dc31d 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5172,14 +5172,14 @@ Companion to Applied Regression, Third Edition, Sage.") (define-public r-car (package (name "r-car") - (version "3.0-1") + (version "3.0-2") (source (origin (method url-fetch) (uri (cran-uri "car" version)) (sha256 (base32 - "0rdk7hgahs38j6yv861i31wpmsmyvksxcv8jarvvcjl60whizhb2")))) + "0l3wyc9ia0ypcbap2p39slazfpbl84mjzydqvpsywrzdiyxajnfz")))) (build-system r-build-system) (propagated-inputs `(("r-abind" ,r-abind) From 9986316618c471a9a100d1b317a342aee8d5e6df Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 28 Aug 2018 22:04:16 +0200 Subject: [PATCH 047/170] gnu: mujs: Update to 1.0.4. * gnu/packages/javascript.scm (mujs): Update to 1.0.4. --- gnu/packages/javascript.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 3a9e88ad08..75517caf6b 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017 Ricardo Wurmus -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Nicolas Goaziou ;;; @@ -26,6 +26,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages lisp) + #:use-module (gnu packages readline) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -412,7 +413,7 @@ external server.") (define-public mujs (package (name "mujs") - (version "1.0.3") + (version "1.0.4") (source (origin (method git-fetch) (uri (git-reference @@ -421,14 +422,16 @@ external server.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "15ml3rzjl44lqdb1yxipdh8bhh0rvk2g6w6sjv667q8xywijwqv8")))) + "1ly0yybs66nk63517kg4dmdc7dbikhqqqf2r2kvccgzzvv6k0vs8")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (delete 'configure)) ; no configure + (delete 'configure)) ; no configure #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) (string-append "CC=gcc")) - #:tests? #f)) ; no tests + #:tests? #f)) ; no tests + (inputs + `(("readline" ,readline))) (home-page "https://artifex.com/mujs/") (synopsis "JavaScript interpreter written in C") (description "MuJS is a lightweight Javascript interpreter designed for From a28604ee8152a436f9d7384057a375a0362f34af Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 30 Aug 2018 00:53:01 -0400 Subject: [PATCH 048/170] gnu: linux-libre@4.4: Update to 4.4.153. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.153. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9ef695c4b2..49fc84c17b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -451,8 +451,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.152" - "082aajyr363ca95pxlg9iascf5d7k2gbw9ggsbsa1hj6nhspsxw6" + (make-linux-libre "4.4.153" + "195vzkkmjiicqfzd38hgf381rlz665rl06abzf8cww0gbnzvrf72" %intel-compatible-systems #:configuration-file kernel-config)) From fa4131f2aa7ee97885169b9d3dcbf784c9382159 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 13:58:35 -0500 Subject: [PATCH 049/170] netsurf-buildsystem: Upgrade to 1.7. * gnu/packages/web.scm (netsurf-buildsystem): Upgrade to 1.7. --- gnu/packages/web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index aea75654be..b9c2e9e1a7 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2018 Raoul Jean Pierre Bonnal ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017 Eric Bavier +;;; Copyright © 2015, 2016, 2017, 2018 Eric Bavier ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2016 Jelle Licht @@ -4275,7 +4275,7 @@ tools they trust (e.g. wget).") (define netsurf-buildsystem (package (name "netsurf-buildsystem") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) @@ -4283,7 +4283,7 @@ tools they trust (e.g. wget).") "buildsystem-" version ".tar.gz")) (sha256 (base32 - "0p5k708lcq8dip9xxck6hml32bjrbyipprm22bbsvdnsc0pqm71x")))) + "1q23aaycv35ma5471l1gxib8lfq2s9kprrkaqgfc926d04rlbmhw")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (arguments From ea9b34c2f55b7b2b44a6a2ef1abf23c787c90b10 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 13:59:35 -0500 Subject: [PATCH 050/170] libparserutils: Upgrade to 0.2.4. * gnu/packages/web.scm (libparserutils): Upgrade to 0.2.4. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index b9c2e9e1a7..6381aec18c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4314,7 +4314,7 @@ libraries.") (define-public libparserutils (package (name "libparserutils") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) @@ -4322,7 +4322,7 @@ libraries.") name "-" version "-src.tar.gz")) (sha256 (base32 - "01gzlsabgl6x0icd8758d9jqs8rrf9574bdkjainn04w3fs3znf5")))) + "1n2794y2l0c8nv8z2pxwfnbn882987ifmxjv60zdxkhcndhswarj")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) From b06bf74b4139e6718926dfdb3aff3cdda0cbd793 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:00:11 -0500 Subject: [PATCH 051/170] hubbub: Upgrade to 0.3.5. * gnu/packages/web.scm (hubbub): Upgrade to 0.3.5. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6381aec18c..5fe149a75d 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4339,7 +4339,7 @@ C. It is developed as part of the NetSurf project.") (define-public hubbub (package (name "hubbub") - (version "0.3.4") + (version "0.3.5") (source (origin (method url-fetch) @@ -4347,7 +4347,7 @@ C. It is developed as part of the NetSurf project.") "lib" name "-" version "-src.tar.gz")) (sha256 (base32 - "1shi4hv8drn9zy8f2f6yhnz2dqnpg5jkybvqhzggfjx1q35fbxz3")) + "13yq1k96a7972x4r71i9bcsz9yiglj0yx7lj0ziq5r94w5my70ma")) (patches (search-patches "hubbub-sort-entities.patch")))) (build-system gnu-build-system) (native-inputs From 60e411fc94b06c11a32a3b4209e9ea5244d63aee Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:00:39 -0500 Subject: [PATCH 052/170] libwapcaplet: Upgrade to 0.4.1. * gnu/packages/web.scm (libwapcaplet): Upgrade to 0.4.1. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 5fe149a75d..9d3c4439f7 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4453,7 +4453,7 @@ commenting.") (define-public libwapcaplet (package (name "libwapcaplet") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) @@ -4461,7 +4461,7 @@ commenting.") name "-" version "-src.tar.gz")) (sha256 (base32 - "15yr0pl6qa6biy36qkmd949ydbjzpqiaccpx3sprh4jknabsk1vv")))) + "134pljlm8kby1yy49826f0ixnpig8iqak6xpyl3aivagnsjnxzy8")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) From 2bb1752b7d74f638af6703fdb6d8f210dac75364 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:07:21 -0500 Subject: [PATCH 053/170] libcss: Upgrade to 0.8.0. * gnu/packages/web.scm (libcss): Upgrade to 0.8.0. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 9d3c4439f7..f8e77aa026 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4479,7 +4479,7 @@ developed as part of the Netsurf project.") (define-public libcss (package (name "libcss") - (version "0.7.0") + (version "0.8.0") (source (origin (method url-fetch) @@ -4487,7 +4487,7 @@ developed as part of the Netsurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "16mns3h8vj7iw8myvgnw58q84irvbjlvfkxh8mdw6fbkjvaa7cnz")))) + "0pxdqbxn6brj03nv57bsvac5n70k4scn3r5msaw0jgn2k06lk81m")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) From f8311c0feed593a5777303ee2d740c87b4a3970f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:08:07 -0500 Subject: [PATCH 054/170] libdom: Upgrade to 0.3.3. * gnu/packages/web.scm (libdom): Upgrade to 0.3.3. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f8e77aa026..05f327b166 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4507,7 +4507,7 @@ written in C. It is developed as part of the NetSurf project.") (define-public libdom (package (name "libdom") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) @@ -4515,7 +4515,7 @@ written in C. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "1zb7x2qwm6p11lph6j2vcyp4a0a8i1klkqilnk5vb4qmlzzpcv7i")))) + "1919757mdl3gii2pl6kzm8b1cal0h06r5nqd2y0kny6hc5yrhsp0")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) From bb38628fab4448254350664c167351f2722b4d52 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:10:28 -0500 Subject: [PATCH 055/170] libsvgtiny: Upgrade to 0.1.7. * gnu/packages/web.scm (libsvgtiny): Upgrade to 0.1.7. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 05f327b166..68ffd2a6a3 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4543,7 +4543,7 @@ developed as part of the NetSurf project.") (define-public libsvgtiny (package (name "libsvgtiny") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) @@ -4551,7 +4551,7 @@ developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "12ppy2r7m21ykrjgbf067cgi6dn48fkj7i4b7m64xl4dc13y0ah6")))) + "10bpkmvfpydj74im3r6kqm9vnvgib6afy0alx71q5n0w5yawy39c")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) From ef2198ac5bbfcc6c80e765e7c46f308a714522da Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:10:52 -0500 Subject: [PATCH 056/170] libnsbmp: Upgrade to 0.1.5. * gnu/packages/web.scm (libnsbmp): Upgrade to 0.1.5. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 68ffd2a6a3..4142551d60 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4574,7 +4574,7 @@ project.") (define-public libnsbmp (package (name "libnsbmp") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) @@ -4582,7 +4582,7 @@ project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "0y4a0gn4l6lq4z9183wix0mdsgalqyw24k19k8jr8sz4h3lb7jrb")))) + "0lib2m07d1i0k80m4blkwnj0g7rha4jbm5vrgd0wwbkyfa0hvk35")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) From 1dc02e727b7a1c0a41c0bf33a6e582f64060af9d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:11:18 -0500 Subject: [PATCH 057/170] libnsgif: Upgrade to 0.2.1. * gnu/packages/web.scm (libnsgif): Upgrade to 0.2.1. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 4142551d60..8ffdce79ff 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4597,7 +4597,7 @@ written in C. It is developed as part of the NetSurf project.") (define-public libnsgif (package (name "libnsgif") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) @@ -4605,7 +4605,7 @@ written in C. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "1phwf0m24m6nd7096fw14hanl4f8gr9bcppi834lbik04agxk38a")))) + "0jwshypgmx16xlsbx3d8njk8a5khazlplca5mxd3rdbhrlsabbly")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) From 3e1035d738ba6d65121f8094df8f0ca5a690c492 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:11:39 -0500 Subject: [PATCH 058/170] libnsutils: Upgrade to 0.0.5. * gnu/packages/web.scm (libnsutils): Upgrade to 0.0.5. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 8ffdce79ff..938bcce6c2 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4620,7 +4620,7 @@ C. It is developed as part of the NetSurf project.") (define-public libnsutils (package (name "libnsutils") - (version "0.0.3") + (version "0.0.5") (source (origin (method url-fetch) @@ -4628,7 +4628,7 @@ C. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "0wrxn4rcn7xrfnkmf60jafqn3n1kicgsdpnakd821q56bmqvzf0m")))) + "09w1rixps1iiq6wirjwxmd6h87llvjzvw565rahjb3rlyhcplfqf")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) From 1be70775728f1809201f287d0b3de1da31b046c6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:12:04 -0500 Subject: [PATCH 059/170] libnspsl: Upgrade to 0.1.3. * gnu/packages/web.scm (libnspsl): Upgrade to 0.1.3. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 938bcce6c2..44ebf6d722 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4643,7 +4643,7 @@ developed as part of the NetSurf project.") (define-public libnspsl (package (name "libnspsl") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) @@ -4651,7 +4651,7 @@ developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "0wim5hwzwrfrvvap096whf79m2mnfivbqhqlh03ci9d89xb1w0y9")))) + "1rsk1k2a495axxgv8060s0p1phhhcxrv75252kllbkvr8id5kqld")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) From c558113fb9ac60b8ec9ffca6f8059518514c548c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:12:22 -0500 Subject: [PATCH 060/170] nsgenbind: Upgrade to 0.6. * gnu/packages/web.scm (nsgenbind): Upgrade to 0.6. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 44ebf6d722..6fc917b6be 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4666,7 +4666,7 @@ Public Suffix List. It is developed as part of the NetSurf project.") (define-public nsgenbind (package (name "nsgenbind") - (version "0.5") + (version "0.6") (source (origin (method url-fetch) @@ -4674,7 +4674,7 @@ Public Suffix List. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "1iwjpdaan0njlhb9ir6a2q5vpxfmkqfldkvnqszqdz50b44vd1jv")))) + "0v1cb1rz5fix9ql31nzmglj7sybya6d12b2fkaypm1avcca59xwj")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) From f9e140a243b6d6b5d28bd0813b69604562a39653 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 29 Aug 2018 14:12:58 -0500 Subject: [PATCH 061/170] netsurf: Upgrade to 3.8. * gnu/packages/patches/netsurf-message-timestamp.patch: New patch. * gnu/packages/patches/netsurf-system-utf8proc.patch: Adjust to new source. * gnu/packages/web.scm (netsurf): Upgrade to 3.8. [source]: Add the new patch. --- .../patches/netsurf-message-timestamp.patch | 11 ++++++++ .../patches/netsurf-system-utf8proc.patch | 25 ++++++++++--------- gnu/packages/web.scm | 7 +++--- 3 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 gnu/packages/patches/netsurf-message-timestamp.patch diff --git a/gnu/packages/patches/netsurf-message-timestamp.patch b/gnu/packages/patches/netsurf-message-timestamp.patch new file mode 100644 index 0000000000..8df9dbf8f7 --- /dev/null +++ b/gnu/packages/patches/netsurf-message-timestamp.patch @@ -0,0 +1,11 @@ +--- netsurf-3.8/utils/split-messages.pl.orig 1969-12-31 18:00:00.000000000 -0600 ++++ netsurf-3.8/utils/split-messages.pl 2018-08-30 00:18:58.158367530 -0500 +@@ -238,7 +238,7 @@ + + if( $opt{gzip} ) + { +- $ofh = new IO::Compress::Gzip( $ofh, AutoClose => 1, -Level => 9 ); ++ $ofh = new IO::Compress::Gzip( $ofh, AutoClose => 1, -Level => 9, Time => 0 ); + } + + return $ofh; diff --git a/gnu/packages/patches/netsurf-system-utf8proc.patch b/gnu/packages/patches/netsurf-system-utf8proc.patch index 654d45d017..a2ee52ca05 100644 --- a/gnu/packages/patches/netsurf-system-utf8proc.patch +++ b/gnu/packages/patches/netsurf-system-utf8proc.patch @@ -17,23 +17,23 @@ Work around upstream's lack of a pkg-config file and update API. # Optional libraries with pkgconfig ---- netsurf-3.6/utils/idna.c -+++ netsurf-3.6/utils/idna.c -@@ -26,7 +26,7 @@ - #include +--- netsurf-3.8/utils/idna.c ++++ netsurf-3.8/utils/idna.c +@@ -27,7 +27,7 @@ #include #include + #include -#include +#include - #include "utils/errors.h" - #include "utils/idna.h" ---- netsurf-3.7/test/Makefile 2017-10-15 08:39:24.000000000 -0500 -+++ netsurf-3.7/test/Makefile 2017-11-05 11:14:46.219013218 -0600 -@@ -139,14 +139,14 @@ - -D_XOPEN_SOURCE=600 \ + #include "netsurf/inttypes.h" + +--- netsurf-3.8/test/Makefile ++++ netsurf-3.8/test/Makefile +@@ -142,14 +142,15 @@ -Itest -Iinclude -Icontent/handlers -Ifrontends -I. -I.. \ -Dnsgtk \ + $(SAN_FLAGS) \ - $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc) \ + $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils) \ $(LIB_CFLAGS) @@ -43,7 +43,8 @@ Work around upstream's lack of a pkg-config file and update API. TESTLDFLAGS := -L$(TESTROOT) \ - $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc) -lz \ -+ $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils) -lz -lutf8proc \ ++ $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils) \ ++ $(LDFLAGS) \ + $(SAN_FLAGS) \ $(LIB_LDFLAGS)\ $(COV_LDFLAGS) - diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6fc917b6be..0d27fa0054 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4694,7 +4694,7 @@ w3c webidl files and a binding configuration file.") (define-public netsurf (package (name "netsurf") - (version "3.7") + (version "3.8") (source (origin (method url-fetch) @@ -4702,10 +4702,11 @@ w3c webidl files and a binding configuration file.") "releases/source/netsurf-" version "-src.tar.gz")) (sha256 (base32 - "05kynfzzwd4fc03vbqdjpghh5xnk2yrh43w7vikak89vla30mhpg")) + "0hjm1h4m1i913y4mhkl7yqdifn8k70fwi58zdh6faypawzryc3m0")) (patches (search-patches "netsurf-system-utf8proc.patch" "netsurf-y2038-tests.patch" - "netsurf-longer-test-timeout.patch")))) + "netsurf-longer-test-timeout.patch" + "netsurf-message-timestamp.patch")))) (build-system glib-or-gtk-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) From b5d1286f2d796ce6dfcf45b9eeb0cf5630c191a9 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Mon, 27 Aug 2018 14:13:25 +0300 Subject: [PATCH 062/170] gnu: net-snmp: Specify '--with-openssl' configuration flag. * gnu/packages/networking.scm (net-snmp)[arguments]: Add '--with-openssl' flag. --- gnu/packages/networking.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 943bcecb86..61c0ad7fba 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2013,7 +2013,9 @@ Features: (list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib") - "--with-logfile=/var/log/snmpd.log") + "--with-logfile=/var/log/snmpd.log" + (string-append "--with-openssl=" + (assoc-ref %build-inputs "openssl"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-tests From a3ece51a29241c7060323cbbfc602c83200ffe4a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 20 Aug 2018 17:38:56 +0200 Subject: [PATCH 063/170] import: stackage: Support recursive importing. * guix/import/hackage.scm (hackage-name->package-name): Export procedure. * guix/import/stackage.scm (lts-info-packages-lts-info): Fix match expression. (stackage-recursive-import): New procedure. (stackage->guix-package): Memoize results. * guix/scripts/import/stackage.scm (show-help, %options, guix-import-stackage): Support recursive importing. * doc/guix.texi (Invoking guix import): Document option. --- doc/guix.texi | 7 ++++- guix/import/hackage.scm | 1 + guix/import/stackage.scm | 45 +++++++++++++++++++------------ guix/scripts/import/stackage.scm | 46 ++++++++++++++++++++++++-------- 4 files changed, 70 insertions(+), 29 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 97631d52e4..1e17c294b6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6699,9 +6699,14 @@ Specific command-line options are: @itemx -t Do not include dependencies required only by the test suites. @item --lts-version=@var{version} -@itemx -r @var{version} +@itemx -l @var{version} @var{version} is the desired LTS release version. If omitted the latest release is used. +@item --recursive +@itemx -r +Traverse the dependency graph of the given upstream package recursively +and generate package expressions for all those packages that are not yet +in Guix. @end table The command below imports metadata for the @code{HTTP} Haskell package diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index 3c00f680bf..54301de2e8 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -44,6 +44,7 @@ %hackage-updater guix-package->hackage-name + hackage-name->package-name hackage-fetch hackage-source-url hackage-cabal-url diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm index ec93fbced6..afd5d997ae 100644 --- a/guix/import/stackage.scm +++ b/guix/import/stackage.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Federico Beffa +;;; Copyright © 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,10 +26,12 @@ #:use-module (srfi srfi-35) #:use-module (guix import json) #:use-module (guix import hackage) + #:use-module (guix import utils) #:use-module (guix memoization) #:use-module (guix packages) #:use-module (guix upstream) #:export (stackage->guix-package + stackage-recursive-import %stackage-updater)) @@ -45,9 +48,9 @@ (_ #f))) (define (lts-info-packages lts-info) - "Retruns the alist of packages contained in LTS-INFO." + "Returns the alist of packages contained in LTS-INFO." (match lts-info - ((_ ("packages" pkg ...)) pkg) + ((("packages" pkg ...) . _) pkg) (_ '()))) (define (leave-with-message fmt . args) @@ -85,25 +88,33 @@ (define (hackage-name-version name version) (and version (string-append name "@" version))) -(define* (stackage->guix-package package-name ; upstream name - #:key - (include-test-dependencies? #t) - (lts-version "") - (packages-info - (lts-info-packages - (stackage-lts-info-fetch lts-version)))) - "Fetch Cabal file for PACKAGE-NAME from hackage.haskell.org. The retrieved +(define stackage->guix-package + (memoize + (lambda* (package-name ; upstream name + #:key + (include-test-dependencies? #t) + (lts-version "") + (packages-info + (lts-info-packages + (stackage-lts-info-fetch lts-version)))) + "Fetch Cabal file for PACKAGE-NAME from hackage.haskell.org. The retrieved vesion corresponds to the version of PACKAGE-NAME specified in the LTS-VERSION release at stackage.org. Return the `package' S-expression corresponding to that package, or #f on failure. PACKAGES-INFO is the alist with the packages included in the Stackage LTS release." - (let* ((version (lts-package-version packages-info package-name)) - (name-version (hackage-name-version package-name version))) - (if name-version - (hackage->guix-package name-version - #:include-test-dependencies? - include-test-dependencies?) - (leave-with-message "~a: Stackage package not found" package-name)))) + (let* ((version (lts-package-version packages-info package-name)) + (name-version (hackage-name-version package-name version))) + (if name-version + (hackage->guix-package name-version + #:include-test-dependencies? + include-test-dependencies?) + (leave-with-message "~a: Stackage package not found" package-name)))))) + +(define (stackage-recursive-import package-name . args) + (recursive-import package-name #f + #:repo->guix-package (lambda (name repo) + (apply stackage->guix-package (cons name args))) + #:guix-name hackage-name->package-name)) ;;; diff --git a/guix/scripts/import/stackage.scm b/guix/scripts/import/stackage.scm index e6676e93e8..b4b12581bf 100644 --- a/guix/scripts/import/stackage.scm +++ b/guix/scripts/import/stackage.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Federico Beffa +;;; Copyright © 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-37) + #:use-module (srfi srfi-41) #:use-module (ice-9 match) #:use-module (ice-9 format) #:export (guix-import-stackage)) @@ -43,11 +45,13 @@ (display (G_ "Usage: guix import stackage PACKAGE-NAME Import and convert the LTS Stackage package for PACKAGE-NAME.\n")) (display (G_ " - -r VERSION, --lts-version=VERSION + -l VERSION, --lts-version=VERSION specify the LTS version to use")) (display (G_ " -h, --help display this help and exit")) (display (G_ " + -r, --recursive import packages recursively")) + (display (G_ " -t, --no-test-dependencies don't include test-only dependencies")) (display (G_ " -V, --version display version information and exit")) @@ -68,11 +72,14 @@ Import and convert the LTS Stackage package for PACKAGE-NAME.\n")) (alist-cons 'include-test-dependencies? #f (alist-delete 'include-test-dependencies? result)))) - (option '(#\r "lts-version") #t #f + (option '(#\l "lts-version") #t #f (lambda (opt name arg result) (alist-cons 'lts-version arg (alist-delete 'lts-version result)))) + (option '(#\r "recursive") #f #f + (lambda (opt name arg result) + (alist-cons 'recursive #t result))) %standard-import-options)) @@ -90,6 +97,27 @@ Import and convert the LTS Stackage package for PACKAGE-NAME.\n")) (alist-cons 'argument arg result)) %default-options)) + (define (run-importer package-name opts error-fn) + (let* ((arguments (list + package-name + #:include-test-dependencies? + (assoc-ref opts 'include-test-dependencies?) + #:lts-version (assoc-ref opts 'lts-version))) + (sexp (if (assoc-ref opts 'recursive) + ;; Recursive import + (map (match-lambda + ((and ('package ('name name) . rest) pkg) + `(define-public ,(string->symbol name) + ,pkg)) + (_ #f)) + (reverse + (stream->list + (apply stackage-recursive-import arguments)))) + ;; Single import + (apply stackage->guix-package arguments)))) + (unless sexp (error-fn)) + sexp)) + (let* ((opts (parse-options)) (args (filter-map (match-lambda (('argument . value) @@ -99,15 +127,11 @@ Import and convert the LTS Stackage package for PACKAGE-NAME.\n")) (match args ((package-name) (with-error-handling - (let ((sexp (stackage->guix-package - package-name - #:include-test-dependencies? - (assoc-ref opts 'include-test-dependencies?) - #:lts-version (assoc-ref opts 'lts-version)))) - (unless sexp - (leave (G_ "failed to download cabal file for package '~a'~%") - package-name)) - sexp))) + (run-importer package-name opts + (lambda () + (leave (G_ "failed to download cabal file \ +for package '~a'~%") + package-name))))) (() (leave (G_ "too few arguments~%"))) ((many ...) From e37f889404b9055a50ea1b47259ce4acae23167d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 30 Aug 2018 15:02:10 +0200 Subject: [PATCH 064/170] import: pypi: Also guess dependencies from *.egg-info/requires.txt. * guix/import/pypi.scm (guess-requirements): Extract "requires.txt" from the egg-info directory in addition to "requirements.txt"; strip off version constraints; use call-with-temporary-directory. --- guix/import/pypi.scm | 54 +++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 25560bac46..51c2d5264a 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Cyril Roelandt ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,7 +37,8 @@ #:use-module (guix utils) #:use-module ((guix build utils) #:select ((package-name->name+version - . hyphen-package-name->name+version))) + . hyphen-package-name->name+version) + find-files)) #:use-module (guix import utils) #:use-module ((guix download) #:prefix download:) #:use-module (guix import json) @@ -114,9 +116,9 @@ package definition." `((propagated-inputs (,'quasiquote ,package-inputs)))))) (define (guess-requirements source-url wheel-url tarball) - "Given SOURCE-URL, WHEEL-URL and a TARBALL of the package, return a list of -the required packages specified in the requirements.txt file. TARBALL will be -extracted in the current directory, and will be deleted." + "Given SOURCE-URL, WHEEL-URL and a TARBALL of the package, return a list +of the required packages specified in the requirements.txt file. TARBALL will +be extracted in a temporary directory." (define (tarball-directory url) ;; Given the URL of the package's tarball, return the name of the directory @@ -140,8 +142,8 @@ cannot determine package dependencies")) ;; file, remove everything other than the actual name of the required ;; package, and return it. (string-take s - (or (string-index s #\space) - (string-length s)))) + (or (string-index s (lambda (chr) (member chr '(#\space #\> #\= #\<)))) + (string-length s)))) (define (comment? line) ;; Return #t if the given LINE is a comment, #f otherwise. @@ -197,31 +199,37 @@ cannot determine package dependencies")) (read-wheel-metadata temp)) #f)))) - (define (guess-requirements-from-source) ;; Return the package's requirements by guessing them from the source. (let ((dirname (tarball-directory source-url))) (if (string? dirname) - (let* ((req-file (string-append dirname "/requirements.txt")) - (exit-code (system* "tar" "xf" tarball req-file))) - ;; TODO: support more formats. - (if (zero? exit-code) - (dynamic-wind - (const #t) - (lambda () - (read-requirements req-file)) - (lambda () - (delete-file req-file) - (rmdir dirname))) - (begin - (warning (G_ "'tar xf' failed with exit code ~a\n") - exit-code) - '()))) + (call-with-temporary-directory + (lambda (dir) + (let* ((pypi-name (string-take dirname (string-rindex dirname #\-))) + (req-files (list (string-append dirname "/requirements.txt") + (string-append dirname "/" pypi-name ".egg-info" + "/requires.txt"))) + (exit-codes (map (lambda (file-name) + (parameterize ((current-error-port (%make-void-port "rw+")) + (current-output-port (%make-void-port "rw+"))) + (system* "tar" "xf" tarball "-C" dir file-name))) + req-files))) + ;; Only one of these files needs to exist. + (if (any zero? exit-codes) + (match (find-files dir) + ((file . _) + (read-requirements file)) + (() + (warning (G_ "No requirements file found.\n")))) + (begin + (warning (G_ "Failed to extract requirements files\n")) + '()))))) '()))) ;; First, try to compute the requirements using the wheel, since that is the ;; most reliable option. If a wheel is not provided for this package, try - ;; getting them by reading the "requirements.txt" file from the source. Note + ;; getting them by reading either the "requirements.txt" file or the + ;; "requires.txt" from the egg-info directory from the source tarball. Note ;; that "requirements.txt" is not mandatory, so this is likely to fail. (or (guess-requirements-from-wheel) (guess-requirements-from-source))) From ac906cb7bb2ec77821ddec291db4857cc812599d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 30 Aug 2018 15:12:07 +0200 Subject: [PATCH 065/170] import: pypi: Support recursive importing. * guix/import/pypi.scm (guess-requirements): Use upstream names. (compute-inputs): Return the upstream dependency names as an additional value. (make-pypi-sexp): Likewise. (pypi->guix-package): Memoize it. (pypi-recursive-import): New procedure. * guix/scripts/import/pypi.scm (show-help, %options): Accept "recursive" option. (guix-import-pypi): Use pypi-recursive-import. * doc/guix.texi (Invoking guix import): Document it. --- doc/guix.texi | 8 +++ guix/import/pypi.scm | 119 ++++++++++++++++++++--------------- guix/scripts/import/pypi.scm | 28 +++++++-- 3 files changed, 99 insertions(+), 56 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1e17c294b6..8611059791 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6442,6 +6442,14 @@ package: guix import pypi itsdangerous @end example +@table @code +@item --recursive +@itemx -r +Traverse the dependency graph of the given upstream package recursively +and generate package expressions for all those packages that are not yet +in Guix. +@end table + @item gem @cindex gem Import metadata from @uref{https://rubygems.org/, diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 51c2d5264a..87b047bdac 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -25,6 +25,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 pretty-print) #:use-module (ice-9 regex) + #:use-module (ice-9 receive) #:use-module ((ice-9 rdelim) #:select (read-line)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) @@ -47,6 +48,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system python) #:export (guix-package->pypi-name + pypi-recursive-import pypi->guix-package %pypi-updater)) @@ -162,7 +164,7 @@ cannot determine package dependencies")) ((or (string-null? line) (comment? line)) (loop result)) (else - (loop (cons (python->package-name (clean-requirement line)) + (loop (cons (clean-requirement line) result)))))))))) (define (read-wheel-metadata wheel-archive) @@ -182,9 +184,7 @@ cannot determine package dependencies")) (hash-ref (list-ref run_requires 0) "requires") '()))) - (map (lambda (r) - (python->package-name (clean-requirement r))) - requirements))))) + (map clean-requirement requirements))))) (lambda () (delete-file json-file) (rmdir dirname)))))) @@ -237,16 +237,21 @@ cannot determine package dependencies")) (define (compute-inputs source-url wheel-url tarball) "Given the SOURCE-URL of an already downloaded TARBALL, return a list of -name/variable pairs describing the required inputs of this package." - (sort - (map (lambda (input) - (list input (list 'unquote (string->symbol input)))) - (remove (cut string=? "python-argparse" <>) - (guess-requirements source-url wheel-url tarball))) - (lambda args - (match args - (((a _ ...) (b _ ...)) - (string-ci) + (guess-requirements source-url wheel-url tarball)))) + (values (sort + (map (lambda (input) + (let ((guix-name (python->package-name input))) + (list guix-name (list 'unquote (string->symbol guix-name))))) + dependencies) + (lambda args + (match args + (((a _ ...) (b _ ...)) + (string-cipackage-name name)) - (version ,version) - (source (origin - (method url-fetch) + (receive (input-package-names upstream-dependency-names) + (compute-inputs source-url wheel-url temp) + (values + `(package + (name ,(python->package-name name)) + (version ,version) + (source (origin + (method url-fetch) - ;; Sometimes 'pypi-uri' doesn't quite work due to mixed - ;; cases in NAME, for instance, as is the case with - ;; "uwsgi". In that case, fall back to a full URL. - (uri (pypi-uri ,(string-downcase name) version)) - (sha256 - (base32 - ,(guix-hash-url temp))))) - (build-system python-build-system) - ,@(maybe-inputs (compute-inputs source-url wheel-url temp)) - (home-page ,home-page) - (synopsis ,synopsis) - (description ,description) - (license ,(license->symbol license))))))) + ;; Sometimes 'pypi-uri' doesn't quite work due to mixed + ;; cases in NAME, for instance, as is the case with + ;; "uwsgi". In that case, fall back to a full URL. + (uri (pypi-uri ,(string-downcase name) version)) + (sha256 + (base32 + ,(guix-hash-url temp))))) + (build-system python-build-system) + ,@(maybe-inputs input-package-names) + (home-page ,home-page) + (synopsis ,synopsis) + (description ,description) + (license ,(license->symbol license))) + upstream-dependency-names)))))) -(define (pypi->guix-package package-name) - "Fetch the metadata for PACKAGE-NAME from pypi.org, and return the +(define pypi->guix-package + (memoize + (lambda* (package-name) + "Fetch the metadata for PACKAGE-NAME from pypi.org, and return the `package' s-expression corresponding to that package, or #f on failure." - (let ((package (pypi-fetch package-name))) - (and package - (guard (c ((missing-source-error? c) - (let ((package (missing-source-error-package c))) - (leave (G_ "no source release for pypi package ~a ~a~%") - (assoc-ref* package "info" "name") - (assoc-ref* package "info" "version"))))) - (let ((name (assoc-ref* package "info" "name")) - (version (assoc-ref* package "info" "version")) - (release (assoc-ref (latest-source-release package) "url")) - (wheel (assoc-ref (latest-wheel-release package) "url")) - (synopsis (assoc-ref* package "info" "summary")) - (description (assoc-ref* package "info" "summary")) - (home-page (assoc-ref* package "info" "home_page")) - (license (string->license (assoc-ref* package "info" "license")))) - (make-pypi-sexp name version release wheel home-page synopsis - description license)))))) + (let ((package (pypi-fetch package-name))) + (and package + (guard (c ((missing-source-error? c) + (let ((package (missing-source-error-package c))) + (leave (G_ "no source release for pypi package ~a ~a~%") + (assoc-ref* package "info" "name") + (assoc-ref* package "info" "version"))))) + (let ((name (assoc-ref* package "info" "name")) + (version (assoc-ref* package "info" "version")) + (release (assoc-ref (latest-source-release package) "url")) + (wheel (assoc-ref (latest-wheel-release package) "url")) + (synopsis (assoc-ref* package "info" "summary")) + (description (assoc-ref* package "info" "summary")) + (home-page (assoc-ref* package "info" "home_page")) + (license (string->license (assoc-ref* package "info" "license")))) + (make-pypi-sexp name version release wheel home-page synopsis + description license)))))))) + +(define (pypi-recursive-import package-name) + (recursive-import package-name #f + #:repo->guix-package (lambda (name repo) + (pypi->guix-package name)) + #:guix-name python->package-name)) (define (string->license str) "Convert the string STR into a license object." diff --git a/guix/scripts/import/pypi.scm b/guix/scripts/import/pypi.scm index 59a925a3ca..7bd83818ba 100644 --- a/guix/scripts/import/pypi.scm +++ b/guix/scripts/import/pypi.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson +;;; Copyright © 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-37) + #:use-module (srfi srfi-41) #:use-module (ice-9 match) #:use-module (ice-9 format) #:export (guix-import-pypi)) @@ -43,6 +45,8 @@ Import and convert the PyPI package for PACKAGE-NAME.\n")) (display (G_ " -h, --help display this help and exit")) (display (G_ " + -r, --recursive import packages recursively")) + (display (G_ " -V, --version display version information and exit")) (newline) (show-bug-report-information)) @@ -56,6 +60,9 @@ Import and convert the PyPI package for PACKAGE-NAME.\n")) (option '(#\V "version") #f #f (lambda args (show-version-and-exit "guix import pypi"))) + (option '(#\r "recursive") #f #f + (lambda (opt name arg result) + (alist-cons 'recursive #t result))) %standard-import-options)) @@ -81,11 +88,22 @@ Import and convert the PyPI package for PACKAGE-NAME.\n")) (reverse opts)))) (match args ((package-name) - (let ((sexp (pypi->guix-package package-name))) - (unless sexp - (leave (G_ "failed to download meta-data for package '~a'~%") - package-name)) - sexp)) + (if (assoc-ref opts 'recursive) + ;; Recursive import + (map (match-lambda + ((and ('package ('name name) . rest) pkg) + `(define-public ,(string->symbol name) + ,pkg)) + (_ #f)) + (reverse + (stream->list + (pypi-recursive-import package-name)))) + ;; Single import + (let ((sexp (pypi->guix-package package-name))) + (unless sexp + (leave (G_ "failed to download meta-data for package '~a'~%") + package-name)) + sexp))) (() (leave (G_ "too few arguments~%"))) ((many ...) From 0f377aad75314df6c6296f4172801519315d81cd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 20 Aug 2018 17:43:30 +0200 Subject: [PATCH 066/170] Update NEWS. --- NEWS | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/NEWS b/NEWS index ae8a8cbca0..891eb9e57a 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ #+STARTUP: content hidestars Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +Copyright © 2016, 2017, 2018 Ricardo Wurmus Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -10,6 +11,16 @@ Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès Please send Guix bug reports to bug-guix@gnu.org. +* Changes since 0.15.0 + +** Package management + +*** ‘guix import pypi’ has a new ‘--recursive’ option +*** ‘guix import hackage’ has a new ‘--recursive’ option +*** ‘guix import stackage’ has a new ‘--recursive’ option +The short option for ‘--lts-version’ is now ‘-l’ (used to be ‘-r’). + + * Changes in 0.15.0 (since 0.14.0) ** Package management From 471884ed112e072b59ea4cf360b2827a684e700e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 29 Aug 2018 21:41:18 +0200 Subject: [PATCH 067/170] gnu: lilv: Propagate LV2. * gnu/packages/audio.scm (lilv)[propagated-inputs]: Add LV2. [inputs]: Remove. --- gnu/packages/audio.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 5468742c81..e731569ae1 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1749,11 +1749,10 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.") #t))))) ;; Required by lilv-0.pc. (propagated-inputs - `(("serd" ,serd) + `(("lv2" ,lv2) + ("serd" ,serd) ("sord" ,sord) ("sratom" ,sratom))) - (inputs - `(("lv2" ,lv2))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://drobilla.net/software/lilv/") From 99088aa7514d462374b8deac8d78015cf8d78c12 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 30 Aug 2018 17:53:16 +0200 Subject: [PATCH 068/170] gnu: p11-kit: Update to 0.23.14. * gnu/packages/tls.scm (p11-kit): Update to 0.23.14. --- gnu/packages/tls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 28d2ea5fd5..e42b6dfc6c 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -120,7 +120,7 @@ in intelligent transportation networks.") (define-public p11-kit (package (name "p11-kit") - (version "0.23.13") + (version "0.23.14") (source (origin (method url-fetch) @@ -128,7 +128,7 @@ in intelligent transportation networks.") "download/" version "/p11-kit-" version ".tar.gz")) (sha256 (base32 - "1w92k6p4bhg8p24igfb6ifc6vixr2zdjh3x6gjhsphy778z40rda")))) + "0w0dkq9388grbbn4bv2p55vy1j51f7nd9hzlc9gz4fbm4dnzmf8w")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 652940d060fba5df8e058ff6073a270758d43448 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 30 Aug 2018 17:56:09 +0200 Subject: [PATCH 069/170] gnu: ldb: Update to 1.3.6. * gnu/packages/samba.scm (ldb): Update to 1.3.6. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 16b9470e7c..3316e665f0 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -341,14 +341,14 @@ many event types, including timers, signals, and the classic file descriptor eve (define-public ldb (package (name "ldb") - (version "1.3.3") + (version "1.3.6") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ldb/ldb-" version ".tar.gz")) (sha256 (base32 - "14gsrm7dvyjpbpnc60z75j6fz2p187abm2h353lq95kx2bv70c1b")) + "16lkz3gyvsm9als1wyimsl573hclr72xy6454mshwjanncs33lji")) (modules '((guix build utils))) (snippet '(begin From d3c1075c144c14d884290eb3012af946a5935ca1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 30 Aug 2018 17:57:37 +0200 Subject: [PATCH 070/170] gnu: samba: Update to 4.8.5. * gnu/packages/samba.scm (samba): Update to 4.8.5. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 3316e665f0..345655d584 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -150,14 +150,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.8.4") + (version "4.8.5") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "01jlk8xlawfp3yyhi5migcd1fy7dkavbh56in444m281kqa4s17m")))) + "0mailvhjsma19k6b6zjl02z9n2hbbyfybvicjfw2hh9d4sqyd3p5")))) (build-system gnu-build-system) (arguments `(#:phases From e50c7278782a02a01ca3eb35670d75c8cb4f7fd9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 30 Aug 2018 18:01:54 +0200 Subject: [PATCH 071/170] gnu: rng-tools: Update to 6.4. * gnu/packages/linux.scm (rng-tools): Update to 6.4. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 49fc84c17b..63b3ece8e1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3625,7 +3625,7 @@ The following service daemons are also provided: (define-public rng-tools (package (name "rng-tools") - (version "6.3.1") + (version "6.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/nhorman/rng-tools/" @@ -3633,7 +3633,7 @@ The following service daemons are also provided: (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "04p7wvcm389s21y9mq8ss6z2szxi4nfrfixzwqjkq2qciz705i4s")))) + "005krksl8iz37l5p1nx8apl1yg7q78yrsb6inby31d2g5ck8nnwa")))) (build-system gnu-build-system) (arguments `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB. From 4c13cb36f8a4dafcc3647441e301ffdabdae9166 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 30 Aug 2018 18:20:16 +0200 Subject: [PATCH 072/170] gnu: GnuPG: Update to 2.2.10. * gnu/packages/gnupg.scm (gnupg): Update to 2.2.10. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index d5fb12650f..067a2338d4 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -247,14 +247,14 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.9") + (version "2.2.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) (sha256 (base32 - "0r11mx8nkh7ysrnshs560amha5csx8zcaggb5kxcksx1zymyly32")))) + "05f9804g72pffdxgvxjmjzkfcpjg1x221g9rwcr8fi51hrxd77br")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 883832b4804cde76239ceef1cdc7f9ed808435f3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 30 Aug 2018 18:41:27 +0200 Subject: [PATCH 073/170] gnu: appstream-glib: Update to 0.7.12. * gnu/packages/glib.scm (appstream-glib): Update to 0.7.12. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 33b77555b5..14d2a8b315 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -787,7 +787,7 @@ programming langauage. It also contains the utility (define-public appstream-glib (package (name "appstream-glib") - (version "0.7.10") + (version "0.7.12") (source (origin (method url-fetch) (uri (string-append "https://people.freedesktop.org/~hughsient/" @@ -795,7 +795,7 @@ programming langauage. It also contains the utility "appstream-glib-" version ".tar.xz")) (sha256 (base32 - "08bs0hnkvdzqv9pakv1y4c4ph77rmzjq22g760w20sv7vs63nia3")))) + "1jcb2bggcic3iczr2hn8zp8a3c2hl1xjij0aawr7kwqmzh9b3jms")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) From 7693f678d1de222e47af6b34ce62c41ea69934c8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 30 Aug 2018 18:57:10 +0200 Subject: [PATCH 074/170] gnu: pango: Replace with 1.42.4. Fixes . * gnu/packages/gtk.scm (pango)[replacement]: New field. (pango-1.42.4): New public variable. --- gnu/packages/gtk.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 8b11e3fb1f..6c43a3ab56 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -218,6 +218,7 @@ affine transformation (scale, rotation, shear, etc.).") (package (name "pango") (version "1.42.0") + (replacement pango-1.42.4) (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/pango/" @@ -253,6 +254,19 @@ used throughout the world.") (license license:lgpl2.0+) (home-page "https://developer.gnome.org/pango/"))) +(define-public pango-1.42.4 + (package + (inherit pango) + (version "1.42.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pango/" + (version-major+minor version) "/" + "pango-" version ".tar.xz")) + (sha256 + (base32 + "17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx")))))) + (define-public pangox-compat (package (name "pangox-compat") From aadd1d241cc9891a857dda9a5cf8389673b3c76c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 30 Aug 2018 16:53:24 +0200 Subject: [PATCH 075/170] gnu: Add ddcutil. * gnu/packages/hardware.scm: New file. (ddcutil): New public variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Add the new file. --- gnu/local.mk | 1 + gnu/packages/hardware.scm | 75 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 gnu/packages/hardware.scm diff --git a/gnu/local.mk b/gnu/local.mk index 7b980b2f20..3b92a7ac0e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -213,6 +213,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/guile-wm.scm \ %D%/packages/gv.scm \ %D%/packages/gxmessage.scm \ + %D%/packages/hardware.scm \ %D%/packages/haskell.scm \ %D%/packages/haskell-check.scm \ %D%/packages/haskell-crypto.scm \ diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm new file mode 100644 index 0000000000..d3a99af358 --- /dev/null +++ b/gnu/packages/hardware.scm @@ -0,0 +1,75 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; +;;; 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 packages hardware) + #:use-module (gnu packages compression) + #:use-module (gnu packages glib) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +;; This is a module for packages related to physical hardware that don't (yet) +;; have a more specific home like gps.scm, security-token.scm, &c. + +(define-public ddcutil + (package + (name "ddcutil") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.ddcutil.com/tarballs/" + name "-" version ".tar.gz")) + (sha256 + (base32 "1b4bm3zhk5vnad6fxf0mn8nrlj3fngifl7nzxgxw0n56hlv7ccv0")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("eudev" ,eudev) + ("glib" ,glib) + ("libdrm" ,libdrm) ; enhanced diagnostics + ("libusb" ,libusb) ; support USB monitors + ("libx11" ,libx11) ; enhanced diagnostics + ("libxrandr" ,libxrandr) + ("zlib" ,zlib))) + (home-page "https://www.ddcutil.com/") + (synopsis "Control external monitor settings") + (description + "ddcutil can query and modify most external monitors' settings, such as +brightness, colour levels, and input sources. Generally speaking, any setting +that can be changed by pressing buttons on the monitor can be modified by +ddcutil. + +ddcutil communicates directly with monitors implementing the Monitor Control +Command Set (@dfn{MCCS}). It usually does so through the the Display Data +Channel Command Interface (@dfn{DDC/CI}) protocol on the I2C bus, but can also +communicate over USB as per the USB Monitor Control Class Specification. + +One particular use case is in colour profile management. Monitor calibration +is relative to the monitor colour settings currently in effect, e.g. red gain. +ddcutil allows colour-related settings to be saved at the time a monitor is +calibrated, and restored when the calibration is applied.") + (license (list license:bsd-3 ; FindDDCUtil.cmake + license:gpl2+)))) ; everything else From 6e8c75b88435550906e251dd4a9c2eb732f803d4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 30 Aug 2018 17:50:48 +0200 Subject: [PATCH 076/170] gnu: Add msr-tools. * gnu/packages/hardware.scm (msr-tools): New public variable. --- gnu/packages/hardware.scm | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index d3a99af358..f77336e504 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -73,3 +73,52 @@ ddcutil allows colour-related settings to be saved at the time a monitor is calibrated, and restored when the calibration is applied.") (license (list license:bsd-3 ; FindDDCUtil.cmake license:gpl2+)))) ; everything else + +(define-public msr-tools + (package + (name "msr-tools") + (version "1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://01.org/sites/default/files/downloads/" + name "/" name "-" version ".zip")) + (sha256 + (base32 "07hxmddg0l31kjfmaq84ni142lbbvgq6391r8bd79wpm819pnigr")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "sbindir=" (assoc-ref %outputs "out") "/sbin")) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-before 'install 'create-output-directory + (lambda* (#:key outputs #:allow-other-keys) + ;; 'make install' assumes that sbindir exists. + (let* ((out (assoc-ref outputs "out")) + (sbin (string-append out "/sbin"))) + (mkdir-p sbin) + #t)))) + #:tests? #f)) ; no test suite + (native-inputs + `(("unzip" ,unzip))) + ;; These registers and the CPUID instruction only exist on (most) x86 chips. + (supported-systems (list "i686-linux" "x86_64-linux")) + (home-page "https://01.org/msr-tools/") + (synopsis "Read and write Model-Specific Registers (@dfn{MSR})") + (description + "The MSR Tools project provides console utilities to directly access the +Model-Specific Registers (@dfn{MSR}s) and CPU ID of Intel-compatible processors: + +@itemize +@item @command{cpuid}: show identification and feature information of any CPU +@item @command{rdmsr}: read MSRs from any CPU or all CPUs +@item @command{wrmsr}: write to MSRs on any CPU or all CPUs +@end itemize + +These tools can be used to query and modify certain low-level CPU parameters, +such as the Turbo Boost ratio and Thermal Design Power (@dfn{TDP}) limits. + +MSR addresses differ (greatly) between processors, and any such modification can +be dangerous and may void your CPU or system board's warranty.") + (license license:gpl2))) ; cpuid.c is gpl2, {rd,wr}msr.c are gpl2+ From 8294362688096145547464ceaa25edd5cc65d024 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 21 Mar 2018 00:26:15 +0100 Subject: [PATCH 077/170] gnu: Add pipewalker. * gnu/packages/games.scm (pipewalker): New public variable. --- gnu/packages/games.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 0142fc8ed2..3c5063f69b 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -793,6 +793,46 @@ role, and your gender.") (license:fsdg-compatible "https://nethack.org/common/license.html")))) +(define-public pipewalker + (package + (name "pipewalker") + (version "0.9.4") + (source + (origin + (method url-fetch) + (uri (string-append "http://downloads.sourceforge.net/pipewalker/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1x46wgk0s55562pd96cxagxkn6wpgglq779f9b64ff1k3xzp3myn")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--docdir=" (assoc-ref %outputs "out") + "/share/doc/" ,name "-" ,version)) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'patch-docdir + ;; Makefile.in ignores configure's ‘--docdir=...’ option. Fix that. + (lambda _ + (substitute* "Makefile" + (("(pkgdocdatadir = ).*" _ assignment) + (string-append assignment "$(docdir)\n"))) + #t))))) + (inputs + `(("libpng" ,libpng) + ("mesa" ,mesa) + ("sdl" ,sdl))) + (home-page "http://pipewalker.sourceforge.net/") + (synopsis "Logical tile puzzle") + (description + "PipeWalker is a simple puzzle game with many diffent themes: connect all +computers to one network server, bring water from a source to the taps, etc. +The underlying mechanism is always the same: you must turn each tile in the +grid in the right direction to combine all components into a single circuit. +Every puzzle has a complete solution, although there may be more than one.") + (license license:gpl3+))) + (define-public prboom-plus (package (name "prboom-plus") From d6d9ca1017e6fce811862409b79cdbf692f1fc8e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 03:51:38 +0200 Subject: [PATCH 078/170] gnu: Don't use unstable tarballs in (packages opencl). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/opencl.scm (opencl-clhpp, clinfo, beignet, pocl) [source]: Use GIT-FETCH and GIT-FILE-NAME. (pocl)[arguments]: Remove ‘remove-headers’ phase. (make-opencl-headers)[source]: Use GIT-FILE-NAME. --- gnu/packages/opencl.scm | 96 +++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 51 deletions(-) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index 42cedd1544..d32e696438 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Fis Trivial +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +58,7 @@ (uri (git-reference (url "https://github.com/KhronosGroup/OpenCL-Headers.git") (commit commit))) - (file-name (string-append name "-" commit)) + (file-name (git-file-name name version)) (sha256 (base32 "176ydpbyws5nr4av6hf8p41pkhc0rc4m4vrah9w6gp2fw2i32838")))) @@ -102,15 +103,15 @@ programming.") (package (name "opencl-clhpp") (version "2.0.10") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "0awg6yznbz3h285kmnd47fykx2qa34a07sr4x1657yn3jmi4a9zs")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/OpenCL-CLHPP.git") + (commit (string-append "v" version)))) + (sha256 + (base32 "0h5kpg5cl8wzfnqmv6i26aig2apv06ffm9p3rh35938n9r8rladm")) + (file-name (git-file-name name version)))) (native-inputs `(("python" ,python-wrapper))) (propagated-inputs @@ -124,7 +125,7 @@ programming.") (string-append "-DCMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "out") "/include"))) - ;; regression tests requires a lot more dependencies + ;; The regression tests require a lot more dependencies. #:tests? #f)) (build-system cmake-build-system) (home-page "http://github.khronos.org/OpenCL-CLHPP/") @@ -174,15 +175,15 @@ Loader as provided by this package.") (package (name "clinfo") (version "2.2.18.04.06") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Oblomov/clinfo/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0v7cy01irwdgns6lzaprkmm0502pp5a24zhhffydxz1sgfjj2w7p")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Oblomov/clinfo.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0y2q0lz5yzxy970b7w7340vp4fl25vndahsyvvrywcrn51ipgplx")))) (build-system gnu-build-system) (native-inputs `(("opencl-headers" ,opencl-headers))) @@ -216,22 +217,21 @@ the system.") (package (name "beignet") (version "1.3.2") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/intel/beignet/archive/Release_v" - version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "18r0lq3dkd4yn6bxa45s2lrr9cjbg70nr2nn6xablvgqwzw0jb0r")) - (patches (search-patches "beignet-correct-file-names.patch")) - (modules '((guix build utils))) - (snippet - ;; There's a suspicious .isa binary file under kernels/. - ;; Remove it. - '(for-each delete-file (find-files "." "\\.isa$"))))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/beignet.git") + (commit (string-append "Release_v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lpv3lvi2vrmzb8blflrpbd3jgin76zqmz6jcv17vn9mylqdrfnd")) + (patches (search-patches "beignet-correct-file-names.patch")) + (modules '((guix build utils))) + (snippet + ;; There's a suspicious .isa binary file under kernels/. + ;; Remove it. + '(for-each delete-file (find-files "." "\\.isa$"))))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python))) (inputs `(("clang@3.7" ,clang-3.7) @@ -295,15 +295,15 @@ back-end for the LLVM compiler framework.") (package (name "pocl") (version "1.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/pocl/pocl/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0lrw3hlb0w53xzmrf2hvbda406l70ar4gyadflvlkj4879lx138y")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pocl/pocl.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1z3sqn20ddv1030adchpzs65qng436gc2mb99p213mkh95jkh1l5")))) (build-system cmake-build-system) (native-inputs `(("libltdl" ,libltdl) @@ -323,12 +323,6 @@ back-end for the LLVM compiler framework.") (assoc-ref %build-inputs "libc") "/lib")) #:phases (modify-phases %standard-phases - (add-after 'install 'remove-headers - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (delete-file-recursively - (string-append out "/include")) - #t))) (add-before 'check 'set-HOME (lambda _ (setenv "HOME" "/tmp") From 8a68b71d99a2cbb0b252cd18fc52e1593aa10acd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 30 Aug 2018 18:58:41 +0200 Subject: [PATCH 079/170] gnu: keyutils: Update to 1.5.11. * gnu/packages/crypto.scm (keyutils): Update to 1.5.11. [inputs]: Add mit-krb5. --- gnu/packages/crypto.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index ae6150b0ab..e070ef61ac 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -40,6 +40,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) #:use-module (gnu packages image) + #:use-module (gnu packages kerberos) #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) @@ -277,7 +278,7 @@ the wrong hands.") (define-public keyutils (package (name "keyutils") - (version "1.5.10") + (version "1.5.11") (source (origin (method url-fetch) @@ -286,9 +287,9 @@ the wrong hands.") version ".tar.bz2")) (sha256 (base32 - "1dmgjcf7mnwc6h72xkvpaqpzxw8vmlnsmzz0s27pg0giwzm3sp0i")) + "1ddig6j5xjyk6g9l2wlqc7k1cgvryxdqbsv3c9rk1p3f42448n0i")) (modules '((guix build utils))) - ;; Create relative symbolic links instead of absolute ones to /lib/* + ;; Create relative symbolic links instead of absolute ones to /lib/*. (snippet '(begin (substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/") "$(LNS) ")) @@ -306,6 +307,8 @@ the wrong hands.") "MANDIR=/share/man" "SHAREDIR=/share/keyutils") #:test-target "test")) + (inputs + `(("mit-krb5" ,mit-krb5))) (home-page "https://people.redhat.com/dhowells/keyutils/") (synopsis "Linux key management utilities") (description From 0c048c11a492dda58cf1c8445bcfefe0199d7e0c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 30 Aug 2018 19:27:00 +0200 Subject: [PATCH 080/170] gnu: cmocka: Update to 1.1.2. * gnu/packages/check.scm (cmocka): Update to 1.1.2. --- gnu/packages/check.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 17a69bcd1c..f4596010ea 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -269,7 +269,7 @@ problem, and shows the differences.") (define-public cmocka (package (name "cmocka") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (string-append "https://cmocka.org/files/" @@ -277,10 +277,10 @@ problem, and shows the differences.") version ".tar.xz")) (sha256 (base32 - "1283zi9qf5613g8iadm1fxmjh4rzxqd5np2j3lcpgairf25g8bph")))) + "1p9b6ccv939wjsgapn7wx24xw278awsw9h81lm0g4zw257hx276i")))) (build-system cmake-build-system) (arguments - `(#:tests? #f)) ; No test target + `(#:tests? #f)) ; no test target (home-page "https://cmocka.org/") (synopsis "Unit testing framework for C") (description "Cmocka is a unit testing framework for C with support for From be4c63f48406006ded84511cf82f10b9f5400f7c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 31 Aug 2018 07:04:17 +0200 Subject: [PATCH 081/170] gnu: mame: Update to 0.201. * gnu/packages/emulators.scm (mame): Update to 0.201. [arguments]: Remove unnecessary fix. --- gnu/packages/emulators.scm | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 141423d7bf..919392c72f 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1175,7 +1175,7 @@ play them on systems for which they were never designed!") (define-public mame (package (name "mame") - (version "0.200") + (version "0.201") (source (origin (method git-fetch) @@ -1185,7 +1185,7 @@ play them on systems for which they were never designed!") (file-name (git-file-name name version)) (sha256 (base32 - "0ddw8635hdm21lgpf13k1vhfywy3460rwciv93vrqmpkq2dvpmib")) + "00whiig4ld3d4fkl34q48vlf28ygvvp5g7fp0rb5n31ymhl4kajk")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -1211,17 +1211,6 @@ play them on systems for which they were never designed!") #:tests? #f ;no test in regular release #:phases (modify-phases %standard-phases - ;; Add missing include lines for "fmin" and "ceil" functions. - ;; Reported upstream. Will be fixed in 0.201. - (add-after 'unpack 'add-missing-include - (lambda _ - (substitute* "src/devices/cpu/mips/mips3.cpp" - (("#include \"ps2vu.h\"" all) - (string-append all "\n#include "))) - (substitute* "src/devices/cpu/mips/ps2vif1.cpp" - (("#include \"ps2vif1.h\"" all) - (string-append all "\n#include "))) - #t)) (delete 'configure) (add-after 'build 'build-documentation (lambda _ (invoke "make" "-C" "docs" "man" "info"))) From 0b6678cd441006d5cd65a8aa33f17458b3588a19 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Fri, 31 Aug 2018 08:24:38 +0200 Subject: [PATCH 082/170] gnu: retroarch: Update to 1.7.4. * gnu/packages/emulators.scm (retroarch): Update to 1.7.4. --- gnu/packages/emulators.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 919392c72f..8e68c676ef 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1055,7 +1055,7 @@ emulation community. It provides highly accurate emulation.") (define-public retroarch (package (name "retroarch") - (version "1.7.3") + (version "1.7.4") (source (origin (method url-fetch) @@ -1063,7 +1063,7 @@ emulation community. It provides highly accurate emulation.") version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1si78dbwbsq4i0r42q94nmlpaxdyqch113nxavdprf4vc1224356")))) + (base32 "0h6y2hpjg4b470jvn9ghwp0k3a527sbb6xhia17frlm9w9v5028w")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests From 9fc2922794ffaae48e0a7c536e530ea2e0d46cf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Mon, 13 Aug 2018 21:05:55 +0200 Subject: [PATCH 083/170] services: nginx: Get the Shepherd to respawn NGINX. * gnu/services/web.scm (nginx-shepherd-service): Change 'start' (that is, all actions that don't send a signal to the master process) to return the PID. Wait until the PID file is created and contains an integer because it might be created after the parent process exits. --- gnu/services/web.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 97976509b6..467656444e 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -599,19 +599,33 @@ of index files." (nginx file run-directory) (let* ((nginx-binary (file-append nginx "/sbin/nginx")) + (pid-file (in-vicinity run-directory "pid")) (nginx-action (lambda args #~(lambda _ (invoke #$nginx-binary "-c" #$(or file (default-nginx-config config)) - #$@args))))) + #$@args) + (match '#$args + (("-s" . _) #t) + (_ + (let loop ((duration 0)) + ;; https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864/comments/7 + (sleep duration) + (if (file-exists? #$pid-file) + (let ((pid (call-with-input-file #$pid-file read))) + ;; it could be # + (if (integer? pid) pid (loop 1))) + (loop 1))))))))) ;; TODO: Add 'reload' action. (list (shepherd-service (provision '(nginx)) (documentation "Run the nginx daemon.") (requirement '(user-processes loopback)) + (modules `((ice-9 match) + ,@%default-modules)) (start (nginx-action "-p" run-directory)) (stop (nginx-action "-s" "stop"))))))) From 0e2d6d2698c5fbb0550d103475473b9800264abe Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 31 Aug 2018 16:34:34 +0200 Subject: [PATCH 084/170] gnu: Add python-pyqt-without-qtwebkit. * gnu/packages/qt.scm (python-pyqt-without-qtwebkit): New variable. --- gnu/packages/qt.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index f6eb2831fd..7dfdade979 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1834,6 +1834,15 @@ framework. The bindings are implemented as a set of Python modules and contain over 620 classes.") (license license:gpl3))) +;; XXX: This is useful because qtwebkit does not build reliably at this time. +;; Ultimately, it would be nicer to have a more modular set of python-pyqt-* +;; packages that could be used together. +(define-public python-pyqt-without-qtwebkit + (package (inherit python-pyqt) + (name "python-pyqt-without-qtwebkit") + (inputs + (alist-delete "qtwebkit" (package-inputs python-pyqt))))) + (define-public python2-pyqt (package (inherit python-pyqt) (name "python2-pyqt") From 9ce2f07ab6c614ea0afda3bdac601bdc0ef958c9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 31 Aug 2018 16:37:00 +0200 Subject: [PATCH 085/170] gnu: python-matplotlib: Use python-pyqt-without-qtwebkit. * gnu/packages/python.scm (python-matplotlib)[propagated-inputs]: Replace python-pyqt with python-pyqt-without-qtwebkit. --- gnu/packages/python.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index f59e24d5ff..fd1fdbf82d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3503,7 +3503,8 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. ;; object. For this reason we need to import both libraries. ;; https://pythonhosted.org/cairocffi/cffi_api.html#converting-pycairo ("python-pycairo" ,python-pycairo) - ("python-pyqt" ,python-pyqt) + ;; XXX: qtwebkit cannot be built reliably. + ("python-pyqt" ,python-pyqt-without-qtwebkit) ("python-cairocffi" ,python-cairocffi))) (inputs `(("libpng" ,libpng) From 220458b0987959d2920afa7dd8ff35f7d1f531b0 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 19 Apr 2018 09:11:05 -0500 Subject: [PATCH 086/170] gnu: hypre: Update to 2.14.0. * gnu/packages/maths.scm (hypre): Update to 2.14.0 --- gnu/packages/maths.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ad33ccbcc6..377e47bc58 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3517,7 +3517,7 @@ set.") (define-public hypre (package (name "hypre") - (version "2.11.0") + (version "2.14.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/LLNL/hypre/archive/" @@ -3525,7 +3525,7 @@ set.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0q69ia0jivzcr8p049dn3mg8yjpn6nwq4sw9iqac8vr63vi54l6m")) + "0v515i73bvaz378h5465b1dy9v2gf924zy2q94cpq4qqarawvkqh")) (modules '((guix build utils))) (snippet '(begin @@ -3533,7 +3533,7 @@ set.") ;; substitute the tarball creation time. (substitute* "src/utilities/HYPRE_utilities.h" (("Date Compiled: .*$") - "Date Compiled: Mar 28 2016 20:19:59 +0000\"\n")) + "Date Compiled: Apr 11 2018 16:24:59 +0000\"\n")) #t)))) (build-system gnu-build-system) (outputs '("out" ;6.1 MiB of headers and libraries From 8e1395be5c7d1a6e895fb5b1e70bebc0fef161a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 31 Aug 2018 17:23:38 +0200 Subject: [PATCH 087/170] records: Adjust to test changes in 'record-abi-mismatch-error'. Fixes a test failure introduced in de5cbd4a38a33e0412f1c481fe8e01a871dc13e5. * guix/records.scm (abi-check): Refer to TYPE in an unquoted context so we get at the RTD. * tests/records.scm ("ABI checks"): Adjust 'catch' handler to changes in the 'record-abi-mismatch-error' arguments. --- guix/records.scm | 2 +- tests/records.scm | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/guix/records.scm b/guix/records.scm index 1f11648e2c..98f3c8fef0 100644 --- a/guix/records.scm +++ b/guix/records.scm @@ -74,7 +74,7 @@ interface\" (ABI) for TYPE is equal to COOKIE." ;; recompiled. (throw 'record-abi-mismatch-error 'abi-check "~a: record ABI mismatch; recompilation needed" - '(#,type) '()))))) + (list #,type) '()))))) (define-syntax make-syntactic-constructor (syntax-rules () diff --git a/tests/records.scm b/tests/records.scm index 80e08a9a5f..09ada70c2d 100644 --- a/tests/records.scm +++ b/tests/records.scm @@ -313,8 +313,9 @@ (lambda () (eval '(foo? (make-me-a-record)) module) #f) - (lambda (key rtd . _) - (eq? rtd (eval ' module)))))) + (match-lambda* + ((key 'abi-check (? string? message) (rtd) . _) + (eq? rtd (eval ' module))))))) (test-equal "recutils->alist" '((("Name" . "foo") From 301aa9e76c76026628e2abc88104410e0150b409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 31 Aug 2018 17:26:19 +0200 Subject: [PATCH 088/170] pack: Correctly report "unknown pack format" errors. * guix/scripts/pack.scm (guix-pack): Fix "unknown pack format" error message. --- guix/scripts/pack.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 729850839b..fb0677de28 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -748,8 +748,8 @@ Create a bundle of PACKAGE.\n")) (build-image (match (assq-ref %formats pack-format) ((? procedure? proc) proc) (#f - (leave (G_ "~a: unknown pack format") - format)))) + (leave (G_ "~a: unknown pack format~%") + pack-format)))) (localstatedir? (assoc-ref opts 'localstatedir?))) (run-with-store store (mlet* %store-monad ((profile (profile-derivation From 600f1ad8e61e65ad9a1f22d099d16c5948cb1f48 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 28 Aug 2018 01:22:18 -0400 Subject: [PATCH 089/170] gnu: KDE: Update to 5.49.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . * gnu/packages/kde-frameworks.scm (attica, baloo, bluez-qt, breeze-icons, extra-cmake-modules, kactivities, kactivities-stats, kapidox, karchive, kauth, kbookmarks, kcmutils, kcodecs, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kcrash, kdbusaddons, kde-framework-integration, kdeclarative, kded, kdesignerplugin, kdesu, kdewebkit, kdnssd, kdoctools, kemoticons, kfilemetadata, kglobalaccel, kguiaddons, ki18n, kiconthemes, kidletime, kimageformats, kinit, kio, kirigami, kitemmodels, kitemview, kjobwidgets, knewstuff, knotification, knotifyconfig, kpackage, kparts, kpeople, kplotting, kpty, krunner, kservice, ksyntaxhighlighting, ktexteditor, ktextwidgets, kunitcoversion, kwallet, kwayland, kwidgetsaddons, kwindowsystem, kxmlgui, kxmlrpcclient, modemmanager-qt, networkmanager-qt, oxygen-icons, plasma-framework, prison, qqc2-desktop-style, solid, sonnet, threadweaver): Update to 5.49.0. (extra-cmake-modules)[arguments]: Remove obsolete workaround. (attica)[arguments]: Disable some new tests. Co-authored-by: Björn Höfling --- gnu/packages/kde-frameworks.scm | 296 ++++++++++++++++---------------- 1 file changed, 148 insertions(+), 148 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 7dc2cf37fe..5295a356a2 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -75,7 +75,7 @@ (define-public extra-cmake-modules (package (name "extra-cmake-modules") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -84,21 +84,13 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1ml6s3ssr5izm3vnzlg5gn2nkcbz5l5nmapvyr4ml7n0089b43a3")))) + "07pdgjyrxniacqcfvrzw8ij3kasx5pkbq38k6491qbhzfm8vi7y0")))) (build-system cmake-build-system) (native-inputs `(("qtbase" ,qtbase))) ; For tests (needs qmake) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'post-5.42.0-release-fix - ;; FIXME: Remove for > 5.42.0 - ;; ECMToolchainAndroidTest doesn't exist anymore - ;; https://cgit.kde.org/extra-cmake-modules.git/commit?id=30f31c46d8caf4 - (lambda _ - (substitute* "tests/CMakeLists.txt" - (("^add_test_macro\\(ECMToolchainAndroidTest dummy\\)") "")) - #t)) (add-after 'unpack 'fix-lib-path (lambda _ ;; Always install into /lib and not into /lib64. @@ -283,7 +275,7 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.") (define-public attica (package (name "attica") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -292,8 +284,16 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.") name "-" version ".tar.xz")) (sha256 (base32 - "0icjsk5sbri6nwybb2301wc6ysc1h4p35rxqp0adifyksq8akyxd")))) + "1iqclahs9yzyjnkzbzr8hl9j6q8m2djdm6mix92xwrakgirnl3gn")))) (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-network-tests + (lambda _ + ;; These tests require network access. + (substitute* "autotests/CMakeLists.txt" + ((".*providertest.cpp") ""))))))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs @@ -315,7 +315,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/") (define-public bluez-qt (package (name "bluez-qt") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -324,7 +324,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/") name "-" version ".tar.xz")) (sha256 (base32 - "0pbb0nn70hbsnp9q8jvqr3s85gh4bnnh1mp8xfkia2hp4c63ws9f")))) + "0mgnq7w52ksr8b7ys2f1m3irnviy011bsaggh489fjy0xlzk5ard")))) (build-system cmake-build-system) (native-inputs `(("dbus" ,dbus) @@ -348,7 +348,7 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.") (define-public breeze-icons (package (name "breeze-icons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -357,7 +357,7 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.") name "-" version ".tar.xz")) (sha256 (base32 - "0mrj0b022yfy669qqby09k4ij6aqyky23gpnjcp85df9saq0x44r")))) + "178620hhqlv6dl8qal2bmiw55s8b3p4h16q8cgkmq5q5i59nzcph")))) (build-system cmake-build-system) (arguments `(#:phases @@ -388,7 +388,7 @@ It is the default icon theme for the KDE Plasma 5 desktop.") (define-public kapidox (package (name "kapidox") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -397,7 +397,7 @@ It is the default icon theme for the KDE Plasma 5 desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "0izyd66p5403gl09l7irzy97mb9b14n4zyjrwap800zjlpwh41pz")))) + "09jph3hvasqx1ia0l7is9brc08nxvh9qmg8564nh5cmqaxdwj559")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; has no test target @@ -430,7 +430,7 @@ documentation.") (define-public karchive (package (name "karchive") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -439,7 +439,7 @@ documentation.") name "-" version ".tar.xz")) (sha256 (base32 - "1vq2ngdxmdl6hzjwdcrv66ban8v9s5jiqwy1mgdqv4ak14l31qbi")))) + "1p1gwqda2bsjdysp4ggwdsldbasyfl075xn3wchqyakdv2bdzmn0")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -464,7 +464,7 @@ GZip format, via a subclass of QIODevice.") (define-public kcodecs (package (name "kcodecs") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -473,7 +473,7 @@ GZip format, via a subclass of QIODevice.") name "-" version ".tar.xz")) (sha256 (base32 - "0b19z432r9dnyjknvwffhcmrg969yhydjvy4qrkrf22026f4smwc")))) + "07va63gsfjrc5ha9rdli923cwyzxpb3v8xgf1zfhw75cfkgda3nz")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -500,7 +500,7 @@ Internet).") (define-public kconfig (package (name "kconfig") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -509,7 +509,7 @@ Internet).") name "-" version ".tar.xz")) (sha256 (base32 - "08gg0d20c09j7hyxm8ydpzk2yf30c87g9ag7a9nfykrmi6cqirdq")))) + "0cb3crnlr8hr5npq3ykfxqd4yckmkykzrrizfs89ryhmznc2ngsf")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -567,7 +567,7 @@ propagate their changes to their respective configuration files.") (define-public kcoreaddons (package (name "kcoreaddons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -576,7 +576,7 @@ propagate their changes to their respective configuration files.") name "-" version ".tar.xz")) (sha256 (base32 - "17qv7r6z72mm9a0hyx5dgk90ikhhgm41bkvnq2hjal0py2lsnrs9")))) + "00s22jvbwav20cidnp8v9fgc6pqbp4wnqkb2spv18mjhg4pv3bqj")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -607,7 +607,7 @@ many more.") (define-public kdbusaddons (package (name "kdbusaddons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -616,7 +616,7 @@ many more.") name "-" version ".tar.xz")) (sha256 (base32 - "1613pc3r70jnzvpwm1xjdbdsmcpx28jwvcs2qq9swlywr5qr9hbd")) + "1fnmrrffp3kfwyjfzqkzlizflpyqgzbjljb51ppmdypcq8wy9ibh")) (patches (search-patches "kdbusaddons-kinit-file-name.patch")))) (build-system cmake-build-system) (native-inputs @@ -652,7 +652,7 @@ as well as an API to create KDED modules.") (define-public kdnssd (package (name "kdnssd") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -661,7 +661,7 @@ as well as an API to create KDED modules.") name "-" version ".tar.xz")) (sha256 (base32 - "1k1rz62h3mafliik5n0k98dc56b5v2v6qyqj40696mcyc2d1yvll")))) + "1n61id2x1iianshg8g6fw389mqihz4h8sj9hnng7cdg4csh72ffr")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -680,7 +680,7 @@ infrastructure.") (define-public kguiaddons (package (name "kguiaddons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -689,7 +689,7 @@ infrastructure.") name "-" version ".tar.xz")) (sha256 (base32 - "193i8b4f13dkgp88m3pk9wzi0dhx7qmsnmpizxia3457gg016wn7")))) + "1zkjd3l5pyvvilcc9lbdgqaxnpvh586yf0cndl90h3x89hy1d4xk")))) (build-system cmake-build-system) ;; TODO: Build packages for the Python bindings. Ideally this will be ;; done for all versions of python guix supports. Requires python, @@ -718,7 +718,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.") (define-public ki18n (package (name "ki18n") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -727,7 +727,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.") name "-" version ".tar.xz")) (sha256 (base32 - "1rpriflb2a48j94zxgh63l6rzq4nlnlkvy89ns1vkdw42bnqrjx9")))) + "1i4rdrxann45zl6fkmfd1b96q52g0mpc5x19fx9h80crapkm8jjz")))) (build-system cmake-build-system) (propagated-inputs `(("gettext" ,gettext-minimal) @@ -761,7 +761,7 @@ translation scripting.") (define-public kidletime (package (name "kidletime") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -770,7 +770,7 @@ translation scripting.") name "-" version ".tar.xz")) (sha256 (base32 - "019r41r28pcrcn1kwxsll53za705jkc9n23b6sr2lplgjk05bcxh")))) + "1fd02anlmaa0hnnp5q1s9973m3asy56qppwq1va1g6ga3csv3wrv")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -792,7 +792,7 @@ or user activity.") ;; plasma-framework which is tier 3. (package (name "kirigami") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -801,7 +801,7 @@ or user activity.") "kirigami2-" version ".tar.xz")) (sha256 (base32 - "11gqn7amp0r9bgh8ldgisfc2lrkzkn5mq2a1madf24nvjbkvqnqv")))) + "1wan9h7kvjzvyzfjfjd512lxiac5prhs493xjqwxgags6kxwglaz")))) (properties `((upstream-name . "kirigami2"))) (build-system cmake-build-system) (native-inputs @@ -841,7 +841,7 @@ of applications that follow the Kirigami Human Interface Guidelines.") (define-public kitemmodels (package (name "kitemmodels") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -850,7 +850,7 @@ of applications that follow the Kirigami Human Interface Guidelines.") name "-" version ".tar.xz")) (sha256 (base32 - "0mcdzdqwmvf9pwirsrnjbhrgqphnfmanbl9zij4qsmin8n866mhc")))) + "1frha301540js45mrxiw034m9b2rwsa56xphkqn6cm4jmn48qdjg")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -900,7 +900,7 @@ model to observers (define-public kitemviews (package (name "kitemviews") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -909,7 +909,7 @@ model to observers name "-" version ".tar.xz")) (sha256 (base32 - "1j1q0b08f8mnfc3r2a7rplyb2nv9f0aq5a3fxskinvg70c6y248w")))) + "1aj605q2p72w4rb9i0f2xb93bn5xfjq9sl5i4h6rqflcvvy7qpdp")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -935,7 +935,7 @@ to flat and hierarchical lists.") (define-public kplotting (package (name "kplotting") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -944,7 +944,7 @@ to flat and hierarchical lists.") name "-" version ".tar.xz")) (sha256 (base32 - "109b9grshrwralyp8ilkbf1k0akaggygqh6wafqdf0ris0ps13l9")))) + "13fzqqkyxs4ja6n5yb9lc5jx4qpsmrbsiihnwrgj3lhpzhlr91n0")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -970,7 +970,7 @@ pixel units.") (define-public ksyntaxhighlighting (package (name "ksyntaxhighlighting") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -979,7 +979,7 @@ pixel units.") "syntax-highlighting-" version ".tar.xz")) (sha256 (base32 - "1iwiym50859jki4x41rfdmbd14jiq5lr2hdg46pjkyw17njdjd60")))) + "17rkgzkfiz5dv0xr67na7ikqszgwjnf2gc11b2h47qdsr7pgx95v")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1019,7 +1019,7 @@ integration with a custom editor as well as a ready-to-use (define-public kwayland (package (name "kwayland") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1028,7 +1028,7 @@ integration with a custom editor as well as a ready-to-use name "-" version ".tar.xz")) (sha256 (base32 - "0wr6ygppahxsx3dh71h2wmybv7z7iyqdv7wn80cxb0mp4zpyinh7")))) + "0d95l2i3j1xxkc15n57w4rhf3di02zna4zzn4gap9qdhfxlfbqi6")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1058,7 +1058,7 @@ represented by a QPoint or a QSize.") (define-public kwidgetsaddons (package (name "kwidgetsaddons") - (version "5.42.1") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1067,7 +1067,7 @@ represented by a QPoint or a QSize.") name "-" version ".tar.xz")) (sha256 (base32 - "0h0vfrfl5zi01fpvmd825kazzlyawz3i66qrfkymdrnvqmfzcmlg")))) + "1frgqz9njbc81pfy6gl6p0hyh1977lg31ynrx5wy7lg7fwaxwl92")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1105,7 +1105,7 @@ configuration pages, message boxes, and password requests.") (define-public kwindowsystem (package (name "kwindowsystem") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1114,7 +1114,7 @@ configuration pages, message boxes, and password requests.") name "-" version ".tar.xz")) (sha256 (base32 - "15k6x0f93qxka3mz7qfzak2ibdd88q77pz6akil8s3g41zsg2dqv")))) + "175rzwrjndhawyy4x11lbihdr1r9gwxmxjpbz4x06hlz4g50wffp")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1170,7 +1170,7 @@ lower level classes for interaction with the X Windowing System.") (define-public modemmanager-qt (package (name "modemmanager-qt") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1179,7 +1179,7 @@ lower level classes for interaction with the X Windowing System.") name "-" version ".tar.xz")) (sha256 (base32 - "0q6qzn60z55h0gyc9xwdfaq45mjpk3zrr6d4qqjjfkqsr3866sfx")))) + "1wf3v552vbr4kh2d770zn3yn0q3bqjqbfrvnf813mnld7961m7p2")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1208,7 +1208,7 @@ messages.") (define-public networkmanager-qt (package (name "networkmanager-qt") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1217,7 +1217,7 @@ messages.") name "-" version ".tar.xz")) (sha256 (base32 - "03hhvx8d52mfgbhd4gn0vhsk9k1fv1pvq24ixxdgs2mw44v884xq")))) + "16pnd52m9srcb2ml3vc3kd9k1yak5rq09yci39qp7z5jbdy7jk2z")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1247,7 +1247,7 @@ which are used in DBus communication.") (define-public oxygen-icons (package (name "oxygen-icons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1256,7 +1256,7 @@ which are used in DBus communication.") name "5" "-" version ".tar.xz")) (sha256 (base32 - "0pnav9h0xmvbaamzpcyznjjv25slz8maszshx7sj7h07b5a23x46")))) + "0llx06sr36cd6vgkgm3jw6k4cv1cfx3r6x6lmb477wpahis0n75g")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1272,7 +1272,7 @@ which are used in DBus communication.") (define-public prison (package (name "prison") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) @@ -1280,7 +1280,7 @@ which are used in DBus communication.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0bhg2fjdwsv7mk16jh1nc3miwggz1dl9l99l2f20xvi75hn7rryg")))) + (base32 "0dppz9x6k84sl0aiyjlh3xigqgda64r8mij3bzxcdkv2wbc4ld9d")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1297,7 +1297,7 @@ provides uniform access to generation of barcodes with data.") (define-public qqc2-desktop-style (package (name "qqc2-desktop-style") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1306,7 +1306,7 @@ provides uniform access to generation of barcodes with data.") name "-" version ".tar.xz")) (sha256 (base32 - "1arlfhcshfs11pgf87jzjgln1p711zlx0v0q014740mbzb9g5wnk")))) + "1vbms7b8x1y7yh8im8dv1q3wwl3j2x4r47yqg86f28grw2r2n2zj")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1331,7 +1331,7 @@ feel.") (define-public solid (package (name "solid") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1340,7 +1340,7 @@ feel.") name "-" version ".tar.xz")) (sha256 (base32 - "10lr8paaq6vaiqn833kzcdc3kkyv8j9fdchy7h8pvi9ajjjwq0lq")))) + "1p7rdmf2f8520xc7zp7wxlcizyyjfxwq5mf95qsfpwc4dl0c43gp")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1370,7 +1370,7 @@ system.") (define-public sonnet (package (name "sonnet") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1379,7 +1379,7 @@ system.") name "-" version ".tar.xz")) (sha256 (base32 - "1r3amddmy0nm8klw0jzvb8bl1l9hkrx50d8j0zq2lbjy36h3yliw")))) + "0m5pmka1hwjsg3c3qvx087z3fjrfw0ayk7ylgjls5iwd39kkl1b3")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1407,7 +1407,7 @@ ASpell and HUNSPELL.") (define-public threadweaver (package (name "threadweaver") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1416,7 +1416,7 @@ ASpell and HUNSPELL.") name "-" version ".tar.xz")) (sha256 (base32 - "1isqlpnfxzxyz7mdm7yfrafgnx09mcndicdgdw3mi4r4misbrrbn")))) + "099bs429p71dzrqy25z61rvn48w3b73p7yag4q69jnxcpj0qcyz7")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1437,7 +1437,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way." (define-public kactivities (package (name "kactivities") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1446,7 +1446,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way." name "-" version ".tar.xz")) (sha256 (base32 - "0z0ac426npq99s1b8yzrqkjjjc34nbxlpw8pw388yj7fa41hw21r")))) + "117f3zrdbs0pa10wn7vy691n02m01h6x4pm8m1q3f4pjm0k4kqim")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1482,7 +1482,7 @@ with other frameworks.") (define-public kauth (package (name "kauth") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1491,7 +1491,7 @@ with other frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "04kqb2hhr9lkpkxiaqlnyk0kmk6p89z5fgp5i5g83hsi8maz7swi")))) + "0qg3zwg3kfx2snmvsw4ixr0qds7bd7992dxggvi9dcny7dm9q0n8")))) (build-system cmake-build-system) (native-inputs `(("dbus" ,dbus) @@ -1529,7 +1529,7 @@ utilities.") (define-public kcompletion (package (name "kcompletion") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1538,7 +1538,7 @@ utilities.") name "-" version ".tar.xz")) (sha256 (base32 - "0yqci2v0dk5v1mz4n3gca599a7mpihy563zc6sl8hsa30ld8li0f")))) + "16br6wnqzndk8v41im23h2ww4hypi2i1qfg6m9c49mpxflgmspbi")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1565,7 +1565,7 @@ integrated it into your application's other widgets.") (define-public kcrash (package (name "kcrash") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1574,7 +1574,7 @@ integrated it into your application's other widgets.") name "-" version ".tar.xz")) (sha256 (base32 - "049y0xdyw37y0qid3d3plj8szfys5gw98j7lhcakiini8mn5cins")))) + "0xmr9rrl0xahpnq1rw4bbar1nbr21x2bk4hhv79la6dsg9ha25b3")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1600,7 +1600,7 @@ application crashes.") (define-public kdoctools (package (name "kdoctools") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1609,7 +1609,7 @@ application crashes.") name "-" version ".tar.xz")) (sha256 (base32 - "1bby3avdllch1mji0mxzcix8q5yir5a0i6wpjs5lwckv1glh6kmz")))) + "1dmpk453s71ls0q8hgpqqd5dcr7zlimf5wykizcy2wn7p77gzsgl")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1657,7 +1657,7 @@ from DocBook files.") (define-public kfilemetadata (package (name "kfilemetadata") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1666,7 +1666,7 @@ from DocBook files.") name "-" version ".tar.xz")) (sha256 (base32 - "03wk38q3sq354ykz9dwbgykn73ldf94ryx6hxvpr66bq3a59jmwz")))) + "045k1mgn8kg0qfsr5sl1499nzhzmbcvrqc205pmq6sh4r14nvk80")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1709,7 +1709,7 @@ by applications to write metadata.") (define-public kimageformats (package (name "kimageformats") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1718,7 +1718,7 @@ by applications to write metadata.") name "-" version ".tar.xz")) (sha256 (base32 - "1k67yrmszx7azjzrg478rimbz991lghx4d6dmg22p6dknajd78a6")))) + "1q7019gbk59fwampna1ayjvw016c0q79hmldpaqh3xa9sh082wy4")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1763,7 +1763,7 @@ formats.") (define-public kjobwidgets (package (name "kjobwidgets") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1772,7 +1772,7 @@ formats.") name "-" version ".tar.xz")) (sha256 (base32 - "1m3csdl7wh18ywv5p0qpbjpixvflgjcq3yvk3vlvh0sxxlwcz8k4")))) + "04i5cvbxii7n0jr3ai1dh44miqbdkxb6an5w8s7qvkv0xmkml35g")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1791,7 +1791,7 @@ asynchronous jobs.") (define-public knotifications (package (name "knotifications") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1800,7 +1800,7 @@ asynchronous jobs.") name "-" version ".tar.xz")) (sha256 (base32 - "0awmwypmd104vhaj2v9k83niflxj26d4mbl6mzfcj75lgka6kffc")))) + "10481j2irlqhqd16xi412xbglnyjl0ndanlv9s0d3fxirs95zdd9")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1837,7 +1837,7 @@ covers feedback and persistent events.") (define-public kpackage (package (name "kpackage") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1846,7 +1846,7 @@ covers feedback and persistent events.") name "-" version ".tar.xz")) (sha256 (base32 - "10amhh07x8d0jkyylb19cyzjs71k8dq1y8isfahqzb2kd43vijqa")))) + "1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1875,7 +1875,7 @@ were traditional plugins.") (define-public kpty (package (name "kpty") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1884,7 +1884,7 @@ were traditional plugins.") name "-" version ".tar.xz")) (sha256 (base32 - "07s16zxs03ixy7yxy9fda83yqhcgqzx42gnvwjwkyc8q05njmma6")))) + "1pnj07079l6gkz6171fcvljh0dcdy9s77p1q0l9nnkknjbr102pg")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1912,7 +1912,7 @@ and communicating with them using a pty.") (define-public kunitconversion (package (name "kunitconversion") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1921,7 +1921,7 @@ and communicating with them using a pty.") name "-" version ".tar.xz")) (sha256 (base32 - "0219pna4l3vvhyf5acsc87n48jzdnws6kwyhaiy3hy1pzrilv32l")))) + "11jnqz218rga3f4ppf1d927c7qhh2qpghwjpsrnrxdkz5nrvnf79")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1955,7 +1955,7 @@ gallons).") (define-public baloo (package (name "baloo") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -1964,7 +1964,7 @@ gallons).") name "-" version ".tar.xz")) (sha256 (base32 - "18yknkcls1ypsp8n5l254bhlffiq4as5w1wgcjzhnf49cacys8nl")))) + "0xj12v0k58sr3snxyj4vx7dqhinrvk6qm0ikymscqgbmw9ijwxph")))) (build-system cmake-build-system) (propagated-inputs `(("kcoreaddons" ,kcoreaddons) @@ -2019,7 +2019,7 @@ maintaining an index of the contents of your files.") (define-public kactivities-stats (package (name "kactivities-stats") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2028,7 +2028,7 @@ maintaining an index of the contents of your files.") name "-" version ".tar.xz")) (sha256 (base32 - "0si70hayf4brr83jzdjdsfvp8nc1sb7vdk0q532liafhf8hw9mq8")))) + "129z2m5330j0l1nw8g3qjib60xmx54c6d2g9vnp4w8z0agnihs5f")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2049,7 +2049,7 @@ by which applications, and what documents have been linked to which activity.") (define-public kbookmarks (package (name "kbookmarks") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2058,7 +2058,7 @@ by which applications, and what documents have been linked to which activity.") name "-" version ".tar.xz")) (sha256 (base32 - "08q413mr5ib04gwnqznvm9vkkfmnh16rgf6rqdvclnci9w7ml5x2")))) + "0clmfdcc1fc98q3vbfjf8x140a6df88ixhz0mny3dpv1wcr5cz53")))) (build-system cmake-build-system) (propagated-inputs `(("kwidgetsaddons" ,kwidgetsaddons))) @@ -2092,7 +2092,7 @@ using the XBEL format.") (define-public kcmutils (package (name "kcmutils") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2101,7 +2101,7 @@ using the XBEL format.") name "-" version ".tar.xz")) (sha256 (base32 - "1q67b0m6w3xvm22kq8b0b0rib1jzf25gf6dz7h286987zfbbs5n7")))) + "0xv899p9f0hj6hd089mhn910qn66bihzpaa11ikrhbimckw8g19q")))) (build-system cmake-build-system) (propagated-inputs `(("kconfigwidgets" ,kconfigwidgets) @@ -2131,7 +2131,7 @@ KCModules can be created with the KConfigWidgets framework.") (define-public kconfigwidgets (package (name "kconfigwidgets") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2140,7 +2140,7 @@ KCModules can be created with the KConfigWidgets framework.") name "-" version ".tar.xz")) (sha256 (base32 - "191zm24q2n001b65hcnfh2639k4iqhxwdmgdw29php3n2648xq4z")))) + "1nqcrqr67m3kvq2r83x45zcdghk12bas9fp0s43s68imrhy5xikz")))) (build-system cmake-build-system) (propagated-inputs `(("kauth" ,kauth) @@ -2174,7 +2174,7 @@ their settings.") (define-public kdeclarative (package (name "kdeclarative") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2183,7 +2183,7 @@ their settings.") name "-" version ".tar.xz")) (sha256 (base32 - "1w604jy6vg2247vggz0ivl7wy2h5iapkz2z86mah3aw99f7dqa22")))) + "0kgawb8wfx4snk2ckwxj0hmpgcvq3k1zpsxqdawi4cmsy4bxzfs9")))) (build-system cmake-build-system) (propagated-inputs `(("kconfig" ,kconfig) @@ -2237,7 +2237,7 @@ that offer bindings to some of the Frameworks.") (define-public kded (package (name "kded") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2246,7 +2246,7 @@ that offer bindings to some of the Frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "0w25dl4pnvby28gz0yvij32vi9n3p8si4nm4x45j7zsi2cb70j4l")))) + "1l6hs3spbs3618jwg3n7r3hrrkqxmmd43f0km8849x4641p72zyc")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2270,7 +2270,7 @@ started on demand.") (define-public kdesignerplugin (package (name "kdesignerplugin") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2279,7 +2279,7 @@ started on demand.") name "-" version ".tar.xz")) (sha256 (base32 - "004axa1fkj954d65x7l9z8dmw04209hb368rwa4gjzb8naf13ib6")))) + "0hj4ng0i22rvw4kl0irhqhww3kvn4c0pncn38w1j5vim4gxv0xcd")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2321,7 +2321,7 @@ ini-style description files.") (define-public kdesu (package (name "kdesu") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2330,7 +2330,7 @@ ini-style description files.") name "-" version ".tar.xz")) (sha256 (base32 - "0402p1h7wifk6sppg7ca9w0zfjllbhc1j5gsxj7ypq55g94np7hx")))) + "1gwvby51qqbkrs2vjpnplxr6m6xa5ddfdjs1iygh8kpqsh8a765k")))) (build-system cmake-build-system) (propagated-inputs `(("kpty" ,kpty))) @@ -2352,7 +2352,7 @@ with su and ssh respectively.") (define-public kdewebkit (package (name "kdewebkit") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2361,7 +2361,7 @@ with su and ssh respectively.") name "-" version ".tar.xz")) (sha256 (base32 - "1csd4p996im7ygxc5rfdkzgdpngjgzyqakj12rl9rnfbsd15i8kb")))) + "05idyw94ayjh7qdia9pnjmx29r5lsch421kv8h5ivr7ixcbrgk6n")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2384,7 +2384,7 @@ engine WebKit via QtWebKit.") (define-public kemoticons (package (name "kemoticons") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2393,7 +2393,7 @@ engine WebKit via QtWebKit.") name "-" version ".tar.xz")) (sha256 (base32 - "0f6an1bwxnga41a2b35b2pdcni4p0hh76k4jvanl3g046v07f2wr")))) + "0mz9hkhnprjbrfq54mqcvj8w87h025785m1bas80brsqzvni5krn")))) (build-system cmake-build-system) (propagated-inputs `(("kservice" ,kservice))) @@ -2425,7 +2425,7 @@ emoticons coming from different providers.") (define-public kglobalaccel (package (name "kglobalaccel") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2434,7 +2434,7 @@ emoticons coming from different providers.") name "-" version ".tar.xz")) (sha256 (base32 - "0nlza73i0qd79yhwhpnvgbh2xa9lvd1n2xg25p3bvfzwidcfdxg6")))) + "1fk7wazfwr7smqiym3phm5yvw6cmiczag52y1vad8fgb3izd6zhl")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2469,7 +2469,7 @@ window does not need focus for them to be activated.") (define-public kiconthemes (package (name "kiconthemes") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2478,7 +2478,7 @@ window does not need focus for them to be activated.") name "-" version ".tar.xz")) (sha256 (base32 - "1nbxxpf8bv835xl35b17rk8s3zs110bh31078kqqh7dhvwzlxic7")))) + "1f7pk6smi2f0mm7jkrw5ymmkhd9gi8vnmppyblp1v3pvmy571c2m")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2516,7 +2516,7 @@ in applications using the KDE Frameworks.") (define-public kinit (package (name "kinit") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2525,7 +2525,7 @@ in applications using the KDE Frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "05vpac41pw1n8y58l2z08vyknzv950x8dxxw66dnymm2v31w07ia")))) + "1rq9b59gdgcpvwd694l8h55sqahpdaky0n7ag5psjlfn5myf1d95")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2563,7 +2563,7 @@ makes starting KDE applications faster and reduces memory consumption.") (define-public kio (package (name "kio") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2572,7 +2572,7 @@ makes starting KDE applications faster and reduces memory consumption.") name "-" version ".tar.xz")) (sha256 (base32 - "1526a89x11ank55dp3rfp7xd04w8x7prjg3y6i7n2q9nabwhw7gc")))) + "0rrsg3g1b204cdp58vxd5dig1ggwyvk1382p1c86vn6w8qbrq27k")))) (build-system cmake-build-system) (propagated-inputs `(("kbookmarks" ,kbookmarks) @@ -2655,7 +2655,7 @@ KIO enabled infrastructure.") (define-public knewstuff (package (name "knewstuff") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2664,7 +2664,7 @@ KIO enabled infrastructure.") name "-" version ".tar.xz")) (sha256 (base32 - "0i2gmyp67xzf2m5wnv7v574q3gsp1yxfflv1jgl0wy57vchwn9g6")))) + "1vhcl2z9rcqg8390l1cwn3yyi1n17pn6mn8fsplp25qhzimb8bmk")))) (build-system cmake-build-system) (propagated-inputs `(("attica" ,attica) @@ -2712,7 +2712,7 @@ specification.") (define-public knotifyconfig (package (name "knotifyconfig") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2721,7 +2721,7 @@ specification.") name "-" version ".tar.xz")) (sha256 (base32 - "1h07bjj71611v6912m5ajli6qszh9w925zqbk3vih8rn6pd2s3mc")))) + "09v4aq5x98sqg2awhw0n0y0rnjkr77kbf51xij0fiykd4llp9lfa")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2754,7 +2754,7 @@ notifications which can be embedded in your application.") (define-public kparts (package (name "kparts") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2763,7 +2763,7 @@ notifications which can be embedded in your application.") name "-" version ".tar.xz")) (sha256 (base32 - "1mb5gp2ckmmrb4ym7cqvyl81wnp7cryk85gmizl7cnn69svlf40h")))) + "0zdz0byj0gsbgb007y8x37w8yf1gkw6dsp2s9bbdc4w6h9ipdj2k")))) (build-system cmake-build-system) (propagated-inputs `(("kio" ,kio) @@ -2807,7 +2807,7 @@ widgets with a user-interface defined in terms of actions.") (define-public kpeople (package (name "kpeople") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2816,7 +2816,7 @@ widgets with a user-interface defined in terms of actions.") name "-" version ".tar.xz")) (sha256 (base32 - "050km3rpx58acx2341si46lxc2hywa59m8rwd849c2dnsxw3w1hm")))) + "0i5pd1d2jphsvpc3dpdw28dsdal1qrnnrx3k6qx4wax3f8ph5khv")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2850,7 +2850,7 @@ to easily extend the contacts collection.") (define-public krunner (package (name "krunner") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2859,7 +2859,7 @@ to easily extend the contacts collection.") name "-" version ".tar.xz")) (sha256 (base32 - "0xh9kss67l09am1ilsr9zyx1yhlmaq3g9x60hw0sx7h7wrl6zsw6")))) + "02l5gch9hpag1q5ixnb541g7m9lx25pbggldpa8zykp63apyca19")))) (build-system cmake-build-system) (propagated-inputs `(("plasma-framework" ,plasma-framework))) @@ -2919,7 +2919,7 @@ typed.") (define-public kservice (package (name "kservice") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2928,7 +2928,7 @@ typed.") name "-" version ".tar.xz")) (sha256 (base32 - "0z8zfpd00ndvkm1klp8l4mrcksshhyg280zgmg3gffz5rgh3gwri")))) + "1wwb6c6m8f3b16p47adkc05rrlszvvym7ckks5xp08s58pk1dm8z")))) (build-system cmake-build-system) (propagated-inputs `(("kconfig" ,kconfig) @@ -2964,7 +2964,7 @@ types or handled by application specific code.") (define-public ktexteditor (package (name "ktexteditor") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -2973,7 +2973,7 @@ types or handled by application specific code.") name "-" version ".tar.xz")) (sha256 (base32 - "020y3j6vm15sfpiwainr3qsx9i93j15mrvq523wmbmdj1z36yrh2")))) + "14iss8svx49vav0h2kg8vhv8g5hg4ky30s7049csfwz7xhp7jmcj")))) (build-system cmake-build-system) (propagated-inputs `(("kparts" ,kparts))) @@ -3044,7 +3044,7 @@ library.") (define-public ktextwidgets (package (name "ktextwidgets") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3053,7 +3053,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "088azbv95ycwxmxxw4l63i2l14fmn8l473pb4djh2mvz1ypfqayk")))) + "14gclshmpwmfwkp2hzlnf823pjjmknd9q0gdclsh3yy268c2rsw1")))) (build-system cmake-build-system) (propagated-inputs `(("ki18n" ,ki18n) @@ -3091,7 +3091,7 @@ It supports rich text as well as plain text.") (define-public kwallet (package (name "kwallet") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3100,7 +3100,7 @@ It supports rich text as well as plain text.") name "-" version ".tar.xz")) (sha256 (base32 - "1kv3v7593srfn0wd7qp4rhvb30rxp7d2qmlwi0n4nc9s6v59pabn")))) + "13bmks9jb3yhp6clv25qkqkrvbhfyk9z16laxsv79jdd82lxgn1z")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -3133,7 +3133,7 @@ the passwords on KDE work spaces.") (define-public kxmlgui (package (name "kxmlgui") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3142,7 +3142,7 @@ the passwords on KDE work spaces.") name "-" version ".tar.xz")) (sha256 (base32 - "0kfxjx8wrhkys5bydnv84nqxc2jqvv92zb2l6zpi0km5ggmia5y0")))) + "0wsgs5ya3wnc5cryi1r9i30sq8dnnhh15p02skdjlhwjfvdhxmfa")))) (build-system cmake-build-system) (propagated-inputs `(("kconfig" ,kconfig) @@ -3185,7 +3185,7 @@ descriptions for integrating actions from plugins.") (define-public kxmlrpcclient (package (name "kxmlrpcclient") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3194,7 +3194,7 @@ descriptions for integrating actions from plugins.") name "-" version ".tar.xz")) (sha256 (base32 - "0ciip27ilsfk9s3gslpbi06v8i6ipdbmcig2jf43z3amsxpq0ncn")))) + "0l4jnvn7s77jkvd2z44mz24mfzcw499plms79j21pjryc88drh06")))) (build-system cmake-build-system) (propagated-inputs `(("kio" ,kio))) @@ -3228,7 +3228,7 @@ setUrl, setUserAgent and call.") (define-public plasma-framework (package (name "plasma-framework") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3237,7 +3237,7 @@ setUrl, setUserAgent and call.") name "-" version ".tar.xz")) (sha256 (base32 - "079c8h0lmbkfr3srj5m8a40b50kyrxbgmy1n66329l8js9xrvaah")))) + "1yrccbkdpnfbgn7fzpmzzxm5c7fhkv1vqygq1f96r30fia0cj5jv")))) (build-system cmake-build-system) (propagated-inputs `(("kpackage" ,kpackage) @@ -3324,7 +3324,7 @@ script engines.") (define-public kde-frameworkintegration (package (name "kde-frameworkintegration") - (version "5.42.0") + (version "5.49.0") (source (origin (method url-fetch) (uri (string-append @@ -3333,7 +3333,7 @@ script engines.") "frameworkintegration-" version ".tar.xz")) (sha256 (base32 - "17fyny3c5chv7bipr19ayfjmd1amp2nms4ba5r7mwjp97xkphry7")))) + "1ni4jrny630zf3zwmqbm8z7dqgiar58992lylfv7kspdg5crcgfx")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) From d84a887a5f5313fda6bebc13153435b1154d24de Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 28 Aug 2018 01:22:38 -0400 Subject: [PATCH 090/170] gnu: libksysguard: Update to 5.13.4. * gnu/packages/kde.scm (libksysguard): Update to 5.13.4. --- gnu/packages/kde.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 1d14e4b820..8c932f2eeb 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -418,7 +418,7 @@ used in KDE development tools Kompare and KDevelop.") (define-public libksysguard (package (name "libksysguard") - (version "5.11.5") + (version "5.13.4") (source (origin (method url-fetch) @@ -426,7 +426,7 @@ used in KDE development tools Kompare and KDevelop.") "/libksysguard-" version ".tar.xz")) (sha256 (base32 - "0f2py4zkqzpxxf3mqaij0q8ka0v3nschj17dv6rbzzmr5mjv825f")))) + "0k8q5bxk9zyv7c3nny1c399v8acqs618nw39q20pj2qdijl9ibvh")))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config))) @@ -468,7 +468,7 @@ used in KDE development tools Kompare and KDevelop.") (lambda _ ;; TODO: Fix this failing test-case (zero? (system* "ctest" "-E" "processtest"))))))) - (home-page "https://www.kde.org/info/plasma-5.11.5.php") + (home-page "https://www.kde.org/info/plasma-5.13.4.php") (synopsis "Network enabled task and system monitoring") (description "KSysGuard can obtain information on system load and manage running processes. It obtains this information by interacting From 7ce9eaf0132ab00b7adf26953eb193f152ee7f2f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 28 Aug 2018 01:07:55 -0400 Subject: [PATCH 091/170] gnu: Krita: Update to 4.1.1. * gnu/packages/kde.scm (krita): Update to 4.1.1. --- gnu/packages/kde.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 8c932f2eeb..0f2ede7f83 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -236,7 +236,7 @@ plugins, as well as code to create plugins, or complete applications.") (define-public krita (package (name "krita") - (version "4.0.1") + (version "4.1.1") (source (origin (method url-fetch) (uri (string-append @@ -245,7 +245,7 @@ plugins, as well as code to create plugins, or complete applications.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "0k55ybvna40dx4fqygnix7bnhjaanak3ckb108hny2k7sspy62pc")))) + "1qz9bjvnwa5gc2b0063i2p72jq6y1b6kgqdj39599acp7ws11asw")))) (build-system cmake-build-system) (arguments `(#:tests? #f From fd67d793c27f4f675708862df59336cb1133ade1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 28 Aug 2018 01:02:59 -0400 Subject: [PATCH 092/170] gnu: Krita: Build with libraw 0.18. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . Reported by Björn Höfling . * gnu/packages/photo.scm (libraw-0.18): New variable. * gnu/packages/kde.scm (krita)[inputs]: Use libraw-0.18. --- gnu/packages/kde.scm | 2 +- gnu/packages/photo.scm | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 0f2ede7f83..7b157853d3 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -316,7 +316,7 @@ plugins, as well as code to create plugins, or complete applications.") ("fftw" ,fftw) ("gsl" ,gsl) ("poppler-qt5" ,poppler-qt5) - ("libraw" ,libraw) + ("libraw" ,libraw-0.18) ("libtiff" ,libtiff) ("perl" ,perl) ("ilmbase" ,ilmbase) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 3fd3d0854b..7bdf04cb49 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -95,6 +95,18 @@ cameras (CRW/CR2, NEF, RAF, DNG, and others).") ;; both two licensing modes for your changes/additions." (license (list license:lgpl2.1 license:cddl1.0)))) +(define-public libraw-0.18 + (package (inherit libraw) + (name "libraw") + (version "0.18.12") + (source (origin + (method url-fetch) + (uri (string-append "https://www.libraw.org/data/LibRaw-" + version ".tar.gz")) + (sha256 + (base32 + "1m2khr2cij8z6lawgbmdksjn14fpnjsy8ad4qahnpqapm1slsxap")))))) + (define-public libexif (package (name "libexif") From ea59f0487b5b441e249e95ec93a2d39b5a413c2c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 28 Aug 2018 02:56:05 -0400 Subject: [PATCH 093/170] gnu: Remove Krita 3. Krita 3 fails to build with Qt 5.11.1. Since it's also unmaintained upstream, remove it. * gnu/packages/kde.scm (krita-3): Remove variable. --- gnu/packages/kde.scm | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 7b157853d3..aa5be6b515 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -329,23 +329,6 @@ illustrators, matte and texture artists, and the VFX industry. Notable features include brush stabilizers, brush engines and wrap-around mode.") (license license:gpl2+))) -;; Krita 3 and 4's file formats are incompatible, so we are keeping Krita 3 -;; for now. -(define-public krita-3 - (package - (inherit krita) - (name "krita") - (version "3.3.3") - (source (origin - (inherit (package-source krita)) - (uri (string-append - "mirror://kde/stable/krita/" - (version-prefix version 3) - "/" name "-" version ".tar.gz")) - (sha256 - (base32 - "0pc6hnakkqy81x5b5ncivaps6hqv43i50sjwgi3i3cz9j8rlxh5y")))))) - (define-public kholidays (package (name "kholidays") From 7ea90c217fe6343b435434e409451eb0bd6fb6eb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Sep 2018 13:23:39 +0200 Subject: [PATCH 094/170] gnu: nspr: Update to 4.20. * gnu/packages/gnuzilla.scm (nspr): Update to 4.20. --- gnu/packages/gnuzilla.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index b6bf89a75b..a543e040ff 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -323,7 +323,7 @@ in C/C++.") (define-public nspr (package (name "nspr") - (version "4.19") + (version "4.20") (source (origin (method url-fetch) (uri (string-append @@ -331,7 +331,7 @@ in C/C++.") version "/src/nspr-" version ".tar.gz")) (sha256 (base32 - "0agpv3f17h8kmzi0ifibaaxc1k3xc0q61wqw3l6r2xr2z8bmkn9f")))) + "0vjms4j75zvv5b2siyafg7hh924ysx2cwjad8spzp7x87n8n929c")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) From e59588482b2d0db4511571ba8971839251e24ec0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Sep 2018 13:26:13 +0200 Subject: [PATCH 095/170] gnu: nss, nss-certs: Update to 3.39 [fixes CVE-2018-12384]. * gnu/packages/gnuzilla.scm (nss): Update to 3.39. * gnu/packages/certs.scm (nss-certs): Likewise. --- gnu/packages/certs.scm | 4 ++-- gnu/packages/gnuzilla.scm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index cb05fb83fc..6af6877423 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.38") + (version "3.39") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "0qigcy3d169cf67jzv3rbai0m6dn34vp8h2z696mz4yn10y3sr1c")))) + "0jw6qlfl2g47hhx056nvnj6h92bk3sn46hy3ig61a911dzblvrkb")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index a543e040ff..77a74a0ec4 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -359,7 +359,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.38") + (version "3.39") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -370,7 +370,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "0qigcy3d169cf67jzv3rbai0m6dn34vp8h2z696mz4yn10y3sr1c")) + "0jw6qlfl2g47hhx056nvnj6h92bk3sn46hy3ig61a911dzblvrkb")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" "nss-increase-test-timeout.patch")))) From ead46692ec8a17ed9cf668131343d7cf1b3725e5 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Fri, 31 Aug 2018 05:50:33 +0300 Subject: [PATCH 096/170] gnu: Add zabbix-agentd and zabbix-server. * gnu/packages/monitoring.scm (zabbix-agentd, zabbix-server): New variables. --- gnu/packages/monitoring.scm | 85 ++++++++++++++++++++++++++++++++++++- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index fae62d5493..a59e51a5e3 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -3,7 +3,8 @@ ;;; Copyright © 2018 Sou Bunnbu ;;; Copyright © 2017, 2018 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018 Gábor Boskovits +;;; Copyright © 2018 Gábor Boskovits w +;;; Copyright © 2018 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,18 +30,25 @@ #:use-module (guix build-system python) #:use-module (guix build-system gnu) #:use-module (guix build-system go) + #:use-module (guix utils) #:use-module (gnu packages admin) #:use-module (gnu packages base) + #:use-module (gnu packages curl) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages django) #:use-module (gnu packages gd) #:use-module (gnu packages image) #:use-module (gnu packages mail) + #:use-module (gnu packages networking) + #:use-module (gnu packages libevent) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages python-web) - #:use-module (gnu packages time)) + #:use-module (gnu packages time) + #:use-module (gnu packages tls)) (define-public nagios (package @@ -138,6 +146,79 @@ etc. via a Web interface. Features include: @end itemize\n") (license license:gpl2))) +(define-public zabbix-agentd + (package + (name "zabbix-agentd") + (version "3.4.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/zabbix/ZABBIX%20Latest%20Stable/" version + "/zabbix-" version ".tar.gz")) + (sha256 + (base32 + "0qxgf6hx7ibhjmxd2sxizkjc8df4c9d31wz5hhql409ws98qf173")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--enable-agent" + (string-append "--with-iconv=" + (assoc-ref %build-inputs "libiconv")) + (string-append "--with-libpcre=" + (assoc-ref %build-inputs "pcre"))))) + (inputs + `(("libiconv" ,libiconv) + ("pcre" ,pcre))) + (home-page "https://www.zabbix.com/") + (synopsis "Distributed monitoring solution (client-side agent)") + (description "This package provides a distributed monitoring +solution (client-side agent)") + (license license:gpl2))) + +(define-public zabbix-server + (package + (inherit zabbix-agentd) + (name "zabbix-server") + (arguments + (substitute-keyword-arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-frontend + (lambda* (#:key outputs #:allow-other-keys) + (let* ((php (string-append (assoc-ref outputs "out") + "/share/zabbix/php")) + (front-end-conf (string-append php "/conf")) + (etc (string-append php "/etc"))) + (mkdir-p php) + (copy-recursively "./frontends/php" php) + (rename-file front-end-conf + (string-append front-end-conf "-example")) + (symlink "/etc/zabbix" front-end-conf))))) + ,@(package-arguments zabbix-agentd)) + ((#:configure-flags flags) + `(cons* "--enable-server" + "--with-postgresql" + (string-append "--with-libevent=" + (assoc-ref %build-inputs "libevent")) + "--with-net-snmp" + (string-append "--with-gnutls=" + (assoc-ref %build-inputs "gnutls")) + "--with-libcurl" + ,flags)))) + (inputs + `(("curl" ,curl) + ("libevent" ,libevent) + ("gnutls" ,gnutls) + ("postgresql" ,postgresql) + ("zlib" ,zlib) + ("net-snmp" ,net-snmp) + ("curl" ,curl) + ,@(package-inputs zabbix-agentd))) + (synopsis "Distributed monitoring solution (server-side)") + (description "This package provides a distributed monitoring +solution (server-side)"))) + (define-public darkstat (package (name "darkstat") From 352b5d7e746674b1dd4b8a30b05ef8ac567afa14 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 11:49:51 +0200 Subject: [PATCH 097/170] gnu: Add ruby-concurrent. * gnu/packages/ruby.scm (ruby-concurrent): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 908dfd5751..e0a76fed2c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -193,6 +193,25 @@ a focus on simplicity and productivity.") (("/bin/sh") (which "sh"))) #t))))))) +(define-public ruby-concurrent + (package + (name "ruby-concurrent") + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (rubygems-uri "concurrent-ruby" version)) + (sha256 + (base32 + "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://github.com/ruby-concurrency/concurrent-ruby") + (synopsis "Concurrency tools for Ruby") + (description "This gem provides concurrency tools for Ruby. It provides +a library of common thread-safe types and data-structures as well as abstractions +for concurrency and communication between threads.") + (license license:expat))) + (define-public ruby-highline (package (name "ruby-highline") From cbb50182adc4e5252e4f1bf9010c09ada94f7ae1 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 11:51:17 +0200 Subject: [PATCH 098/170] gnu: ruby-i18n: Update to 1.1.0. * gnu/packages/ruby.scm (ruby-i18n): Update to 1.1.0. --- gnu/packages/ruby.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e0a76fed2c..ef6cc24f7f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -281,16 +281,17 @@ packaging native C and Java extensions in Ruby.") (define-public ruby-i18n (package (name "ruby-i18n") - (version "0.7.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "i18n" version)) (sha256 (base32 - "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758")))) + "0ppvmla21hssvrfm8g1n2fnb4lxn4yhy9qmmba0imanflgldrjmr")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no tests + (propagated-inputs `(("concurrent-ruby" ,ruby-concurrent))) (synopsis "Internationalization library for Ruby") (description "Ruby i18n is an internationalization and localization solution for Ruby programs. It features translation and localization, From ef381322d57e07153aad7c93e8c5b6a9ec5525fc Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 12:20:53 +0200 Subject: [PATCH 099/170] gnu: ruby-activesupport: Update to 5.2.1. * gnu/packages/ruby.scm (ruby-activesupport): Update to 5.2.1. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ef6cc24f7f..3ead6d710b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3036,14 +3036,14 @@ you about the changes.") (define-public ruby-activesupport (package (name "ruby-activesupport") - (version "5.1.4") + (version "5.2.1") (source (origin (method url-fetch) (uri (rubygems-uri "activesupport" version)) (sha256 (base32 - "0sgf4rsfr7jcaqsx0wwzx4l4k9xsjlwv0mzl08pxiyp1qzyx8scr")))) + "0ziy6xk31k4fs115cdkba1ys4i8nzcyri7a2jig7nx7k5h7li6l2")))) (build-system ruby-build-system) (arguments `(#:phases From afb7a3e8d56f34b60c99f5d636a7ce152667fc80 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 12:38:32 +0200 Subject: [PATCH 100/170] gnu: ruby-ttfunk: Update to 1.5.1. * gnu/packages/ruby.scm (ruby-ttfunk): Update to 1.5.1. --- gnu/packages/ruby.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3ead6d710b..5bbd81f261 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4678,7 +4678,7 @@ binary-to-text encoding. The main modern use of Ascii85 is in PostScript and (define-public ruby-ttfunk (package (name "ruby-ttfunk") - (version "1.4.0") + (version "1.5.1") (source (origin (method url-fetch) @@ -4689,12 +4689,18 @@ binary-to-text encoding. The main modern use of Ascii85 is in PostScript and (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1izq84pnm9niyvkzp8k0vl232q9zj41hwmp9na9fzycfh1pbnsl6")))) + "1ymcn12n5iws401yz03zsj8rr653fdqq13czsrciq09phgh9jzc5")))) (build-system ruby-build-system) (arguments `(#:test-target "spec" #:phases (modify-phases %standard-phases + (add-before 'build 'remove-ssh + (lambda _ + ;; remove dependency on an ssh key pair that doesn't exist + (substitute* "ttfunk.gemspec" + (("spec.signing_key.*") "")) + #t)) (add-before 'check 'remove-rubocop (lambda _ ;; remove rubocop as a dependency as not needed for testing @@ -4702,10 +4708,11 @@ binary-to-text encoding. The main modern use of Ascii85 is in PostScript and (("spec.add_development_dependency\\('rubocop'.*") "")) (substitute* "Rakefile" (("require 'rubocop/rake_task'") "") - (("Rubocop::RakeTask.new") "")) + (("RuboCop::RakeTask.new") "")) #t))))) (native-inputs `(("ruby-rspec" ,ruby-rspec) + ("ruby-yard" ,ruby-yard) ("bundler" ,bundler))) (synopsis "Font metrics parser for the Prawn PDF generator") (description From 0d16905b60bd4dab70dfafdb0a8d6fd29a304c44 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 12:39:15 +0200 Subject: [PATCH 101/170] gnu: Add ruby-public-suffix. * gnu/packages/ruby.scm (ruby-public-suffix): New variable. --- gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5bbd81f261..367832d277 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5097,3 +5097,27 @@ programs running in the background, in Ruby.") (sha256 (base32 "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p")))))) + +(define-public ruby-public-suffix + (package + (name "ruby-public-suffix") + (version "3.0.3") + (source (origin + (method url-fetch) + (uri (rubygems-uri "public_suffix" version)) + (sha256 + (base32 + "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l")))) + (build-system ruby-build-system) + (arguments + ;; Tests require network + `(#:tests? #f)) + (home-page "https://simonecarletti.com/code/publicsuffix-ruby/") + (synopsis "Domain name parser") + (description "The gem @code{public_suffix} is a domain name parser, +written in Ruby, and based on the @dfn{Public Suffix List}. A public suffix +is one under which Internet users can (or historically could) directly +register names. Some examples of public suffixes are @code{.com}, +@code{.co.uk} and @code{pvt.k12.ma.us}. The Public Suffix List is a list of +all known public suffixes.") + (license license:expat))) From 6f2c4efb56520f8f63ee7f15f694f5582b4d04c4 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 12:40:12 +0200 Subject: [PATCH 102/170] gnu: Add ruby-addressable. * gnu/package/ruby.scm (ruby-addressable): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 367832d277..862193f305 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5121,3 +5121,26 @@ register names. Some examples of public suffixes are @code{.com}, @code{.co.uk} and @code{pvt.k12.ma.us}. The Public Suffix List is a list of all known public suffixes.") (license license:expat))) + +(define-public ruby-addressable + (package + (name "ruby-addressable") + (version "2.5.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "addressable" version)) + (sha256 + (base32 + "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-public-suffix" ,ruby-public-suffix))) + (arguments + ;; No test target + `(#:tests? #f)) + (home-page "https://github.com/sporkmonger/addressable") + (synopsis "Alternative URI implementation") + (description "Addressable is a replacement for the URI implementation that +is part of Ruby's standard library. It more closely conforms to RFC 3986, +RFC 3987, and RFC 6570 (level 4), providing support for IRIs and URI templates.") + (license license:asl2.0))) From 9c7f15c048636fcba8f64f6e257482a01396ae6f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 13:08:32 +0200 Subject: [PATCH 103/170] gnu: Add ruby-colorator. * gnu/packages/ruby.scm (ruby-colorator): New variable. --- gnu/packages/ruby.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 862193f305..90af1481c9 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5144,3 +5144,23 @@ all known public suffixes.") is part of Ruby's standard library. It more closely conforms to RFC 3986, RFC 3987, and RFC 6570 (level 4), providing support for IRIs and URI templates.") (license license:asl2.0))) + +(define-public ruby-colorator + (package + (name "ruby-colorator") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "colorator" version)) + (sha256 + (base32 + "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72")))) + (build-system ruby-build-system) + (arguments + ;; No test target + `(#:tests? #f)) + (home-page "http://octopress.org/colorator/") + (synopsis "Terminal color library") + (description "Colorator is a Ruby gem that helps you colorize your text +for the terminal.") + (license license:expat))) From 78b9c291f6d656e2912f59b9eaf8dfaca925ea94 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 13:10:06 +0200 Subject: [PATCH 104/170] gnu: Add ruby-command-line-reporter. * gnu/packages/ruby.scm (ruby-command-line-reporter): New variable. --- gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 90af1481c9..7dab7b834f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5164,3 +5164,36 @@ RFC 3987, and RFC 6570 (level 4), providing support for IRIs and URI templates." (description "Colorator is a Ruby gem that helps you colorize your text for the terminal.") (license license:expat))) + +(define-public ruby-command-line-reporter + (package + (name "ruby-command-line-reporter") + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "command_line_reporter" version)) + (sha256 + (base32 + "1qma35xrb772whxwy1rs9bicb9d6lvz0s2dd2dnn4fr6zcbcxc0a")))) + (build-system ruby-build-system) + (arguments + ;; No Rakefile + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-dependencies + (lambda _ + (substitute* ".gemspec" + ;; colored is unmaintained + (("colored") "colorator") + ;; colorator version + (("= 1.2") "= 1.1")) + #t))))) + (propagated-inputs `(("ruby-colorator" ,ruby-colorator))) + (home-page "https://github.com/wbailey/command_line_reporter") + (synopsis "Report production while executing Ruby scripts") + (description "This gem provides a DSL that makes it easy to write reports +of various types in ruby. It eliminates the need to litter your source with +puts statements, instead providing a more readable, expressive interface to +your application.") + (license license:asl2.0))) From f22c038799a9c83816ce6e19bf2220d4022ba642 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 13:41:18 +0200 Subject: [PATCH 105/170] gnu: Add ruby-command-line-reporter-3. * gnu/packages/ruby.scm (ruby-command-line-reporter-3): New variable. --- gnu/packages/ruby.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7dab7b834f..8321dda4cc 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5197,3 +5197,14 @@ of various types in ruby. It eliminates the need to litter your source with puts statements, instead providing a more readable, expressive interface to your application.") (license license:asl2.0))) + +(define-public ruby-command-line-reporter-3 + (package + (inherit ruby-command-line-reporter) + (version "3.3.6") + (source (origin + (method url-fetch) + (uri (rubygems-uri "command_line_reporter" version)) + (sha256 + (base32 + "1h39zqqxp3k4qk49ajpx0jps1vmvxgkh43mqkb6znk583bl0fv71")))))) From 6bba8ecf7b9a087d405d30373bd18a5e524f4918 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 13:42:29 +0200 Subject: [PATCH 106/170] gnu: Add ruby-rdoc. * gnu/packages/ruby.scm (ruby-rdoc): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 8321dda4cc..cd88ea921c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5208,3 +5208,24 @@ your application.") (sha256 (base32 "1h39zqqxp3k4qk49ajpx0jps1vmvxgkh43mqkb6znk583bl0fv71")))))) + +(define-public ruby-rdoc + (package + (name "ruby-rdoc") + (version "6.0.4") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rdoc" version)) + (sha256 + (base32 + "0anv42cqcdc6g4n386mrva7mgav5i0c2ry3yzvzzc6z6hymkmcr7")))) + (build-system ruby-build-system) + (native-inputs + `(("bundler" ,bundler))) + (home-page "https://ruby.github.io/rdoc/") + (synopsis "HTML and command-line documentation utility") + (description "RDoc produces HTML and command-line documentation for Ruby +projects. RDoc includes the +rdoc+ and +ri+ tools for generating and displaying +documentation from the command-line.") + (license license:gpl2+))) From 18077ffc4613be27d087eb4d3dadd5cdf189cd74 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 13:43:30 +0200 Subject: [PATCH 107/170] gnu: Add ruby-sass-listen. * gnu/packages/ruby.scm (ruby-sass-listen): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index cd88ea921c..60869be9b8 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5229,3 +5229,26 @@ your application.") projects. RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentation from the command-line.") (license license:gpl2+))) + +(define-public ruby-sass-listen + (package + (name "ruby-sass-listen") + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "sass-listen" version)) + (sha256 + (base32 + "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df")))) + (build-system ruby-build-system) + (arguments + ;; No test target + `(#:tests? #f)) + (propagated-inputs + `(("ruby-rb-fsevent" ,ruby-rb-fsevent) + ("ruby-rb-inotify" ,ruby-rb-inotify))) + (home-page "https://github.com/sass/listen") + (synopsis "File modification notification library") + (description "The Listen gem listens to file modifications and notifies you +about the changes.") + (license license:expat))) From 0c8eedc153cb7293f2bf148be32171a0e1ea7a39 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 13:47:16 +0200 Subject: [PATCH 108/170] gnu: Add ruby-terminfo. * gnu/packages/ruby.scm (ruby-terminfo): New variable. --- gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 60869be9b8..5fdf53c9c9 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages libffi) #:use-module (gnu packages maths) + #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages python) #:use-module (gnu packages ragel) @@ -5252,3 +5253,30 @@ documentation from the command-line.") (description "The Listen gem listens to file modifications and notifies you about the changes.") (license license:expat))) + +(define-public ruby-terminfo + (package + (name "ruby-terminfo") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "ruby-terminfo" version)) + (sha256 + (base32 + "0rl4ic5pzvrpgd42z0c1s2n3j39c9znksblxxvmhkzrc0ckyg2cm")))) + (build-system ruby-build-system) + (arguments + `(#:test-target "test" + ;; Rakefile requires old packages and would need modification to + ;; work with current software. + #:tests? #f)) + (inputs + `(("ncurses" ,ncurses))) + (native-inputs + `(("ruby-rubygems-tasks" ,ruby-rubygems-tasks) + ("ruby-rdoc" ,ruby-rdoc))) + (home-page "http://www.a-k-r.org/ruby-terminfo/") + (synopsis "Terminfo binding for Ruby") + (description "Ruby-terminfo provides terminfo binding for Ruby.") + (license license:bsd-3))) From ddc3a66798919afe98173dbd176ce818c57949af Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 13:48:13 +0200 Subject: [PATCH 109/170] gnu: Add ruby-diffy. * gnu/packages/ruby.scm (ruby-diffy): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5fdf53c9c9..0f2b66139f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5280,3 +5280,26 @@ about the changes.") (synopsis "Terminfo binding for Ruby") (description "Ruby-terminfo provides terminfo binding for Ruby.") (license license:bsd-3))) + +(define-public ruby-diffy + (package + (name "ruby-diffy") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "diffy" version)) + (sha256 + (base32 + "119imrkn01agwhx5raxhknsi331y5i4yda7r0ws0an6905ximzjg")))) + (build-system ruby-build-system) + (arguments + ;; No tests + `(#:tests? #f)) + (native-inputs + `(("ruby-rspec" ,ruby-rspec))) + (home-page "https://github.com/samg/diffy") + (synopsis "Convenient diffing in ruby") + (description "Diffy provides a convenient way to generate a diff from two +strings or files.") + (license license:expat))) From 6456beef016fea4189b24a5f960ce8e98cd245cc Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 13:50:52 +0200 Subject: [PATCH 110/170] gnu: Add ruby-sass-spec. * gnu/packages/ruby.scm (ruby-sass-spec): New variable. --- gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0f2b66139f..c644ba75bd 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5303,3 +5303,29 @@ about the changes.") (description "Diffy provides a convenient way to generate a diff from two strings or files.") (license license:expat))) + +(define-public ruby-sass-spec + (package + (name "ruby-sass-spec") + (version "3.5.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/sass/sass-spec/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nx8lp7c9qa58w489crgqa3c489xsyarn1a8h4np9mwwfqm1h3rr")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-command-line-reporter-3" ,ruby-command-line-reporter-3) + ("ruby-diffy" ,ruby-diffy) + ("ruby-terminfo" ,ruby-terminfo))) + (arguments + ;; No Rakefile + `(#:tests? #f)) + (home-page "https://github.com/sass/sass-spec") + (synopsis "Test suite for Sass") + (description "Sass Spec is a test suite for Sass. Test cases are all in +the @file{spec} directory.") + (license license:expat))) From f00f4492236e9006c022972d4e7ef21c6e301c4b Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 13:54:09 +0200 Subject: [PATCH 111/170] gnu: Add ruby-sass. * gnu/packages/ruby.scm (ruby-sass): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c644ba75bd..58a9c97ded 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5329,3 +5329,24 @@ strings or files.") (description "Sass Spec is a test suite for Sass. Test cases are all in the @file{spec} directory.") (license license:expat))) + +(define-public ruby-sass + (package + (name "ruby-sass") + (version "3.5.7") + (source (origin + (method url-fetch) + (uri (rubygems-uri "sass" version)) + (sha256 + (base32 + "1sy7xsbgpcy90j5ynbq967yplffp74pvph3r8ivn2sv2b44q6i61")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-sass-listen" ,ruby-sass-listen))) + (native-inputs + `(("ruby-sass-spec" ,ruby-sass-spec))) + (home-page "http://sass-lang.com/") + (synopsis "CSS extension language") + (description "Sass is a CSS extension language. It extends CSS with +features that don't exist yet like variables, nesting, mixins and inheritance.") + (license license:expat))) From 5e242cb44ca0f57cc2fb483e8b3a211cd633b9bc Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 14:07:08 +0200 Subject: [PATCH 112/170] gnu: Add ruby-jekyll-sass-converter. * gnu/packages/ruby.scm (ruby-jekyll-sass-converter): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 58a9c97ded..548d79e428 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5350,3 +5350,25 @@ the @file{spec} directory.") (description "Sass is a CSS extension language. It extends CSS with features that don't exist yet like variables, nesting, mixins and inheritance.") (license license:expat))) + +(define-public ruby-jekyll-sass-converter + (package + (name "ruby-jekyll-sass-converter") + (version "1.5.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "jekyll-sass-converter" version)) + (sha256 + (base32 + "008ikh5fk0n6ri54mylcl8jn0mq8p2nfyfqif2q3pp0lwilkcxsk")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-sass" ,ruby-sass))) + (arguments + ;; No rakefile + `(#:tests? #f)) + (home-page "https://github.com/jekyll/jekyll-sass-converter") + (synopsis "Sass converter for Jekyll") + (description "This gem provide built-in support for the Sass converter +in Jekyll.") + (license license:expat))) From 88ed727fc5513ffbb87cba52604d0689939f3b3d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 14:08:06 +0200 Subject: [PATCH 113/170] gnu: Add ruby-listen-3.0. * gnu/packages/ruby.scm (ruby-listen-3.0): New variable. --- gnu/packages/ruby.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 548d79e428..a21e1fea9a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3034,6 +3034,17 @@ you about the changes.") (home-page "https://github.com/guard/listen") (license license:expat))) +(define-public ruby-listen-3.0 + (package + (inherit ruby-listen) + (version "3.0.8") + (source (origin + (method url-fetch) + (uri (rubygems-uri "listen" version)) + (sha256 + (base32 + "1l0y7hbyfiwpvk172r28hsdqsifq1ls39hsfmzi1vy4ll0smd14i")))))) + (define-public ruby-activesupport (package (name "ruby-activesupport") From ceac6f6f5bca77d541f793b2825d9de401be8aa6 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 14:11:13 +0200 Subject: [PATCH 114/170] gnu: Add ruby-jekyll-watch. * gnu/packages/ruby.scm (ruby-jekyll-watch): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a21e1fea9a..58cd6fc6d7 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5383,3 +5383,25 @@ features that don't exist yet like variables, nesting, mixins and inheritance.") (description "This gem provide built-in support for the Sass converter in Jekyll.") (license license:expat))) + +(define-public ruby-jekyll-watch + (package + (name "ruby-jekyll-watch") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "jekyll-watch" version)) + (sha256 + (base32 + "0m7scvj3ki8bmyx5v8pzibpg6my10nycnc28lip98dskf8iakprp")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-listen-3.0" ,ruby-listen-3.0))) + (arguments + ;; No rakefile + `(#:tests? #f)) + (home-page "https://github.com/jekyll/jekyll-watch") + (synopsis "Jekyll auto-rebuild support") + (description "This gems add the @code{--watch} switch to the jekyll CLI +interface. It allows Jekyll to rebuild your site when a file changes.") + (license license:expat))) From 3224a5a84a261fcc8a6972ace1cbd0018371d34f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 15:24:40 +0200 Subject: [PATCH 115/170] gnu: Add ruby-parallel. * gnu/packages/ruby.scm (ruby-parallel): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 58cd6fc6d7..c3ce6ca39a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5405,3 +5405,22 @@ in Jekyll.") (description "This gems add the @code{--watch} switch to the jekyll CLI interface. It allows Jekyll to rebuild your site when a file changes.") (license license:expat))) + +(define-public ruby-parallel + (package + (name "ruby-parallel") + (version "1.12.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "parallel" version)) + (sha256 + (base32 + "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://github.com/grosser/parallel") + (synopsis "Parallel processing in Ruby") + (description "Parallel allows you to run any code in parallel Processes +(to use all CPUs) or Threads(to speedup blocking operations). It is best +suited for map-reduce or e.g. parallel downloads/uploads.") + (license license:expat))) From 83d9f672212907bb0c683f0be428c1d847bf6001 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 15:28:00 +0200 Subject: [PATCH 116/170] gnu: Add ruby-cane. * gnu/packages/ruby.scm (ruby-cane): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c3ce6ca39a..b7a55fa31f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5424,3 +5424,22 @@ interface. It allows Jekyll to rebuild your site when a file changes.") (to use all CPUs) or Threads(to speedup blocking operations). It is best suited for map-reduce or e.g. parallel downloads/uploads.") (license license:expat))) + +(define-public ruby-cane + (package + (name "ruby-cane") + (version "3.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "cane" version)) + (sha256 + (base32 + "0yf5za3l7lhrqa3g56sah73wh33lbxy5y3cb7ij0a2bp1b4kwhih")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://github.com/square/cane") + (propagated-inputs + `(("ruby-parallel" ,ruby-parallel))) + (synopsis "Code quality threshold checking") + (description "Cane fails your build if code quality thresholds are not met.") + (license license:asl2.0))) From 00d71efca6be6bff7e2bb0f5a61ae8a7929af39a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 15:33:08 +0200 Subject: [PATCH 117/170] gnu: Add ruby-morecane. * gnu/packages/ruby.scm (ruby-morecane): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index b7a55fa31f..93ed29443e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5443,3 +5443,25 @@ suited for map-reduce or e.g. parallel downloads/uploads.") (synopsis "Code quality threshold checking") (description "Cane fails your build if code quality thresholds are not met.") (license license:asl2.0))) + +(define-public ruby-morecane + (package + (name "ruby-morecane") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "morecane" version)) + (sha256 + (base32 + "0w70vb8z5bdhvr21h660aa43m5948pv0bd27z7ngai2iwdvqd771")))) + (build-system ruby-build-system) + (home-page "https://github.com/yob/morecane") + (arguments `(#:tests? #f)); No rakefile + (propagated-inputs + `(("ruby-parallel" ,ruby-parallel))) + (synopsis "Extra checks for cane") + (description "The cane gem provides a great framework for running quality +checks over your ruby project as part of continuous integration build. It +comes with a few checks out of the box, but also provides an API for loading +custom checks. This gem provides a set of additional checks.") + (license license:expat))) From abbe629c6a25bea320e49163fff71d33521bb127 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 15:35:36 +0200 Subject: [PATCH 118/170] gnu: Add ruby-pdf-reader. * gnu/packages/ruby.scm (ruby-pdf-reader): New variable. --- gnu/packages/ruby.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 93ed29443e..86b00ef8ae 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5465,3 +5465,33 @@ checks over your ruby project as part of continuous integration build. It comes with a few checks out of the box, but also provides an API for loading custom checks. This gem provides a set of additional checks.") (license license:expat))) + +(define-public ruby-pdf-reader + (package + (name "ruby-pdf-reader") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "pdf-reader" version)) + (sha256 + (base32 + "1b3ig4wpcgdbqa7yw0ahwbmikkkywn2a22bfmrknl5ls7g066x45")))) + (build-system ruby-build-system) + (arguments `(#:test-target "spec")) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec) + ("ruby-cane" ,ruby-cane) + ("ruby-morecane" ,ruby-morecane))) + (propagated-inputs + `(("ruby-afm" ,ruby-afm) + ("ruby-ascii85" ,ruby-ascii85) + ("ruby-hashery" ,ruby-hashery) + ("ruby-rc4" ,ruby-rc4) + ("ruby-ttfunk" ,ruby-ttfunk))) + (home-page "https://github.com/yob/pdf-reader") + (synopsis "PDF parser in Ruby") + (description "The PDF::Reader library implements a PDF parser conforming as +much as possible to the PDF specification from Adobe. It provides programmatic +access to the contents of a PDF file with a high degree of flexibility.") + (license license:gpl3+))) From 461fb8598efc319a61d3be0996a4f7d402839539 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 15:46:24 +0200 Subject: [PATCH 119/170] gnu: Add ruby-pdf-inspector. * gnu/packages/ruby.scm (ruby-pdf-inspector): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 86b00ef8ae..1ea41109cc 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5495,3 +5495,24 @@ custom checks. This gem provides a set of additional checks.") much as possible to the PDF specification from Adobe. It provides programmatic access to the contents of a PDF file with a high degree of flexibility.") (license license:gpl3+))) + +(define-public ruby-pdf-inspector + (package + (name "ruby-pdf-inspector") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "pdf-inspector" version)) + (sha256 + (base32 + "1g853az4xzgqxr5xiwhb76g4sqmjg4s79mm35mp676zjsrwpa47w")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-pdf-reader" ,ruby-pdf-reader))) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://github.com/prawnpdf/pdf-inspector") + (synopsis "Analysis classes for inspecting PDF output") + (description "This library provides a number of PDF::Reader based tools for +use in testing PDF output. Presently, the primary purpose of this tool is to +support the tests found in Prawn, a pure Ruby PDF generation library.") + (license license:gpl3+))) From 770e3b535e0c90764ce58ee8bfb2d68bc0324f7a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 15:57:51 +0200 Subject: [PATCH 120/170] gnu: Add ruby-pdf-core. * gnu/packages/ruby.scm (ruby-pdf-core): New variable. --- gnu/packages/ruby.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 1ea41109cc..c21e4cc2d4 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5516,3 +5516,23 @@ access to the contents of a PDF file with a high degree of flexibility.") use in testing PDF output. Presently, the primary purpose of this tool is to support the tests found in Prawn, a pure Ruby PDF generation library.") (license license:gpl3+))) + +(define-public ruby-pdf-core + (package + (name "ruby-pdf-core") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "pdf-core" version)) + (sha256 + (base32 + "15d6m99bc8bbzlkcg13qfpjjzphfg5x905pjbfygvpcxsm8gnsvg")))) + (build-system ruby-build-system) + (arguments + ; No test target + `(#:tests? #f)) + (home-page "https://github.com/prawnpdf/pdf-core") + (synopsis "Low level PDF features for Prawn") + (description "This is an experimental gem that extracts low-level PDF +functionality from Prawn.") + (license license:gpl3+))) From 37fbced73c3aeb85472c1f3008eb32a2d87f67ef Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 16:00:00 +0200 Subject: [PATCH 121/170] gnu: Add ruby-yard. * gnu/packages/ruby.scm (ruby-yard): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c21e4cc2d4..7085adc1a0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5536,3 +5536,24 @@ support the tests found in Prawn, a pure Ruby PDF generation library.") (description "This is an experimental gem that extracts low-level PDF functionality from Prawn.") (license license:gpl3+))) + +(define-public ruby-yard + (package + (name "ruby-yard") + (version "0.9.16") + (source (origin + (method url-fetch) + (uri (rubygems-uri "yard" version)) + (sha256 + (base32 + "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67")))) + (build-system ruby-build-system) + (arguments `(#:test-target "spec")) + (home-page "https://yardoc.org/") + (synopsis "Ruby documentation tool") + (description "YARD is a documentation generation tool for the Ruby +programming language. It enables the user to generate consistent, usable +documentation that can be exported to a number of formats very easily, and +also supports extending for custom Ruby constructs such as custom class level +definitions.") + (license license:expat))) From 7ad8dd086c982e7cf971385d7fadd2a0d1feb209 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 16:07:25 +0200 Subject: [PATCH 122/170] gnu: Add ruby-prawn. * gnu/packages/ruby.scm (ruby-prawn): New variable. --- gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7085adc1a0..b1da911d9d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5557,3 +5557,38 @@ documentation that can be exported to a number of formats very easily, and also supports extending for custom Ruby constructs such as custom class level definitions.") (license license:expat))) + +(define-public ruby-prawn + (package + (name "ruby-prawn") + (version "2.2.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "prawn" version)) + (sha256 + (base32 + "1qdjf1v6sfl44g3rqxlg8k4jrzkwaxgvh2l4xws97a8f3xv4na4m")))) + (build-system ruby-build-system) + (arguments + ; No tests + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-dependencies + (lambda _ + (substitute* "prawn.gemspec" + (("~> 0.7.0") "~> 0.7")) + #t))))) + (propagated-inputs + `(("ruby-pdf-core" ,ruby-pdf-core) + ("ruby-ttfunk" ,ruby-ttfunk))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-pdf-inspector" ,ruby-pdf-inspector) + ("ruby-rspec" ,ruby-rspec) + ("ruby-simplecov" ,ruby-simplecov) + ("ruby-yard" ,ruby-yard))) + (home-page "http://prawnpdf.org/api-docs/2.0/") + (synopsis "PDF generation for Ruby") + (description "Prawn is a pure Ruby PDF generation library.") + (license license:gpl3+))) From 197ca8ecd20e52bc5993dbc2f223274fcdb85e36 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 16:09:04 +0200 Subject: [PATCH 123/170] gnu: Add ruby-prawn-table. * gnu/packages/ruby.scm (ruby-prawn-table): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index b1da911d9d..dcc79732a5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5592,3 +5592,22 @@ definitions.") (synopsis "PDF generation for Ruby") (description "Prawn is a pure Ruby PDF generation library.") (license license:gpl3+))) + +(define-public ruby-prawn-table + (package + (name "ruby-prawn-table") + (version "0.2.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "prawn-table" version)) + (sha256 + (base32 + "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (propagated-inputs + `(("ruby-prawn" ,ruby-prawn))) + (home-page "https://github.com/prawnpdf/prawn-table") + (synopsis "Tables support for Prawn") + (description "This gem provides tables support for Prawn.") + (license license:gpl3+))) From 0312706955d9b790671af4c8553bf70cf07057d0 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 16:19:36 +0200 Subject: [PATCH 124/170] gnu: Add ruby-kramdown. * gnu/packages/ruby.scm (ruby-kramdown): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index dcc79732a5..f7688aa51a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5611,3 +5611,26 @@ definitions.") (synopsis "Tables support for Prawn") (description "This gem provides tables support for Prawn.") (license license:gpl3+))) + +(define-public ruby-kramdown + (package + (name "ruby-kramdown") + (version "1.17.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "kramdown" version)) + (sha256 + (base32 + "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); FIXME: some test failures + (native-inputs + `(("ruby-prawn" ,ruby-prawn) + ("ruby-prawn-table" ,ruby-prawn-table))) + (home-page "https://kramdown.gettalong.org/") + (synopsis "Markdown parsing and converting library") + (description "Kramdown is a library for parsing and converting a superset +of Markdown. It is completely written in Ruby, supports standard Markdown +(with some minor modifications) and various extensions that have been made +popular by the PHP @code{Markdown Extra} package and @code{Maruku}.") + (license license:expat))) From fa0063bcf437e375d32126d33fa5f1d1044e8b08 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 16:48:39 +0200 Subject: [PATCH 125/170] gnu: Add ruby-http-parser.rb. * gnu/packages/ruby.scm (ruby-http-parser.rb): New variable. --- gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f7688aa51a..93772d9300 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5634,3 +5634,27 @@ of Markdown. It is completely written in Ruby, supports standard Markdown (with some minor modifications) and various extensions that have been made popular by the PHP @code{Markdown Extra} package and @code{Maruku}.") (license license:expat))) + +(define-public ruby-http-parser.rb + (package + (name "ruby-http-parser.rb") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "http_parser.rb" version)) + (sha256 + (base32 + "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi")))) + (build-system ruby-build-system) + (arguments + ;; No tests + `(#:tests? #f)) + (native-inputs + `(("ruby-rake-compiler" ,ruby-rake-compiler) + ("ruby-rspec" ,ruby-rspec))) + (home-page "https://github.com/tmm1/http_parser.rb") + (synopsis "HTTP parser un Ruby") + (description "This gem is a simple callback-based HTTP request/response +parser for writing http servers, clients and proxies.") + (license license:expat))) From 5e2f74bdb847db3b4dd429efcacd6dd4432a771b Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 16:55:00 +0200 Subject: [PATCH 126/170] gnu: Add ruby-em-websocket. * gnu/packages/ruby.scm (ruby-em-websocket): New variable. --- gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 93772d9300..024a99ab4c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5658,3 +5658,30 @@ popular by the PHP @code{Markdown Extra} package and @code{Maruku}.") (description "This gem is a simple callback-based HTTP request/response parser for writing http servers, clients and proxies.") (license license:expat))) + +(define-public ruby-em-websocket + (package + (name "ruby-em-websocket") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "em-websocket" version)) + (sha256 + (base32 + "1bsw8vjz0z267j40nhbmrvfz7dvacq4p0pagvyp17jif6mj6v7n3")))) + (build-system ruby-build-system) + (arguments + ;; No tests + `(#:tests? #f)) + (propagated-inputs + `(("ruby-eventmachine" ,ruby-eventmachine) + ("ruby-http-parser.rb" ,ruby-http-parser.rb))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (home-page "https://github.com/igrigorik/em-websocket") + (synopsis "EventMachine based WebSocket server") + (description "Em-websocket is an EventMachine based WebSocket server +implementation.") + (license license:expat))) From 4ce0414bca13f609db27371a4f75c6e37111d10f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:03:59 +0200 Subject: [PATCH 127/170] gnu: Add ruby-rouge. * gnu/packages/ruby.scm (ruby-rouge): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 024a99ab4c..e605f3e6de 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5685,3 +5685,26 @@ parser for writing http servers, clients and proxies.") (description "Em-websocket is an EventMachine based WebSocket server implementation.") (license license:expat))) + +(define-public ruby-rouge + (package + (name "ruby-rouge") + (version "3.2.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "rouge" version)) + (sha256 + (base32 + "0h79gn2wmn1wix2d27lgiaimccyj8gvizrllyym500pir408x62f")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "http://rouge.jneen.net/") + (synopsis "Code highlighter") + (description "Rouge is a code highlighter written in Ruby. It supports more +than 100 languages and outputs HTML or ANSI 256-color text. Its HTML output +is compatible with stylesheets designed for pygments.") + (license (list + ;; rouge is licensed under expat + license:expat + ;; pygments is licensed under bsd-2 + license:bsd-2)))) From 2c5028bd97d50723b1a0ad1b2b5781487779b78b Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:04:59 +0200 Subject: [PATCH 128/170] gnu: Add ruby-rouge-2. * gnu/packages/ruby.scm (ruby-rouge-2): New variable. --- gnu/packages/ruby.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e605f3e6de..9aabd4ff8f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5708,3 +5708,14 @@ is compatible with stylesheets designed for pygments.") license:expat ;; pygments is licensed under bsd-2 license:bsd-2)))) + +(define-public ruby-rouge-2 + (package + (inherit ruby-rouge) + (version "2.2.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "rouge" version)) + (sha256 + (base32 + "02kpahk5nkc33yxnn75649kzxaz073wvazr2zyg491nndykgnvcs")))))) From 2e072e37aa0c5cf0fc612c9e4d5540cec6189b13 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:08:08 +0200 Subject: [PATCH 129/170] gnu: Add ruby-hashie. * gnu/packages/ruby.scm (ruby-hashie): New variable. --- gnu/packages/ruby.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9aabd4ff8f..bfb98a0bff 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5719,3 +5719,23 @@ is compatible with stylesheets designed for pygments.") (sha256 (base32 "02kpahk5nkc33yxnn75649kzxaz073wvazr2zyg491nndykgnvcs")))))) + +(define-public ruby-hashie + (package + (name "ruby-hashie") + (version "3.6.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "hashie" version)) + (sha256 + (base32 + "13bdzfp25c8k51ayzxqkbzag3wj5gc1jd8h7d985nsq6pn57g5xh")))) + (build-system ruby-build-system) + (native-inputs + `(("bundler" ,bundler))) + (arguments `(#:tests? #f)); FIXME: Could not locate Gemfile or .bundle/ directory + (home-page "https://github.com/intridea/hashie") + (synopsis "Extensions to Ruby Hashes") + (description "Hashie is a collection of classes and mixins that make Ruby +hashes more powerful.") + (license license:expat))) From 73bfc125ef61980920cd01691032153deba4b98d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:10:37 +0200 Subject: [PATCH 130/170] gnu: Add ruby-heredoc-unindent. * gnu/packages/ruby.scm (ruby-heredoc-unindent): New variable. --- gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index bfb98a0bff..34d883284d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5739,3 +5739,29 @@ is compatible with stylesheets designed for pygments.") (description "Hashie is a collection of classes and mixins that make Ruby hashes more powerful.") (license license:expat))) + +(define-public ruby-heredoc-unindent + (package + (name "ruby-heredoc-unindent") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "heredoc_unindent" version)) + (sha256 + (base32 + "14ijr2fsjwhrkjkcaz81d5xnfa4vvgvcflrff83avqw9klm011yw")))) + (build-system ruby-build-system) + (native-inputs + `(("ruby-hoe" ,ruby-hoe))) + (home-page "https://github.com/adrianomitre/heredoc_unindent") + (synopsis "Heredoc indentation cleaner") + (description "This gem removes common margin from indented strings, such +as the ones produced by indented heredocs. In other words, it strips out +leading whitespace chars at the beggining of each line, but only as much as +the line with the smallest margin. + +It is acknowledged that many strings defined by heredocs are just code and +fact is that most parsers are insensitive to indentation. If, however, the +strings are to be used otherwise, be it for printing or testing, the extra +indentation will probably be an issue and hence this gem.") + (license license:expat))) From f8ae2ee528be1b9d92a61b6dc6b470821e645afd Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:12:19 +0200 Subject: [PATCH 131/170] gnu: Add ruby-safe-yaml. * gnu/packages/ruby.scm (ruby-safe-yaml): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 34d883284d..3f0cfcfcfa 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5765,3 +5765,26 @@ fact is that most parsers are insensitive to indentation. If, however, the strings are to be used otherwise, be it for printing or testing, the extra indentation will probably be an issue and hence this gem.") (license license:expat))) + +(define-public ruby-safe-yaml + (package + (name "ruby-safe-yaml") + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (rubygems-uri "safe_yaml" version)) + (sha256 + (base32 + "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094")))) + (build-system ruby-build-system) + (native-inputs + `(("ruby-rspec" ,ruby-rspec) + ("ruby-hashie" ,ruby-hashie) + ("ruby-heredoc-unindent" ,ruby-heredoc-unindent))) + (arguments `(#:test-target "spec" + #:tests? #f));; FIXME: one failure + (home-page "https://github.com/dtao/safe_yaml") + (synopsis "YAML parser") + (description "The SafeYAML gem provides an alternative implementation of +YAML.load suitable for accepting user input in Ruby applications.") + (license license:expat))) From f1ec4d761122f68a5fb42d5ddaf6a626b6f7837d Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:28:10 +0200 Subject: [PATCH 132/170] gnu: Add ruby-mercenary. * gnu/packages/ruby.scm (ruby-mercenary): New variable. --- gnu/packages/ruby.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3f0cfcfcfa..4947e1b43b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5788,3 +5788,23 @@ indentation will probably be an issue and hence this gem.") (description "The SafeYAML gem provides an alternative implementation of YAML.load suitable for accepting user input in Ruby applications.") (license license:expat))) + +(define-public ruby-mercenary + (package + (name "ruby-mercenary") + (version "0.3.6") + (source (origin + (method url-fetch) + (uri (rubygems-uri "mercenary" version)) + (sha256 + (base32 + "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a")))) + (build-system ruby-build-system) + (arguments `(#:test-target "spec")) + (native-inputs + `(("bundler" ,bundler))) + (home-page "https://github.com/jekyll/mercenary") + (synopsis "Command-line apps library in Ruby") + (description "Mercenary is a lightweight and flexible library for writing +command-line apps in Ruby.") + (license license:expat))) From a13d451e1855c6e5f1dc3e197d872bc46951e78e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:30:06 +0200 Subject: [PATCH 133/170] gnu: Add ruby-liquid. * gnu/packages/ruby.scm (ruby-liquid): New variable. --- gnu/packages/ruby.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4947e1b43b..7e4c3b4f13 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5808,3 +5808,21 @@ YAML.load suitable for accepting user input in Ruby applications.") (description "Mercenary is a lightweight and flexible library for writing command-line apps in Ruby.") (license license:expat))) + +(define-public ruby-liquid + (package + (name "ruby-liquid") + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "liquid" version)) + (sha256 + (base32 + "17fa0jgwm9a935fyvzy8bysz7j5n1vf1x2wzqkdfd5k08dbw3x2y")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); No rakefile + (home-page "https://shopify.github.io/liquid/") + (synopsis "Template language") + (description "Liquid is a template language written in Ruby. It is used +to load dynamic content on storefronts.") + (license license:expat))) From 49395112c43e62605a75dd02fcce688deb2d5f67 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:59:15 +0200 Subject: [PATCH 134/170] gnu: Add ruby-forwardable-extended. * gnu/packages/ruby.scm (ruby-forwardable-extended): New variable. --- gnu/packages/ruby.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7e4c3b4f13..3395cc6aa2 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5826,3 +5826,21 @@ command-line apps in Ruby.") (description "Liquid is a template language written in Ruby. It is used to load dynamic content on storefronts.") (license license:expat))) + +(define-public ruby-forwardable-extended + (package + (name "ruby-forwardable-extended") + (version "2.6.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "forwardable-extended" version)) + (sha256 + (base32 + "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v")))) + (build-system ruby-build-system) + (arguments `(#:tests? #f)); Cyclic dependency on luna-rspec-formatters + (home-page "https://github.com/envygeeks/forwardable-extended") + (synopsis "Delegation to hashes and instance variables in Forwardable") + (description "Forwardable Extended provides more @code{Forwardable} +methods for your source as @code{Forwardable::Extended}.") + (license license:expat))) From 37296113799dfadc81a5606d5dace89b406403d8 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 18:04:43 +0200 Subject: [PATCH 135/170] gnu: Add ruby-pathutil. * gnu/packages/ruby.scm (ruby-pathutil): New variable. --- gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3395cc6aa2..5d8a8873e4 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5844,3 +5844,28 @@ to load dynamic content on storefronts.") (description "Forwardable Extended provides more @code{Forwardable} methods for your source as @code{Forwardable::Extended}.") (license license:expat))) + +(define-public ruby-pathutil + (package + (name "ruby-pathutil") + (version "0.16.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "pathutil" version)) + (sha256 + (base32 + "0wc18ms1rzi44lpjychyw2a96jcmgxqdvy2949r4vvb5f4p0lgvz")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-forwardable-extended" ,ruby-forwardable-extended))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + ;; Fails with: cannot load such file -- + ;; /tmp/guix-build-ruby-pathutil-0.16.0.drv-0/gem/benchmark/support/task + (arguments `(#:tests? #f)) + (home-page "https://github.com/envygeeks/pathutil") + (synopsis "Extended implementation of Pathname") + (description "Pathutil tries to be a faster pure Ruby implementation of +Pathname.") + (license license:expat))) From 49e1dde53fd0a2e3c1d636364c067de8dbb611d7 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:30:58 +0200 Subject: [PATCH 136/170] gnu: Add jekyll. * gnu/packages/ruby.scm (jekyll): New variable. --- gnu/packages/ruby.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5d8a8873e4..70c071f921 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5869,3 +5869,42 @@ methods for your source as @code{Forwardable::Extended}.") (description "Pathutil tries to be a faster pure Ruby implementation of Pathname.") (license license:expat))) + +(define-public jekyll + (package + (name "jekyll") + (version "3.8.3") + (source (origin + (method url-fetch) + (uri (rubygems-uri "jekyll" version)) + (sha256 + (base32 + "1iw90wihk9dscgmppf5v6lysg3kjmnx50mjyl4gghkdb4spw97xk")))) + (build-system ruby-build-system) + (arguments + ;; No rakefile, but a test subdirectory + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-i18n + (lambda _ + (substitute* ".gemspec" + (("~> 0.7") ">= 0.7")) + #t))))) + (propagated-inputs + `(("ruby-addressable" ,ruby-addressable) + ("ruby-colorator" ,ruby-colorator) + ("ruby-em-websocket" ,ruby-em-websocket) + ("ruby-i18n" ,ruby-i18n) + ("ruby-jekyll-sass-converter" ,ruby-jekyll-sass-converter) + ("ruby-jekyll-watch" ,ruby-jekyll-watch) + ("ruby-kramdown" ,ruby-kramdown) + ("ruby-liquid" ,ruby-liquid) + ("ruby-mercenary" ,ruby-mercenary) + ("ruby-pathutil" ,ruby-pathutil) + ("ruby-rouge" ,ruby-rouge-2) + ("ruby-safe-yaml" ,ruby-safe-yaml))) + (home-page "https://jekyllrb.com/") + (synopsis "Static site generator") + (description "Jekyll is a simple, blog aware, static site generator.") + (license license:expat))) From 37a0f47073e1788e8991567c4fce5d2acaa8ce67 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 26 Aug 2018 17:33:20 +0200 Subject: [PATCH 137/170] gnu: Add ruby-jekyll-paginate-v2. * gnu/packages/ruby.scm (ruby-jekyll-paginate-v2): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 70c071f921..616b86934d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5908,3 +5908,22 @@ Pathname.") (synopsis "Static site generator") (description "Jekyll is a simple, blog aware, static site generator.") (license license:expat))) + +(define-public ruby-jekyll-paginate-v2 + (package + (name "ruby-jekyll-paginate-v2") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "jekyll-paginate-v2" version)) + (sha256 + (base32 + "154bfpyml6abxww9868hhyfvxasl8qhsc5zy2q30c7dxaj0igdib")))) + (build-system ruby-build-system) + (propagated-inputs + `(("jekyll" ,jekyll))) + (home-page "https://github.com/sverrirs/jekyll-paginate-v2") + (synopsis "Pagination Generator for Jekyll 3") + (description "The Pagination Generator forms the core of the pagination +logic in Jekyll. It calculates and generates the pagination pages.") + (license license:expat))) From a0a273c1eec438c80cf0c716987514e551b3b8f4 Mon Sep 17 00:00:00 2001 From: Manuel Graf Date: Fri, 31 Aug 2018 17:24:42 +0200 Subject: [PATCH 138/170] gnu: Add perftest. * gnu/packages/linux.scm (perftest): New variable. Signed-off-by: Leo Famulari --- gnu/packages/linux.scm | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 63b3ece8e1..02d723316d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2017 Dave Love ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Brendan Tildesley +;;; Copyright © 2018 Manuel Graf ;;; ;;; This file is part of GNU Guix. ;;; @@ -3622,6 +3623,48 @@ The following service daemons are also provided: license:cc0 ; most files in ccan/ license:bsd-3)))) ; providers/hfi1verbs are dual GPL2/BSD-3 +(define-public perftest + (package + (name "perftest") + (version "4.2-0.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/linux-rdma/perftest/releases/download/V" + version "/perftest-" version ".g0e24e67.tar.gz")) + (sha256 + (base32 "1r3pxn7cx3grb8myb4q1b0pk447pc06cifd0v7ym13xw00372dlx")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-header-paths + (lambda _ + (substitute* '("src/raw_ethernet_fs_rate.c" + "src/raw_ethernet_resources.c" + "src/raw_ethernet_resources.h" + "src/raw_ethernet_send_burst_lat.c" + "src/raw_ethernet_send_bw.c" + "src/raw_ethernet_send_lat.c") + (("/usr/include/netinet/ip.h") "netinet/ip.h")) + #t))))) + (inputs `(("rdma-core" ,rdma-core))) + (home-page "https://github.com/linux-rdma/perftest/") + (synopsis "Open Fabrics Enterprise Distribution (OFED) Performance Tests") + (description "This is a collection of tests written over uverbs intended for +use as a performance micro-benchmark. The tests may be used for hardware or +software tuning as well as for functional testing. + +The collection contains a set of bandwidth and latency benchmark such as: +@enumerate +@item Send - @code{ib_send_bw} and @code{ib_send_lat} +@item RDMA Read - @code{ib_read_bw} and @code{ib_read_lat} +@item RDMA Write - @code{ib_write_bw} and @code{ib_wriet_lat} +@item RDMA Atomic - @code{ib_atomic_bw} and @code{ib_atomic_lat} +@item Native Ethernet (when working with MOFED2) - @code{raw_ethernet_bw}, @code{raw_ethernet_lat} +@end enumerate") + (license license:gpl2))) + (define-public rng-tools (package (name "rng-tools") From 3159ef7c99c646b78b04cedb1bd3525c301ef978 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 1 Sep 2018 19:31:45 +0200 Subject: [PATCH 139/170] gnu: rust: Bootstrap (only) Rust 1.19.0 by mrustc. * gnu/packages/patches/rust-1.19-mrustc.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/rust.scm (rust-1.19)[source]: Add patch "rust-1.19-mrustc.patch". [arguments]<#:modules>: New field. <#:phases>[patch-cargo-tomls]: New phase. <#:phases>[build]: Modify. <#:phases>[install]: Modify. [native-inputs]: Replace rust-bootstrap by mrustc. (rust-1.23)[native-inputs]: New field. [arguments]<#:phases>: Delete phase "patch-cargo-tomls". --- gnu/local.mk | 1 + gnu/packages/patches/rust-1.19-mrustc.patch | 28 +++++ gnu/packages/rust.scm | 127 +++++++++++++++++++- 3 files changed, 152 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/rust-1.19-mrustc.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3b92a7ac0e..91de38c5a3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1124,6 +1124,7 @@ dist_patch_DATA = \ %D%/packages/patches/ruby-concurrent-test-arm.patch \ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ + %D%/packages/patches/rust-1.19-mrustc.patch \ %D%/packages/patches/rust-bootstrap-stage0-test.patch \ %D%/packages/patches/rust-coresimd-doctest.patch \ %D%/packages/patches/rxvt-unicode-escape-sequences.patch \ diff --git a/gnu/packages/patches/rust-1.19-mrustc.patch b/gnu/packages/patches/rust-1.19-mrustc.patch new file mode 100644 index 0000000000..261162172e --- /dev/null +++ b/gnu/packages/patches/rust-1.19-mrustc.patch @@ -0,0 +1,28 @@ +See https://github.com/thepowersgang/mrustc/archive/v0.8.0.tar.gz + +--- rustc-1.19.0-src-orig/src/libcore/intrinsics.rs ++++ rustc-1.19.0-src/src/libcore/intrinsics.rs +@@ -678,5 +678,9 @@ + pub fn min_align_of_val(_: &T) -> usize; + ++ /// Obtain the length of a slice pointer ++ #[cfg(rust_compiler="mrustc")] ++ pub fn mrustc_slice_len(pointer: *const [T]) -> usize; ++ + /// Gets a static string slice containing the name of a type. + pub fn type_name() -> &'static str; + +--- rustc-1.19.0-src-orig/src/libcore/slice/mod.rs ++++ rustc-1.19.0-src/src/libcore/slice/mod.rs +@@ -413,6 +413,8 @@ + #[inline] + fn len(&self) -> usize { +- unsafe { +- mem::transmute::<&[T], Repr>(self).len +- } ++ #[cfg(not(rust_compiler="mrustc"))] ++ let rv = unsafe { mem::transmute::<&[T], Repr>(self).len }; ++ #[cfg(rust_compiler="mrustc")] ++ let rv = unsafe { ::intrinsics::mrustc_slice_len(self) }; ++ rv + } diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 0695f8c7d2..41195c0e10 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -171,10 +171,12 @@ in turn be used to build the final Rust.") (package (name "rust") (version "1.19.0") - (source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")) + (source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm" + #:patches '("rust-1.19-mrustc.patch"))) (outputs '("out" "cargo")) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' + #:modules ((guix build utils) (ice-9 match) (guix build gnu-build-system)) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-env @@ -187,6 +189,24 @@ in turn be used to build the final Rust.") ;; guix llvm-3.9.1 package installs only shared libraries (setenv "LLVM_LINK_SHARED" "1") #t)) + (add-after 'unpack 'patch-cargo-tomls + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "src/librustc_errors/Cargo.toml" + (("[[]dependencies[]]") " +[dependencies] +term = \"0.4.4\" +")) + (substitute* "src/librustc/Cargo.toml" + (("[[]dependencies[]]") " +[dependencies] +getopts = { path = \"../libgetopts\" } +")) + (substitute* "src/librustdoc/Cargo.toml" + (("[[]dependencies[]]") " +[dependencies] +test = { path = \"../libtest\" } +")) + #t)) (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) @@ -243,12 +263,97 @@ in turn be used to build the final Rust.") (generate-checksums dir ,%cargo-reference-project-file))) (find-files "src/vendor" ".cargo-checksum.json")) #t)) + ;; This phase is overridden by newer versions. (replace 'configure (const #t)) + ;; This phase is overridden by newer versions. + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((rustc-bootstrap (assoc-ref inputs "rustc-bootstrap"))) + (setenv "CFG_COMPILER_HOST_TRIPLE" + ,(nix-system->gnu-triplet (%current-system))) + (setenv "CFG_RELEASE" "") + (setenv "CFG_RELEASE_CHANNEL" "stable") + (setenv "CFG_LIBDIR_RELATIVE" "lib") + (setenv "CFG_VERSION" "1.19.0-stable-mrustc") + ; bad: (setenv "CFG_PREFIX" "mrustc") ; FIXME output path. + (mkdir-p "output") + (invoke (string-append rustc-bootstrap "/tools/bin/minicargo") + "src/rustc" "--vendor-dir" "src/vendor" + "--output-dir" "output/rustc-build" + "-L" (string-append rustc-bootstrap "/lib/mrust") + "-j" "1") + (install-file "output/rustc-build/rustc" "output") ; FIXME: Remove? + (setenv "CFG_COMPILER_HOST_TRIPLE" #f) + (setenv "CFG_RELEASE" #f) + (setenv "CFG_RELEASE_CHANNEL" #f) + (setenv "CFG_VERSION" #f) + (setenv "CFG_PREFIX" #f) + (setenv "CFG_LIBDIR_RELATIVE" #f) + (invoke (string-append rustc-bootstrap "/tools/bin/minicargo") + "src/tools/cargo" "--vendor-dir" "src/vendor" + "--output-dir" "output/cargo-build" + "-L" "output/" + "-L" (string-append rustc-bootstrap "/lib/mrust") + "-j" "1") + ;; Now use the newly-built rustc to build the libraries. + ;; One day that could be replaced by: + ;; (invoke "output/cargo-build/cargo" "build" + ;; "--manifest-path" "src/bootstrap/Cargo.toml" + ;; "--verbose") ; "--locked" "--frozen" + ;; but right now, Cargo has problems with libstd's circular + ;; dependencies. + (mkdir-p "output/target-libs") + (for-each ((@ (ice-9 match) match-lambda) + ((name . flags) + (write name) + (newline) + (apply invoke + "output/rustc-build/rustc" + "-C" (string-append "linker=" + (getenv "CC")) + "-L" "output/target-libs" + (string-append "src/" name "/lib.rs") + "-o" + (string-append "output/target-libs/" + (car (string-split name #\/)) + ".rlib") + flags))) + '(("libcore") + ("libstd_unicode") + ("liballoc") + ("libcollections") + ("librand") + ("liblibc/src" "--cfg" "stdbuild") + ("libunwind" "-l" "gcc_s") + ("libcompiler_builtins") + ("liballoc_system") + ("libpanic_unwind") + ;; Uses "cc" to link. + ("libstd" "-l" "dl" "-l" "rt" "-l" "pthread") + ("libarena"))) + #t))) + ;; This phase is overridden by newer versions. (replace 'check (const #t)) + ;; This phase is overridden by newer versions. (replace 'install - (const #t))))) + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (target-system ,(or (%current-target-system) + (nix-system->gnu-triplet + (%current-system)))) + (out-libs (string-append out "/lib/rustlib/" + target-system "/lib"))) + ;(setenv "CFG_PREFIX" out) + (mkdir-p out-libs) + (copy-recursively "output/target-libs" out-libs) + (install-file "output/rustc-build/rustc" + (string-append out "/bin")) + (install-file "output/cargo-build/cargo" + (string-append (assoc-ref outputs "cargo") + "/bin"))) + #t))))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests @@ -258,8 +363,8 @@ in turn be used to build the final Rust.") ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) - ("rustc-bootstrap" ,rust-bootstrap) - ("cargo-bootstrap" ,rust-bootstrap "cargo") + ("rustc-bootstrap" ,mrustc) + ("cargo-bootstrap" ,mrustc "cargo") ("pkg-config" ,pkg-config) ; For "cargo" ("which" ,which))) (inputs @@ -400,6 +505,18 @@ safety and thread safety guarantees.") (version "1.23.0") (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) (outputs '("out" "doc" "cargo")) + (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) + ("rustc-bootstrap" ,rust-bootstrap) + ("cargo-bootstrap" ,rust-bootstrap "cargo") + ("pkg-config" ,pkg-config) ; For "cargo" + ("which" ,which))) (arguments (substitute-keyword-arguments (package-arguments rust-1.19) ((#:phases phases) @@ -410,6 +527,8 @@ safety and thread safety guarantees.") (substitute* "src/binaryen/CMakeLists.txt" (("ADD_COMPILE_FLAG\\(\\\"-march=native\\\"\\)") "")) #t)) + ;; TODO: Revisit this and find out whether that's needed after all. + (delete 'patch-cargo-tomls) (add-after 'patch-tests 'patch-cargo-tests (lambda _ (substitute* "src/tools/cargo/tests/build.rs" From 24d298b459c170bfc652489464f1e2935e804117 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 2 Sep 2018 00:22:53 +0200 Subject: [PATCH 140/170] gnu: rust: Move rust-1.19 down. --- gnu/packages/rust.scm | 208 +++++++++++++++++++++--------------------- 1 file changed, 104 insertions(+), 104 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 41195c0e10..631dcfd67c 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -167,6 +167,110 @@ in turn be used to build the final Rust.") (snippet '(begin (delete-file-recursively "src/llvm") #t)) (patches (map search-patch patches)))) +(define* (rust-bootstrapped-package base-rust version checksum + #:key (patches '())) + "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST." + (package + (inherit base-rust) + (version version) + (source + (rust-source version checksum #:patches patches)) + (native-inputs + (alist-replace "cargo-bootstrap" (list base-rust "cargo") + (alist-replace "rustc-bootstrap" (list base-rust) + (package-native-inputs base-rust)))))) + +(define-public mrustc + (let ((rustc-version "1.19.0")) + (package + (name "mrustc") + (version "0.8.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/thepowersgang/mrustc.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i")))) + (outputs '("out" "cargo")) + (build-system gnu-build-system) + (inputs + `(("llvm" ,llvm-3.9.1))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ;; Required for the libstd sources. + ("rustc" + ,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")))) + (arguments + `(#:tests? #f + #:make-flags (list (string-append "LLVM_CONFIG=" + (assoc-ref %build-inputs "llvm") + "/bin/llvm-config")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-date + (lambda _ + (substitute* "Makefile" + (("shell date") "shell date -d @1")) + #t)) + (add-after 'patch-date 'unpack-target-compiler + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "minicargo.mk" + ;; Don't try to build LLVM. + (("^[$][(]LLVM_CONFIG[)]:") "xxx:") + ;; Build for the correct target architecture. + (("^RUSTC_TARGET := x86_64-unknown-linux-gnu") + (string-append "RUSTC_TARGET := " + ,(or (%current-target-system) + (nix-system->gnu-triplet-for-rust))))) + (invoke "tar" "xf" (assoc-ref inputs "rustc")) + (chdir "rustc-1.19.0-src") + (invoke "patch" "-p0" "../rust_src.patch") + (chdir "..") + #t)) + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) + #t)) + (add-after 'build 'build-minicargo + (lambda _ + (for-each (lambda (target) + (invoke "make" "-f" "minicargo.mk" target)) + '("output/libstd.hir" "output/libpanic_unwind.hir" + "output/libproc_macro.hir" "output/libtest.hir")) + ;; Technically the above already does it - but we want to be clear. + (invoke "make" "-C" "tools/minicargo"))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (tools-bin (string-append out "/tools/bin")) + (cargo-out (assoc-ref outputs "cargo")) + (cargo-bin (string-append cargo-out "/bin")) + (lib (string-append out "/lib")) + (lib/rust (string-append lib "/mrust")) + (gcc (assoc-ref inputs "gcc"))) + ;; These files are not reproducible. + (for-each delete-file (find-files "output" "\\.txt$")) + (mkdir-p lib) + (copy-recursively "output" lib/rust) + (mkdir-p bin) + (mkdir-p tools-bin) + (install-file "bin/mrustc" bin) + ;; minicargo uses relative paths to resolve mrustc. + (install-file "tools/bin/minicargo" tools-bin) + (install-file "tools/bin/minicargo" cargo-bin) + #t)))))) + (synopsis "Compiler for the Rust progamming language") + (description "Rust is a systems programming language that provides memory +safety and thread safety guarantees.") + (home-page "https://github.com/thepowersgang/mrustc") + ;; Dual licensed. + (license (list license:asl2.0 license:expat))))) + (define rust-1.19 (package (name "rust") @@ -394,110 +498,6 @@ safety and thread safety guarantees.") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) -(define* (rust-bootstrapped-package base-rust version checksum - #:key (patches '())) - "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST." - (package - (inherit base-rust) - (version version) - (source - (rust-source version checksum #:patches patches)) - (native-inputs - (alist-replace "cargo-bootstrap" (list base-rust "cargo") - (alist-replace "rustc-bootstrap" (list base-rust) - (package-native-inputs base-rust)))))) - -(define-public mrustc - (let ((rustc-version "1.19.0")) - (package - (name "mrustc") - (version "0.8.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/thepowersgang/mrustc.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i")))) - (outputs '("out" "cargo")) - (build-system gnu-build-system) - (inputs - `(("llvm" ,llvm-3.9.1))) - (native-inputs - `(("bison" ,bison) - ("flex" ,flex) - ;; Required for the libstd sources. - ("rustc" - ,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")))) - (arguments - `(#:tests? #f - #:make-flags (list (string-append "LLVM_CONFIG=" - (assoc-ref %build-inputs "llvm") - "/bin/llvm-config")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-date - (lambda _ - (substitute* "Makefile" - (("shell date") "shell date -d @1")) - #t)) - (add-after 'patch-date 'unpack-target-compiler - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "minicargo.mk" - ;; Don't try to build LLVM. - (("^[$][(]LLVM_CONFIG[)]:") "xxx:") - ;; Build for the correct target architecture. - (("^RUSTC_TARGET := x86_64-unknown-linux-gnu") - (string-append "RUSTC_TARGET := " - ,(or (%current-target-system) - (nix-system->gnu-triplet-for-rust))))) - (invoke "tar" "xf" (assoc-ref inputs "rustc")) - (chdir "rustc-1.19.0-src") - (invoke "patch" "-p0" "../rust_src.patch") - (chdir "..") - #t)) - (replace 'configure - (lambda* (#:key inputs #:allow-other-keys) - (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) - #t)) - (add-after 'build 'build-minicargo - (lambda _ - (for-each (lambda (target) - (invoke "make" "-f" "minicargo.mk" target)) - '("output/libstd.hir" "output/libpanic_unwind.hir" - "output/libproc_macro.hir" "output/libtest.hir")) - ;; Technically the above already does it - but we want to be clear. - (invoke "make" "-C" "tools/minicargo"))) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (tools-bin (string-append out "/tools/bin")) - (cargo-out (assoc-ref outputs "cargo")) - (cargo-bin (string-append cargo-out "/bin")) - (lib (string-append out "/lib")) - (lib/rust (string-append lib "/mrust")) - (gcc (assoc-ref inputs "gcc"))) - ;; These files are not reproducible. - (for-each delete-file (find-files "output" "\\.txt$")) - (mkdir-p lib) - (copy-recursively "output" lib/rust) - (mkdir-p bin) - (mkdir-p tools-bin) - (install-file "bin/mrustc" bin) - ;; minicargo uses relative paths to resolve mrustc. - (install-file "tools/bin/minicargo" tools-bin) - (install-file "tools/bin/minicargo" cargo-bin) - #t)))))) - (synopsis "Compiler for the Rust progamming language") - (description "Rust is a systems programming language that provides memory -safety and thread safety guarantees.") - (home-page "https://github.com/thepowersgang/mrustc") - ;; Dual licensed. - (license (list license:asl2.0 license:expat))))) - (define-public rust-1.23 (package (inherit rust-1.19) From 9bf98520f2c44e291c7d335b8f3a834642361133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 2 Sep 2018 12:44:20 +0800 Subject: [PATCH 141/170] gnu: rosegarden: Update to 18.06. * gnu/packages/music.scm (rosegarden): Update to 18.06. [home-page]: Use HTTPS. --- gnu/packages/music.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index edffcfce96..ba21e5da2b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3685,7 +3685,7 @@ specification and header.") (define-public rosegarden (package (name "rosegarden") - (version "17.04") + (version "18.06") (source (origin (method url-fetch) (uri (string-append @@ -3693,7 +3693,7 @@ specification and header.") version "/rosegarden-" version ".tar.bz2")) (sha256 (base32 - "1khfcj22asdhjh0jvhkqsz200wgmigkhsrcz09ffia5hqm0n32lq")))) + "04qc80sqb2ji42pq3mayhvqqn39hlxzymsywpbpzfpchr19chxx7")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DUSE_QT5=1") ; "-DCMAKE_BUILD_TYPE=Release" @@ -3747,6 +3747,7 @@ specification and header.") ;; Tests create files in $HOME/.local/share/rosegarden . (mkdir-p "/tmp/foo") (setenv "HOME" "/tmp/foo") + (setenv "XDG_RUNTIME_DIR" "/tmp/foo") #t))))) (inputs `(("alsa-lib" ,alsa-lib) @@ -3773,7 +3774,7 @@ sequencer") (description "Rosegarden is a music composition and editing environment based around a MIDI sequencer that features a rich understanding of music notation and includes basic support for digital audio.") - (home-page "http://www.rosegardenmusic.com/") + (home-page "https://www.rosegardenmusic.com/") (license license:gpl2))) (define-public patchmatrix From ab2e38e206049ffd377a0a9d7890d8216e90816f Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sun, 2 Sep 2018 08:49:39 +0200 Subject: [PATCH 142/170] gnu: wine-staging-patchset-data: Update to 3.15. * gnu/packages/wine.scm (wine-staging-patchset-data): Update to 3.15. --- gnu/packages/wine.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 9c1257b2a1..c50dd26f85 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -225,7 +225,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "3.14") + (version "3.15") (source (origin (method git-fetch) @@ -235,7 +235,7 @@ integrate Windows applications into your desktop.") (file-name (git-file-name name version)) (sha256 (base32 - "0h6gck0p92hin0m13q1hnlfnqs4vy474w66ppinvqms2zn3vibgi")))) + "1rgbx4qnxaarkq5n8nvj57q0rhxcqbwm5897ws962fgxh6zymg9n")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) From 87284c6b48981bdf5976dba127c688f43579a24b Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sun, 2 Sep 2018 08:51:06 +0200 Subject: [PATCH 143/170] gnu: wine-staging: Update to 3.15. * gnu/packages/wine.scm (wine-staging): Update to 3.15. --- gnu/packages/wine.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index c50dd26f85..b818a3ccb5 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -281,7 +281,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "01dhn3a6k3dwnrbz4bxvszhh5sxwy6s89y459g805hjmq8s6d2a7")))) + "07mmd8r70ciqrxzdg2m2mg34kcnb43dk9nw1ljm8jbcznsawv8ic")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("gtk+" ,gtk+) ("libva" ,libva) From 20cbd4f5f4d08bc26c22eb40b6c1e55b02e93f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 1 Sep 2018 23:49:43 +0200 Subject: [PATCH 144/170] compile-as-derivation: Adjust %load-compiled-path. * build-aux/compile-as-derivation.scm: Set not only %load-path but also %load-compiled-path. This can avoid problems where a stale .go is loaded. --- build-aux/compile-as-derivation.scm | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/build-aux/compile-as-derivation.scm b/build-aux/compile-as-derivation.scm index 59a84b1415..d945a8c79c 100644 --- a/build-aux/compile-as-derivation.scm +++ b/build-aux/compile-as-derivation.scm @@ -20,13 +20,20 @@ (use-modules (srfi srfi-26)) -;; Add ~/.config/guix/latest to the search path. -(add-to-load-path - (and=> (or (getenv "XDG_CONFIG_HOME") - (and=> (getenv "HOME") - (cut string-append <> "/.config"))) - (cute string-append <> "/guix/current/share/guile/site/" - (effective-version)))) +;; Add ~/.config/guix/current to the search path. +(eval-when (expand load eval) + (and=> (or (getenv "XDG_CONFIG_HOME") + (and=> (getenv "HOME") + (cut string-append <> "/.config/guix/current"))) + (lambda (current) + (set! %load-path + (cons (string-append current "/share/guile/site/" + (effective-version)) + %load-path)) + (set! %load-compiled-path + (cons (string-append current "/lib/guile/" (effective-version) + "/site-ccache") + %load-compiled-path))))) (use-modules (guix) (guix ui) (guix git-download) From 02fa1d251c9caeba39c7593e0b8ab52b60735b17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 24 Aug 2018 15:51:31 +0200 Subject: [PATCH 145/170] discovery: Add 'scheme-modules*'. * guix/self.scm (scheme-modules*): Move to... * guix/discovery.scm (scheme-modules*): ... here. New procedure. Make 'sub-directory' an optional parameter. --- guix/discovery.scm | 13 ++++++++++++- guix/self.scm | 7 ------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/guix/discovery.scm b/guix/discovery.scm index 2b627d108e..3fc6e2c9e7 100644 --- a/guix/discovery.scm +++ b/guix/discovery.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +27,7 @@ #:use-module (ice-9 ftw) #:export (scheme-files scheme-modules + scheme-modules* fold-modules all-modules fold-module-public-variables)) @@ -115,6 +116,16 @@ name and the exception key and arguments." (string-append directory "/" sub-directory) directory)))) +(define* (scheme-modules* directory #:optional sub-directory) + "Return the list of module names found under SUB-DIRECTORY in DIRECTORY. +This is a source-only variant that does not try to load files." + (let ((prefix (string-length directory))) + (map (lambda (file) + (file-name->module-name (string-drop file prefix))) + (scheme-files (if sub-directory + (string-append directory "/" sub-directory) + directory))))) + (define* (fold-modules proc init path #:key (warn (const #f))) "Fold over all the Scheme modules present in PATH, a list of directories. Call (PROC MODULE RESULT) for each module that is found." diff --git a/guix/self.scm b/guix/self.scm index 90649db17f..81f9b0cfd5 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -206,13 +206,6 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'." (local-file file #:recursive? #t))) (find-files (string-append directory "/" sub-directory) pred))) -(define (scheme-modules* directory sub-directory) - "Return the list of module names found under SUB-DIRECTORY in DIRECTORY." - (let ((prefix (string-length directory))) - (map (lambda (file) - (file-name->module-name (string-drop file prefix))) - (scheme-files (string-append directory "/" sub-directory))))) - (define* (sub-directory item sub-directory) "Return SUB-DIRECTORY within ITEM, which may be a file name or a file-like object." From fe634eaf93ba40862acdf62d7f197c6f19f0651c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Aug 2018 15:38:59 +0200 Subject: [PATCH 146/170] Add (guix describe) and use it to initialize '%package-search-path'. * guix/describe.scm: New file. * Makefile.am (MODULES): Add it. * gnu/packages.scm (%default-package-module-path): New variable. (%package-module-path): Honor 'package-path-entries'. * build-aux/update-NEWS.scm (main): Use %DEFAULT-PACKAGE-MODULE-PATH instead of (last (%package-module-path)). --- Makefile.am | 1 + build-aux/update-NEWS.scm | 9 +++-- gnu/packages.scm | 27 ++++++++++----- guix/describe.scm | 73 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 97 insertions(+), 13 deletions(-) create mode 100644 guix/describe.scm diff --git a/Makefile.am b/Makefile.am index 324674a60e..b6efd6d625 100644 --- a/Makefile.am +++ b/Makefile.am @@ -86,6 +86,7 @@ MODULES = \ guix/derivations.scm \ guix/grafts.scm \ guix/inferior.scm \ + guix/describe.scm \ guix/gnu-maintenance.scm \ guix/self.scm \ guix/upstream.scm \ diff --git a/build-aux/update-NEWS.scm b/build-aux/update-NEWS.scm index 2e8f68c9a8..a9dffef1d2 100644 --- a/build-aux/update-NEWS.scm +++ b/build-aux/update-NEWS.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -128,11 +128,10 @@ paragraph." (define (main . args) (match args ((news-file data-directory) - ;; Don't browse things listed in the user's $GUIX_PACKAGE_PATH. Here we - ;; assume that the last item in (%package-module-path) is the distro - ;; directory. + ;; Don't browse things listed in the user's $GUIX_PACKAGE_PATH and + ;; in external channels. (parameterize ((%package-module-path - (list (last (%package-module-path))))) + %default-package-module-path)) (define (package-file version) (string-append data-directory "/packages-" version ".txt")) diff --git a/gnu/packages.scm b/gnu/packages.scm index 7b954769e9..532297239d 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -30,6 +30,7 @@ #:select ((package-name->name+version . hyphen-separated-name->name+version))) #:autoload (guix profiles) (packages->manifest) + #:use-module (guix describe) #:use-module (ice-9 vlist) #:use-module (ice-9 match) #:use-module (srfi srfi-1) @@ -46,6 +47,7 @@ %auxiliary-files-path %bootstrap-binaries-path %package-module-path + %default-package-module-path fold-packages @@ -130,22 +132,31 @@ for system '~a'") ("gnu/packages.scm" gnu/) ("guix.scm")))) +(define %default-package-module-path + ;; Default search path for package modules. + `((,%distro-root-directory . "gnu/packages"))) + (define %package-module-path ;; Search path for package modules. Each item must be either a directory ;; name or a pair whose car is a directory and whose cdr is a sub-directory ;; to narrow the search. (let* ((not-colon (char-set-complement (char-set #\:))) (environment (string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "") - not-colon))) - ;; Automatically add items from $GUIX_PACKAGE_PATH to Guile's search path. - (for-each (lambda (directory) - (set! %load-path (cons directory %load-path)) - (set! %load-compiled-path - (cons directory %load-compiled-path))) - environment) + not-colon)) + (channels (package-path-entries))) + ;; Automatically add channels and items from $GUIX_PACKAGE_PATH to Guile's + ;; search path. For historical reasons, $GUIX_PACKAGE_PATH goes to the + ;; front; channels go to the back so that they don't override Guix' own + ;; modules. + (set! %load-path + (append environment %load-path channels)) + (set! %load-compiled-path + (append environment %load-compiled-path channels)) (make-parameter - (append environment `((,%distro-root-directory . "gnu/packages")))))) + (append environment + %default-package-module-path + channels)))) (define %patch-path ;; Define it after '%package-module-path' so that '%load-path' contains user diff --git a/guix/describe.scm b/guix/describe.scm new file mode 100644 index 0000000000..3122a762fe --- /dev/null +++ b/guix/describe.scm @@ -0,0 +1,73 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès +;;; +;;; 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 (guix describe) + #:use-module (guix memoization) + #:use-module (guix profiles) + #:use-module (srfi srfi-1) + #:use-module (ice-9 match) + #:export (package-path-entries)) + +;;; Commentary: +;;; +;;; This module provides supporting code to allow a Guix instance to find, at +;;; run time, which profile it's in (profiles created by 'guix pull'). That +;;; allows it to read meta-information about itself (e.g., repository URL and +;;; commit ID) and to find other channels available in the same profile. It's +;;; a bit like ELPA's pkg-info.el. +;;; +;;; Code: + +(define current-profile + (mlambda () + "Return the profile (created by 'guix pull') the calling process lives in, +or #f if this is not applicable." + (match (command-line) + ((program . _) + (and (string-suffix? "/bin/guix" program) + ;; Note: We want to do _lexical dot-dot resolution_. Using ".." + ;; for real would instead take us into the /gnu/store directory + ;; that ~/.config/guix/current/bin points to, whereas we want to + ;; obtain ~/.config/guix/current. + (let ((candidate (dirname (dirname program)))) + (and (file-exists? (string-append candidate "/manifest")) + candidate))))))) + +(define current-profile-entries + (mlambda () + "Return the list of entries in the 'guix pull' profile the calling process +lives in, or #f if this is not applicable." + (match (current-profile) + (#f '()) + (profile + (let ((manifest (profile-manifest profile))) + (manifest-entries manifest)))))) + +(define package-path-entries + (mlambda () + "Return a list of package path entries to be added to the package search +path. These entries are taken from the 'guix pull' profile the calling +process lives in, when applicable." + ;; Filter out Guix itself. + (filter-map (lambda (entry) + (and (not (string=? (manifest-entry-name entry) + "guix")) + (string-append (manifest-entry-item entry) + "/share/guile/site/" + (effective-version)))) + (current-profile-entries)))) From 0d39a3b98948314e135566b9315717695a9035ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Aug 2018 18:05:49 +0200 Subject: [PATCH 147/170] Add (guix channels) and use it in (guix scripts pull). * guix/channels.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/pull.scm: Use it. (%default-options): Remove 'repository-url' and 'ref'. (show-help, %options): Add '--channels'. (%self-build-file, %pull-version, build-from-source) (whole-package-for-legacy, derivation->manifest-entry): Remove. These now exist in a similar form in (guix channels). (build-and-install): Change 'source' to 'instances'. Remove #:url, #:branch, and #:commit. Rewrite using 'channel-instances->manifest'. (channel-list): New procedure. (guix-pull): Parameterize %REPOSITORY-CACHE-DIRECTORY. Call 'honor-lets-encrypt-certificates!' unconditionally. Load ~/.config/guix/channels.scm. Rewrite to use (guix channels). [use-le-certs?]: Remove. * po/guix/POTFILES.in: Add (guix channels). * doc/guix.texi (Invoking guix pull): Group the description of '--url', '--commit', and '--branch'. Remove mention of 'GUIX_PULL_URL'. Add references to "Channels". Document '--channels'. (Channels): New node. (Defining Packages): Link to "Channels" instead of "Package Modules". (Invoking guix edit): Link to "Package Modules" instead of "Defining Packages". (Package Modules): Document both GUIX_PACKAGE_PATH and channels. --- Makefile.am | 1 + doc/guix.texi | 273 ++++++++++++++++++++++++++++++++------- guix/channels.scm | 292 ++++++++++++++++++++++++++++++++++++++++++ guix/scripts/pull.scm | 218 ++++++++++++++----------------- po/guix/POTFILES.in | 1 + 5 files changed, 621 insertions(+), 164 deletions(-) create mode 100644 guix/channels.scm diff --git a/Makefile.am b/Makefile.am index b6efd6d625..af6870cf67 100644 --- a/Makefile.am +++ b/Makefile.am @@ -87,6 +87,7 @@ MODULES = \ guix/grafts.scm \ guix/inferior.scm \ guix/describe.scm \ + guix/channels.scm \ guix/gnu-maintenance.scm \ guix/self.scm \ guix/upstream.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 8611059791..ad82c67932 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -146,17 +146,18 @@ Package Management * Packages with Multiple Outputs:: Single source package, multiple outputs. * Invoking guix gc:: Running the garbage collector. * Invoking guix pull:: Fetching the latest Guix and distribution. +* Channels:: Customizing the package collection. * Invoking guix pack:: Creating software bundles. * Invoking guix archive:: Exporting and importing store files. Substitutes -* Official Substitute Server:: One particular source of substitutes. -* Substitute Server Authorization:: How to enable or disable substitutes. -* Substitute Authentication:: How Guix verifies substitutes. -* Proxy Settings:: How to get substitutes via proxy. -* Substitution Failure:: What happens when substitution fails. -* On Trusting Binaries:: How can you trust that binary blob? +* Official Substitute Server:: One particular source of substitutes. +* Substitute Server Authorization:: How to enable or disable substitutes. +* Substitute Authentication:: How Guix verifies substitutes. +* Proxy Settings:: How to get substitutes via proxy. +* Substitution Failure:: What happens when substitution fails. +* On Trusting Binaries:: How can you trust that binary blob? Programming Interface @@ -202,7 +203,7 @@ GNU Distribution * System Installation:: Installing the whole operating system. * System Configuration:: Configuring the operating system. -* Documentation:: Browsing software user manuals. +* Documentation:: Browsing software user manuals. * Installing Debugging Files:: Feeding the debugger. * Security Updates:: Deploying security fixes quickly. * Package Modules:: Packages from the programmer's viewpoint. @@ -264,7 +265,7 @@ Services * Audio Services:: The MPD. * Virtualization Services:: Virtualization services. * Version Control Services:: Providing remote access to Git repositories. -* Game Services:: Game servers. +* Game Services:: Game servers. * Miscellaneous Services:: Other services. Defining Services @@ -1694,6 +1695,7 @@ guix package -i emacs-guix * Packages with Multiple Outputs:: Single source package, multiple outputs. * Invoking guix gc:: Running the garbage collector. * Invoking guix pull:: Fetching the latest Guix and distribution. +* Channels:: Customizing the package collection. * Invoking guix pack:: Creating software bundles. * Invoking guix archive:: Exporting and importing store files. @end menu @@ -2276,12 +2278,12 @@ pre-built package binaries, but source tarballs, for instance, which also result from derivation builds, can be available as substitutes. @menu -* Official Substitute Server:: One particular source of substitutes. -* Substitute Server Authorization:: How to enable or disable substitutes. -* Substitute Authentication:: How Guix verifies substitutes. -* Proxy Settings:: How to get substitutes via proxy. -* Substitution Failure:: What happens when substitution fails. -* On Trusting Binaries:: How can you trust that binary blob? +* Official Substitute Server:: One particular source of substitutes. +* Substitute Server Authorization:: How to enable or disable substitutes. +* Substitute Authentication:: How Guix verifies substitutes. +* Proxy Settings:: How to get substitutes via proxy. +* Substitution Failure:: What happens when substitution fails. +* On Trusting Binaries:: How can you trust that binary blob? @end menu @node Official Substitute Server @@ -2746,7 +2748,8 @@ the distribution currently available on your local machine. To update that distribution, along with the Guix tools, you must run @command{guix pull}: the command downloads the latest Guix source code and package descriptions, and deploys it. Source code is downloaded from a -@uref{https://git-scm.com, Git} repository. +@uref{https://git-scm.com, Git} repository, by default the official +GNU@tie{}Guix repository, though this can be customized. On completion, @command{guix package} will use packages and package versions from this just-retrieved copy of Guix. Not only that, but all @@ -2821,20 +2824,23 @@ but it supports the following options: Produce verbose output, writing build logs to the standard error output. @item --url=@var{url} -Download Guix from the Git repository at @var{url}. +@itemx --commit=@var{commit} +@itemx --branch=@var{branch} +Download code from the specified @var{url}, at the given @var{commit} (a valid +Git commit ID represented as a hexadecimal string), or @var{branch}. -@vindex GUIX_PULL_URL -By default, the source is taken from its canonical Git repository at -@code{gnu.org}, for the stable branch of Guix. To use a different source, -set the @code{GUIX_PULL_URL} environment variable. +@cindex @file{channels.scm}, configuration file +@cindex configuration file for channels +These options are provided for convenience, but you can also specify your +configuration in the @file{~/.config/guix/channels.scm} file or using the +@option{--channels} option (see below). -@item --commit=@var{commit} -Deploy @var{commit}, a valid Git commit ID represented as a hexadecimal -string. - -@item --branch=@var{branch} -Deploy the tip of @var{branch}, the name of a Git branch available on -the repository at @var{url}. +@item --channels=@var{file} +@itemx -C @var{file} +Read the list of channels from @var{file} instead of +@file{~/.config/guix/channels.scm}. @var{file} must contain Scheme code that +evaluates to a list of channel objects. @xref{Channels}, for more +information. @item --list-generations[=@var{pattern}] @itemx -l [@var{pattern}] @@ -2848,9 +2854,180 @@ Use the bootstrap Guile to build the latest Guix. This option is only useful to Guix developers. @end table +The @dfn{channel} mechanism allows you to instruct @command{guix pull} which +repository and branch to pull from, as well as @emph{additional} repositories +containing package modules that should be deployed. @xref{Channels}, for more +information. + In addition, @command{guix pull} supports all the common build options (@pxref{Common Build Options}). +@node Channels +@section Channels + +@cindex channels +@cindex @file{channels.scm}, configuration file +@cindex configuration file for channels +@cindex @command{guix pull}, configuration file +@cindex configuration of @command{guix pull} +Guix and its package collection are updated by running @command{guix pull} +(@pxref{Invoking guix pull}). By default @command{guix pull} downloads and +deploys Guix itself from the official GNU@tie{}Guix repository. This can be +customized by defining @dfn{channels} in the +@file{~/.config/guix/channels.scm} file. A channel specifies a URL and branch +of a Git repository to be deployed, and @command{guix pull} can be instructed +to pull from one or more channels. In other words, channels can be used to +@emph{customize} and to @emph{extend} Guix, as we will see below. + +@subsection Using a Custom Guix Channel + +The channel called @code{guix} specifies where Guix itself---its command-line +tools as well as its package collection---should be downloaded. For instance, +suppose you want to update from your own copy of the Guix repository at +@code{example.org}, and specifically the @code{super-hacks} branch, you can +write in @code{~/.config/guix/channels.scm} this specification: + +@lisp +;; Tell 'guix pull' to use my own repo. +(list (channel + (name 'guix) + (url "https://example.org/my-guix.git") + (branch "super-hacks"))) +@end lisp + +@noindent +From there on, @command{guix pull} will fetch code from the @code{super-hacks} +branch of the repository at @code{example.org}. + +@subsection Specifying Additional Channels + +@cindex extending the package collection (channels) +@cindex personal packages (channels) +@cindex channels, for personal packages +You can also specify @emph{additional channels} to pull from. Let's say you +have a bunch of custom package variants or personal packages that you think +would make little sense to contribute to the Guix project, but would like to +have these packages transparently available to you at the command line. You +would first write modules containing those package definitions (@pxref{Package +Modules}), maintain them in a Git repository, and then you and anyone else can +use it as an additional channel to get packages from. Neat, no? + +@c What follows stems from discussions at +@c as well as +@c earlier discussions on guix-devel@gnu.org. +@quotation Warning +Before you, dear user, shout---``woow this is @emph{soooo coool}!''---and +publish your personal channel to the world, we would like to share a few words +of caution: + +@itemize +@item +Before publishing a channel, please consider contributing your package +definitions to Guix proper (@pxref{Contributing}). Guix as a project is open +to free software of all sorts, and packages in Guix proper are readily +available to all Guix users and benefit from the project's quality assurance +process. + +@item +When you maintain package definitions outside Guix, we, Guix developers, +consider that @emph{the compatibility burden is on you}. Remember that +package modules and package definitions are just Scheme code that uses various +programming interfaces (APIs). We want to remain free to change these APIs to +keep improving Guix, possibly in ways that break your channel. We never +change APIs gratuitously, but we will @emph{not} commit to freezing APIs +either. + +@item +Corollary: if you're using an external channel and that channel breaks, please +@emph{report the issue to the channel authors}, not to the Guix project. +@end itemize + +You've been warned! Having said this, we believe external channels are a +practical way to exert your freedom to augment Guix' package collection and to +share your improvements, which are basic tenets of +@uref{https://www.gnu.org/philosophy/free-sw.html, free software}. Please +email us at @email{guix-devel@@gnu.org} if you'd like to discuss this. +@end quotation + +Once you have a Git repository containing your own package modules, you can +write @code{~/.config/guix/channels.scm} to instruct @command{guix pull} to +pull from your personal channel @emph{in addition} to the default Guix +channel(s): + +@vindex %default-channels +@lisp +;; Add my personal packages to those Guix provides. +(cons (channel + (name 'my-personal-packages) + (url "https://example.org/personal-packages.git")) + %default-channels) +@end lisp + +@noindent +Note that the snippet above is (as always!) Scheme code; we use @code{cons} to +add a channel the list of channels that the variable @code{%default-channels} +is bound to (@pxref{Pairs, @code{cons} and lists,, guile, GNU Guile Reference +Manual}). With this file in place, @command{guix pull} builds not only Guix +but also the package modules from your own repository. The result in +@file{~/.config/guix/current} is the union of Guix with your own package +modules: + +@example +$ guix pull --list-generations +@dots{} +Generation 19 Aug 27 2018 16:20:48 + guix d894ab8 + repository URL: https://git.savannah.gnu.org/git/guix.git + branch: master + commit: d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300 + my-personal-packages dd3df5e + repository URL: https://example.org/personal-packages.git + branch: master + commit: dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb + 11 new packages: my-gimp, my-emacs-with-cool-features, @dots{} + 4 packages upgraded: emacs-racket-mode@@0.0.2-2.1b78827, @dots{} +@end example + +@noindent +The output of @command{guix pull} above shows that Generation@tie{}19 includes +both Guix and packages from the @code{my-personal-packages} channel. Among +the new and upgraded packages that are listed, some like @code{my-gimp} and +@code{my-emacs-with-cool-features} might come from +@code{my-personal-packages}, while others come from the Guix default channel. + +@subsection Replicating Guix + +@cindex pinning, channels +@cindex replicating Guix +@cindex reproducibility, of Guix +The @command{guix pull --list-generations} output above shows precisely which +commits were used to build this instance of Guix. We can thus replicate it, +say, on another machine, by providing a channel specification in +@file{~/.config/guix/channels.scm} that is ``pinned'' to these commits: + +@lisp +;; Deploy specific commits of my channels of interest. +(list (channel + (name 'guix) + (url "https://git.savannah.gnu.org/git/guix.git") + (commit "d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300")) + (channel + (name 'my-personal-packages) + (url "https://example.org/personal-packages.git") + (branch "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb"))) +@end lisp + +At this point the two machines run the @emph{exact same Guix}, with access to +the @emph{exact same packages}. The output of @command{guix build gimp} on +one machine will be exactly the same, bit for bit, as the output of the same +command on the other machine. It also means both machines have access to all +the source code of Guix and, transitively, to all the source code of every +package it defines. + +This gives you super powers, allowing you to track the provenance of binary +artifacts with very fine grain, and to reproduce software environments at +will---some sort of ``meta reproducibility'' capabilities, if you will. + @node Invoking guix pack @section Invoking @command{guix pack} @@ -3431,9 +3608,9 @@ more information on how to test package definitions, and @ref{Invoking guix lint}, for information on how to check a definition for style conformance. @vindex GUIX_PACKAGE_PATH -Lastly, @pxref{Package Modules}, for information +Lastly, @pxref{Channels}, for information on how to extend the distribution by adding your own package definitions -to @code{GUIX_PACKAGE_PATH}. +in a ``channel''. Finally, updating the package definition to a new upstream version can be partly automated by the @command{guix refresh} command @@ -6255,8 +6432,8 @@ and that of Vim. If you are using a Guix Git checkout (@pxref{Building from Git}), or have created your own packages on @code{GUIX_PACKAGE_PATH} -(@pxref{Defining Packages}), you will be able to edit the package -recipes. Otherwise, you will be able to examine the read-only recipes +(@pxref{Package Modules}), you will be able to edit the package +recipes. In other cases, you will be able to examine the read-only recipes for packages currently in the store. @@ -8376,7 +8553,7 @@ For information on porting to other architectures or kernels, @menu * System Installation:: Installing the whole operating system. * System Configuration:: Configuring the operating system. -* Documentation:: Browsing software user manuals. +* Documentation:: Browsing software user manuals. * Installing Debugging Files:: Feeding the debugger. * Security Updates:: Deploying security fixes quickly. * Package Modules:: Packages from the programmer's viewpoint. @@ -8415,7 +8592,7 @@ available. @menu * Limitations:: What you can expect. * Hardware Considerations:: Supported hardware. -* USB Stick and DVD Installation:: Preparing the installation medium. +* USB Stick and DVD Installation:: Preparing the installation medium. * Preparing for Installation:: Networking, partitioning, etc. * Proceeding with the Installation:: The real thing. * Installing GuixSD in a VM:: GuixSD playground. @@ -10096,7 +10273,7 @@ declaration. * Audio Services:: The MPD. * Virtualization Services:: Virtualization services. * Version Control Services:: Providing remote access to Git repositories. -* Game Services:: Game servers. +* Game Services:: Game servers. * Miscellaneous Services:: Other services. @end menu @@ -22641,16 +22818,24 @@ name and module name must match. For instance, the @code{(my-packages emacs)} module must be stored in a @file{my-packages/emacs.scm} file relative to the load path specified with @option{--load-path} or @code{GUIX_PACKAGE_PATH}. @xref{Modules and the File System,,, -guile, GNU Guile Reference Manual}, for details.}. These package definitions -will not be visible by default. Users can invoke commands such as -@command{guix package} and @command{guix build} with the -@code{-e} option so that they know where to find the package. Better -yet, they can use the -@code{-L} option of these commands to make those modules visible -(@pxref{Invoking guix build, @code{--load-path}}), or define the -@code{GUIX_PACKAGE_PATH} environment variable. This environment -variable makes it easy to extend or customize the distribution and is -honored by all the user interfaces. +guile, GNU Guile Reference Manual}, for details.}. There are two ways to make +these package definitions visible to the user interfaces: + +@enumerate +@item +By adding the directory containing your package modules to the search path +with the @code{-L} flag of @command{guix package} and other commands +(@pxref{Common Build Options}), or by setting the @code{GUIX_PACKAGE_PATH} +environment variable described below. + +@item +By defining a @dfn{channel} and configuring @command{guix pull} so that it +pulls from it. A channel is essentially a Git repository containing package +modules. @xref{Channels}, for more information on how to define and use +channels. +@end enumerate + +@code{GUIX_PACKAGE_PATH} works similarly to other search path variables: @defvr {Environment Variable} GUIX_PACKAGE_PATH This is a colon-separated list of directories to search for additional diff --git a/guix/channels.scm b/guix/channels.scm new file mode 100644 index 0000000000..ec3e05eaf5 --- /dev/null +++ b/guix/channels.scm @@ -0,0 +1,292 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès +;;; +;;; 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 (guix channels) + #:use-module (guix git) + #:use-module (guix records) + #:use-module (guix gexp) + #:use-module (guix discovery) + #:use-module (guix monads) + #:use-module (guix profiles) + #:use-module (guix derivations) + #:use-module (guix store) + #:use-module (guix i18n) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-11) + #:autoload (guix self) (whole-package) + #:use-module (ice-9 match) + #:export (channel + channel? + channel-name + channel-url + channel-branch + channel-commit + channel-location + + %default-channels + + channel-instance? + channel-instance-channel + channel-instance-commit + channel-instance-checkout + + latest-channel-instances + channel-instance-derivations + latest-channel-derivations + channel-instances->manifest)) + +;;; Commentary: +;;; +;;; This module implements "channels." A channel is usually a source of +;;; package definitions. There's a special channel, the 'guix' channel, that +;;; provides all of Guix, including its commands and its documentation. +;;; User-defined channels are expected to typically provide a bunch of .scm +;;; files meant to be added to the '%package-search-path'. +;;; +;;; This module provides tools to fetch and update channels from a Git +;;; repository and to build them. +;;; +;;; Code: + +(define-record-type* channel make-channel + channel? + (name channel-name) + (url channel-url) + (branch channel-branch (default "master")) + (commit channel-commit (default #f)) + (location channel-location + (default (current-source-location)) (innate))) +;; TODO: Add a way to express dependencies among channels. + +(define %default-channels + ;; Default list of channels. + (list (channel + (name 'guix) + (branch "origin/master") + (url "https://git.savannah.gnu.org/git/guix.git")))) + +(define (guix-channel? channel) + "Return true if CHANNEL is the 'guix' channel." + (eq? 'guix (channel-name channel))) + +(define-record-type + (channel-instance channel commit checkout) + channel-instance? + (channel channel-instance-channel) + (commit channel-instance-commit) + (checkout channel-instance-checkout)) + +(define (channel-reference channel) + "Return the \"reference\" for CHANNEL, an sexp suitable for +'latest-repository-commit'." + (match (channel-commit channel) + (#f `(branch . ,(channel-branch channel))) + (commit `(commit . ,(channel-commit channel))))) + +(define (latest-channel-instances store channels) + "Return a list of channel instances corresponding to the latest checkouts of +CHANNELS." + (map (lambda (channel) + (format (current-error-port) + (G_ "Updating channel '~a' from Git repository at '~a'...~%") + (channel-name channel) + (channel-url channel)) + (let-values (((checkout commit) + (latest-repository-commit store (channel-url channel) + #:ref (channel-reference + channel)))) + (channel-instance channel commit checkout))) + channels)) + +(define %self-build-file + ;; The file containing code to build Guix. This serves the same purpose as + ;; a makefile, and, similarly, is intended to always keep this name. + "build-aux/build-self.scm") + +(define %pull-version + ;; This is the version of the 'guix pull' protocol. It specifies what's + ;; expected from %SELF-BUILD-FILE. The initial version ("0") was when we'd + ;; place a set of compiled Guile modules in ~/.config/guix/latest. + 1) + +(define (standard-module-derivation name source dependencies) + "Return a derivation that builds the Scheme modules in SOURCE and that +depend on DEPENDENCIES, a list of lowerable objects. The assumption is that +SOURCE contains package modules to be added to '%package-module-path'." + (define modules + (scheme-modules* source)) + + ;; FIXME: We should load, say SOURCE/.guix-channel.scm, which would allow + ;; channel publishers to specify things such as the sub-directory where .scm + ;; files live, files to exclude from the channel, preferred substitute URLs, + ;; etc. + (mlet* %store-monad ((compiled + (compiled-modules modules + #:name name + #:module-path (list source) + #:extensions dependencies))) + + (gexp->derivation name + (with-extensions dependencies + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + + (let ((go (string-append #$output "/lib/guile/" + (effective-version) + "/site-ccache")) + (scm (string-append #$output + "/share/guile/site/" + (effective-version)))) + (mkdir-p (dirname go)) + (symlink #$compiled go) + (mkdir-p (dirname scm)) + (symlink #$source scm)))))))) + +(define* (build-from-source name source + #:key verbose? commit + (dependencies '())) + "Return a derivation to build Guix from SOURCE, using the self-build script +contained therein. Use COMMIT as the version string." + ;; Running the self-build script makes it easier to update the build + ;; procedure: the self-build script of the Guix-to-be-installed contains the + ;; right dependencies, build procedure, etc., which the Guix-in-use may not + ;; be know. + (define script + (string-append source "/" %self-build-file)) + + (if (file-exists? script) + (let ((build (save-module-excursion + (lambda () + (primitive-load script))))) + ;; BUILD must be a monadic procedure of at least one argument: the + ;; source tree. + ;; + ;; Note: BUILD can return #f if it does not support %PULL-VERSION. In + ;; the future we'll fall back to a previous version of the protocol + ;; when that happens. + (build source #:verbose? verbose? #:version commit + #:pull-version %pull-version)) + + ;; Build a set of modules that extend Guix using the standard method. + (standard-module-derivation name source dependencies))) + +(define* (build-channel-instance instance #:optional (dependencies '())) + "Return, as a monadic value, the derivation for INSTANCE, a channel +instance. DEPENDENCIES is a list of extensions providing Guile modules that +INSTANCE depends on." + (build-from-source (symbol->string + (channel-name (channel-instance-channel instance))) + (channel-instance-checkout instance) + #:commit (channel-instance-commit instance) + #:dependencies dependencies)) + +(define (channel-instance-derivations instances) + "Return the list of derivations to build INSTANCES, in the same order as +INSTANCES." + (define core-instance + ;; The 'guix' channel is treated specially: it's an implicit dependency of + ;; all the other channels. + (find (lambda (instance) + (guix-channel? (channel-instance-channel instance))) + instances)) + + (mlet %store-monad ((core (build-channel-instance core-instance))) + (mapm %store-monad + (lambda (instance) + (if (eq? instance core-instance) + (return core) + (build-channel-instance instance + (list core)))) + instances))) + +(define latest-channel-derivations + (let ((latest-channel-instances (store-lift latest-channel-instances))) + (lambda (channels) + "Return, as a monadic value, the list of derivations for the latest +instances of CHANNELS." + (mlet %store-monad ((instances (latest-channel-instances channels))) + (channel-instance-derivations instances))))) + +(define (whole-package-for-legacy name modules) + "Return a full-blown Guix package for MODULES, a derivation that builds Guix +modules in the old ~/.config/guix/latest style." + (define packages + (resolve-interface '(gnu packages guile))) + + (letrec-syntax ((list (syntax-rules (->) + ((_) + '()) + ((_ (module -> variable) rest ...) + (cons (module-ref (resolve-interface + '(gnu packages module)) + 'variable) + (list rest ...))) + ((_ variable rest ...) + (cons (module-ref packages 'variable) + (list rest ...)))))) + (whole-package name modules + + ;; In the "old style", %SELF-BUILD-FILE would simply return a + ;; derivation that builds modules. We have to infer what the + ;; dependencies of these modules were. + (list guile-json guile-git guile-bytestructures + (ssh -> guile-ssh) (tls -> gnutls))))) + +(define (old-style-guix? drv) + "Return true if DRV corresponds to a ~/.config/guix/latest style of +derivation." + ;; Here we rely on a gross historical fact: that derivations produced by the + ;; "old style" (before commit 8a0d9bc8a3f153159d9e239a151c0fa98f1e12d8, + ;; dated May 30, 2018) did not depend on "guix-command.drv". + (not (find (lambda (input) + (string-suffix? "-guix-command.drv" + (derivation-input-path input))) + (derivation-inputs drv)))) + +(define (channel-instances->manifest instances) + "Return a profile manifest with entries for all of INSTANCES, a list of +channel instances." + (define instance->entry + (match-lambda + ((instance drv) + (let ((commit (channel-instance-commit instance)) + (channel (channel-instance-channel instance))) + (with-monad %store-monad + (return (manifest-entry + (name (symbol->string (channel-name channel))) + (version (string-take commit 7)) + (item (if (guix-channel? channel) + (if (old-style-guix? drv) + (whole-package-for-legacy + (string-append name "-" version) + drv) + drv) + drv)) + (properties + `((source (repository + (version 0) + (url ,(channel-url channel)) + (branch ,(channel-branch channel)) + (commit ,commit)))))))))))) + + (mlet* %store-monad ((derivations (channel-instance-derivations instances)) + (entries (mapm %store-monad instance->entry + (zip instances derivations)))) + (return (manifest entries)))) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index ee68c21a4c..18c04f05dd 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -30,26 +30,19 @@ #:use-module (guix grafts) #:use-module (guix memoization) #:use-module (guix monads) + #:use-module (guix channels) #:autoload (guix inferior) (open-inferior) #:use-module (guix scripts build) - #:autoload (guix self) (whole-package) #:use-module (guix git) #:use-module (git) #:use-module (gnu packages) - #:autoload (gnu packages ssh) (guile-ssh) - #:autoload (gnu packages tls) (gnutls) #:use-module ((guix scripts package) #:select (build-and-use-profile)) - #:use-module ((guix build utils) - #:select (with-directory-excursion delete-file-recursively)) - #:use-module ((guix build download) - #:select (%x509-certificate-directory)) #:use-module (gnu packages base) #:use-module (gnu packages guile) #:use-module ((gnu packages bootstrap) #:select (%bootstrap-guile)) #:use-module ((gnu packages certs) #:select (le-certs)) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-35) #:use-module (srfi srfi-37) @@ -57,9 +50,6 @@ #:use-module (ice-9 vlist) #:export (guix-pull)) -(define %repository-url - (or (getenv "GUIX_PULL_URL") "https://git.savannah.gnu.org/git/guix.git")) - ;;; ;;; Command-line options. @@ -67,9 +57,7 @@ (define %default-options ;; Alist of default option values. - `((repository-url . ,%repository-url) - (ref . (branch . "origin/master")) - (system . ,(%current-system)) + `((system . ,(%current-system)) (substitutes? . #t) (build-hook? . #t) (graft? . #t) @@ -80,6 +68,8 @@ Download and deploy the latest version of Guix.\n")) (display (G_ " --verbose produce verbose output")) + (display (G_ " + -C, --channels=FILE deploy the channels defined in FILE")) (display (G_ " --url=URL download from the Git repository at URL")) (display (G_ " @@ -105,6 +95,9 @@ Download and deploy the latest version of Guix.\n")) (cons* (option '("verbose") #f #f (lambda (opt name arg result) (alist-cons 'verbose? #t result))) + (option '(#\C "channels") #t #f + (lambda (opt name arg result) + (alist-cons 'channel-file arg result))) (option '(#\l "list-generations") #f #t (lambda (opt name arg result) (cons `(query list-generations ,(or arg "")) @@ -142,70 +135,6 @@ Download and deploy the latest version of Guix.\n")) (define indirect-root-added (store-lift add-indirect-root)) -(define %self-build-file - ;; The file containing code to build Guix. This serves the same purpose as - ;; a makefile, and, similarly, is intended to always keep this name. - "build-aux/build-self.scm") - -(define %pull-version - ;; This is the version of the 'guix pull' protocol. It specifies what's - ;; expected from %SELF-BUILD-FILE. The initial version ("0") was when we'd - ;; place a set of compiled Guile modules in ~/.config/guix/latest. - 1) - -(define* (build-from-source source - #:key verbose? commit) - "Return a derivation to build Guix from SOURCE, using the self-build script -contained therein. Use COMMIT as the version string." - ;; Running the self-build script makes it easier to update the build - ;; procedure: the self-build script of the Guix-to-be-installed contains the - ;; right dependencies, build procedure, etc., which the Guix-in-use may not - ;; be know. - (let* ((script (string-append source "/" %self-build-file)) - (build (primitive-load script))) - ;; BUILD must be a monadic procedure of at least one argument: the source - ;; tree. - ;; - ;; Note: BUILD can return #f if it does not support %PULL-VERSION. In the - ;; future we'll fall back to a previous version of the protocol when that - ;; happens. - (build source #:verbose? verbose? #:version commit - #:pull-version %pull-version))) - -(define (whole-package-for-legacy name modules) - "Return a full-blown Guix package for MODULES, a derivation that builds Guix -modules in the old ~/.config/guix/latest style." - (whole-package name modules - - ;; In the "old style", %SELF-BUILD-FILE would simply return a - ;; derivation that builds modules. We have to infer what the - ;; dependencies of these modules were. - (list guile-json guile-git guile-bytestructures - guile-ssh gnutls))) - -(define* (derivation->manifest-entry drv - #:key url branch commit) - "Return a manifest entry for DRV, which represents Guix at COMMIT. Record -URL, BRANCH, and COMMIT as a property in the manifest entry." - (mbegin %store-monad - (what-to-build (list drv)) - (built-derivations (list drv)) - (let ((out (derivation->output-path drv))) - (return (manifest-entry - (name "guix") - (version (string-take commit 7)) - (item (if (file-exists? (string-append out "/bin/guix")) - drv - (whole-package-for-legacy (string-append name "-" - version) - drv))) - (properties - `((source (repository - (version 0) - (url ,url) - (branch ,branch) - (commit ,commit)))))))))) - (define (display-profile-news profile) "Display what's up in PROFILE--new packages, and all that." (match (memv (generation-number profile) @@ -223,8 +152,8 @@ URL, BRANCH, and COMMIT as a property in the manifest entry." #:heading (G_ "New in this revision:\n")))) (_ #t))) -(define* (build-and-install source config-dir - #:key verbose? url branch commit) +(define* (build-and-install instances config-dir + #:key verbose?) "Build the tool from SOURCE, and install it in CONFIG-DIR." (define update-profile (store-lift build-and-use-profile)) @@ -232,15 +161,9 @@ URL, BRANCH, and COMMIT as a property in the manifest entry." (define profile (string-append config-dir "/current")) - (mlet* %store-monad ((drv (build-from-source source - #:commit commit - #:verbose? verbose?)) - (entry (derivation->manifest-entry drv - #:url url - #:branch branch - #:commit commit))) + (mlet %store-monad ((manifest (channel-instances->manifest instances))) (mbegin %store-monad - (update-profile profile (manifest (list entry))) + (update-profile profile manifest) (return (display-profile-news profile))))) (define (honor-lets-encrypt-certificates! store) @@ -426,45 +349,106 @@ and ALIST2 differ, display HEADING upfront." ((numbers ...) (list-generations profile numbers))))))))) +(define (channel-list opts) + "Return the list of channels to use. If OPTS specify a channel file, +channels are read from there; otherwise, if ~/.config/guix/channels.scm +exists, read it; otherwise %DEFAULT-CHANNELS is used. Apply channel +transformations specified in OPTS (resulting from '--url', '--commit', or +'--branch'), if any." + (define file + (assoc-ref opts 'channel-file)) + + (define default-file + (string-append (config-directory) "/channels.scm")) + + (define (load-channels file) + (let ((result (load* file (make-user-module '((guix channels)))))) + (if (and (list? result) (every channel? result)) + result + (leave (G_ "'~a' did not return a list of channels~%") file)))) + + (define channels + (cond (file + (load-channels file)) + ((file-exists? default-file) + (load-channels default-file)) + (else + %default-channels))) + + (define (environment-variable) + (match (getenv "GUIX_PULL_URL") + (#f #f) + (url + (warning (G_ "The 'GUIX_PULL_URL' environment variable is deprecated. +Use '~/.config/guix/channels.scm' instead.")) + url))) + + (let ((ref (assoc-ref opts 'ref)) + (url (or (assoc-ref opts 'repository-url) + (environment-variable)))) + (if (or ref url) + (match channels + ((one) + ;; When there's only one channel, apply '--url', '--commit', and + ;; '--branch' to this specific channel. + (let ((url (or url (channel-url one)))) + (list (match ref + (('commit . commit) + (channel (inherit one) + (url url) (commit commit) (branch #f))) + (('branch . branch) + (channel (inherit one) + (url url) (commit #f) (branch branch))) + (#f + (channel (inherit one) (url url))))))) + (_ + ;; Otherwise bail out. + (leave + (G_ "'--url', '--commit', and '--branch' are not applicable~%")))) + channels))) + (define (guix-pull . args) - (define (use-le-certs? url) - (string-prefix? "https://git.savannah.gnu.org/" url)) - (with-error-handling (with-git-error-handling - (let* ((opts (parse-command-line args %options - (list %default-options))) - (url (assoc-ref opts 'repository-url)) - (ref (assoc-ref opts 'ref)) - (cache (string-append (cache-directory) "/pull"))) + (let* ((opts (parse-command-line args %options + (list %default-options))) + (cache (string-append (cache-directory) "/pull")) + (channels (channel-list opts))) + (cond ((assoc-ref opts 'query) (process-query opts)) ((assoc-ref opts 'dry-run?) #t) ;XXX: not very useful (else (with-store store - (parameterize ((%graft? (assoc-ref opts 'graft?))) + (parameterize ((%graft? (assoc-ref opts 'graft?)) + (%repository-cache-directory cache)) (set-build-options-from-command-line store opts) - ;; For reproducibility, always refer to the LE certificates - ;; when we know we're talking to Savannah. - (when (use-le-certs? url) - (honor-lets-encrypt-certificates! store)) - - (format (current-error-port) - (G_ "Updating from Git repository at '~a'...~%") - url) - - (let-values (((checkout commit) - (latest-repository-commit store url - #:ref ref - #:cache-directory - cache))) + ;; When certificates are already installed, use them. + ;; Otherwise, use the Let's Encrypt certificates, which we + ;; know Savannah uses. + (let ((certs (or (getenv "SSL_CERT_DIR") "/etc/ssl/certs"))) + (unless (file-exists? certs) + (honor-lets-encrypt-certificates! store))) + (let ((instances (latest-channel-instances store channels))) (format (current-error-port) - (G_ "Building from Git commit ~a...~%") - commit) + (N_ "Building from this channel:~%" + "Building from these channels:~%" + (length instances))) + (for-each (lambda (instance) + (let ((channel + (channel-instance-channel instance))) + (format (current-error-port) + " ~10a~a\t~a~%" + (channel-name channel) + (channel-url channel) + (string-take + (channel-instance-commit instance) + 7)))) + instances) (parameterize ((%guile-for-build (package-derivation store @@ -472,13 +456,7 @@ and ALIST2 differ, display HEADING upfront." %bootstrap-guile (canonical-package guile-2.2))))) (run-with-store store - (build-and-install checkout (config-directory) - #:url url - #:branch (match ref - (('branch . branch) - branch) - (_ #f)) - #:commit commit + (build-and-install instances (config-directory) #:verbose? (assoc-ref opts 'verbose?))))))))))))) diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index d11f408d42..7f881355e7 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -38,4 +38,5 @@ guix/upstream.scm guix/ui.scm guix/http-client.scm guix/nar.scm +guix/channels.scm nix/nix-daemon/guix-daemon.cc From 351b6463af81b43840f7725ea6e174dc6499c1d4 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Tue, 28 Aug 2018 15:00:43 +0200 Subject: [PATCH 148/170] gnu: emacs-elisp-refs: Update to 1.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-elisp-refs): Update to 1.3. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a1ce64ffaa..d8a5c54791 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -9003,7 +9003,7 @@ continue.") (define-public emacs-elisp-refs (package (name "emacs-elisp-refs") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) @@ -9012,14 +9012,15 @@ continue.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0fj6wphwrvbslw46w7wgdk3b4bfr312ygj3lbgr9qw63lpqw26nl")))) + "02nzcn3v14n7mp7q32j5r4wdlpsw3zixzh6cf0cdyarfir6dly3p")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) ("emacs-f" ,emacs-f) ("emacs-list-utils" ,emacs-list-utils) ("emacs-loop" ,emacs-loop) - ("emacs-s" ,emacs-s))) + ("emacs-s" ,emacs-s) + ("emacs-shut-up" ,emacs-shut-up))) (home-page "https://github.com/Wilfred/elisp-refs") (synopsis "Find callers of elisp functions or macros") (description "Find references to functions, macros or variables. Unlike a From b21a55a9f218c32cf9df561ad0e8d10d1b596cf0 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Tue, 28 Aug 2018 15:01:32 +0200 Subject: [PATCH 149/170] gnu: emacs-helpful: Update to 0.13. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-helpful): Update to 0.13. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d8a5c54791..2b8796f72e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -9660,7 +9660,7 @@ downloading manager for Emacs.") (define-public emacs-helpful (package (name "emacs-helpful") - (version "0.1") + (version "0.13") (source (origin (method url-fetch) (uri (string-append @@ -9669,7 +9669,7 @@ downloading manager for Emacs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "16dx566qzrjj0bf43lnw7h1qlvgs94brqplamw8kppp2ylr72qs9")))) + "11kj04y1fa3vnw2991cyqf6adz6bb3hlrdkvypjnmpb0s64q64b6")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-elisp-refs" ,emacs-elisp-refs))) From 2bd6ed9e4c32928312eee9cd71137d5adf09f955 Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Sun, 2 Sep 2018 07:47:05 +0800 Subject: [PATCH 150/170] gnu: haskell-mode: Fix test failure. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . Thanks to Jack Hill for exploring different solutions at . * gnu/packages/patches/haskell-mode-unused-variables.patch, gnu/packages/patches/haskell-mode-make-check.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/emacs.scm (haskell-mode)[source]: Use them. [arguments]: Adjust 'pre-build' phase to embed file name. Co-authored-by: Ludovic Courtès --- gnu/local.mk | 2 + gnu/packages/emacs.scm | 17 ++++--- .../patches/haskell-mode-make-check.patch | 35 +++++++++++++++ .../haskell-mode-unused-variables.patch | 44 +++++++++++++++++++ 4 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/patches/haskell-mode-make-check.patch create mode 100644 gnu/packages/patches/haskell-mode-unused-variables.patch diff --git a/gnu/local.mk b/gnu/local.mk index 91de38c5a3..d929ec0da8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -791,6 +791,8 @@ dist_patch_DATA = \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gzdoom-search-in-installed-share.patch \ %D%/packages/patches/handbrake-pkg-config-path.patch \ + %D%/packages/patches/haskell-mode-unused-variables.patch \ + %D%/packages/patches/haskell-mode-make-check.patch \ %D%/packages/patches/hdf4-architectures.patch \ %D%/packages/patches/hdf4-reproducibility.patch \ %D%/packages/patches/hdf4-shared-fortran.patch \ diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 2b8796f72e..08554280c7 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -646,7 +646,11 @@ only a handful of functions that are not resource-specific.") "https://github.com/haskell/haskell-mode/archive/v" version ".tar.gz")) (sha256 - (base32 "0g6lcjw7lcgavv3yrd8xjcyqgfyjl787y32r1z14amw2f009m78h")))) + (base32 "0g6lcjw7lcgavv3yrd8xjcyqgfyjl787y32r1z14amw2f009m78h")) + (patches + (search-patches ; backport test failure fixes + "haskell-mode-unused-variables.patch" + "haskell-mode-make-check.patch")))) (inputs `(("emacs-el-search" ,emacs-el-search) ; for tests ("emacs-stream" ,emacs-stream))) ; for tests @@ -686,12 +690,11 @@ only a handful of functions that are not resource-specific.") (_ "")) inputs))) (substitute* (find-files "." "\\.el") (("/bin/sh") sh)) - (substitute* "tests/haskell-code-conventions.el" - ;; Function name recently changed in "emacs-el-search". - (("el-search--search-pattern") "el-search-forward") - ;; Don't contact home. - (("\\(when \\(>= emacs-major-version 25\\)") - "(require 'el-search) (when nil")) + ;; embed filename to fix test failure + (let ((file "tests/haskell-cabal-tests.el")) + (substitute* file + (("\\(buffer-file-name\\)") + (format #f "(or (buffer-file-name) ~s)" file)))) #t))) (replace 'install diff --git a/gnu/packages/patches/haskell-mode-make-check.patch b/gnu/packages/patches/haskell-mode-make-check.patch new file mode 100644 index 0000000000..a4d4d525f2 --- /dev/null +++ b/gnu/packages/patches/haskell-mode-make-check.patch @@ -0,0 +1,35 @@ +Copied from upstream repository. +Hunk #2 is removed since it cannot be applied and it is not needed. + +From 7cead7137bf54851c1b7df5a3854351296d21276 Mon Sep 17 00:00:00 2001 +From: Vasantha Ganesh K +Date: Thu, 22 Jun 2017 23:38:40 +0530 +Subject: [PATCH] removed `check-conventions' from make + +--- + Makefile | 7 +- + tests/haskell-code-conventions.el | 165 ------------------------------ + 2 files changed, 1 insertion(+), 171 deletions(-) + delete mode 100644 tests/haskell-code-conventions.el + +diff --git a/Makefile b/Makefile +index b2c89d6..aa907c5 100644 +--- a/Makefile ++++ b/Makefile +@@ -79,12 +79,7 @@ build-$(EMACS_VERSION)/build-flag : build-$(EMACS_VERSION) $(patsubst %.el,build + check-%: tests/%-tests.el + $(BATCH) -l "$<" -f ert-run-tests-batch-and-exit; + +-check: compile $(AUTOLOADS) check-ert check-conventions +- +-check-conventions : +- $(BATCH) -l tests/haskell-code-conventions.el \ +- -f haskell-check-conventions-batch-and-exit +- @echo "conventions are okay" ++check: compile $(AUTOLOADS) check-ert + + check-ert: $(ELCHECKS) + $(BATCH) --eval "(when (= emacs-major-version 24) \ +-- +2.18.0 + diff --git a/gnu/packages/patches/haskell-mode-unused-variables.patch b/gnu/packages/patches/haskell-mode-unused-variables.patch new file mode 100644 index 0000000000..b175fae28c --- /dev/null +++ b/gnu/packages/patches/haskell-mode-unused-variables.patch @@ -0,0 +1,44 @@ +Copied verbatim from upstream repository. + +From cee22450ee30e79952f594796721dc6b17798ee6 Mon Sep 17 00:00:00 2001 +From: Sascha Wilde +Date: Fri, 23 Sep 2016 15:35:59 +0200 +Subject: [PATCH] Removed unused lexical variables. + +--- + haskell-lexeme.el | 3 +-- + haskell-process.el | 4 +--- + 2 files changed, 2 insertions(+), 5 deletions(-) + +diff --git a/haskell-lexeme.el b/haskell-lexeme.el +index 4256a79..b832560 100644 +--- a/haskell-lexeme.el ++++ b/haskell-lexeme.el +@@ -138,8 +138,7 @@ When match is successful, match-data will contain: + (match-text 2) - whole qualified identifier + (match-text 3) - unqualified part of identifier + (match-text 4) - closing backtick" +- (let ((begin (point)) +- (match-data-old (match-data)) ++ (let ((match-data-old (match-data)) + first-backtick-start + last-backtick-start + qid-start +diff --git a/haskell-process.el b/haskell-process.el +index b4efba2..4f3f859 100644 +--- a/haskell-process.el ++++ b/haskell-process.el +@@ -160,9 +160,7 @@ HPTYPE is the result of calling `'haskell-process-type`' function." + (defun haskell-process-log (msg) + "Effective append MSG to the process log (if enabled)." + (when haskell-process-log +- (let* ((append-to (get-buffer-create "*haskell-process-log*")) +- (windows (get-buffer-window-list append-to t t)) +- move-point-in-windows) ++ (let* ((append-to (get-buffer-create "*haskell-process-log*"))) + (with-current-buffer append-to + ;; point should follow insertion so that it stays at the end + ;; of the buffer +-- +2.18.0 + From 391097782311c82c04b171db7373a0bbfc1d8653 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sun, 2 Sep 2018 19:14:37 +0300 Subject: [PATCH 151/170] gnu: monitoring.scm: Fix copyright line. This is a follow-up to ead46692ec8a17ed9cf668131343d7cf1b3725e5. --- gnu/packages/monitoring.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index a59e51a5e3..12d736a76a 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2018 Sou Bunnbu ;;; Copyright © 2017, 2018 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018 Gábor Boskovits w +;;; Copyright © 2018 Gábor Boskovits ;;; Copyright © 2018 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. From 647465ace9fdb474c924585c18e4056fe12a6052 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 2 Sep 2018 16:56:05 +0300 Subject: [PATCH 152/170] gnu: jellyfish: Update to 2.2.10. * gnu/packages/bioinformatics.scm (jellyfish): Update to 2.2.10. [supported-systems]: Add aarch64-linux, mips64el-linux. --- gnu/packages/bioinformatics.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 22a00894c2..f60fc4c84c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3602,7 +3602,7 @@ experiments and provide highly stable thresholds based on reproducibility.") (define-public jellyfish (package (name "jellyfish") - (version "2.2.7") + (version "2.2.10") (source (origin (method url-fetch) (uri (string-append "https://github.com/gmarcais/Jellyfish/" @@ -3610,7 +3610,7 @@ experiments and provide highly stable thresholds based on reproducibility.") "/jellyfish-" version ".tar.gz")) (sha256 (base32 - "1a1iwq9pq54k2m9ypvwl5s0bqfl64gwh9dx5af9i382ajas2016q")))) + "1k4pc3fvv6w1km2yph4m5sd78fbxp21d6xyzgmy0gjihzc6mb249")))) (build-system gnu-build-system) (outputs '("out" ;for library "ruby" ;for Ruby bindings @@ -3647,8 +3647,8 @@ DNA sequences. It outputs its k-mer counts in a binary format, which can be translated into a human-readable text format using the @code{jellyfish dump} command, or queried for specific k-mers with @code{jellyfish query}.") (home-page "http://www.genome.umd.edu/jellyfish.html") - ;; From their website: JELLYFISH runs on 64-bit Intel-compatible processors - (supported-systems '("x86_64-linux")) + ;; JELLYFISH seems to be 64-bit only. + (supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux")) ;; The combined work is published under the GPLv3 or later. Individual ;; files such as lib/jsoncpp.cpp are released under the Expat license. (license (list license:gpl3+ license:expat)))) From aa613d71ece1ae56431b788c9aba55fdacd7a22f Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 3 Sep 2018 08:18:50 +0200 Subject: [PATCH 153/170] gnu: openrct2: Update to 0.2.1. * gnu/packages/games.scm (openrct2-objects): Update to 1.0.6. * gnu/packages/games.scm (openrct2): Update to 0.2.1. --- gnu/packages/games.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 3c5063f69b..728f763806 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2470,7 +2470,7 @@ Transport Tycoon Deluxe.") (define openrct2-objects (package (name "openrct2-objects") - (version "1.0.2") + (version "1.0.6") (source (origin (method url-fetch) @@ -2479,7 +2479,7 @@ Transport Tycoon Deluxe.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "1z92afhbv13j1ig6fz0x8w9vdmfchssv16vwwhb0vj40pn1g1rwy")))) + "00kfy95zx6g4ldr6br5p7bwkwfx6pw9v78fd3rvghjnwyvf5fhki")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -2511,7 +2511,7 @@ Transport Tycoon Deluxe.") (define-public openrct2 (package (name "openrct2") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) @@ -2519,7 +2519,7 @@ Transport Tycoon Deluxe.") version ".tar.gz")) (sha256 (base32 - "1yrbjra27n2xxb1x47v962lc3qi8gwm5ws4f97952nvn533zrwxz")) + "1fxzk037xphpyk7vv5jfrcz739zrj86p43pnf5gjjv9rjxwv7m8f")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments From 26baaaf49b18c84f56bfacd0760d62b1e9ccf04c Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 3 Sep 2018 08:19:15 +0200 Subject: [PATCH 154/170] gnu: c-toxcore: Update to 0.2.7. * gnu/packages/messaging.scm (c-toxcore): Update to 0.2.7. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index b03cb8f03a..afbb458ad9 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -873,7 +873,7 @@ protocols.") (define-public c-toxcore (package (name "c-toxcore") - (version "0.2.6") + (version "0.2.7") (source (origin (method url-fetch) @@ -882,7 +882,7 @@ protocols.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "04b3ifkj64yy06vph0hlq24mw9fh24zmq1qdf40fmj24vvgfmjpl")))) + "1lcw979zakyb5kzy8yfk87js3bzfz3k2jxidda6ga6ljdnqdpxmy")))) (arguments `(#:tests? #f)) ; FIXME: Testsuite seems to stay stuck on test 3. Disable ; for now. From 02ddafef5516c23caa91c821926774f618e48ad0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 3 Sep 2018 13:47:01 +0200 Subject: [PATCH 155/170] gnu: python-scipy: Disable broken tests. * gnu/packages/python.scm (python-scipy)[arguments]: Skip two broken tests. --- gnu/packages/python.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index fd1fdbf82d..9fdadfbd73 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3755,6 +3755,18 @@ functions.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-broken-tests + (lambda _ + (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py" + (("^( +)def test_threads_parallel\\(self\\):" m indent) + (string-append indent + "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" + m))) + (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py" + (("^def test_parallel_threads\\(\\):" m) + (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" + m))) + #t)) (add-before 'build 'configure-openblas (lambda* (#:key inputs #:allow-other-keys) (call-with-output-file "site.cfg" From 290bef39f689f8c36807533214bc1a450be32522 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 3 Sep 2018 13:10:58 +0300 Subject: [PATCH 156/170] gnu: efl: Update to 1.21.0. * gnu/packages/enlightenment.scm (efl): Update to 1.21.0. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 15ec492793..0cc9bb9575 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -62,7 +62,7 @@ (define-public efl (package (name "efl") - (version "1.20.7") + (version "1.21.0") (source (origin (method url-fetch) (uri (string-append @@ -70,7 +70,7 @@ version ".tar.xz")) (sha256 (base32 - "1zkn5ix81xck3n84dxvkjh4alwc6zj8x989d0zqi5c6ppijvgadh")))) + "0jxfrcz2aq1synxzd6sh9nhxz7fg9qgz0idr8zj6gaiplmwbwrby")))) (outputs '("out" ; 49 MB "include")) ; 17 MB (build-system gnu-build-system) From 0cc64476691dd47b79d93a38c89c488b1c985323 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 3 Sep 2018 17:32:21 +0300 Subject: [PATCH 157/170] gnu: python-efl: Update to 1.21.0. * gnu/packages/enlightenment.scm (python-efl): Update to 1.21.0. [source]: Don't use pypi source. [arguments]: Delete network tests. --- gnu/packages/enlightenment.scm | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 0cc9bb9575..40a5ec1cf4 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -312,35 +312,36 @@ embedded systems.") (define-public python-efl (package (name "python-efl") - (version "1.20.0") + (version "1.21.0") (source (origin (method url-fetch) - (uri (list - (pypi-uri "python-efl" version) - (string-append "http://download.enlightenment.org/rel/bindings/" - "python/python-efl-" version ".tar.gz"))) + (uri (string-append "http://download.enlightenment.org/rel/bindings/" + "python/python-efl-" version ".tar.xz")) (sha256 (base32 - "1680pgpf501nhbc9arm0nfj6rpcw17aryh0pgmmmszxlgpifpdzy")))) + "08x2cv8hnf004c3711250wrax21ffj5y8951pvk77h98als4pq47")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases - (replace 'build - (lambda _ - (zero? - (system* "env" "ENABLE_CYTHON=1" "python" "setup.py" "build")))) + (replace 'build + (lambda _ + (setenv "ENABLE_CYTHON" "1") + (invoke "python" "setup.py" "build"))) (add-before 'build 'set-flags - (lambda _ - (setenv "CFLAGS" - (string-append "-I" (assoc-ref %build-inputs "python-dbus") - "/include/dbus-1.0")) - #t)) + (lambda _ + (setenv "CFLAGS" + (string-append "-I" (assoc-ref %build-inputs "python-dbus") + "/include/dbus-1.0")) + #t)) (add-before 'check 'set-environment (lambda _ ;; Some tests require write access to HOME. (setenv "HOME" "/tmp") + ;; These tests try to connect to the internet. + (delete-file "tests/ecore/test_09_file_download.py") + (delete-file "tests/ecore/test_11_con.py") #t))))) (native-inputs `(("pkg-config" ,pkg-config) From fb458bf3bc98805dfb4a4c16cf4ca9d6d394495c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 3 Sep 2018 17:03:50 +0200 Subject: [PATCH 158/170] gnu: sudo: Update to 1.8.25. * gnu/packages/admin.scm (sudo): Update to 1.8.25. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3d58780b95..8807ab18b5 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -963,7 +963,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.8.24") + (version "1.8.25") (source (origin (method url-fetch) (uri @@ -973,7 +973,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "1s2v49n905wf3phmdnaa6v1dwck2lrcin0flg85z7klf35x5b25l")) + "0hfw6pcwjvv1vvnhb4n1p210306jm4npz99p9cfhbd33yrhhzkwx")) (modules '((guix build utils))) (snippet '(begin From cfcfc6ab627cbba2d5cd7893352e77d5e3667175 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 31 Aug 2018 16:53:27 +0200 Subject: [PATCH 159/170] Fix some typos. * doc/guix.texi (Sound Services, DNS Services): Fix typos. * gnu/packages/cpp.scm (json-modern-cxx)[description]: Likewise. * gnu/packages/emacs.scm (emacs-fancy-narrow)[synopsis, description]: Likewise. Edit & mark up while we're here. * gnu/packages/mail.scm (alot)[synopsis, description]: Ditto. --- doc/guix.texi | 4 ++-- gnu/packages/cpp.scm | 2 +- gnu/packages/emacs.scm | 11 ++++++----- gnu/packages/mail.scm | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index ad82c67932..307f915dbb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13539,7 +13539,7 @@ Users need to be in the @code{lp} group to access the D-Bus service. The @code{(gnu services sound)} module provides a service to configure the Advanced Linux Sound Architecture (ALSA) system, which making PulseAudio the -prefered ALSA output driver. +preferred ALSA output driver. @deffn {Scheme Variable} alsa-service-type This is the type for the @uref{https://alsa-project.org/, Advanced Linux Sound @@ -17425,7 +17425,7 @@ When true, don't read the hostnames in /etc/hosts. @item @code{port} (default: @code{53}) The port to listen on. Setting this to zero completely disables DNS -funtion, leaving only DHCP and/or TFTP. +responses, leaving only DHCP and/or TFTP functions. @item @code{local-service?} (default: @code{#t}) Accept DNS queries only from hosts whose address is on a local subnet, diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 0160e42f6a..d591e6a884 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -236,7 +236,7 @@ as ordering relation.") (build-system cmake-build-system) (synopsis "JSON parser and printer library for C++") (description "JSON for Modern C++ is a C++ JSON library that provides -intutive syntax and trivial integration.") +intuitive syntax and trivial integration.") (license license:expat))) (define-public xtl diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 08554280c7..8f0c564f88 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -9567,11 +9567,12 @@ duplicate hook and function names further into a single declarative call.") "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n")))) (build-system emacs-build-system) (home-page "https://github.com/Malabarba/fancy-narrow/releases") - (synopsis "Immitate narrow-to-region with more eye-candy") - (description "Unlike narrow-to-region, which completely hides text outside -the narrowed region, this package simply deemphasizes the text, makes it -readonly, and makes it unreachable. This leads to a much more natural -feeling, where the region stays static (instead of being brutally moved to a + (synopsis "Imitate @code{narrow-to-region} with more eye candy") + (description + "Unlike @code{narrow-to-region}, which completely hides text outside +the narrowed region, this package simply de-emphasizes the text, makes it +read-only, and makes it unreachable. This leads to a much more natural +feeling where the region stays static (instead of being brutally moved to a blank slate) and is clearly highlighted with respect to the rest of the buffer.") (license license:gpl2+))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 1f7e971d60..4944dd7622 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -706,9 +706,9 @@ attachments, create new maildirs, and so on.") ("python2-pygpgme" ,python2-pygpgme) ("python2-notmuch" ,python2-notmuch))) (home-page "https://github.com/pazz/alot") - (synopsis "Commandline MUA using notmuch") + (synopsis "Command-line MUA using @code{notmuch}") (description - "Alot is an experimental terminal mail user agent (MUA) based on + "Alot is an experimental terminal mail user agent (@dfn{MUA}) based on @code{notmuch} mail. It is written in Python using the @code{urwid} toolkit.") (license gpl3+))) From b619b7f67b9ebc7bc5617ccbf6c638bfa9a0d481 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 30 Aug 2018 21:57:36 +0200 Subject: [PATCH 160/170] gnu: libircclient: Update to 1.10. * gnu/packages/messaging.scm (libircclient): Update to 1.10. --- gnu/packages/messaging.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index afbb458ad9..4d7cc6923e 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1565,7 +1565,7 @@ using ncurses and libmesode, inspired by Irssi.") (define-public libircclient (package (name "libircclient") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) @@ -1573,7 +1573,7 @@ using ncurses and libmesode, inspired by Irssi.") version "/libircclient-" version ".tar.gz")) (sha256 (base32 - "0r60i76jh4drjh2jgp5sx71chagqllmkaq49zv67nrhqwvp9ghw1")))) + "0b9wa0h3xc31wpqlvgxgnvqp5wgx3kwsf5s9432m5cj8ycx6zcmv")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl))) @@ -1584,8 +1584,7 @@ using ncurses and libmesode, inspired by Irssi.") "--enable-shared" "--enable-ipv6" "--enable-openssl") - ;; no test suite - #:tests? #f)) + #:tests? #f)) ; no test suite (home-page "https://www.ulduzsoft.com/libircclient/") (synopsis "Library implementing the client IRC protocol") (description "Libircclient is a library which implements the client IRC From 38a8cd329d82fdd5f5a1b3b4813869294dbf6544 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 31 Aug 2018 10:24:21 +0200 Subject: [PATCH 161/170] gnu: python-nbxmpp: Update to 0.6.7. * gnu/packages/messaging.scm (python-nbxmpp): Update to 0.6.7. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 4d7cc6923e..42a0847b7a 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -548,14 +548,14 @@ simultaneously and therefore appear under the same nickname on IRC.") (define-public python-nbxmpp (package (name "python-nbxmpp") - (version "0.6.6") + (version "0.6.7") (source (origin (method url-fetch) (uri (pypi-uri "nbxmpp" version)) (sha256 (base32 - "0bp60syqc3qp2i28phvadxlpwizjbr6bxw4m363p9yn5fl687qnh")))) + "0fas4iawjfdmkz8vr042wpq6b2qispi6fy35g4a62jw50jb1saav")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; no tests From a5896da34e93754a7b69b2adf049444833b1a402 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 3 Sep 2018 19:33:14 +0300 Subject: [PATCH 162/170] gnu: gnu-pw-mgr: Update to 2.4.2. * gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 2.4.2. --- gnu/packages/gnu-pw-mgr.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnu-pw-mgr.scm b/gnu/packages/gnu-pw-mgr.scm index 38f9e8187a..a56bc09e61 100644 --- a/gnu/packages/gnu-pw-mgr.scm +++ b/gnu/packages/gnu-pw-mgr.scm @@ -30,7 +30,7 @@ (define-public gnu-pw-mgr (package (name "gnu-pw-mgr") - (version "2.3.3") + (version "2.4.2") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "04xh38j7l0sfnb01kp05xc908pvqfc0lph94k7n9bi46zy3qy7ma")))) + "1yvdzc5w37qrjrkby5699ygj9bhkvgi3zk9k9jcjry1j6b7wdl17")))) (build-system gnu-build-system) (arguments '(#:phases From 915620619954ff100ebc097f048adcc65715b0a0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Sep 2018 12:08:20 +0200 Subject: [PATCH 163/170] gnu: simplescreenrecorder: Build against modular Qt. * gnu/packages/video.scm (simplescreenrecorder)[inputs]: Remove QT. Add QTBASE and QTX11EXTRAS. --- gnu/packages/video.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 6825cd7d2d..3e074e6c3f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2217,7 +2217,8 @@ making @dfn{screencasts}.") ("jack" ,jack-1) ("libxi" ,libxi) ("pulseaudio" ,pulseaudio) - ("qt" ,qt))) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments `(#:configure-flags From 1ae2c577a6c79ac2914e268ffca89459b196dcb2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Sep 2018 15:09:50 +0200 Subject: [PATCH 164/170] gnu: ilmbase: Update to 2.3.0. * gnu/packages/graphics.scm (ilmbase): Update to 2.3.0. [source](uri): Change to new download location. --- gnu/packages/graphics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 6632c9a1a3..e5ec318e1b 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -228,14 +228,15 @@ many more.") (define-public ilmbase (package (name "ilmbase") - (version "2.2.1") + (version "2.3.0") (source (origin (method url-fetch) - (uri (string-append "mirror://savannah/openexr/ilmbase-" + (uri (string-append "https://github.com/openexr/openexr/releases" + "/download/v" version "/ilmbase-" version ".tar.gz")) (sha256 (base32 - "17k0hq19wplx9s029kjrq6c51x2ryrfmaavcappkd0g67gk0dhna")) + "0qiq5bqq9rxhqjiym2k36sx4vq8adgrz6xf6qwizi9bqm78phsa5")) (patches (search-patches "ilmbase-fix-tests.patch")))) (build-system gnu-build-system) (home-page "http://www.openexr.com/") From fcde1d27bb668f3a5972b31031bdb19f5d8ef68e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Sep 2018 15:15:26 +0200 Subject: [PATCH 165/170] gnu: openexr: Update to 2.3.0. * gnu/packages/graphics.scm (openexr): Update to 2.3.0. [source](uri): Change to new download location. [source](snippet): Remove workaround. [source](patches): Remove. * gnu/packages/patches/openexr-missing-samples.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/graphics.scm | 17 ++++---------- .../patches/openexr-missing-samples.patch | 23 ------------------- 3 files changed, 5 insertions(+), 36 deletions(-) delete mode 100644 gnu/packages/patches/openexr-missing-samples.patch diff --git a/gnu/local.mk b/gnu/local.mk index d929ec0da8..1924ae9467 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1000,7 +1000,6 @@ dist_patch_DATA = \ %D%/packages/patches/ola-readdir-r.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ - %D%/packages/patches/openexr-missing-samples.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openldap-CVE-2017-9287.patch \ %D%/packages/patches/openocd-nrf52.patch \ diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index e5ec318e1b..9c2869c12b 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -320,29 +320,22 @@ graphics.") (define-public openexr (package (name "openexr") - (version "2.2.1") + (version "2.3.0") (source (origin (method url-fetch) - (uri (string-append "mirror://savannah/openexr/openexr-" + (uri (string-append "https://github.com/openexr/openexr/releases" + "/download/v" version "/openexr-" version ".tar.gz")) (sha256 (base32 - "1kdf2gqznsdinbd5vcmqnif442nyhdf9l7ckc51410qm2gv5m6lg")) + "19jywbs9qjvsbkvlvzayzi81s976k53wg53vw4xj66lcgylb6v7x")) (modules '((guix build utils))) (snippet '(begin (substitute* (find-files "." "tmpDir\\.h") (("\"/var/tmp/\"") "\"/tmp/\"")) - - ;; Install 'ImfStdIO.h'. Reported at - ;; - ;; and . - (substitute* "IlmImf/Makefile.in" - (("ImfIO\\.h") - "ImfIO.h ImfStdIO.h")) - #t)) - (patches (search-patches "openexr-missing-samples.patch")))) + #t)))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/patches/openexr-missing-samples.patch b/gnu/packages/patches/openexr-missing-samples.patch deleted file mode 100644 index 16cc9bb625..0000000000 --- a/gnu/packages/patches/openexr-missing-samples.patch +++ /dev/null @@ -1,23 +0,0 @@ -This patch comments out tests that rely on files that are missing -from the source tarball. - ---- openexr-2.2.0/IlmImfTest/testSampleImages.cpp 2015-02-25 16:19:21.565105625 +0100 -+++ openexr-2.2.0/IlmImfTest/testSampleImages.cpp 2015-02-25 16:21:46.394128206 +0100 -@@ -162,16 +162,6 @@ testSampleImages (const std::string&) - compareImages (ILM_IMF_TEST_IMAGEDIR "comp_b44.exr", - ILM_IMF_TEST_IMAGEDIR "comp_b44_piz.exr"); - -- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwaa_v1.exr", -- ILM_IMF_TEST_IMAGEDIR "comp_dwaa_piz.exr"); -- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwaa_v2.exr", -- ILM_IMF_TEST_IMAGEDIR "comp_dwaa_piz.exr"); -- -- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwab_v1.exr", -- ILM_IMF_TEST_IMAGEDIR "comp_dwab_piz.exr"); -- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwab_v2.exr", -- ILM_IMF_TEST_IMAGEDIR "comp_dwab_piz.exr"); -- - - cout << "ok\n" << endl; - } - From 84aa18ff7ff06a2738187d5911dafeb3df39a679 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Sep 2018 15:54:09 +0200 Subject: [PATCH 166/170] gnu: re2: Update to 2018-09-01. * gnu/packages/regex.scm (re2): Update to 2018-09-01. --- gnu/packages/regex.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index 3f501a0736..c9d9e8a359 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -29,7 +29,7 @@ (define-public re2 (package (name "re2") - (version "2018-08-01") + (version "2018-09-01") (home-page "https://github.com/google/re2") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lmpc3cb9bvc27fp27jacx6qjn176v8z8p7k70byc092q68mr6bw")))) + "0hygr88hvy7if1i45m5r6x60zf73439j2fwzw7wwcw9gb01v690l")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From cbd7c65709b1195de9196772c7f8ae6863797b35 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Sep 2018 15:35:23 +0200 Subject: [PATCH 167/170] gnu: ppp: Return #t from all phases. * gnu/packages/samba.scm (ppp)[arguments]: Return #t from phase. --- gnu/packages/samba.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 345655d584..a6d6ee30cd 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -417,7 +417,8 @@ key-value pair databases and a real LDAP database.") (("/usr/include/crypt\\.h") (string-append libc "/include/crypt.h")) (("/usr/include/pcap-bpf.h") - (string-append libpcap "/include/pcap-bpf.h"))))))))) + (string-append libpcap "/include/pcap-bpf.h"))) + #t)))))) (inputs `(("libpcap" ,libpcap))) (synopsis "Implementation of the Point-to-Point Protocol") From 1f7d142000ad15d037cf3d934f7b6233f3a5b434 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 1 Sep 2018 19:27:01 +0200 Subject: [PATCH 168/170] gnu: python-matplotlib: Update to 2.2.3. * gnu/packages/python.scm (python-matplotlib): Update to 2.2.3. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9fdadfbd73..8cf5550f81 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3468,14 +3468,14 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (define-public python-matplotlib (package (name "python-matplotlib") - (version "2.2.2") + (version "2.2.3") (source (origin (method url-fetch) (uri (pypi-uri "matplotlib" version)) (sha256 (base32 - "1s6dv225w3k4fv52h8lfjc7qq5y56i9755ayx0mz48ddi99fzisd")))) + "1rcc7x9ig3hpchkc4cwdvym3y451w74275fxr455zkfagrsvymbk")))) (build-system python-build-system) (propagated-inputs ; the following packages are all needed at run time `(("python-cycler" ,python-cycler) From 91bb495b85e9870773f9a4785f325c0cc9a2c3d1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Sep 2018 19:00:59 +0200 Subject: [PATCH 169/170] gnu: arpack-ng: Drop redundant phase. * gnu/packages/maths.scm (arpack-ng)[arguments]: Remove. --- gnu/packages/maths.scm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 377e47bc58..36a77b1f0a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -470,11 +470,6 @@ computing convex hulls.") (base32 "0f8jx3fifmj9qdp289zr7r651y1q48k1jya859rqxq62mvis7xsh")))) (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'autoreconf - (lambda _ - (invoke "autoreconf" "-vfi")))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From c702749dfd47ea6983768cd5b8cf828898445af0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 3 Sep 2018 19:01:32 +0200 Subject: [PATCH 170/170] gnu: arpack-ng: Update to 3.6.2. * gnu/packages/maths.scm (arpack-ng): Update to 3.6.2. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 36a77b1f0a..50c0a320e0 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -459,7 +459,7 @@ computing convex hulls.") (define-public arpack-ng (package (name "arpack-ng") - (version "3.5.0") + (version "3.6.2") (home-page "https://github.com/opencollab/arpack-ng") (source (origin @@ -468,7 +468,7 @@ computing convex hulls.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0f8jx3fifmj9qdp289zr7r651y1q48k1jya859rqxq62mvis7xsh")))) + "16jrvdl0gh78rrfnvrcxwys4slwfh6qmwwjhfc9d6vwrvq184g37")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf)