From de15ff1a6c319a46046093d26baa6117c6a22e73 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 8 Aug 2018 01:00:13 -0400 Subject: [PATCH 001/148] gnu: Add asignify. * gnu/packages/crypto.scm (asignify): New variable. --- gnu/packages/crypto.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index d9111135e8..33f4abb5ae 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -816,3 +816,41 @@ which is also used in the Advanced Encryption Standard (AES, see @url{http://www.nist.gov/aes}). This cipher is believed to provide very strong security.") (license license:gpl2))) + +(define-public asignify + (let ((commit "f58e7977a599f040797975d649ed318e25cbd2d5") + (revision "0")) + (package + (name "asignify") + (version (git-version "1.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vstakhov/asignify.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zl68qq6js6fdahxzyhvhrpyrwlv8c2zhdplycnfxyr1ckkhq8dw")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--enable-openssl" + (string-append "--with-openssl=" + (assoc-ref %build-inputs "openssl"))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (inputs + `(("openssl" ,openssl-next))) + (home-page "https://github.com/vstakhov/asignify") + (synopsis "Cryptographic authentication and encryption tool and library") + (description "Asignify offers public cryptographic signatures and +encryption with a library or a command-line tool. The tool is heavily inspired +by signify as used in OpenBSD. The main goal of this project is to define a +high level API for signing files, validating signatures and encrypting using +public-key cryptography. Asignify is designed to be portable and self-contained +with zero external dependencies. Asignify can verify OpenBSD signatures, but it +cannot sign messages in OpenBSD format yet.") + (license license:bsd-2)))) From d930374014eb159ef1e01d7c54d04fadd4889e4a Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Sat, 8 Sep 2018 23:50:57 +0800 Subject: [PATCH 002/148] gnu: youtube-dl: Update to 2018.08.04. * gnu/packages/video.scm (youtube-dl): Update to 2018.08.04. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 3e074e6c3f..900575b828 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1270,7 +1270,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2018.08.04") + (version "2018.09.08") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1278,7 +1278,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "1hcx99qbbyigc8k98c8bcc6a2wnhq6493fmrkl7rysc8krlxr0pm")))) + "0vwc4faqdddrb3nm4fzmkr60n5rc2zwyy8jwrrjad60kcp8isf05")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion From 19de8273eefceac1ba6ddc8d7e374a13f57c678b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 7 Sep 2018 22:29:40 +0200 Subject: [PATCH 003/148] services: tailon: Move to (gnu services web). This allows (gnu services admin) to remain deeper in the module graph and to be used by (gnu services web). * gnu/services/admin.scm () (tailon-configuration-files-string) (tailon-configuration-file-compiler, ) (tailon-shepherd-service, %tailon-accounts) (tailon-service-type): Move to... * gnu/services/web.scm: ... here. * gnu/tests/admin.scm: Remove. Move test to... * gnu/tests/web.scm (%tailon-os) (run-tailon-test, %test-tailon): ... here. --- gnu/local.mk | 1 - gnu/services/admin.scm | 174 +---------------------------------------- gnu/services/web.scm | 172 +++++++++++++++++++++++++++++++++++++++- gnu/tests/admin.scm | 127 ------------------------------ gnu/tests/web.scm | 99 ++++++++++++++++++++++- 5 files changed, 270 insertions(+), 303 deletions(-) delete mode 100644 gnu/tests/admin.scm diff --git a/gnu/local.mk b/gnu/local.mk index 374e25165e..bc01a3cd36 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -529,7 +529,6 @@ GNU_SYSTEM_MODULES = \ %D%/build/vm.scm \ \ %D%/tests.scm \ - %D%/tests/admin.scm \ %D%/tests/audio.scm \ %D%/tests/base.scm \ %D%/tests/databases.scm \ diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm index aaf0b904fd..f08c896334 100644 --- a/gnu/services/admin.scm +++ b/gnu/services/admin.scm @@ -20,19 +20,14 @@ (define-module (gnu services admin) #:use-module (gnu packages admin) #:use-module (gnu packages base) - #:use-module (gnu packages logging) #:use-module (gnu services) #:use-module (gnu services mcron) #:use-module (gnu services shepherd) - #:use-module (gnu services web) - #:use-module (gnu system shadow) #:use-module (guix gexp) - #:use-module (guix store) #:use-module (guix packages) #:use-module (guix records) #:use-module (srfi srfi-1) #:use-module (ice-9 vlist) - #:use-module (ice-9 match) #:export (%default-rotations %rotated-files @@ -46,29 +41,7 @@ rottlog-configuration rottlog-configuration? rottlog-service - rottlog-service-type - - - tailon-configuration-file - tailon-configuration-file? - tailon-configuration-file-files - tailon-configuration-file-bind - tailon-configuration-file-relative-root - tailon-configuration-file-allow-transfers? - tailon-configuration-file-follow-names? - tailon-configuration-file-tail-lines - tailon-configuration-file-allowed-commands - tailon-configuration-file-debug? - tailon-configuration-file-http-auth - tailon-configuration-file-users - - - tailon-configuration - tailon-configuration? - tailon-configuration-config-file - tailon-configuration-package - - tailon-service-type)) + rottlog-service-type)) ;;; Commentary: ;;; @@ -203,149 +176,4 @@ Old log files are removed or compressed according to the configuration.") rotations))))) (default-value (rottlog-configuration)))) - -;;; -;;; Tailon -;;; - -(define-record-type* - tailon-configuration-file make-tailon-configuration-file - tailon-configuration-file? - (files tailon-configuration-file-files - (default '("/var/log"))) - (bind tailon-configuration-file-bind - (default "localhost:8080")) - (relative-root tailon-configuration-file-relative-root - (default #f)) - (allow-transfers? tailon-configuration-file-allow-transfers? - (default #t)) - (follow-names? tailon-configuration-file-follow-names? - (default #t)) - (tail-lines tailon-configuration-file-tail-lines - (default 200)) - (allowed-commands tailon-configuration-file-allowed-commands - (default '("tail" "grep" "awk"))) - (debug? tailon-configuration-file-debug? - (default #f)) - (wrap-lines tailon-configuration-file-wrap-lines - (default #t)) - (http-auth tailon-configuration-file-http-auth - (default #f)) - (users tailon-configuration-file-users - (default #f))) - -(define (tailon-configuration-files-string files) - (string-append - "\n" - (string-join - (map - (lambda (x) - (string-append - " - " - (cond - ((string? x) - (simple-format #f "'~A'" x)) - ((list? x) - (string-join - (cons (simple-format #f "'~A':" (car x)) - (map - (lambda (x) (simple-format #f " - '~A'" x)) - (cdr x))) - "\n")) - (else (error x))))) - files) - "\n"))) - -(define-gexp-compiler (tailon-configuration-file-compiler - (file ) system target) - (match file - (($ files bind relative-root - allow-transfers? follow-names? - tail-lines allowed-commands debug? - wrap-lines http-auth users) - (text-file - "tailon-config.yaml" - (string-concatenate - (filter-map - (match-lambda - ((key . #f) #f) - ((key . value) (string-append key ": " value "\n"))) - - `(("files" . ,(tailon-configuration-files-string files)) - ("bind" . ,bind) - ("relative-root" . ,relative-root) - ("allow-transfers" . ,(if allow-transfers? "true" "false")) - ("follow-names" . ,(if follow-names? "true" "false")) - ("tail-lines" . ,(number->string tail-lines)) - ("commands" . ,(string-append "[" - (string-join allowed-commands ", ") - "]")) - ("debug" . ,(if debug? "true" #f)) - ("wrap-lines" . ,(if wrap-lines "true" "false")) - ("http-auth" . ,http-auth) - ("users" . ,(if users - (string-concatenate - (cons "\n" - (map (match-lambda - ((user . pass) - (string-append - " " user ":" pass))) - users))) - #f))))))))) - -(define-record-type* - tailon-configuration make-tailon-configuration - tailon-configuration? - (config-file tailon-configuration-config-file - (default (tailon-configuration-file))) - (package tailon-configuration-package - (default tailon))) - -(define tailon-shepherd-service - (match-lambda - (($ config-file package) - (list (shepherd-service - (provision '(tailon)) - (documentation "Run the tailon daemon.") - (start #~(make-forkexec-constructor - `(,(string-append #$package "/bin/tailon") - "-c" ,#$config-file) - #:user "tailon" - #:group "tailon")) - (stop #~(make-kill-destructor))))))) - -(define %tailon-accounts - (list (user-group (name "tailon") (system? #t)) - (user-account - (name "tailon") - (group "tailon") - (system? #t) - (comment "tailon") - (home-directory "/var/empty") - (shell (file-append shadow "/sbin/nologin"))))) - -(define tailon-service-type - (service-type - (name 'tailon) - (description - "Run Tailon, a Web application for monitoring, viewing, and searching log -files.") - (extensions - (list (service-extension shepherd-root-service-type - tailon-shepherd-service) - (service-extension account-service-type - (const %tailon-accounts)))) - (compose concatenate) - (extend (lambda (parameter files) - (tailon-configuration - (inherit parameter) - (config-file - (let ((old-config-file - (tailon-configuration-config-file parameter))) - (tailon-configuration-file - (inherit old-config-file) - (files (append (tailon-configuration-file-files old-config-file) - files)))))))) - (default-value (tailon-configuration)))) - ;;; admin.scm ends here diff --git a/gnu/services/web.scm b/gnu/services/web.scm index df82a6de61..16e77f8243 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 nee ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2018 Pierre-Antoine Rouby +;;; Copyright © 2017 Christopher Baines ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,9 +33,11 @@ #:use-module (gnu packages web) #:use-module (gnu packages php) #:use-module (gnu packages guile) + #:use-module (gnu packages logging) #:use-module (guix records) #:use-module (guix modules) #:use-module (guix gexp) + #:use-module ((guix store) #:select (text-file)) #:use-module ((guix utils) #:select (version-major)) #:use-module ((guix packages) #:select (package-version)) #:use-module (srfi srfi-1) @@ -164,7 +167,29 @@ hpcguix-web-configuration hpcguix-web-configuration? - hpcguix-web-service-type)) + hpcguix-web-service-type + + + tailon-configuration-file + tailon-configuration-file? + tailon-configuration-file-files + tailon-configuration-file-bind + tailon-configuration-file-relative-root + tailon-configuration-file-allow-transfers? + tailon-configuration-file-follow-names? + tailon-configuration-file-tail-lines + tailon-configuration-file-allowed-commands + tailon-configuration-file-debug? + tailon-configuration-file-http-auth + tailon-configuration-file-users + + + tailon-configuration + tailon-configuration? + tailon-configuration-config-file + tailon-configuration-package + + tailon-service-type)) ;;; Commentary: ;;; @@ -980,3 +1005,148 @@ a webserver.") (const %hpcguix-web-activation)) (service-extension shepherd-root-service-type (compose list hpcguix-web-shepherd-service)))))) + + +;;; +;;; Tailon +;;; + +(define-record-type* + tailon-configuration-file make-tailon-configuration-file + tailon-configuration-file? + (files tailon-configuration-file-files + (default '("/var/log"))) + (bind tailon-configuration-file-bind + (default "localhost:8080")) + (relative-root tailon-configuration-file-relative-root + (default #f)) + (allow-transfers? tailon-configuration-file-allow-transfers? + (default #t)) + (follow-names? tailon-configuration-file-follow-names? + (default #t)) + (tail-lines tailon-configuration-file-tail-lines + (default 200)) + (allowed-commands tailon-configuration-file-allowed-commands + (default '("tail" "grep" "awk"))) + (debug? tailon-configuration-file-debug? + (default #f)) + (wrap-lines tailon-configuration-file-wrap-lines + (default #t)) + (http-auth tailon-configuration-file-http-auth + (default #f)) + (users tailon-configuration-file-users + (default #f))) + +(define (tailon-configuration-files-string files) + (string-append + "\n" + (string-join + (map + (lambda (x) + (string-append + " - " + (cond + ((string? x) + (simple-format #f "'~A'" x)) + ((list? x) + (string-join + (cons (simple-format #f "'~A':" (car x)) + (map + (lambda (x) (simple-format #f " - '~A'" x)) + (cdr x))) + "\n")) + (else (error x))))) + files) + "\n"))) + +(define-gexp-compiler (tailon-configuration-file-compiler + (file ) system target) + (match file + (($ files bind relative-root + allow-transfers? follow-names? + tail-lines allowed-commands debug? + wrap-lines http-auth users) + (text-file + "tailon-config.yaml" + (string-concatenate + (filter-map + (match-lambda + ((key . #f) #f) + ((key . value) (string-append key ": " value "\n"))) + + `(("files" . ,(tailon-configuration-files-string files)) + ("bind" . ,bind) + ("relative-root" . ,relative-root) + ("allow-transfers" . ,(if allow-transfers? "true" "false")) + ("follow-names" . ,(if follow-names? "true" "false")) + ("tail-lines" . ,(number->string tail-lines)) + ("commands" . ,(string-append "[" + (string-join allowed-commands ", ") + "]")) + ("debug" . ,(if debug? "true" #f)) + ("wrap-lines" . ,(if wrap-lines "true" "false")) + ("http-auth" . ,http-auth) + ("users" . ,(if users + (string-concatenate + (cons "\n" + (map (match-lambda + ((user . pass) + (string-append + " " user ":" pass))) + users))) + #f))))))))) + +(define-record-type* + tailon-configuration make-tailon-configuration + tailon-configuration? + (config-file tailon-configuration-config-file + (default (tailon-configuration-file))) + (package tailon-configuration-package + (default tailon))) + +(define tailon-shepherd-service + (match-lambda + (($ config-file package) + (list (shepherd-service + (provision '(tailon)) + (documentation "Run the tailon daemon.") + (start #~(make-forkexec-constructor + `(,(string-append #$package "/bin/tailon") + "-c" ,#$config-file) + #:user "tailon" + #:group "tailon")) + (stop #~(make-kill-destructor))))))) + +(define %tailon-accounts + (list (user-group (name "tailon") (system? #t)) + (user-account + (name "tailon") + (group "tailon") + (system? #t) + (comment "tailon") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define tailon-service-type + (service-type + (name 'tailon) + (description + "Run Tailon, a Web application for monitoring, viewing, and searching log +files.") + (extensions + (list (service-extension shepherd-root-service-type + tailon-shepherd-service) + (service-extension account-service-type + (const %tailon-accounts)))) + (compose concatenate) + (extend (lambda (parameter files) + (tailon-configuration + (inherit parameter) + (config-file + (let ((old-config-file + (tailon-configuration-config-file parameter))) + (tailon-configuration-file + (inherit old-config-file) + (files (append (tailon-configuration-file-files old-config-file) + files)))))))) + (default-value (tailon-configuration)))) diff --git a/gnu/tests/admin.scm b/gnu/tests/admin.scm deleted file mode 100644 index a5abbe9ad4..0000000000 --- a/gnu/tests/admin.scm +++ /dev/null @@ -1,127 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Christopher Baines -;;; Copyright © 2018 Clément Lassieur -;;; -;;; 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 tests admin) - #:use-module (gnu tests) - #:use-module (gnu system) - #:use-module (gnu system file-systems) - #:use-module (gnu system shadow) - #:use-module (gnu system vm) - #:use-module (gnu services) - #:use-module (gnu services admin) - #:use-module (gnu services networking) - #:use-module (guix gexp) - #:use-module (guix store) - #:use-module (guix monads) - #:export (%test-tailon)) - -(define %tailon-os - ;; Operating system under test. - (simple-operating-system - (dhcp-client-service) - (service tailon-service-type - (tailon-configuration - (config-file - (tailon-configuration-file - (bind "0.0.0.0:8080"))))))) - -(define* (run-tailon-test #:optional (http-port 8081)) - "Run tests in %TAILON-OS, which has tailon running and listening on -HTTP-PORT." - (define os - (marionette-operating-system - %tailon-os - #:imported-modules '((gnu services herd) - (guix combinators)))) - - (define vm - (virtual-machine - (operating-system os) - (port-forwardings `((,http-port . 8080))))) - - (define test - (with-imported-modules '((gnu build marionette)) - #~(begin - (use-modules (srfi srfi-11) (srfi srfi-64) - (ice-9 match) - (gnu build marionette) - (web uri) - (web client) - (web response)) - - (define marionette - ;; Forward the guest's HTTP-PORT, where tailon is listening, to - ;; port 8080 in the host. - (make-marionette (list #$vm))) - - (mkdir #$output) - (chdir #$output) - - (test-begin "tailon") - - (test-assert "service running" - (marionette-eval - '(begin - (use-modules (gnu services herd)) - (start-service 'tailon)) - marionette)) - - (define* (retry-on-error f #:key times delay) - (let loop ((attempt 1)) - (match (catch - #t - (lambda () - (cons #t - (f))) - (lambda args - (cons #f - args))) - ((#t . return-value) - return-value) - ((#f . error-args) - (if (>= attempt times) - error-args - (begin - (sleep delay) - (loop (+ 1 attempt)))))))) - - (test-equal "http-get" - 200 - (retry-on-error - (lambda () - (let-values (((response text) - (http-get #$(format - #f - "http://localhost:~A/" - http-port) - #:decode-body? #t))) - (response-code response))) - #:times 10 - #:delay 5)) - - (test-end) - (exit (= (test-runner-fail-count (test-runner-current)) 0))))) - - (gexp->derivation "tailon-test" test)) - -(define %test-tailon - (system-test - (name "tailon") - (description "Connect to a running Tailon server.") - (value (run-tailon-test)))) diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index 73d502dd0e..45fcb668fb 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -33,7 +33,8 @@ #:export (%test-httpd %test-nginx %test-php-fpm - %test-hpcguix-web)) + %test-hpcguix-web + %test-tailon)) (define %index.html-contents ;; Contents of the /index.html file. @@ -359,3 +360,99 @@ HTTP-PORT, along with php-fpm." (name "hpcguix-web") (description "Connect to a running hpcguix-web server.") (value (run-hpcguix-web-server-test name %hpcguix-web-os)))) + + +(define %tailon-os + ;; Operating system under test. + (simple-operating-system + (dhcp-client-service) + (service tailon-service-type + (tailon-configuration + (config-file + (tailon-configuration-file + (bind "0.0.0.0:8080"))))))) + +(define* (run-tailon-test #:optional (http-port 8081)) + "Run tests in %TAILON-OS, which has tailon running and listening on +HTTP-PORT." + (define os + (marionette-operating-system + %tailon-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (port-forwardings `((,http-port . 8080))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (ice-9 match) + (gnu build marionette) + (web uri) + (web client) + (web response)) + + (define marionette + ;; Forward the guest's HTTP-PORT, where tailon is listening, to + ;; port 8080 in the host. + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "tailon") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'tailon)) + marionette)) + + (define* (retry-on-error f #:key times delay) + (let loop ((attempt 1)) + (match (catch + #t + (lambda () + (cons #t + (f))) + (lambda args + (cons #f + args))) + ((#t . return-value) + return-value) + ((#f . error-args) + (if (>= attempt times) + error-args + (begin + (sleep delay) + (loop (+ 1 attempt)))))))) + + (test-equal "http-get" + 200 + (retry-on-error + (lambda () + (let-values (((response text) + (http-get #$(format + #f + "http://localhost:~A/" + http-port) + #:decode-body? #t))) + (response-code response))) + #:times 10 + #:delay 5)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "tailon-test" test)) + +(define %test-tailon + (system-test + (name "tailon") + (description "Connect to a running Tailon server.") + (value (run-tailon-test)))) From 81317071fb9ad704ee75d40b5e8830650d37b34b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 7 Sep 2018 22:47:34 +0200 Subject: [PATCH 004/148] services: hpcguix-web: Produce a log file and rotate it. * gnu/services/web.scm (%hpcguix-web-log-file) (%hpcguix-web-log-rotations): New variables. (hpcguix-web-shepherd-service): Pass #:log-file. (hpcguix-web-service-type): Extend ROTTLOG-SERVICE-TYPE. --- gnu/services/web.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 16e77f8243..1c38e7d8d3 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson -;;; Copyright © 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Nils Gillmann ;;; Copyright © 2016, 2017, 2018 Julien Lepiller ;;; Copyright © 2017 Christopher Baines @@ -27,6 +27,7 @@ (define-module (gnu services web) #:use-module (gnu services) #:use-module (gnu services shepherd) + #:use-module (gnu services admin) #:use-module (gnu system pam) #:use-module (gnu system shadow) #:use-module (gnu packages admin) @@ -974,6 +975,14 @@ a webserver.") (chown home-dir (passwd:uid user) (passwd:gid user)) (chmod home-dir #o755)))) +(define %hpcguix-web-log-file + "/var/log/hpcguix-web.log") + +(define %hpcguix-web-log-rotations + (list (log-rotation + (files (list %hpcguix-web-log-file)) + (frequency 'weekly)))) + (define (hpcguix-web-shepherd-service config) (let ((specs (hpcguix-web-configuration-specs config)) (hpcguix-web (hpcguix-web-package config))) @@ -991,7 +1000,8 @@ a webserver.") #:group "hpcguix-web" #:environment-variables (list "XDG_CACHE_HOME=/var/cache" - "SSL_CERT_DIR=/etc/ssl/certs"))) + "SSL_CERT_DIR=/etc/ssl/certs") + #:log-file #$%hpcguix-web-log-file)) (stop #~(make-kill-destructor)))))) (define hpcguix-web-service-type @@ -1003,6 +1013,8 @@ a webserver.") (const %hpcguix-web-accounts)) (service-extension activation-service-type (const %hpcguix-web-activation)) + (service-extension rottlog-service-type + (const %hpcguix-web-log-rotations)) (service-extension shepherd-root-service-type (compose list hpcguix-web-shepherd-service)))))) From 94b3b6041d8b141b99e79f4cf95c5a31a3739d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 10 Sep 2018 12:18:14 +0200 Subject: [PATCH 005/148] gnu: hpcguix-web: Update to 53e09ea. * gnu/packages/web.scm (hpcguix-web): Update to 53e09ea. --- 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 9567254424..6ff53a69e4 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6708,8 +6708,8 @@ compressed JSON header blocks. (license l:expat))) (define-public hpcguix-web - (let ((commit "9ff40fcc77f248901d861756dbbddc80270c380c") - (revision "2")) + (let ((commit "53e09ea59ec0380b41a4cbda32df8bdb9a10004d") + (revision "3")) (package (name "hpcguix-web") (version (git-version "0.0.1" revision commit)) @@ -6721,7 +6721,7 @@ compressed JSON header blocks. (file-name (git-file-name name version)) (sha256 (base32 - "0lxcj9s3wxrv1l7lrxxx374jwzx7h60gxwkbgr46lzcbgvb3k26s")))) + "1ah4pn9697vazhbvd45n4b1rrkx2nbhnw384cr0b941q3sz1dfyc")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From 57d70dbabc5a274a63c0a2892bbd739520774f7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Sat, 8 Sep 2018 22:54:58 +0200 Subject: [PATCH 006/148] gnu: Add yad. * gnu/packages/gtk.scm (yad): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/gtk.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 4daaad0ebc..0b85a1723f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1658,3 +1658,46 @@ Parcellite and adds bugfixes and features.") it does not deal with windowing system surfaces, drawing, scene graphs, or input.") (license license:expat))) + +(define-public yad + (package + (name "yad") + (version "0.40.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/v1cont/yad.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vpgbjbkkbk5plicyklzpf65j1vlig4n4bi3qpvrz5bb09ic5alw")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + '("--with-gtk=gtk3" + "--enable-html" + "--enable-gio" + "--enable-spell" + "--enable-icon-browser") + #:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + (invoke "autoreconf" "-vif") + (invoke "intltoolize" "--force" "--automake") + #t))))) + (inputs + `(("gtk+" ,gtk+))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "https://sourceforge.net/projects/yad-dialog/") + (synopsis "GTK+ dialog boxes for shell scripts") + (description + "This program allows you to display GTK+ dialog boxes from command line or +shell scripts. Example of how to use @code{yad} can be consulted at +@url{https://sourceforge.net/p/yad-dialog/wiki/browse_pages/}.") + (license license:gpl3+))) From f6c8a97a048131db67ffd275cbdebb5046247b91 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 21:45:48 +0200 Subject: [PATCH 007/148] gnu: spectrwm: Update to 3.2.0. * gnu/packages/wm.scm (spectrwm): Update to 3.2.0. [arguments]: Remove 'fix-freetype-include' phase. --- gnu/packages/wm.scm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 1a78b2ac94..08f82ba2d2 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -848,7 +848,7 @@ Keybinder works with GTK-based applications using the X Window System.") (define-public spectrwm (package (name "spectrwm") - (version "3.1.0") + (version "3.2.0") (source (origin (method url-fetch) @@ -859,7 +859,7 @@ Keybinder works with GTK-based applications using the X Window System.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "16lxcharxslf9rc39wxa3mr2nx5d8kzm9ls7p7dal8yrwr7y59dp")))) + "0z7gjmp1x6y8q3dnw6swvbv8x2wd4ykzjvi3ibk2sxhgc910907v")))) (build-system gnu-build-system) (arguments `(#:make-flags (let ((pkg-config (lambda (flag) @@ -871,7 +871,7 @@ Keybinder works with GTK-based applications using the X Window System.") (string-append "PREFIX=" %output) (string-append "INCS=-I. " (pkg-config "--cflags")) (string-append "LIBS=" (pkg-config "--libs") " -lm"))) - #:tests? #f ;No test suite + #:tests? #f ;no test suite #:phases (modify-phases %standard-phases (add-before 'build 'change-dir @@ -881,13 +881,7 @@ Keybinder works with GTK-based applications using the X Window System.") (lambda _ (substitute* "Makefile" (("-g") "")))) - (add-after 'change-dir 'fix-freetype-include - (lambda _ - (substitute* "Makefile" - (("/usr/include/freetype2") - (string-append (assoc-ref %build-inputs "freetype") - "/include/freetype2"))))) - (delete 'configure)))) ;no 'configure' exists + (delete 'configure)))) ;no 'configure' exists (inputs `(("freetype" ,freetype) ("fontconfig" ,fontconfig) From 419aa05e1b38d53e21c851baf89327d53fca07f3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 9 Sep 2018 21:57:05 +0200 Subject: [PATCH 008/148] gnu: tinyproxy: Update to 1.10.0. * gnu/packages/web.scm (tinyproxy): Update to 1.10.0. [native-inputs]: Remove asciidoc. --- gnu/packages/web.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6ff53a69e4..b6bee57f9f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -889,7 +889,7 @@ used to validate and fix HTML data.") (define-public tinyproxy (package (name "tinyproxy") - (version "1.8.4") + (version "1.10.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/tinyproxy/tinyproxy/" @@ -897,7 +897,7 @@ used to validate and fix HTML data.") version ".tar.xz")) (sha256 (base32 - "002hi97687czhfkwsjkr174yvlp10224qi6gd5s53z230bgls7x4")))) + "10jnk6y2swld25mm47mjc0nkffyzsfysnsxwr7cs0ns1kil8ggjr")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -912,9 +912,6 @@ used to validate and fix HTML data.") ;; (substitute* "docs/man5/Makefile" (("a2x") "a2x -v")) ;; (setenv "XML_DEBUG_CATALOG" "1") #t))))) - ;; All of the below are used to generate the documentation - ;; (Should they be propagated inputs of asciidoc ??) - (native-inputs `(("asciidoc" ,asciidoc))) (home-page "https://tinyproxy.github.io/") (synopsis "Light-weight HTTP/HTTPS proxy daemon") (description "Tinyproxy is a light-weight HTTP/HTTPS proxy From 82d5c7c6de164df56d582ed779f02c6bbfd90b33 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 06:03:53 +0200 Subject: [PATCH 009/148] gnu: python-typing: Update to 3.6.6. * gnu/packages/python.scm (python-typing): Update to 3.6.6. --- 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 8c7c9d3c33..ea1093cf5e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13234,14 +13234,14 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style (define-public python-typing (package (name "python-typing") - (version "3.6.4") + (version "3.6.6") (source (origin (method url-fetch) (uri (pypi-uri "typing" version)) (sha256 (base32 - "1wmk9nkh30n37cbrqwkbggmj2390lhrlagjkd0ikm02l88saj06l")))) + "0ba9acs4awx15bf9v3nrs781msbd2nx826906nj6fqks2bvca9s0")))) (build-system python-build-system) (home-page "https://docs.python.org/3/library/typing.html") (synopsis "Type hints for Python") From fc6256725174ec726caa05a33116b64974037509 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:54:50 +0200 Subject: [PATCH 010/148] gnu: Add python-dill. * gnu/packages/python.scm (python-dill): New variable. --- gnu/packages/python.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ea1093cf5e..6f9a557c36 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14018,3 +14018,30 @@ 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))) + +(define-public python-dill + (package + (name "python-dill") + (version "0.2.8.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dill" version)) + (sha256 + (base32 + "1cymzn9fxwdy33h21zkk4gqgzvd25110hh3zdqnvnwa3p52c4kb2")))) + (build-system python-build-system) + ;; FIXME: The check phase fails with "don't know how to make test". + (arguments '(#:tests? #f)) + (home-page "https://pypi.org/project/dill") + (synopsis "Serialize all of Python") + (description "Dill extends Python's @code{pickle} module for serializing +and de-serializing Python objects to the majority of the built-in Python +types. Dill provides the user the same interface as the @code{pickle} module, +and also includes some additional features. In addition to pickling Python +objects, @code{dill} provides the ability to save the state of an interpreter +session in a single command. Hence, it would be feasable to save a +interpreter session, close the interpreter, ship the pickled file to another +computer, open a new interpreter, unpickle the session and thus continue from +the saved state of the original interpreter session.") + (license license:bsd-3))) From 943a4cb60158c28da1348e3b490e958551557d6a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:54:51 +0200 Subject: [PATCH 011/148] gnu: Add python-multiprocess. * gnu/packages/python.scm (python-multiprocess): New variable. --- gnu/packages/python.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6f9a557c36..59b62fec14 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14045,3 +14045,25 @@ interpreter session, close the interpreter, ship the pickled file to another computer, open a new interpreter, unpickle the session and thus continue from the saved state of the original interpreter session.") (license license:bsd-3))) + +(define-public python-multiprocess + (package + (name "python-multiprocess") + (version "0.70.6.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "multiprocess" version)) + (sha256 + (base32 + "1ip5caz67b3q0553mr8gm8xwsb8x500jn8ml0gihgyfy52m2ypcq")))) + (build-system python-build-system) + (propagated-inputs + `(("python-dill" ,python-dill))) + (home-page "https://pypi.org/project/multiprocess") + (synopsis "Multiprocessing and multithreading in Python") + (description + "This package is a fork of the multiprocessing Python package, a package +which supports the spawning of processes using the API of the standard +library's @code{threading} module.") + (license license:bsd-3))) From 7cd51cd28e401fc610ad49e3d0d3c8da1598d111 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:54:52 +0200 Subject: [PATCH 012/148] gnu: Add python-toolz. * gnu/packages/python.scm (python-toolz): New variable. --- gnu/packages/python.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 59b62fec14..eff28a9102 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14067,3 +14067,25 @@ the saved state of the original interpreter session.") which supports the spawning of processes using the API of the standard library's @code{threading} module.") (license license:bsd-3))) + +(define-public python-toolz + (package + (name "python-toolz") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "toolz" version)) + (sha256 + (base32 + "1j9i7fdjnx9dz35fdj5gvgxx6585ja9sxgaiv65if77nlxz0m7wj")))) + (build-system python-build-system) + ;; FIXME: tests cannot be computed: "Can't perform this operation for + ;; unregistered loader type" + (arguments '(#:tests? #f)) + (home-page "https://github.com/pytoolz/toolz/") + (synopsis "List processing tools and functional utilities") + (description + "This package provides a set of utility functions for iterators, +functions, and dictionaries.") + (license license:bsd-3))) From 098cb1e9c4548ccd78405141b32b6ec6d556c4b6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:54:53 +0200 Subject: [PATCH 013/148] gnu: Add python-cytoolz. * gnu/packages/python.scm (python-cytoolz): New variable. --- gnu/packages/python.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index eff28a9102..b6665ce3b5 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14089,3 +14089,30 @@ library's @code{threading} module.") "This package provides a set of utility functions for iterators, functions, and dictionaries.") (license license:bsd-3))) + +(define-public python-cytoolz + (package + (name "python-cytoolz") + (version "0.9.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cytoolz" version)) + (sha256 + (base32 + "1r80p88hm3f3r4zpixzr047y5hw4bzy41m4xywnhycda83x0dk44")))) + (build-system python-build-system) + ;; FIXME: tests fail with "module 'cytoolz.curried' has no attribute + ;; 'exceptions'" + (arguments '(#:tests? #f)) + (propagated-inputs + `(("python-toolz" ,python-toolz))) + (native-inputs + `(("python-cython" ,python-cython))) + (home-page "https://github.com/pytoolz/cytoolz") + (synopsis "High performance functional utilities") + (description + "The cytoolz package implements the same API as provided by toolz. The +main differences are that @code{cytoolz} is faster and cytoolz offers a C API +that is accessible to other projects developed in Cython.") + (license license:bsd-3))) From 3d352cb9cf2d6ddd63e345a1eb2df7e3624d66a2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:54:54 +0200 Subject: [PATCH 014/148] gnu: Add python-sortedcontainers. * gnu/packages/python.scm (python-sortedcontainers): New variable. --- gnu/packages/python.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b6665ce3b5..b87c4787db 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14116,3 +14116,24 @@ functions, and dictionaries.") main differences are that @code{cytoolz} is faster and cytoolz offers a C API that is accessible to other projects developed in Cython.") (license license:bsd-3))) + +(define-public python-sortedcontainers + (package + (name "python-sortedcontainers") + (version "2.0.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sortedcontainers" version)) + (sha256 + (base32 + "10hrk2k0hbf9x78vd3f0lj277m1yzfhzzxr0hja718liwb398wk0")))) + (build-system python-build-system) + (native-inputs + `(("python-tox" ,python-tox))) + (home-page "http://www.grantjenks.com/docs/sortedcontainers/") + (synopsis "Sorted List, Sorted Dict, Sorted Set") + (description + "This package provides a sorted collections library, written in +pure-Python.") + (license license:asl2.0))) From 930ba31d20f204ca0cee9ea6fedf1aab24195d49 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:59:56 +0200 Subject: [PATCH 015/148] gnu: Add python-cloudpickle. * gnu/packages/python.scm (python-cloudpickle): New variable. --- gnu/packages/python.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b87c4787db..c029fd1410 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14137,3 +14137,37 @@ that is accessible to other projects developed in Cython.") "This package provides a sorted collections library, written in pure-Python.") (license license:asl2.0))) + +(define-public python-cloudpickle + (package + (name "python-cloudpickle") + (version "0.5.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cloudpickle" version)) + (sha256 + (base32 + "0gdg5n025v4wqmdg65rm0n6fvp6731ip30ji0rmn2kqsyr4bb93f")))) + (build-system python-build-system) + ;; FIXME: there are 5 errors in 122 tests: + ;; ERROR: test_function_pickle_compat_0_4_0 (tests.cloudpickle_test.CloudPickleTest) + ;; ERROR: test_function_pickle_compat_0_4_1 (tests.cloudpickle_test.CloudPickleTest) + ;; ERROR: test_function_pickle_compat_0_4_0 (tests.cloudpickle_test.Protocol2CloudPickleTest) + ;; ERROR: test_function_pickle_compat_0_4_1 (tests.cloudpickle_test.Protocol2CloudPickleTest) + ;; ERROR: test_temp_file (tests.cloudpickle_file_test.CloudPickleFileTests) + ;; TypeError: cannot serialize '_io.BufferedRandom' object + (arguments '(#:tests? #f)) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-mock" ,python-mock) + ("python-tornado" ,python-tornado))) + (home-page "https://github.com/cloudpipe/cloudpickle") + (synopsis "Extended pickling support for Python objects") + (description + "Cloudpickle makes it possible to serialize Python constructs not +supported by the default pickle module from the Python standard library. It +is especially useful for cluster computing where Python expressions are +shipped over the network to execute on remote hosts, possibly close to the +data.") + (license license:bsd-3))) From b2b8226244ce176de63ca9f412efca1e3d80984c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:59:57 +0200 Subject: [PATCH 016/148] gnu: Add python-locket. * gnu/packages/python.scm (python-locket): New variable. --- gnu/packages/python.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c029fd1410..0a77355fba 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14171,3 +14171,22 @@ is especially useful for cluster computing where Python expressions are shipped over the network to execute on remote hosts, possibly close to the data.") (license license:bsd-3))) + +(define-public python-locket + (package + (name "python-locket") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "locket" version)) + (sha256 + (base32 + "1d4z2zngrpqkrfhnd4yhysh66kjn4mblys2l06sh5dix2p0n7vhz")))) + (build-system python-build-system) + (home-page "https://github.com/mwilliamson/locket.py") + (synopsis "File-based locks for Python") + (description + "Locket implements a lock that can be used by multiple processes provided +they use the same path.") + (license license:bsd-2))) From c27a9d8a880a07a3c108dac85d84d38bf287b2be Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:59:58 +0200 Subject: [PATCH 017/148] gnu: Add python-blosc. * gnu/packages/python.scm (python-blosc): New variable. --- gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 0a77355fba..97b4ca86cd 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14190,3 +14190,34 @@ data.") "Locket implements a lock that can be used by multiple processes provided they use the same path.") (license license:bsd-2))) + +(define-public python-blosc + (package + (name "python-blosc") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "blosc" version)) + (sha256 + (base32 + "1cm91c6r431yla2mbs4895bgiianjf30dfz14vvv99dslygd65jw")))) + (build-system python-build-system) + ;; FIXME: all tests pass, but then this error is printed: + ;; TypeError: calling returned None, not a test + (arguments '(#:tests? #f)) + (propagated-inputs + `(("python-numpy" ,python-numpy))) + (home-page "https://github.com/blosc/python-blosc") + (synopsis "Python wrapper for the Blosc data compressor library") + (description "Blosc is a high performance compressor optimized for binary +data. It has been designed to transmit data to the processor cache faster +than the traditional, non-compressed, direct memory fetch approach via a +@code{memcpy()} system call. + +Blosc works well for compressing numerical arrays that contains data with +relatively low entropy, like sparse data, time series, grids with +regular-spaced values, etc. + +This Python package wraps the Blosc library.") + (license license:bsd-3))) From 035989c403252f22015e363124bdc82a1116907f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 15:59:59 +0200 Subject: [PATCH 018/148] gnu: Add python-partd. * gnu/packages/python.scm (python-partd): New variable. --- gnu/packages/python.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 97b4ca86cd..b771452629 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14221,3 +14221,28 @@ regular-spaced values, etc. This Python package wraps the Blosc library.") (license license:bsd-3))) + +(define-public python-partd + (package + (name "python-partd") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (pypi-uri "partd" version)) + (sha256 + (base32 + "03s0i5qfgkx6y24bmfgyd5hnsjznkbbfafwb2khf7k9790f1yab7")))) + (build-system python-build-system) + (propagated-inputs + `(("python-blosc" ,python-blosc) + ("python-locket" ,python-locket) + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-pyzmq" ,python-pyzmq) + ("python-toolz" ,python-toolz))) + (home-page "https://github.com/dask/partd/") + (synopsis "Appendable key-value storage") + (description "Partd stores key-value pairs. Values are raw bytes. We +append on old values. Partd excels at shuffling operations.") + (license license:bsd-3))) From a6a7156aa970b08821a00599d7941740d8a22b70 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 16:00:00 +0200 Subject: [PATCH 019/148] gnu: Add python-dask. * gnu/packages/python.scm (python-dask): New variable. --- gnu/packages/python.scm | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b771452629..1d4b069d09 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14246,3 +14246,48 @@ This Python package wraps the Blosc library.") (description "Partd stores key-value pairs. Values are raw bytes. We append on old values. Partd excels at shuffling operations.") (license license:bsd-3))) + +(define-public python-dask + (package + (name "python-dask") + (version "0.19.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dask" version)) + (sha256 + (base32 + "1pm1163qb6s22p8fnvj0zlfazihvs7hxjn8l2n52bzs7shw6kdz3")))) + (build-system python-build-system) + ;; A single test out of 5000+ fails. This test is marked as xfail when + ;; pytest-xdist is used. + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-broken-test + (lambda _ + (substitute* "dask/tests/test_threaded.py" + (("def test_interrupt\\(\\)" m) + (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" + m))) + #t))))) + (propagated-inputs + `(("python-cloudpickle" ,python-cloudpickle) + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-partd" ,python-partd) + ("python-toolz" ,python-toolz) + ("python-pyyaml" ,python-pyyaml))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://github.com/dask/dask/") + (synopsis "Parallel computing with task scheduling") + (description + "Dask is a flexible parallel computing library for analytics. It +consists of two components: dynamic task scheduling optimized for computation, +and large data collections like parallel arrays, dataframes, and lists that +extend common interfaces like NumPy, Pandas, or Python iterators to +larger-than-memory or distributed environments. These parallel collections +run on top of the dynamic task schedulers. ") + (license license:bsd-3))) From a9d496b353e71f22e5ace5bff9319fc74dfb6643 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 16:00:01 +0200 Subject: [PATCH 020/148] gnu: Add python-intervaltree. * gnu/packages/bioinformatics.scm (python-intervaltree): New variable. --- gnu/packages/bioinformatics.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 6580cac531..dd8ed725d8 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13504,3 +13504,31 @@ reference transcripts provided in a annotation file (also in GTF/GFF3 format). (list license:expat ;license for gffcompare license:artistic2.0))))) ;license for gclib + +(define-public python-intervaltree + (package + (name "python-intervaltree") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "intervaltree" version)) + (sha256 + (base32 + "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc")))) + (build-system python-build-system) + ;; FIXME: error when collecting tests + (arguments '(#:tests? #f)) + (propagated-inputs + `(("python-sortedcontainers" ,python-sortedcontainers))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/chaimleib/intervaltree") + (synopsis "Editable interval tree data structure") + (description + "This package provides a mutable, self-balancing interval tree +implementation for Python. Queries may be by point, by range overlap, or by +range envelopment. This library was designed to allow tagging text and time +intervals, where the intervals include the lower bound but not the upper +bound.") + (license license:asl2.0))) From 1f41f01c1499fb0aa5933b9b60d2a18c2bef9d5c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 16:00:02 +0200 Subject: [PATCH 021/148] gnu: Add python-pypairix. * gnu/packages/bioinformatics.scm (python-pypairix): New variable. --- gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index dd8ed725d8..9b047c21b8 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13532,3 +13532,27 @@ range envelopment. This library was designed to allow tagging text and time intervals, where the intervals include the lower bound but not the upper bound.") (license license:asl2.0))) + +(define-public python-pypairix + (package + (name "python-pypairix") + (version "0.3.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pypairix" version)) + (sha256 + (base32 + "0zs92b74s5v4xy2h16s15f3z6l4nnbw8x8zyif7xx5xpafjn0xss")))) + (build-system python-build-system) + ;; FIXME: the tests fail because test.support cannot be loaded: + ;; ImportError: cannot import name 'support' + (arguments '(#:tests? #f)) + (inputs + `(("zlib" ,zlib))) + (home-page "https://github.com/4dn-dcic/pairix") + (synopsis "Support for querying pairix-indexed bgzipped text files") + (description + "Pypairix is a Python module for fast querying on a pairix-indexed +bgzipped text file that contains a pair of genomic coordinates per line.") + (license license:expat))) From 80f4db91b17ff5d82260c9194ec09a408f854455 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 16:00:03 +0200 Subject: [PATCH 022/148] gnu: Add python-pyfaidx. * gnu/packages/bioinformatics.scm (python-pyfaidx): New variable. --- gnu/packages/bioinformatics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9b047c21b8..d66d9ef40e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13556,3 +13556,25 @@ bound.") "Pypairix is a Python module for fast querying on a pairix-indexed bgzipped text file that contains a pair of genomic coordinates per line.") (license license:expat))) + +(define-public python-pyfaidx + (package + (name "python-pyfaidx") + (version "0.5.4.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyfaidx" version)) + (sha256 + (base32 + "0y5zyjksj1rdglj601xd2bbni5abhdh622y3ck76chyzxz9z4rx8")))) + (build-system python-build-system) + (propagated-inputs + `(("python-setuptools" ,python-setuptools) + ("python-six" ,python-six))) + (home-page "http://mattshirley.com") + (synopsis "Random access to fasta subsequences") + (description + "This package provides procedures for efficient pythonic random access to +fasta subsequences.") + (license license:bsd-3))) From 5bb9e0af8dce2d4a9e66c9f673daa3af8fbae99b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 16:00:04 +0200 Subject: [PATCH 023/148] gnu: Add python-cooler. * gnu/packages/bioinformatics.scm (python-cooler): New variable. --- gnu/packages/bioinformatics.scm | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d66d9ef40e..65da049c79 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13578,3 +13578,40 @@ bgzipped text file that contains a pair of genomic coordinates per line.") "This package provides procedures for efficient pythonic random access to fasta subsequences.") (license license:bsd-3))) + +(define-public python-cooler + (package + (name "python-cooler") + (version "0.7.11") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cooler" version)) + (sha256 + (base32 + "08k5nxnxa6qsbk15z5z0q01n28042k87wi4905hh95rzqib15mhx")))) + (build-system python-build-system) + (propagated-inputs + `(("python-biopython" ,python-biopython) + ("python-click" ,python-click) + ("python-cytoolz" ,python-cytoolz) + ("python-dask" ,python-dask) + ("python-h5py" ,python-h5py) + ("python-multiprocess" ,python-multiprocess) + ("python-pandas" ,python-pandas) + ("python-pyfaidx" ,python-pyfaidx) + ("python-pypairix" ,python-pypairix) + ("python-pysam" ,python-pysam) + ("python-scipy" ,python-scipy))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-numpydoc" ,python-numpydoc) + ("python-sphinx" ,python-sphinx))) + (home-page "https://github.com/mirnylab/cooler") + (synopsis "Sparse binary format for genomic interaction matrices") + (description + "Cooler is a support library for a sparse, compressed, binary persistent +storage format, called @code{cool}, used to store genomic interaction data, +such as Hi-C contact matrices.") + (license license:bsd-3))) From 1189c7f1b050aa495b0ec6d9436c644ee308695f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 16:07:27 +0200 Subject: [PATCH 024/148] gnu: Add python-hicexplorer. * gnu/packages/bioinformatics.scm (python-hicexplorer): New variable. --- gnu/packages/bioinformatics.scm | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 65da049c79..7e6d76e022 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13615,3 +13615,56 @@ fasta subsequences.") storage format, called @code{cool}, used to store genomic interaction data, such as Hi-C contact matrices.") (license license:bsd-3))) + +(define-public python-hicexplorer + (package + (name "python-hicexplorer") + (version "2.1.4") + (source + (origin + ;; The latest version is not available on Pypi. + (method git-fetch) + (uri (git-reference + (url "https://github.com/deeptools/HiCExplorer.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q5gpbzmrkvygqgw524q36b4nrivcmyi5v194vsx0qw7b3gcmq08")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'loosen-up-requirements + (lambda _ + (substitute* "setup.py" + (("==") ">=")) + #t))))) + (propagated-inputs + `(("python-biopython" ,python-biopython) + ("python-configparser" ,python-configparser) + ("python-cooler" ,python-cooler) + ("python-future" ,python-future) + ("python-intervaltree" ,python-intervaltree) + ("python-jinja2" ,python-jinja2) + ("python-matplotlib" ,python-matplotlib) + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-pybigwig" ,python-pybigwig) + ("python-pysam" ,python-pysam) + ("python-scipy" ,python-scipy) + ("python-six" ,python-six) + ("python-tables" ,python-tables) + ("python-unidecode" ,python-unidecode))) + (home-page "http://hicexplorer.readthedocs.io") + (synopsis "Process, analyze and visualize Hi-C data") + (description + "HiCExplorer is a powerful and easy to use set of tools to process, +normalize and visualize Hi-C data. HiCExplorer facilitates the creation of +contact matrices, correction of contacts, TAD detection, A/B compartments, +merging, reordering or chromosomes, conversion from different formats +including cooler and detection of long-range contacts. Moreover, it allows +the visualization of multiple contact matrices along with other types of data +like genes, compartments, ChIP-seq coverage tracks (and in general any type of +genomic scores), long range contacts and the visualization of viewpoints.") + (license license:gpl3))) From 5bfa7510d144c3a35bc9022d79fdf4192d4aa1f8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 5 Sep 2018 16:07:28 +0200 Subject: [PATCH 025/148] gnu: Add python-pygenometracks. * gnu/packages/bioinformatics.scm (python-pygenometracks): New variable. --- gnu/packages/bioinformatics.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 7e6d76e022..fc8be4d7db 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13668,3 +13668,34 @@ the visualization of multiple contact matrices along with other types of data like genes, compartments, ChIP-seq coverage tracks (and in general any type of genomic scores), long range contacts and the visualization of viewpoints.") (license license:gpl3))) + +(define-public python-pygenometracks + (package + (name "python-pygenometracks") + (version "2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyGenomeTracks" version)) + (sha256 + (base32 + "1fws6bqsyy9kj3qiabhkqx4wd4i775gsxnhszqd3zg7w67sc1ic5")))) + (build-system python-build-system) + (propagated-inputs + `(("python-configparser" ,python-configparser) + ("python-future" ,python-future) + ("python-hicexplorer" ,python-hicexplorer) + ("python-intervaltree" ,python-intervaltree) + ("python-matplotlib" ,python-matplotlib) + ("python-numpy" ,python-numpy) + ("python-pybigwig" ,python-pybigwig))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://pygenometracks.readthedocs.io") + (synopsis "Program and library to plot beautiful genome browser tracks") + (description + "This package aims to produce high-quality genome browser tracks that +are highly customizable. Currently, it is possible to plot: bigwig, bed (many +options), bedgraph, links (represented as arcs), and Hi-C matrices. +pyGenomeTracks can make plots with or without Hi-C data.") + (license license:gpl3+))) From 5d78cf0b6cc271ca8269036f2aa2e57f858b5f00 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 9 Sep 2018 22:27:57 +0300 Subject: [PATCH 026/148] gnu: emacs-bui: Update to 1.2.0. * gnu/packages/emacs.scm (emacs-bui): Update to 1.2.0. Change source from github to notabug. --- gnu/packages/emacs.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 1f64a5e84a..f84588997e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1635,20 +1635,20 @@ and stored in memory.") (define-public emacs-bui (package (name "emacs-bui") - (version "1.1.0") + (version "1.2.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/alezost/bui.el/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/alezost/emacs-bui.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "112k0mq6xpy0r47vk66miw7rxbkv3d06pv3pd0vcmrhcnhnnk486")))) + "0ixia5s41f2nbal3wsixacbhbc0mk9yb75ir1amqakip30sq4apv")))) (build-system emacs-build-system) (propagated-inputs `(("dash" ,emacs-dash))) - (home-page "https://github.com/alezost/bui.el") + (home-page "https://notabug.org/alezost/emacs-bui") (synopsis "Buffer interface library for Emacs") (description "BUI (Buffer User Interface) is a library for making @code{list} and From fdf68c232d94fa5d3d65561a1ee938307e2f83c0 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 9 Sep 2018 22:29:19 +0300 Subject: [PATCH 027/148] gnu: emacs-build-farm: Update to 0.2.1. * gnu/packages/emacs.scm (emacs-build-farm): Update to 0.2.1. Change source from gitlab to notabug. --- gnu/packages/emacs.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f84588997e..98e7b1c6a4 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1729,21 +1729,21 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or (define-public emacs-build-farm (package (name "emacs-build-farm") - (version "0.2") + (version "0.2.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/alezost-emacs/build-farm") - (commit "fa7fa54901416fc5c216a5014394cbd73a61efc6"))) + (url "https://notabug.org/alezost/emacs-build-farm.git") + (commit (string-append "v" version)))) (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1zw3pivma6cv9j7k7qm02jd6wnxmsc1v2mjcssd50im99zzrqflh")))) + "1a4ky0hca26p7f3i2c2s5517ygkyaaz52vs0vxy6f5q95rhlgdhd")))) (build-system emacs-build-system) (propagated-inputs `(("bui" ,emacs-bui) ("magit-popup" ,emacs-magit-popup))) - (home-page "https://gitlab.com/alezost-emacs/build-farm") + (home-page "https://notabug.org/alezost/emacs-build-farm") (synopsis "Emacs interface for Hydra and Cuirass build farms") (description "This Emacs package provides an interface for Hydra and From 8a8662d28693ec4085df7653bafb073ad1b6f8a3 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Mon, 10 Sep 2018 18:33:03 +0300 Subject: [PATCH 028/148] gnu: emacs-guix: Update to 0.5. * gnu/packages/emacs.scm (emacs-guix): Update to 0.5. [propagated-inputs]: Add 'guile-gcrypt'. [arguments]: Adjust #:configure-flags accordingly. --- gnu/packages/emacs.scm | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 98e7b1c6a4..bf163d8109 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1659,38 +1659,42 @@ type, for example: packages, buffers, files, etc.") (define-public emacs-guix (package (name "emacs-guix") - (version "0.4.1.1") + (version "0.5") (source (origin (method url-fetch) (uri (string-append "https://emacs-guix.gitlab.io/website/" "releases/emacs-guix-" version ".tar.gz")) (sha256 (base32 - "0jbnrcazbks7h50rngpw5l40a6vn2794kb53cpva3yzdjmrc1955")))) + "09zxd8x674vrpigmcx8l00ifhaxh35xwkwjb8dw9kydnhv9hyyi1")))) (build-system gnu-build-system) (arguments `(#:configure-flags (let ((guix (assoc-ref %build-inputs "guix")) + (gcrypt (assoc-ref %build-inputs "guile-gcrypt")) (geiser (assoc-ref %build-inputs "geiser")) (dash (assoc-ref %build-inputs "dash")) (bui (assoc-ref %build-inputs "bui")) (magit-popup (assoc-ref %build-inputs "magit-popup")) (edit-indirect (assoc-ref %build-inputs "edit-indirect")) - (site-lisp "/share/emacs/site-lisp")) + (site-lisp "/share/emacs/site-lisp") + (site-scm "/share/guile/site") + (site-go "/lib/guile") + (guile-dir (lambda (dir) + (car (find-files dir + (lambda (file stat) + (string-prefix? + "2." (basename file))) + #:directories? #t))))) (list (string-append "--with-guix-site-dir=" - (car (find-files (string-append guix - "/share/guile/site") - (lambda (file stat) - (string-prefix? - "2." - (basename file))) - #:directories? #t))) + (guile-dir (string-append guix site-scm))) (string-append "--with-guix-site-ccache-dir=" - (car (find-files (string-append guix "/lib/guile") - (lambda (file stat) - (string-prefix? - "2." (basename file))) - #:directories? #t)) + (guile-dir (string-append guix site-go)) + "/site-ccache") + (string-append "--with-guile-gcrypt-site-dir=" + (guile-dir (string-append gcrypt site-scm))) + (string-append "--with-guile-gcrypt-site-ccache-dir=" + (guile-dir (string-append gcrypt site-go)) "/site-ccache") (string-append "--with-geiser-lispdir=" geiser site-lisp) (string-append "--with-dash-lispdir=" @@ -1713,6 +1717,7 @@ type, for example: packages, buffers, files, etc.") ("guix" ,guix))) (propagated-inputs `(("geiser" ,geiser) + ("guile-gcrypt" ,guile-gcrypt) ("dash" ,emacs-dash) ("bui" ,emacs-bui) ("edit-indirect" ,emacs-edit-indirect) From f8121329b1dcebb55d6dfbae553bfa69d557eede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 10 Sep 2018 14:45:19 +0200 Subject: [PATCH 029/148] syscalls: Report lack of a libc symbol as ENOSYS. * guix/build/syscalls.scm (syscall->procedure): Throw to 'system-error with ENOSYS when NAME cannot be found. --- guix/build/syscalls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 74cb675fcf..56a689f667 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -385,8 +385,8 @@ the returned procedure is called." #:return-errno? #t))) (lambda args (lambda _ - (error (format #f "~a: syscall->procedure failed: ~s" - name args)))))) + (throw 'system-error name "~A" (list (strerror ENOSYS)) + (list ENOSYS)))))) (define-syntax define-as-needed (syntax-rules () From 7d05868847c477c75d2c5af3aa4d7baae862191c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 10 Sep 2018 14:46:00 +0200 Subject: [PATCH 030/148] substitute: Ignore exceptions thrown by 'set-thread-name'. Fixes . Reported by Ricardo Wurmus . * guix/scripts/substitute.scm (guix-substitute): Swallow 'system-error' exceptions around 'set-thread-name' call. --- guix/scripts/substitute.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index cd300195d8..6d31dfdaa4 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -1087,7 +1087,10 @@ default value." (#f #f) (locale (false-if-exception (setlocale LC_ALL locale)))) - (set-thread-name "guix substitute") + (catch 'system-error + (lambda () + (set-thread-name "guix substitute")) + (const #t)) ;GNU/Hurd lacks 'prctl' (with-networking (with-error-handling ; for signature errors From f80d6ea251601c63580f63ad5df5ca5c0151dfa0 Mon Sep 17 00:00:00 2001 From: Benjamin Slade Date: Mon, 10 Sep 2018 15:21:25 +0200 Subject: [PATCH 031/148] gnu: Add hstr. * gnu/packages/shellutils.scm (hstr): New variable. --- gnu/packages/shellutils.scm | 47 +++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 650fe98ef3..425713a91f 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Christopher Baines ;;; Copyright © 2017 Stefan Reichör ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Benjamin Slade ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,10 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (gnu packages autotools) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages readline) + #:use-module (gnu packages pkg-config) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -158,3 +163,45 @@ fzy is designed to be used both as an editor plugin and on the command line. Rather than clearing the screen, fzy displays its interface directly below the current cursor position, scrolling the screen if necessary.") (license expat))) + +(define-public hstr + (package + (name "hstr") + (version "2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/dvorka/" name "/archive/" + version ".tar.gz")) + (sha256 + (base32 + "0yk2008bl48hv0v3c90ngq4y45h3nxif2ik6s3l7kag1zs5yv4wd")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'adjust-ncurses-includes + (lambda* (#:key make-flags outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "src/include/hstr_curses.h" + (("ncursesw\\/curses.h") "ncurses.h")) + (substitute* "src/include/hstr.h" + (("ncursesw\\/curses.h") "ncurses.h"))) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("ncurses" ,ncurses) + ("readline" ,readline))) + (synopsis "Navigate and search command history with shell history suggest box") + (description "HSTR (HiSToRy) is a command-line utility that brings +improved Bash and Zsh command completion from the history. It aims to make +completion easier and more efficient than with @kbd{Ctrl-R}. It allows you to +easily view, navigate, and search your command history with suggestion boxes. +HSTR can also manage your command history (for instance you can remove +commands that are obsolete or contain a piece of sensitive information) or +bookmark your favourite commands.") + (home-page "http://me.mindforger.com/projects/hh.html") + (license asl2.0))) From 633e8aab6990b9eff1f2f0e77d27dc17f163bbc4 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 9 Sep 2018 17:57:42 +0200 Subject: [PATCH 032/148] gnu: ldc: Update to 1.10.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ldc.scm (ldc): Update to 1.10.0. [native-inputs]: Switch to LLVM and CLANG. (ldc-bootstrap)[synopsis, description]: Tweak. * gnu/packages/patches/ldc-disable-phobos-tests.patch: New file. * gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch: Remove. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 +- gnu/packages/ldc.scm | 26 +++--- .../ldc-1.7.0-disable-phobos-tests.patch | 88 ------------------- .../patches/ldc-disable-phobos-tests.patch | 22 +++++ 4 files changed, 37 insertions(+), 101 deletions(-) delete mode 100644 gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch create mode 100644 gnu/packages/patches/ldc-disable-phobos-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index bc01a3cd36..4123459aaa 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -852,7 +852,7 @@ dist_patch_DATA = \ %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \ %D%/packages/patches/laby-make-install.patch \ %D%/packages/patches/ldc-bootstrap-disable-tests.patch \ - %D%/packages/patches/ldc-1.7.0-disable-phobos-tests.patch \ + %D%/packages/patches/ldc-disable-phobos-tests.patch \ %D%/packages/patches/ledger-fix-uninitialized.patch \ %D%/packages/patches/ledger-revert-boost-python-fix.patch \ %D%/packages/patches/liba52-enable-pic.patch \ diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index 2613db0abd..f35494284d 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Roel Janssen -;;; Copyright © 2015 Pjotr Prins +;;; Copyright © 2015, 2018 Pjotr Prins ;;; Copyright © 2017 Frederick Muriithi ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Tobias Geerinckx-Rice @@ -172,9 +172,9 @@ and freshness without requiring additional information from the user.") (base32 "0z6ch930wjkg2vlnqkbliwxxxifad6ydsdpwdxwnajkb2kaxsjx4")))))) (home-page "http://wiki.dlang.org/LDC") - (synopsis "LLVM compiler for the D programming language") + (synopsis "LLVM-based compiler for the D programming language") (description - "LDC is a compiler for the D programming language. It is based on + "LDC is an LLVM compiler for the D programming language. It is based on the latest DMD compiler that was written in C and is used for bootstrapping more recent compilers written in D.") ;; Most of the code is released under BSD-3, except for code originally @@ -188,11 +188,11 @@ bootstrapping more recent compilers written in D.") ;; Phobos, druntime and dmd-testsuite library dependencies do ;; not always have a newer release than the compiler, hence we ;; retain this variable. - (let ((older-version "1.7.0")) + (let ((older-version "1.10.0")) ;; retain this because sometimes the libs are older (package (inherit ldc-bootstrap) (name "ldc") - (version "1.7.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (string-append @@ -201,7 +201,7 @@ bootstrapping more recent compilers written in D.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0rqchmlbhz1pd8ksl1vfhfd5s3cp9h9pqi4k4w2np9sq0zr7abwn")))) + "16b1h9kwfggjw6ykc6sfs26ak6vypylsx9wmvp5m6x3cvi6g70yi")))) (arguments `(#:phases (modify-phases %standard-phases @@ -235,6 +235,8 @@ bootstrapping more recent compilers written in D.") (delete-file "tests/compilable/ctfe_math.d") (delete-file "tests/debuginfo/nested_gdb.d") (delete-file "tests/debuginfo/classtypes_gdb.d") + ;; the following tests plugins we don't have. + (delete-file "tests/plugins/addFuncEntryCall/testPlugin.d") ;; the following tests requires AVX instruction set in the CPU. (substitute* "tests/d2/dmd-testsuite/runnable/test_cdvecfill.d" (("^// DISABLED: ") "^// DISABLED: linux64 ")) @@ -246,8 +248,8 @@ bootstrapping more recent compilers written in D.") (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) (invoke "make" "test" "-j" (number->string (parallel-job-count)))))))) (native-inputs - `(("llvm" ,llvm-3.8) - ("clang" ,clang-3.8) + `(("llvm" ,llvm) + ("clang" ,clang) ("ldc" ,ldc-bootstrap) ("python-lit" ,python-lit) ("python-wrapper" ,python-wrapper) @@ -261,7 +263,7 @@ bootstrapping more recent compilers written in D.") older-version ".tar.gz")) (sha256 (base32 - "042hn3v0zk353r0h6yclq56z86hi437y969bckyb2qsnv00h60hi")) + "0cpmrww00xf1qx38bcc22rr05qw41p00p45yb5fbwnfaccfwdn0s")) ;; This patch deactivates some tests that depend on network access ;; to pass. It also deactivates some tests that have some reliance ;; on timezone. @@ -271,7 +273,7 @@ bootstrapping more recent compilers written in D.") ;; that is being pursued at ;; . ;; It also deactivates a test that requires /root - (patches (search-patches "ldc-1.7.0-disable-phobos-tests.patch")))) + (patches (search-patches "ldc-disable-phobos-tests.patch")))) ("druntime-src" ,(origin (method url-fetch) @@ -280,7 +282,7 @@ bootstrapping more recent compilers written in D.") older-version ".tar.gz")) (sha256 (base32 - "0pvabk70zw8c1gbmvy2i486bg22bn0l5nbacjz0qwmhf0w9y9ylh")))) + "1akh2vdi98jih8642yjbvv2vavxzrmq24kz8i3kfidg5ndqyv222")))) ("dmd-testsuite-src" ,(origin (method url-fetch) @@ -289,7 +291,7 @@ bootstrapping more recent compilers written in D.") older-version ".tar.gz")) (sha256 (base32 - "1i8j1raah7b26bprwkdick443ivdsihgi1l14sn9rh4a95rnrpd9"))))))))) + "0z5x07qrbkpksshaymp11ir6jlmg9wjicxn6zhp8cya6i1ha9p99"))))))))) (define-public dub (package diff --git a/gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch b/gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch deleted file mode 100644 index ccc136cc76..0000000000 --- a/gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch +++ /dev/null @@ -1,88 +0,0 @@ -diff --git a/std/path.d b/std/path.d -index a9f0bd8..f47d103 100644 ---- a/std/path.d -+++ b/std/path.d -@@ -4041,7 +4041,7 @@ version(unittest) import std.process : environment; - else version (Android) - { - } -- else -+ else version (HasRoot) - { - assert(expandTilde("~root") == "/root", expandTilde("~root")); - assert(expandTilde("~root/") == "/root/", expandTilde("~root/")); - -diff --git a/std/process.d b/std/process.d -index df83296..d921cdb 100644 ---- a/std/process.d -+++ b/std/process.d -@@ -1171,7 +1171,7 @@ version (Posix) @system unittest - assert(exists(buildPath(directory, "bar"))); - } - --@system unittest // Specifying a bad working directory. -+@system version(skipunittest) unittest // Specifying a bad working directory. - { - import std.exception : assertThrown; - TestScript prog = "/bin/echo"; -diff --git a/std/socket.d b/std/socket.d -index 8a261d5..c1b87b6 100644 ---- a/std/socket.d -+++ b/std/socket.d -@@ -484,7 +484,7 @@ class Protocol - // Skip this test on Android because getprotobyname/number are - // unimplemented in bionic. - version(CRuntime_Bionic) {} else --@safe unittest -+@safe version(hasNetwork) unittest - { - softUnittest({ - Protocol proto = new Protocol; -@@ -804,7 +804,7 @@ class InternetHost - } - - /// --@safe unittest -+@safe version(hasNetwork) unittest - { - InternetHost ih = new InternetHost; - -@@ -959,7 +959,7 @@ AddressInfo[] getAddressInfo(T...)(in char[] node, T options) - return () @trusted { return getAddressInfoImpl(node, service, &hints); }(); - } - --@system unittest -+@system version(hasNetwork) unittest - { - struct Oops - { -@@ -1010,7 +1010,7 @@ private AddressInfo[] getAddressInfoImpl(in char[] node, in char[] service, addr - } - - --@safe unittest -+@safe version(hasNetwork) unittest - { - softUnittest({ - if (getaddrinfoPointer) -diff --git a/std/stdio.d b/std/stdio.d -index 10106a5..4b0590e 100644 ---- a/std/stdio.d -+++ b/std/stdio.d -@@ -1426,8 +1426,7 @@ Removes the lock over the specified file segment. - g.unlock(); - } - -- version(Posix) -- @system unittest -+ @system version(skip) unittest - { - static import std.file; - auto deleteme = testFilename(); -@@ -1483,7 +1482,6 @@ Removes the lock over the specified file segment. - f.unlock(); - } - -- - /** - Writes its arguments in text format to the file. diff --git a/gnu/packages/patches/ldc-disable-phobos-tests.patch b/gnu/packages/patches/ldc-disable-phobos-tests.patch new file mode 100644 index 0000000000..f8a9743d59 --- /dev/null +++ b/gnu/packages/patches/ldc-disable-phobos-tests.patch @@ -0,0 +1,22 @@ +diff --git a/std/socket.d b/std/socket.d +index 111cd17..6d23da9 100644 +--- a/std/socket.d ++++ b/std/socket.d +@@ -448,7 +448,7 @@ class Protocol + // Skip this test on Android because getprotobyname/number are + // unimplemented in bionic. + version(CRuntime_Bionic) {} else +-@safe unittest ++@safe version(hasNetwork) unittest + { + // import std.stdio : writefln; + softUnittest({ +@@ -770,7 +770,7 @@ class InternetHost + } + + /// +-@safe unittest ++@safe version(hasNetwork) unittest + { + InternetHost ih = new InternetHost; + From 98d6543f86d01486c2f6e808eedd97c601ba3e7a Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Mon, 10 Sep 2018 17:46:58 +0200 Subject: [PATCH 033/148] gnu: Rename ldc.scm to dlang.scm. * gnu/packages/ldc.scm: Rename to... * gnu/packages/dlang.scm: ... this. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. --- gnu/local.mk | 2 +- gnu/packages/{ldc.scm => dlang.scm} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename gnu/packages/{ldc.scm => dlang.scm} (99%) diff --git a/gnu/local.mk b/gnu/local.mk index 4123459aaa..7317cc5a02 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -135,6 +135,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/display-managers.scm \ %D%/packages/django.scm \ %D%/packages/djvu.scm \ + %D%/packages/dlang.scm \ %D%/packages/dns.scm \ %D%/packages/docbook.scm \ %D%/packages/docker.scm \ @@ -245,7 +246,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/key-mon.scm \ %D%/packages/kodi.scm \ %D%/packages/language.scm \ - %D%/packages/ldc.scm \ %D%/packages/lego.scm \ %D%/packages/less.scm \ %D%/packages/lesstif.scm \ diff --git a/gnu/packages/ldc.scm b/gnu/packages/dlang.scm similarity index 99% rename from gnu/packages/ldc.scm rename to gnu/packages/dlang.scm index f35494284d..76988b2dbf 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/dlang.scm @@ -20,7 +20,7 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (gnu packages ldc) +(define-module (gnu packages dlang) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) From 1f7fe26f83e7d501a7231adf98ac81d58a5d724e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 18:17:11 +0200 Subject: [PATCH 034/148] gnu: python-sockjs-tornado: Edit synopsis & description. * gnu/packages/python-web.scm (python-sockjs-tornado)[synopsis] [description]: Pick nits. --- gnu/packages/python-web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index fd76c0c60c..85097289dc 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -194,12 +194,12 @@ other HTTP libraries.") `(("python-tornado" ,python-tornado))) (home-page "https://github.com/mrjoes/sockjs-tornado/") (synopsis - "SockJS python server implementation on top of Tornado framework") + "SockJS Python server implementation on top of the Tornado framework") (description - "SockJS-tornado provides the server side counterpart to a SockJS client + "SockJS-tornado provides the server-side counterpart to a SockJS client library, through the Tornado framework. -SockJS provides a low latency, full duplex, cross-domain communication channel +SockJS provides a low-latency, full-duplex, cross-domain communication channel between a web browser and web server.") (license license:expat))) From 83397e07862198cf3145112c8100fd8dd142fd21 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 18:14:10 +0200 Subject: [PATCH 035/148] gnu: python-sockjs-tornado: Update to 1.0.5. * gnu/packages/python-web.scm (python-sockjs-tornado): Update to 1.0.5. --- gnu/packages/python-web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 85097289dc..9008ca5e72 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -177,14 +177,14 @@ other HTTP libraries.") (define-public python-sockjs-tornado (package (name "python-sockjs-tornado") - (version "1.0.3") + (version "1.0.5") (source (origin (method url-fetch) (uri (pypi-uri "sockjs-tornado" version)) (sha256 (base32 - "16cff40nniqsyvda1pb2j3b4zwmrw7y2g1vqq78lp20xpmhnwwkd")))) + "0zhq8wnnhkfbvdnsggqrc3pp97pqpilsf7fh6ymvnf52r0rwyjsc")))) (build-system python-build-system) (arguments `(;; There are no tests, and running the test phase requires missing From 7c8b1bf66448d072be67682ed3ce618da831f72f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 18:01:51 +0200 Subject: [PATCH 036/148] gnu: python-genshi: Update to 0.7.1. * gnu/packages/python-web.scm (python-genshi): Update to 0.7.1. [source]: Use GIT-FETCH and GIT-FILE-NAME. Remove patches. * gnu/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch, gnu/packages/patches/python-genshi-buildable-on-python-2.7.patch, gnu/packages/patches/python-genshi-disable-speedups-on-python-3.3.patch, gnu/packages/patches/python-genshi-fix-tests-on-python-3.5.patch, gnu/packages/patches/python-genshi-isstring-helper.patch, gnu/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 6 - ...enshi-add-support-for-python-3.4-AST.patch | 151 ------------------ ...ython-genshi-buildable-on-python-2.7.patch | 25 --- ...enshi-disable-speedups-on-python-3.3.patch | 32 ---- ...ython-genshi-fix-tests-on-python-3.5.patch | 112 ------------- .../python-genshi-isstring-helper.patch | 37 ----- ...nshi-stripping-of-unsafe-script-tags.patch | 51 ------ gnu/packages/python-web.scm | 31 +--- 8 files changed, 8 insertions(+), 437 deletions(-) delete mode 100644 gnu/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch delete mode 100644 gnu/packages/patches/python-genshi-buildable-on-python-2.7.patch delete mode 100644 gnu/packages/patches/python-genshi-disable-speedups-on-python-3.3.patch delete mode 100644 gnu/packages/patches/python-genshi-fix-tests-on-python-3.5.patch delete mode 100644 gnu/packages/patches/python-genshi-isstring-helper.patch delete mode 100644 gnu/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7317cc5a02..9b417bff6d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1078,12 +1078,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ %D%/packages/patches/python-fix-tests.patch \ - %D%/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch \ - %D%/packages/patches/python-genshi-buildable-on-python-2.7.patch \ - %D%/packages/patches/python-genshi-disable-speedups-on-python-3.3.patch \ - %D%/packages/patches/python-genshi-fix-tests-on-python-3.5.patch \ - %D%/packages/patches/python-genshi-isstring-helper.patch \ - %D%/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-networkx2-reproducible-build.patch \ %D%/packages/patches/python-pillow-fix-failing-tests.patch \ diff --git a/gnu/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch b/gnu/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch deleted file mode 100644 index 4e40c1daa1..0000000000 --- a/gnu/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 86b98a11559da7d1b21dc9b4c6b10511b9095bc4 Mon Sep 17 00:00:00 2001 -From: Simon Cross -Date: Sun, 16 Feb 2014 18:46:15 +0000 -Subject: [PATCH 05/16] Add support for Python 3.4 AST (support for - NameConstants and changes to existing to arguments node attributes). - ---- - genshi/template/astutil.py | 31 ++++++++++++++++++++++++++++--- - genshi/template/eval.py | 34 +++++++++++++++++++--------------- - 2 files changed, 47 insertions(+), 18 deletions(-) - -diff --git a/genshi/template/astutil.py b/genshi/template/astutil.py -index a4c21c8..a3946b4 100644 ---- a/genshi/template/astutil.py -+++ b/genshi/template/astutil.py -@@ -21,7 +21,7 @@ else: - def parse(source, mode): - return compile(source, '', mode, _ast.PyCF_ONLY_AST) - --from genshi.compat import IS_PYTHON2 -+from genshi.compat import IS_PYTHON2, isstring - - __docformat__ = 'restructuredtext en' - -@@ -103,8 +103,13 @@ class ASTCodeGenerator(object): - self._new_line() - return self.visit(node.body) - -+ # Python < 3.4 - # arguments = (expr* args, identifier? vararg, - # identifier? kwarg, expr* defaults) -+ # -+ # Python >= 3.4 -+ # arguments = (arg* args, arg? vararg, arg* kwonlyargs, expr* kw_defaults, -+ # arg? kwarg, expr* defaults) - def visit_arguments(self, node): - first = True - no_default_count = len(node.args) - len(node.defaults) -@@ -122,13 +127,21 @@ class ASTCodeGenerator(object): - self._write(', ') - else: - first = False -- self._write('*' + node.vararg) -+ self._write('*') -+ if isstring(node.vararg): -+ self._write(node.vararg) -+ else: -+ self.visit(node.vararg) - if getattr(node, 'kwarg', None): - if not first: - self._write(', ') - else: - first = False -- self._write('**' + node.kwarg) -+ self._write('**') -+ if isstring(node.kwarg): -+ self._write(node.kwarg) -+ else: -+ self.visit(node.kwarg) - - if not IS_PYTHON2: - # In Python 3 arguments get a special node -@@ -724,6 +737,17 @@ class ASTCodeGenerator(object): - def visit_Name(self, node): - self._write(node.id) - -+ # NameConstant(singleton value) -+ def visit_NameConstant(self, node): -+ if node.value is None: -+ self._write('None') -+ elif node.value is True: -+ self._write('True') -+ elif node.value is False: -+ self._write('False') -+ else: -+ raise Exception("Unknown NameConstant %r" % (node.value,)) -+ - # List(expr* elts, expr_context ctx) - def visit_List(self, node): - self._write('[') -@@ -829,6 +853,7 @@ class ASTTransformer(object): - visit_Attribute = _clone - visit_Subscript = _clone - visit_Name = _clone -+ visit_NameConstant = _clone - visit_List = _clone - visit_Tuple = _clone - -diff --git a/genshi/template/eval.py b/genshi/template/eval.py -index 89aec49..de4bc86 100644 ---- a/genshi/template/eval.py -+++ b/genshi/template/eval.py -@@ -24,7 +24,8 @@ from genshi.template.astutil import ASTTransformer, ASTCodeGenerator, \ - from genshi.template.base import TemplateRuntimeError - from genshi.util import flatten - --from genshi.compat import get_code_params, build_code_chunk, IS_PYTHON2 -+from genshi.compat import get_code_params, build_code_chunk, isstring, \ -+ IS_PYTHON2 - - __all__ = ['Code', 'Expression', 'Suite', 'LenientLookup', 'StrictLookup', - 'Undefined', 'UndefinedError'] -@@ -495,28 +496,31 @@ class TemplateASTTransformer(ASTTransformer): - def __init__(self): - self.locals = [CONSTANTS] - -+ def _process(self, names, node): -+ if not IS_PYTHON2 and isinstance(node, _ast.arg): -+ names.add(node.arg) -+ elif isstring(node): -+ names.add(node) -+ elif isinstance(node, _ast.Name): -+ names.add(node.id) -+ elif isinstance(node, _ast.alias): -+ names.add(node.asname or node.name) -+ elif isinstance(node, _ast.Tuple): -+ for elt in node.elts: -+ self._process(names, elt) -+ - def _extract_names(self, node): - names = set() -- def _process(node): -- if not IS_PYTHON2 and isinstance(node, _ast.arg): -- names.add(node.arg) -- if isinstance(node, _ast.Name): -- names.add(node.id) -- elif isinstance(node, _ast.alias): -- names.add(node.asname or node.name) -- elif isinstance(node, _ast.Tuple): -- for elt in node.elts: -- _process(elt) - if hasattr(node, 'args'): - for arg in node.args: -- _process(arg) -+ self._process(names, arg) - if hasattr(node, 'vararg'): -- names.add(node.vararg) -+ self._process(names, node.vararg) - if hasattr(node, 'kwarg'): -- names.add(node.kwarg) -+ self._process(names, node.kwarg) - elif hasattr(node, 'names'): - for elt in node.names: -- _process(elt) -+ self._process(names, elt) - return names - - def visit_Str(self, node): --- -2.12.0 - diff --git a/gnu/packages/patches/python-genshi-buildable-on-python-2.7.patch b/gnu/packages/patches/python-genshi-buildable-on-python-2.7.patch deleted file mode 100644 index 2bc516c697..0000000000 --- a/gnu/packages/patches/python-genshi-buildable-on-python-2.7.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 32bfaa7cc1c736fd62fcbb6414de9498dc20ed07 Mon Sep 17 00:00:00 2001 -From: Adriano Peluso -Date: Wed, 5 Apr 2017 15:13:06 +0200 -Subject: [PATCH 2/2] buildable on python27 too - ---- - genshi/template/directives.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/genshi/template/directives.py b/genshi/template/directives.py -index 6fd0f28..1f70ef6 100644 ---- a/genshi/template/directives.py -+++ b/genshi/template/directives.py -@@ -266,7 +266,7 @@ class DefDirective(Directive): - if isinstance(ast, _ast.Call): - self.name = ast.func.id - for arg in ast.args: -- if isinstance(arg, _ast.Starred): -+ if hasattr(_ast, 'Starred') and isinstance(arg, _ast.Starred): - # Python 3.5+ - self.star_args = arg.value.id - else: --- -2.12.0 - diff --git a/gnu/packages/patches/python-genshi-disable-speedups-on-python-3.3.patch b/gnu/packages/patches/python-genshi-disable-speedups-on-python-3.3.patch deleted file mode 100644 index c25c3bd7a9..0000000000 --- a/gnu/packages/patches/python-genshi-disable-speedups-on-python-3.3.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cef2c8df44166195e1705638f9f17033a4943bb7 Mon Sep 17 00:00:00 2001 -From: Simon Cross -Date: Sun, 16 Feb 2014 18:32:21 +0000 -Subject: [PATCH 02/15] Disable the speedups C extension on CPython >= 3.3 - since Genshi doesn't support the new Unicode C API yet. - ---- - setup.py | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 123a2cb..a3d748c 100755 ---- a/setup.py -+++ b/setup.py -@@ -65,9 +65,13 @@ available.""") - - - if Feature: -+ # Optional C extension module for speeding up Genshi: -+ # Not activated by default on: -+ # - PyPy (where it harms performance) -+ # - CPython >= 3.3 (the new Unicode C API is not supported yet) - speedups = Feature( - "optional C speed-enhancements", -- standard = not is_pypy, -+ standard = not is_pypy and sys.version_info < (3, 3), - ext_modules = [ - Extension('genshi._speedups', ['genshi/_speedups.c']), - ], --- -2.12.0 - diff --git a/gnu/packages/patches/python-genshi-fix-tests-on-python-3.5.patch b/gnu/packages/patches/python-genshi-fix-tests-on-python-3.5.patch deleted file mode 100644 index 05be080cdf..0000000000 --- a/gnu/packages/patches/python-genshi-fix-tests-on-python-3.5.patch +++ /dev/null @@ -1,112 +0,0 @@ -From ce796ad4bae5c47011876778674ad036357febdf Mon Sep 17 00:00:00 2001 -From: Adriano Peluso -Date: Wed, 5 Apr 2017 15:10:06 +0200 -Subject: [PATCH 1/2] fixing the tests on python35 - ---- - genshi/filters/i18n.py | 6 ++++-- - genshi/template/astutil.py | 14 +++++++++++--- - genshi/template/directives.py | 20 ++++++++++++++------ - genshi/template/eval.py | 5 +++++ - 4 files changed, 34 insertions(+), 11 deletions(-) - -diff --git a/genshi/filters/i18n.py b/genshi/filters/i18n.py -index 526fda4..5387fcf 100644 ---- a/genshi/filters/i18n.py -+++ b/genshi/filters/i18n.py -@@ -1194,8 +1194,10 @@ def extract_from_code(code, gettext_functions): - elif arg: - strings.append(None) - [_add(arg) for arg in node.args] -- _add(node.starargs) -- _add(node.kwargs) -+ if hasattr(node, 'starargs'): -+ _add(node.starargs) -+ if hasattr(node, 'kwargs'): -+ _add(node.kwargs) - if len(strings) == 1: - strings = strings[0] - else: -diff --git a/genshi/template/astutil.py b/genshi/template/astutil.py -index f4e1edd..e561846 100644 ---- a/genshi/template/astutil.py -+++ b/genshi/template/astutil.py -@@ -151,6 +151,10 @@ class ASTCodeGenerator(object): - def visit_arg(self, node): - self._write(node.arg) - -+ def visit_Starred(self, node): -+ self._write('*') -+ self.visit(node.value) -+ - # FunctionDef(identifier name, arguments args, - # stmt* body, expr* decorator_list) - def visit_FunctionDef(self, node): -@@ -664,9 +668,13 @@ class ASTCodeGenerator(object): - if not first: - self._write(', ') - first = False -- # keyword = (identifier arg, expr value) -- self._write(keyword.arg) -- self._write('=') -+ if not keyword.arg: -+ # Python 3.5+ star-star args -+ self._write('**') -+ else: -+ # keyword = (identifier arg, expr value) -+ self._write(keyword.arg) -+ self._write('=') - self.visit(keyword.value) - if getattr(node, 'starargs', None): - if not first: -diff --git a/genshi/template/directives.py b/genshi/template/directives.py -index 7301c2d..6fd0f28 100644 ---- a/genshi/template/directives.py -+++ b/genshi/template/directives.py -@@ -266,13 +266,21 @@ class DefDirective(Directive): - if isinstance(ast, _ast.Call): - self.name = ast.func.id - for arg in ast.args: -- # only names -- self.args.append(arg.id) -+ if isinstance(arg, _ast.Starred): -+ # Python 3.5+ -+ self.star_args = arg.value.id -+ else: -+ # only names -+ self.args.append(arg.id) - for kwd in ast.keywords: -- self.args.append(kwd.arg) -- exp = Expression(kwd.value, template.filepath, -- lineno, lookup=template.lookup) -- self.defaults[kwd.arg] = exp -+ if kwd.arg is None: -+ # Python 3.5+ -+ self.dstar_args = kwd.value.id -+ else: -+ self.args.append(kwd.arg) -+ exp = Expression(kwd.value, template.filepath, -+ lineno, lookup=template.lookup) -+ self.defaults[kwd.arg] = exp - if getattr(ast, 'starargs', None): - self.star_args = ast.starargs.id - if getattr(ast, 'kwargs', None): -diff --git a/genshi/template/eval.py b/genshi/template/eval.py -index d378419..81644a7 100644 ---- a/genshi/template/eval.py -+++ b/genshi/template/eval.py -@@ -600,6 +600,11 @@ class TemplateASTTransformer(ASTTransformer): - finally: - self.locals.pop() - -+ # Only used in Python 3.5+ -+ def visit_Starred(self, node): -+ node.value = self.visit(node.value) -+ return node -+ - def visit_Name(self, node): - # If the name refers to a local inside a lambda, list comprehension, or - # generator expression, leave it alone --- -2.12.0 - diff --git a/gnu/packages/patches/python-genshi-isstring-helper.patch b/gnu/packages/patches/python-genshi-isstring-helper.patch deleted file mode 100644 index 4f6c19bba9..0000000000 --- a/gnu/packages/patches/python-genshi-isstring-helper.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cc5e07284f44cdd9beec178c69070a53f55d1323 Mon Sep 17 00:00:00 2001 -From: Simon Cross -Date: Sun, 16 Feb 2014 18:43:20 +0000 -Subject: [PATCH 03/15] Add isstring helper. - ---- - genshi/compat.py | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/genshi/compat.py b/genshi/compat.py -index 9787325..6574e39 100644 ---- a/genshi/compat.py -+++ b/genshi/compat.py -@@ -35,6 +35,15 @@ else: - 'Python 2 compatibility function. Not usable in Python 3.') - - -+# We need to test if an object is an instance of a string type in places -+ -+if IS_PYTHON2: -+ def isstring(obj): -+ return isinstance(obj, basestring) -+else: -+ def isstring(obj): -+ return isinstance(obj, str) -+ - # We need to differentiate between StringIO and BytesIO in places - - if IS_PYTHON2: -@@ -112,4 +121,3 @@ except NameError: - if not x: - return False - return True -- --- -2.12.0 - diff --git a/gnu/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch b/gnu/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch deleted file mode 100644 index 29951a6149..0000000000 --- a/gnu/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0769be04c3891ae5c724c6779ba13d1d0f53b4ae Mon Sep 17 00:00:00 2001 -From: Simon Cross -Date: Sun, 16 Feb 2014 18:25:17 +0000 -Subject: [PATCH 01/15] Also allow stripping of unsafe script tags (Python 3.4 - parses the second example as a tag whose name is script&xyz). - ---- - genshi/filters/tests/test_html.py | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/genshi/filters/tests/test_html.py b/genshi/filters/tests/test_html.py -index 0c6cfe1..45ec0da 100644 ---- a/genshi/filters/tests/test_html.py -+++ b/genshi/filters/tests/test_html.py -@@ -368,12 +368,16 @@ def StyleSanitizer(): - - class HTMLSanitizerTestCase(unittest.TestCase): - -- def assert_parse_error_or_equal(self, expected, exploit): -+ def assert_parse_error_or_equal(self, expected, exploit, -+ allow_strip=False): - try: - html = HTML(exploit) - except ParseError: - return -- self.assertEquals(expected, (html | HTMLSanitizer()).render()) -+ sanitized_html = (html | HTMLSanitizer()).render() -+ if not sanitized_html and allow_strip: -+ return -+ self.assertEquals(expected, sanitized_html) - - def test_sanitize_unchanged(self): - html = HTML(u'fo
o
') -@@ -416,10 +420,12 @@ class HTMLSanitizerTestCase(unittest.TestCase): - html = HTML(u'') - self.assertEquals('', (html | HTMLSanitizer()).render()) - src = u'alert("foo")' -- self.assert_parse_error_or_equal('<SCR\x00IPT>alert("foo")', src) -+ self.assert_parse_error_or_equal('<SCR\x00IPT>alert("foo")', src, -+ allow_strip=True) - src = u'' - self.assert_parse_error_or_equal('<SCRIPT&XYZ; ' -- 'SRC="http://example.com/">', src) -+ 'SRC="http://example.com/">', src, -+ allow_strip=True) - - def test_sanitize_remove_onclick_attr(self): - html = HTML(u'
') --- -2.12.0 - diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 9008ca5e72..226b9b631b 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -45,6 +45,7 @@ (define-module (gnu packages python-web) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system python) #:use-module (guix utils) #:use-module (gnu packages) @@ -2248,29 +2249,16 @@ for Flask programs that are using @code{python-alembic}.") (define-public python-genshi (package (name "python-genshi") - (version "0.7") + (version "0.7.1") (source (origin - (method url-fetch) - (uri (string-append - "https://ftp.edgewall.org/pub/genshi/Genshi-" - version ".tar.gz")) - (patches - (search-patches - ;; The first 4 patches are in the master branch upstream. - ;; See this as a reference https://genshi.edgewall.org/ticket/582 - ;; The last 2 are NOT in any branch. - ;; They were sent as attachments to a ticket opened at - ;; https://genshi.edgewall.org/ticket/602#no1 - "python-genshi-stripping-of-unsafe-script-tags.patch" - "python-genshi-disable-speedups-on-python-3.3.patch" - "python-genshi-isstring-helper.patch" - "python-genshi-add-support-for-python-3.4-AST.patch" - "python-genshi-fix-tests-on-python-3.5.patch" - "python-genshi-buildable-on-python-2.7.patch")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/edgewall/genshi.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0lkkbp6fbwzv0zda5iqc21rr7rdldkwh3hfabfjl9i4bwq14858x")))) + (base32 "01fx8fnpay5w048ppyjivg2dgfpp5rybn07y3pfsgj2knram3nhl")))) (build-system python-build-system) (home-page "https://genshi.edgewall.org/") (synopsis "Toolkit for generation of output for the web") @@ -2279,9 +2267,6 @@ of components for parsing, generating, and processing HTML, XML or other textual content for output generation on the web.") (license license:bsd-3))) -;; The linter here claims that patch file names should start with the package -;; name. But, in this case the patches are inherited from python-genshi with -;; the "python-genshi-" prefix instead of "python2-genshi-". (define-public python2-genshi (package-with-python2 python-genshi)) From 37a2ea118d7027551c5c53a329a231fef0a2bfe7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 16:56:40 +0200 Subject: [PATCH 037/148] gnu: fortify-headers: Update to 1.0. * gnu/packages/suckless.scm (fortify-headers): Update to 1.0. --- gnu/packages/suckless.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index dbfaa29127..a5e02ce948 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -561,7 +561,7 @@ environment variable.") (define-public fortify-headers (package (name "fortify-headers") - (version "0.9") + (version "1.0") (source (origin (method url-fetch) @@ -569,15 +569,15 @@ environment variable.") name "-" version ".tar.gz")) (sha256 (base32 - "1z517ajy34l2k5lz2gvhbmia9xjgagffi4s22azqxnlmgb1g2xfg")))) + "0nvplfg4y4a10x2j12qwmxzlk2q4j6287j0v5f9bfsdayb04qvh2")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; No tests + `(#:tests? #f ; no tests #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases - (delete 'configure)))) ; No configure script + (delete 'configure)))) ; no configure script (home-page "https://git.2f30.org/fortify-headers/") (synopsis "Standalone fortify-source implementation") (description From 98184e566c004871c3c3510d66dc669cd2ea4462 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 16:51:02 +0200 Subject: [PATCH 038/148] gnu: gnome-mpv: Update to 0.15. * gnu/packages/video.scm (gnome-mpv): Update to 0.15. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 900575b828..d18726b33b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1203,7 +1203,7 @@ projects while introducing many more.") (define-public gnome-mpv (package (name "gnome-mpv") - (version "0.14") + (version "0.15") (source (origin (method url-fetch) @@ -1212,7 +1212,7 @@ projects while introducing many more.") ".tar.xz")) (sha256 (base32 - "03kjwd5jq0i5ajnvhjwf5019bjjaa16xkdrhdkiz1k58ipjvvj93")))) + "1y47abkidxh1il0bvq8r3dglwn3ggsy41x2n7ic3x23wvvcqmq74")))) (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) From d7e9bd15faddb2a7902f8745d927fdd5d73a5296 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 10 Sep 2018 13:22:35 -0400 Subject: [PATCH 039/148] gnu: linux-libre@4.4: Update to 4.4.155. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.155. --- 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 7d5b3aed86..f510e02ab9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -452,8 +452,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.154" - "08i9fvrmswkydj538wg6c7ggxmhll0ff0bjkw8rnyslqwilfwr1i" + (make-linux-libre "4.4.155" + "1gcnwrgv0xghr550lcl6dmxdl59drzbi02mwp78g8vjql6ihdfys" %intel-compatible-systems #:configuration-file kernel-config)) From 176999f18ed37e8e494fd9fa5ef12e67d6275386 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 10 Sep 2018 13:23:20 -0400 Subject: [PATCH 040/148] gnu: linux-libre@4.9: Update to 4.9.126. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.126. --- 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 f510e02ab9..1be1b37ec2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -446,8 +446,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.125" - "1saihk61l1kk42jf8yfsfkm77zalq31f0bdlam3c1g7yw702wj9g" + (make-linux-libre "4.9.126" + "0qa9zxa7isn20b9sbjcyrqfynd00phddv3yindp5dmvsng1kwxj8" %intel-compatible-systems #:configuration-file kernel-config)) From c727ed05ac52e94de800e5d9c8efda16deaf1719 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 10 Sep 2018 13:24:01 -0400 Subject: [PATCH 041/148] gnu: linux-libre@4.14: Update to 4.14.69. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.69. (%linux-libre-4.14-hash): Update hash. --- 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 1be1b37ec2..183bd88fc3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -436,8 +436,8 @@ It has been modified to remove all non-free binary blobs.") #:patches %linux-libre-4.18-patches #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.68") -(define %linux-libre-4.14-hash "05l5y0vbbl60jxdbqglqr9c99a8g8lfsp4mcqfpcx1pkh5br7i3l") +(define %linux-libre-4.14-version "4.14.69") +(define %linux-libre-4.14-hash "08pw5hywlx3rsavj74qa17fm9hmhaw2rb1d3ahaqmd1zzsddb3qf") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From eb07a6f8980eb71ea03bbb5e304db5d30e2c59c3 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 10 Sep 2018 13:25:54 -0400 Subject: [PATCH 042/148] gnu: linux-libre: Update to 4.18.7. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.18.7. (%linux-libre-hash): Update hash. --- 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 183bd88fc3..d4e9a5de95 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -405,8 +405,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.18.6") -(define %linux-libre-hash "1l5caid77vbfb54zrfxkk7qj7lrf9ck9kpn96kr45spkwl51wm8m") +(define %linux-libre-version "4.18.7") +(define %linux-libre-hash "1gn3ip2blczfr5hl20x6c93z8v7h528kl423pzkcn22hin6717wd") (define %linux-libre-4.18-patches (list %boot-logo-patch From 254844f22d81356ee00977e95640245281257661 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 10 Sep 2018 13:53:21 -0400 Subject: [PATCH 043/148] gnu: nano: Update to 3.0. * gnu/packages/nano.scm (nano): Update to 3.0. --- gnu/packages/nano.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index a7adfcd5d5..9396588fc8 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -30,7 +30,7 @@ (define-public nano (package (name "nano") - (version "2.9.8") + (version "3.0") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "122lm0z97wk3mgnbn8m4d769d4j9rxyc9z7s89xd4gsdp8qsrpn2")))) + "1868hg9s584fwjrh0fzdrixmxc2qhw520z4q5iv68kjiajivr9g0")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) From 2424d5e56ced7ba02877fc52fd3b3b470bde15d7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 20:11:37 +0200 Subject: [PATCH 044/148] gnu: cloc: Update source hash. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The upstream tarball was modified in place. The only changes are: --- /gnu/store/5v39h6zjs33hj5dm2yggz5qk0mva00bs-cloc-1.78.tar.gz +++ /gnu/store/pm5ghks76vv6awv3969yvi7qxqfnfs1l-cloc-1.78.tar.gz ├── filetype from file(1) │ @@ -1 +1 @@ │ -gzip compressed data, last modified: Fri Sep 7 18:22:49 2018, from Unix │ +gzip compressed data, last modified: Sat Sep 8 14:09:43 2018, from Unix │ --- 5v39h6zjs33hj5dm2yggz5qk0mva00bs-cloc-1.78.tar ├── +++ pm5ghks76vv6awv3969yvi7qxqfnfs1l-cloc-1.78.tar │ ├── file list │ │ @@ -1,13 +1,13 @@ │ │ -rwxrwxr-x 0 al (1000) al (1000) 545021 2018-09-07 18:21:22 cloc-1.78/cloc │ │ -rwxrwxr-x 0 al (1000) al (1000) 1818 2018-09-07 18:21:22 cloc-1.78/sqlite_formatter │ │ -drwxrwxr-x 0 al (1000) al (1000) 0 2018-09-07 18:21:22 cloc-1.78/Unix/ │ │ --rwxrwxr-x 0 al (1000) al (1000) 498571 2018-09-07 18:21:22 cloc-1.78/Unix/cloc │ │ +drwxrwxr-x 0 al (1000) al (1000) 0 2018-09-08 14:09:23 cloc-1.78/Unix/ │ │ +-rwxrwxr-x 0 al (1000) al (1000) 498537 2018-09-08 14:09:22 cloc-1.78/Unix/cloc │ │ -rwxrwxr-x 0 al (1000) al (1000) 32382 2018-09-07 18:21:22 cloc-1.78/Unix/t/00_C.t │ │ -rwxrwxr-x 0 al (1000) al (1000) 12614 2018-09-07 18:21:22 cloc-1.78/Unix/t/01_opts.t │ │ -rw-rw-r-- 0 al (1000) al (1000) 862 2018-09-07 18:21:22 cloc-1.78/Unix/README │ ├── cloc-1.78/Unix/cloc │ │ @@ -1,8 +1,7 @@ │ │ -#!/usr/local/perl/5.28.0/bin/perl │ │ #!/usr/bin/env perl * gnu/packages/code.scm (cloc)[source]: Update sha256 hash. --- gnu/packages/code.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index b3fbea0b38..4264e292bd 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -220,7 +220,7 @@ COCOMO model or user-provided parameters.") "/cloc-" version ".tar.gz")) (sha256 (base32 - "176xklr2qsgxh9zdb565gib6pp4gsm585rz5fvyphgjy4i679wkv")))) + "1j9lwy9xf43kpv1csqdxzch6y1hnsv881ddqd357f8v58dhr4s68")))) (build-system gnu-build-system) (inputs `(("coreutils" ,coreutils) From 8fe059bf6cc98347f200eaf55681beb6ff36582b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 10 Sep 2018 01:14:25 +0200 Subject: [PATCH 045/148] gnu: python-cryptography: Update to 2.3.1. * gnu/packages/python-crypto.scm (python-cryptography-vectors, python-cryptography): Update to 2.3.1. --- gnu/packages/python-crypto.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index f612b99d01..63dc1a54df 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -361,14 +361,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "2.2.2") + (version "2.3.1") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "122na0c6r24ch2ifyr4ccjyih0inpqy7bc5za77699g3pa22rd98")))) + "0ijdck30p7jv8a0zwv8b7d30ciqrmmps62lm63l4k776vihrnkdz")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -383,14 +383,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "2.2.2") + (version "2.3.1") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "0qrgip8vgcpk7v1jwf67mg50np5iprxrv8qrg8p382hkd6zrbhlz")))) + "1mnzf168vlxirq7fw9dm9zbvma7z8phc9cl5bffw5916m0y1244d")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) From ba0052e8ae3c36bf016f539ced2d889a78ba13e5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 10 Sep 2018 16:15:33 +0200 Subject: [PATCH 046/148] gnu: python-tlsh: Update to 3.4.5. * gnu/packages/python.scm (python-tlsh): Update to 3.4.5. --- 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 1d4b069d09..ce5db2f0e2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6555,7 +6555,7 @@ Python Package Index (PyPI).") (define-public python-tlsh (package (name "python-tlsh") - (version "3.4.4") + (version "3.4.5") (home-page "https://github.com/trendmicro/tlsh") (source (origin (method url-fetch) @@ -6563,7 +6563,7 @@ Python Package Index (PyPI).") version ".tar.gz")) (sha256 (base32 - "00bhzjqrlh7v538kbkbn8lgx976j1138al3sdhklaizqjvpwyk4r")) + "1x1vahd4zg5kpyr9h9hs3fvh460p25rjy4cclwdnbbw8x3vc30q3")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments From 418ec0adc9ee8096683064f1aa0c486a8788e1ca Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 10 Sep 2018 16:32:39 +0200 Subject: [PATCH 047/148] gnu: python-libarchive-c: Update to 2.8. * gnu/packages/python.scm (python-libarchive-c): Update to 2.8. [arguments]: Replace 'check' phase. [native-inputs]: Add PYTHON-MOCK and PYTHON-PYTEST. --- gnu/packages/python.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ce5db2f0e2..a8378bf360 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6624,13 +6624,13 @@ a hash value.") (define-public python-libarchive-c (package (name "python-libarchive-c") - (version "2.2") + (version "2.8") (source (origin (method url-fetch) (uri (pypi-uri "libarchive-c" version)) (sha256 (base32 - "0z4r7v3dhd6b3120mav05ff08srih176r2rg5k8kn7mjd9pslm2x")))) + "0qg0v1s9c1xdk9philhnv8k6c6nicvnvfwlc0j9srg90jmdlvm06")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -6642,7 +6642,12 @@ a hash value.") (substitute* "libarchive/ffi.py" (("find_library\\('archive'\\)") (string-append "'" libarchive - "/lib/libarchive.so'"))))))))) + "/lib/libarchive.so'")))))) + (replace 'check + (lambda _ (invoke "pytest" "-vv")))))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest))) (inputs `(("libarchive" ,libarchive))) (home-page "https://github.com/Changaco/python-libarchive-c") From fc449407fea373444fee97c03ce66f96e376acef Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 10 Sep 2018 16:38:28 +0200 Subject: [PATCH 048/148] gnu: python-debian: Update home page. * gnu/packages/python.scm (python-debian)[home-page]: Set to source repository. --- 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 a8378bf360..a70e0a2a40 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6694,6 +6694,7 @@ serve the same purpose: provide Python bindings for libmagic."))) (define-public python-debian (package (name "python-debian") + (home-page "https://salsa.debian.org/python-debian-team/python-debian") (version "0.1.28") (source (origin @@ -6705,7 +6706,6 @@ serve the same purpose: provide Python bindings for libmagic."))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six))) - (home-page "http://packages.debian.org/sid/python-debian") (synopsis "Debian package related modules") (description ;; XXX: Use @enumerate instead of @itemize to work around From c5e4b4cc8f424a453f064b7c8e5d434e72885392 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 9 Sep 2018 11:22:29 +0200 Subject: [PATCH 049/148] gnu: Add libabigail. * gnu/packages/elf.scm (libabigail): New public variable. --- gnu/packages/elf.scm | 72 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index 82af1f233d..d8d7546e3c 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,8 +29,13 @@ #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:select (gpl3+ lgpl3+ lgpl2.0+)) #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) #:use-module (gnu packages m4) - #:use-module (gnu packages compression)) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages xml)) (define-public elfutils (package @@ -85,6 +91,70 @@ Executable and Linkable Format (@dfn{ELF}). This includes @command{ld}, ;; Libraries are dual-licensed LGPLv3.0+ | GPLv2, and programs are GPLv3+. (license lgpl3+))) +(define-public libabigail + (package + (name "libabigail") + (home-page "https://sourceware.org/libabigail/") + (version "1.4") + (source (origin + (method url-fetch) + (uri (string-append "https://sourceware.org/pub/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "17r8i60lxykvdd9pdidmnvkzgf9k8zman0c1czl3zbx0znhlx497")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--disable-static" + "--enable-bash-completion" + "--enable-manual") + #:make-flags '("V=1") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + (substitute* "build-aux/ltmain.sh" + ;; Don't add -specs=/usr/lib/rpm/redhat/redhat-hardened-ld + ;; to the GCC command line. + (("compiler_flags=\"-specs=.*") + "compiler_flags=\n")) + #t)) + (add-after 'build 'build-documentation + (lambda _ + (invoke "make" "-C" "doc/manuals" "html-doc" "man" "info"))) + (add-before 'check 'set-test-environment + (lambda _ + (setenv "XDG_CACHE_HOME" "/tmp") + #t)) + (add-after 'install 'install-documentation + (lambda _ + (invoke "make" "-C" "doc/manuals" + "install-man-and-info-doc"))) + (add-after 'install-documentation 'install-bash-completion + (lambda* (#:key outputs #:allow-other-keys) + (for-each (lambda (file) + (install-file + file (string-append (assoc-ref outputs "out") + "/share/bash-completion" + "/completions"))) + (find-files "bash-completion" ".*abi.*")) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("makeinfo" ,texinfo) + ("python-sphinx" ,python-sphinx) + ("python" ,python))) ;for tests + (propagated-inputs + `(("elfutils" ,elfutils) ;libabigail.la says -lelf + ("libxml2" ,libxml2))) ;in Requires.private of libabigail.pc + (synopsis "Analyze application binary interfaces (ABIs)") + (description + "@dfn{ABIGAIL} stands for the Application Binary Interface Generic +Analysis and Instrumentation Library. It is a framework which aims at +helping developers and software distributors to spot ABI-related issues +like interface incompatibility in ELF shared libraries by performing a +static analysis of the ELF binaries at hand.") + (license lgpl3+))) + (define-public libelf (package (name "libelf") From 875d0681768408997cda108457aaf10116da3732 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 10 Sep 2018 15:42:07 -0400 Subject: [PATCH 050/148] Adjust all users of (gnu packages ldc) to use (gnu packages dlang). This is a followup to commit 98d6543f86d01486c2f6e808eedd97c601ba3e7a. * gnu/packages/bioinformatics.scm, guix/build-system/dub.scm: Adjust accordingly. --- gnu/packages/bioinformatics.scm | 2 +- guix/build-system/dub.scm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fc8be4d7db..f6410c3ca4 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -76,7 +76,7 @@ #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) #:use-module (gnu packages jemalloc) - #:use-module (gnu packages ldc) + #:use-module (gnu packages dlang) #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages machine-learning) diff --git a/guix/build-system/dub.scm b/guix/build-system/dub.scm index 13c89e8648..5a31a2f51a 100644 --- a/guix/build-system/dub.scm +++ b/guix/build-system/dub.scm @@ -35,13 +35,13 @@ (define (default-ldc) "Return the default ldc package." ;; Lazily resolve the binding to avoid a circular dependency. - (let ((ldc (resolve-interface '(gnu packages ldc)))) + (let ((ldc (resolve-interface '(gnu packages dlang)))) (module-ref ldc 'ldc))) (define (default-dub) "Return the default dub package." ;; Lazily resolve the binding to avoid a circular dependency. - (let ((ldc (resolve-interface '(gnu packages ldc)))) + (let ((ldc (resolve-interface '(gnu packages dlang)))) (module-ref ldc 'dub))) (define (default-pkg-config) From d56eee862bbd8295351aecb049110e6b23a672c6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 22:13:07 +0200 Subject: [PATCH 051/148] gnu: qtractor: Update to 0.9.2. * gnu/packages/music.scm (qtractor): Update to 0.9.2. [arguments]: Remove obsolete Qt 5.11 workaround. --- gnu/packages/music.scm | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index e39478e794..e563062018 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2198,28 +2198,17 @@ from the command line.") (define-public qtractor (package (name "qtractor") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) (uri (string-append "http://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "07csbqr7q4m1j0pqg89kn7jdw0snd5lwna5rha0986s4plq4z1qb")))) + "1j3rpvdkw9rw48j4zyfn6rprp01csy4rl6zckcjyx0vh7vaycchr")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no "check" target - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-build-with-qt-5.11 - (lambda _ - (substitute* "src/qtractorMeter.h" - (("#include " m) - (string-append "#include \n" m))) - (substitute* "src/qtractorTrackButton.h" - (("#include " m) - (string-append "#include \n" m))) - #t))))) + `(#:tests? #f)) ; no "check" target (inputs `(("qt" ,qtbase) ("qtx11extras" ,qtx11extras) From 7a6eaf5ca9c12c2d844223080694b94953abf982 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 21:47:32 +0200 Subject: [PATCH 052/148] gnu: python-parso: Update to 0.3.1. * gnu/packages/python.scm (python-parso): Update to 0.3.1. --- 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 a70e0a2a40..8d36883593 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13519,14 +13519,14 @@ time-based (TOTP) passwords.") (define-public python-parso (package (name "python-parso") - (version "0.2.1") + (version "0.3.1") (source (origin (method url-fetch) (uri (pypi-uri "parso" version)) (sha256 (base32 - "0zvh4rdhv2wkglkgh0h9kn9ndpsw5p639wcwv47jn1kfp504lq7h")))) + "18p89iwcm8mnf380f92g9w0bhx5km8wxp392vvjcq4y1ld1llw1m")))) (native-inputs `(("python-pytest" ,python-pytest))) (build-system python-build-system) From cc12ac58a2cab7937e230db0db95c80919969f11 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 21:48:05 +0200 Subject: [PATCH 053/148] gnu: python-jedi: Update to 0.12.1. * gnu/packages/python.scm (python-jedi): Update to 0.12.1. [synopsis, description]: Adjust to expanded functionality. --- gnu/packages/python.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8d36883593..d1a912c15b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9639,14 +9639,14 @@ characters, mouse support, and auto suggestions.") (define-public python-jedi (package (name "python-jedi") - (version "0.12.0") + (version "0.12.1") (source (origin (method url-fetch) (uri (pypi-uri "jedi" version)) (sha256 (base32 - "1bcr7csx4xil1iwmk03d79jis0bkmgi9k0kir3xa4rmwqsagcwhr")))) + "1h8ypnjisn57kiv1zqrkj1im6sbfnhxllqaa8znh39qkd47ys2dl")))) (build-system python-build-system) (arguments `(#:phases @@ -9658,11 +9658,14 @@ characters, mouse support, and auto suggestions.") ("python-parso" ,python-parso) ("python-docopt" ,python-docopt))) (home-page "https://github.com/davidhalter/jedi") - (synopsis - "Autocompletion for Python that can be used for text editors") + (synopsis "Autocompletion and static analysis library for Python") (description - "Jedi is an autocompletion tool for Python that can be used for text - editors.") + "Jedi is a static analysis tool for Python that can be used in Integrated +Development Environments (@dfn{IDE}s) and text editors. It understands Python +on a deeper level than many other static analysis frameworks for Python. + +Jedi understands docstrings and you can use Jedi autocompletion in your REPL as +well.") (license license:expat))) (define-public python2-jedi From c0ea7f5ff4e18a2e786529d47137ee6ec776434a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 21:33:17 +0200 Subject: [PATCH 054/148] gnu: python-parse: Mark up description. * gnu/packages/python.scm (python-parse)[description]: Use @code{}. --- 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 d1a912c15b..223a3c80e8 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1583,7 +1583,7 @@ backported for previous versions of Python from 2.4 to 3.3.") (home-page "https://github.com/r1chardj0n3s/parse") (synopsis "Parse strings") (description - "Parse strings using a specification based on the Python format() + "Parse strings using a specification based on the Python @code{format()} syntax.") (license license:x11))) From 86788cb0c9998e887b9e754ee43d36dced8f29db Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 21:30:28 +0200 Subject: [PATCH 055/148] gnu: python-parse: Update to 1.8.4. * gnu/packages/python.scm (python-parse): Update to 1.8.4. --- 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 223a3c80e8..3083cde08c 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1566,14 +1566,14 @@ backported for previous versions of Python from 2.4 to 3.3.") (define-public python-parse (package (name "python-parse") - (version "1.8.2") + (version "1.8.4") (source (origin (method url-fetch) (uri (pypi-uri "parse" version)) (sha256 (base32 - "1lj9v1q4imszyhvipb6drsm3xdl35nan011mqxxas1yaypixsj40")))) + "0f8997xr8nq2nq35iiviq8ningd1zvy59fg503xfpbi2dwhgdkf3")))) (build-system python-build-system) (arguments `(#:phases From 4b41568fa598f101b0a670f5882da88105218270 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 21:00:20 +0200 Subject: [PATCH 056/148] gnu: python-binaryornot: Update to 0.4.4. * gnu/packages/python.scm (python-binaryornot): Update to 0.4.4. --- 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 3083cde08c..a3eeb3c883 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9844,13 +9844,13 @@ hardware-accelerated multitouch applications.") (define-public python-binaryornot (package (name "python-binaryornot") - (version "0.4.0") + (version "0.4.4") (source (origin (method url-fetch) (uri (pypi-uri "binaryornot" version)) (sha256 (base32 - "1j4f51dxic39mdwf6alj7gd769wy6mhk916v031wjali51xkh3xb")))) + "0qc006986rb6bcbmiymwgcl1mns2jphr1j7sr7nk41nlr7gh359m")))) (build-system python-build-system) (propagated-inputs `(("python-chardet" ,python-chardet) From 695775b138133db3c5a7a07916f45dc783fe9a11 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 20:47:21 +0200 Subject: [PATCH 057/148] gnu: kakoune: Update to 2018.09.04. * gnu/packages/text-editors.scm (kakoune): Update to 2018.09.04. --- gnu/packages/text-editors.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 2536754eb7..d344ebdca0 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -102,7 +102,7 @@ based command language.") (define-public kakoune (package (name "kakoune") - (version "2018.04.13") + (version "2018.09.04") (source (origin (method url-fetch) @@ -111,7 +111,7 @@ based command language.") name "-" version ".tar.bz2")) (sha256 (base32 - "1kkzs5nrjxzd1jq7a4k7qfb5kg05871z0r3d9c0yhz9shf6wz36d")))) + "1qbj2hmcfs6pr5lc78z9ni5zxdyp3mr64dvms4l52716ikqcjcbs")))) (build-system gnu-build-system) (arguments `(#:make-flags From 4105f13bb5e1ec946bfc9705498ed9aad2228bcf Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 22:53:28 +0200 Subject: [PATCH 058/148] gnu: tor: Update to 0.3.4.8. * gnu/packages/tor.scm (tor): Update to 0.3.4.8. --- gnu/packages/tor.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index e897dff639..7d46191c12 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -47,21 +47,21 @@ (define-public tor (package (name "tor") - (version "0.3.3.9") + (version "0.3.4.8") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "0vyf5z0dn5jghp2qjp076aq62lsz9g32qv9jiqf08skf096nnd45")))) + "08qhzcmzxp5xr2l5721vagksqnnbrzzzy5hmz5y9r8lrq2r4qsl2")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-gcc-hardening" "--enable-linker-hardening"))) (native-inputs `(("pkg-config" ,pkg-config) - ("python" ,python-2))) ; for tests + ("python" ,python-2))) ; for tests (inputs `(("zlib" ,zlib) ("openssl" ,openssl) From b38827096f6c3229ed6bfbfda3eaa28d78f3cbaa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 22:42:48 +0200 Subject: [PATCH 059/148] gnu: mcrl2: Use HTTPS home page. * gnu/packages/maths.scm (mcrl2)[home-page]: Use HTTPS. --- gnu/packages/maths.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 01bd03c600..4e1347e8fc 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3975,7 +3975,7 @@ toolset supports analysis and automatic verification, linearisation, simulation, state-space exploration and generation, and tools to optimise and analyse specifications. Also, state spaces can be manipulated, visualised and analysed.") - (home-page "http://mcrl2.org") + (home-page "https://mcrl2.org") (license license:boost1.0))) (define-public r-subplex From 2740549754f9d3d8ed1c3168d43ab820785cc5d7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 20:47:05 +0200 Subject: [PATCH 060/148] gnu: kakoune: Use HTTPS home page. * gnu/packages/text-editors.scm (kakoune)[home-page]: Use HTTPS. --- gnu/packages/text-editors.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index d344ebdca0..0c60d202a3 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -147,7 +147,7 @@ commands are similar to Vi's ones, and it shares Vi's \"keystrokes as a text editing language\" model. Kakoune has a strong focus on interactivity, most commands provide immediate and incremental results, while still being competitive (as in keystroke count) with Vim.") - (home-page "http://kakoune.org/") + (home-page "https://kakoune.org/") (license license:unlicense))) (define-public joe From 029de52fe9f5f8aa2b2ef462c30118cbb9721f64 Mon Sep 17 00:00:00 2001 From: Thorsten Wilms Date: Mon, 10 Sep 2018 23:56:11 +0200 Subject: [PATCH 061/148] gnu: guitarix-lv2: Use correct configure flag. * gnu/packages/audio.scm (guitarix-lv2)[arguments]: Change configure flag. Signed-off-by: Ricardo Wurmus --- gnu/packages/audio.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 3b898c024a..7e6feec352 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1291,7 +1291,7 @@ auto-wah.") (arguments (substitute-keyword-arguments (package-arguments guitarix) ((#:configure-flags flags) - `(cons "--lv2-only" ,flags)))))) + `(cons "--no-standalone" ,flags)))))) (define-public rakarrack (package From d54145c38a5112cdb7af417600e13319df5d475c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 10 Sep 2018 23:57:41 +0200 Subject: [PATCH 062/148] gnu: guitarix: Update to 0.37.3. * gnu/packages/audio.scm (guitarix): Update to 0.37.3. [inputs]: Add curl. --- gnu/packages/audio.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 7e6feec352..8bce6fa2c2 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1231,7 +1231,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") (define-public guitarix (package (name "guitarix") - (version "0.37.1") + (version "0.37.3") (source (origin (method url-fetch) (uri (string-append @@ -1239,7 +1239,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") version ".tar.xz")) (sha256 (base32 - "064k0jzxqgx9gwf8za6jziansabzrwzjaim3qx1743ify5g3gaai")))) + "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no "check" target @@ -1252,6 +1252,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") (inputs `(("libsndfile" ,libsndfile) ("boost" ,boost) + ("curl" ,curl) ("avahi" ,avahi) ("eigen" ,eigen) ("lv2" ,lv2) From 2f195b6f23865417284883bfebc3b697270130f5 Mon Sep 17 00:00:00 2001 From: pimi Date: Wed, 29 Aug 2018 10:28:15 +0200 Subject: [PATCH 063/148] gnu: Add r-mosaicdata. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-mosaicdata): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8144391729..11822e1aa5 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5564,3 +5564,22 @@ gf_density(), and so on, bring the formula interface to ggplot(). This captures and extends the excellent simplicity of the lattice-graphics formula interface, while providing the intuitive capabilities of @code{r-ggplot2}.") (license license:expat))) + +(define-public r-mosaicdata + (package + (name "r-mosaicdata") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "mosaicData" version)) + (sha256 + (base32 "04z0mdm52mykqsxsinhmsihn181zf6cw321gayk2rjp7lj7mwdq9")))) + (properties `((upstream-name . "mosaicData"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/mosaicData/") + (synopsis "Data sets for project Mosaic") + (description + "This package provides data sets from project Mosaic @url{http://mosaic-web.org} +used to teach mathematics, statistics, computation and modeling.") + (license license:gpl2+))) From 6c6ce2d08832ea4b854fe689ec1b3e4ac3ae60bc Mon Sep 17 00:00:00 2001 From: pimi Date: Wed, 29 Aug 2018 10:32:59 +0200 Subject: [PATCH 064/148] gnu: Add r-mosaic. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-mosaic): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 11822e1aa5..62d1d32669 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5583,3 +5583,43 @@ while providing the intuitive capabilities of @code{r-ggplot2}.") "This package provides data sets from project Mosaic @url{http://mosaic-web.org} used to teach mathematics, statistics, computation and modeling.") (license license:gpl2+))) + +(define-public r-mosaic + (package + (name "r-mosaic") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "mosaic" version)) + (sha256 + (base32 "10jbrg8kli00kfgbh2f67bymm5cnlancc9dplb1j7fl552yjddn2")))) + (build-system r-build-system) + (propagated-inputs + `(("r-broom" ,r-broom) + ("r-dplyr" ,r-dplyr) + ("r-ggdendro" ,r-ggdendro) + ("r-ggformula" ,r-ggformula) + ("r-ggplot2" ,r-ggplot2) + ("r-ggrepel" ,r-ggrepel) + ("r-glue" ,r-glue) + ("r-gridextra" ,r-gridextra) + ("r-lattice" ,r-lattice) + ("r-latticeextra" ,r-latticeextra) + ("r-lazyeval" ,r-lazyeval) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-mosaiccore" ,r-mosaiccore) + ("r-mosaicdata" ,r-mosaicdata) + ("r-readr" ,r-readr) + ("r-tidyr" ,r-tidyr))) + (home-page "https://github.com/ProjectMOSAIC/mosaic/") + (synopsis "Mathematics, statistics, and computation teaching utilities") + (description + "This package contain data sets and utilities from +@url{http://mosaic-web.org, Project MOSAIC} used to teach mathematics, +statistics, computation and modeling. Project MOSAIC is a community of +educators working to tie together aspects of quantitative work that students +in science, technology, engineering and mathematics will need in their +professional lives, but which are usually taught in isolation, if at all.") + (license license:gpl2+))) From cbb0edd1be1f653d253258dfa90c8b45f288fb1b Mon Sep 17 00:00:00 2001 From: pimi Date: Wed, 29 Aug 2018 10:36:56 +0200 Subject: [PATCH 065/148] gnu: Add r-abd. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cran.scm (r-abd): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cran.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 62d1d32669..5cd456914b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5623,3 +5623,25 @@ educators working to tie together aspects of quantitative work that students in science, technology, engineering and mathematics will need in their professional lives, but which are usually taught in isolation, if at all.") (license license:gpl2+))) + +(define-public r-abd + (package + (name "r-abd") + (version "0.2-8") + (source + (origin + (method url-fetch) + (uri (cran-uri "abd" version)) + (sha256 + (base32 "191gspqzdv573vaw624ri0f5cm6v4j524bjs74d4a1hn3kn6r9b7")))) + (build-system r-build-system) + (propagated-inputs + `(("r-lattice" ,r-lattice) + ("r-mosaic" ,r-mosaic) + ("r-nlme" ,r-nlme))) + (home-page "https://cran.r-project.org/web/packages/abd/") + (synopsis "Analysis of biological data") + (description + "The @code{r-abd} package contains data sets and sample code for the Analysis of +biological data by Michael Whitlock and Dolph Schluter.") + (license license:gpl2))) From 2225d56a14a2d8d29374a14eefe90b3cffa79804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 10 Sep 2018 23:37:48 +0200 Subject: [PATCH 066/148] profiles: Correctly deal with etc/ being a relative symlink. Fixes . Reported by Oleg Pykhalov . * guix/build/profiles.scm (ensure-writable-directory): Add #:symlink. [absolute?]: New procedure. [unsymlink]: Use it to determine how to resolve readlink's result. (build-profile): Pass SYMLINK to 'ensure-writable-directory'. * tests/profiles.scm ("profile-derivation when etc/ is a relative symlink"): New test. --- guix/build/profiles.scm | 15 ++++++++++++--- tests/profiles.scm | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/guix/build/profiles.scm b/guix/build/profiles.scm index df785c85a7..0c23cd300e 100644 --- a/guix/build/profiles.scm +++ b/guix/build/profiles.scm @@ -94,12 +94,20 @@ definitions for all the SEARCH-PATHS." (for-each (write-environment-variable-definition port) (map (abstract-profile output) variables)))))) -(define (ensure-writable-directory directory) +(define* (ensure-writable-directory directory + #:key (symlink symlink)) "Ensure DIRECTORY exists and is writable. If DIRECTORY is currently a symlink (to a read-only directory in the store), then delete the symlink and instead make DIRECTORY a \"real\" directory containing symlinks." + (define (absolute? file) + (string-prefix? "/" file)) + (define (unsymlink link) - (let* ((target (readlink link)) + (let* ((target (match (readlink link) + ((? absolute? target) + target) + ((? string? relative) + (string-append (dirname link) "/" relative)))) ;; TARGET might itself be a symlink, so append "/" to make sure ;; 'scandir' enters it. (files (scandir (string-append target "/") @@ -149,7 +157,8 @@ SEARCH-PATHS." ;; Make sure we can write to 'OUTPUT/etc'. 'union-build' above could have ;; made 'etc' a symlink to a read-only sub-directory in the store so we need ;; to work around that. - (ensure-writable-directory (string-append output "/etc")) + (ensure-writable-directory (string-append output "/etc") + #:symlink symlink) ;; Write 'OUTPUT/etc/profile'. (build-etc/profile output search-paths)) diff --git a/tests/profiles.scm b/tests/profiles.scm index 3a59a0cc4f..9f366a04ef 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -20,6 +20,7 @@ (define-module (test-profiles) #:use-module (guix tests) #:use-module (guix profiles) + #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix monads) #:use-module (guix grafts) @@ -543,6 +544,41 @@ get-string-all) "foo!")))))) +(test-assertm "profile-derivation when etc/ is a relative symlink" + ;; See . + (mlet* %store-monad + ((etc (gexp->derivation + "etc" + #~(begin + (mkdir #$output) + (call-with-output-file (string-append #$output "/foo") + (lambda (port) + (display "Heya!" port)))))) + (thing -> (dummy-package "dummy" + (build-system trivial-build-system) + (inputs + `(("etc" ,etc))) + (arguments + `(#:guile ,%bootstrap-guile + #:builder + (let ((out (assoc-ref %outputs "out")) + (etc (assoc-ref %build-inputs "etc"))) + (mkdir out) + (symlink etc (string-append out "/etc")) + #t))))) + (entry -> (package->manifest-entry thing)) + (drv (profile-derivation (manifest (list entry)) + #:relative-symlinks? #t + #:hooks '() + #:locales? #f)) + (profile -> (derivation->output-path drv))) + (mbegin %store-monad + (built-derivations (list drv)) + (return (string=? (call-with-input-file + (string-append profile "/etc/foo") + get-string-all) + "Heya!"))))) + (test-equalm "union vs. dangling symlink" ; "does-not-exist" (mlet* %store-monad From 5d9c28f117fa6fa9d0b4439ac02e74a4656d25af Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 10 Sep 2018 18:39:28 -0400 Subject: [PATCH 067/148] gnu: git: Update to 2.19.0. * gnu/packages/version-control.scm (git): Update to 2.19.0. (cgit)[inputs]: Use the source of Git 2.18.0. --- gnu/packages/version-control.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 5e0b497ace..3774961786 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -146,14 +146,14 @@ as well as the classic centralized workflow.") (name "git") ;; XXX When updating Git, check if the special 'git-source' input to cgit ;; needs to be updated as well. - (version "2.18.0") + (version "2.19.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "14hfwfkrci829a9316hnvkglnqqw1p03cw9k56p4fcb078wbwh4b")))) + "1x1y5z3awabmfg7hk6zb331jxngad4nal4507v96bnf0izsyy3qq")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -166,7 +166,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "15k04s9pcc5wkmlfa8x99nbgczjbx0c91767ciqmjy9kwsavxqws")))))) + "1jvxiqvp9q4is3np063ny7rnmk5hm36d34bhi3cgv89njqdh8laf")))))) (inputs `(("curl" ,curl) ("expat" ,expat) @@ -642,7 +642,14 @@ collaboration using typical untrusted file hosts or services.") ("xz" ,xz))) (inputs `(;; Building cgit requires a Git source tree. - ("git-source" ,(package-source git)) + ("git-source" + ,(origin + (method url-fetch) + ;; XXX CGit is currently incompatible with Git > 2.18. + (uri "mirror://kernel.org/software/scm/git/git-2.18.0.tar.xz") + (sha256 + (base32 + "14hfwfkrci829a9316hnvkglnqqw1p03cw9k56p4fcb078wbwh4b")))) ("openssl" ,openssl) ("groff" ,groff) ("python" ,python) From 091ef8c97e714c136850e1751972e23fd420765c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 10 Sep 2018 19:24:31 -0400 Subject: [PATCH 068/148] gnu: VLC: Update to 3.0.4. * gnu/packages/video.scm (vlc): Update to 3.0.4. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index d18726b33b..aa2b4467fc 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -864,7 +864,7 @@ videoformats depend on the configuration flags of ffmpeg.") (define-public vlc (package (name "vlc") - (version "3.0.3-1") + (version "3.0.4") (source (origin (method url-fetch) (uri (string-append @@ -874,7 +874,7 @@ videoformats depend on the configuration flags of ffmpeg.") (patches (list %vlc-libx264-compat.patch)) (sha256 (base32 - "1p7qvdvg9w4lz8vckzhn6bswfkq3qw7fqkgvwjcskdgc266xx7dw")))) + "17jsq0zqpqyxw4ckvjba0hf6zk8ywc4wf8sy3z03hh3ij0vxpwq1")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) From e76709f71fa4c6ccf1c428a024c25c25a29854e6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 1 Sep 2018 21:10:36 -0400 Subject: [PATCH 069/148] gnu: go-github-com-syncthing-notify: Update to 0.0.0-2.b76b458. * gnu/packages/syncthing.scm (go-github-com-syncthing-notify): Update to 0.0.0-2.b76b458. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 6577955496..0a5136cad4 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1063,8 +1063,8 @@ using sh's word-splitting rules.") (license expat)))) (define-public go-github-com-syncthing-notify - (let ((commit "cdf89c4039d13726e227d0a472053ea19de021b4") - (revision "1")) + (let ((commit "b76b45868a77e7800dd06cce61101af9c4274bcc") + (revision "2")) (package (name "go-github-com-syncthing-notify") (version (git-version "0.0.0" revision commit)) @@ -1076,7 +1076,7 @@ using sh's word-splitting rules.") (file-name (git-file-name name version)) (sha256 (base32 - "1ra1id9r06i4q8vhrrv1zpybhjxs3361rg35758dxglkyk4pzk6j")))) + "1xxkzaxygxxr51i2kdxsdaqb5i95hqpkw4kcr75wmsp914slw2q9")))) (build-system go-build-system) (arguments '(#:import-path "github.com/syncthing/notify")) From b4ff75b5072613beaa66b72d1da4a30679ac7600 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 7 Aug 2018 13:34:20 -0400 Subject: [PATCH 070/148] gnu: syncthing: Update to 0.14.50. * gnu/packages/syncthing.scm (syncthing): Update to 0.14.50. --- gnu/packages/syncthing.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 0a5136cad4..29caaaf02e 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -30,7 +30,7 @@ (define-public syncthing (package (name "syncthing") - (version "0.14.49") + (version "0.14.50") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -38,7 +38,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "06mzzj5iwgqw3yva7azrsqs9zpl84srbamza4gm03grp7v9gf3sj")) + "0yjj6zzivzw289bhwqjb4xcv8p39n5mcwwr5w6xf5ykzljc5pk55")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin From 41a659d2ecb95c80cbf29f5b0c5d78381550fbca Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 11 Sep 2018 01:50:40 +0200 Subject: [PATCH 071/148] gnu: usbredir: Update to 0.8.0. * gnu/packages/spice.scm (usbredir): Update to 0.8.0. [source]: Use URL-FETCH. [native-inputs]: Remove AUTOCONF, AUTOMAKE and LIBTOOL. [arguments]: Remove. --- gnu/packages/spice.scm | 76 ++++++++++++------------------------------ 1 file changed, 22 insertions(+), 54 deletions(-) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 69bc2b82cb..fc08a1dfdf 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -19,7 +19,6 @@ (define-module (gnu packages spice) #:use-module (gnu packages) - #:use-module (gnu packages autotools) ; remove after updating usbredir to 0.7.1+ #:use-module (gnu packages compression) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages gl) @@ -40,64 +39,33 @@ #:use-module (gnu packages xml) #:use-module (guix build-system gnu) #:use-module (guix download) - #:use-module (guix git-download) ; remove after updating usbredir to 0.7.1+ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils)) (define-public usbredir - (let ((commit "ac80a5971c6318d73d5fba4b5f13d3a9389558c9") - (revision "1")) ;Guix package revision - (package - (name "usbredir") - (version (string-append "0.7.1-" revision "." - (string-take commit 7))) - ;(version "0.7.1") - ;(source (origin - ; (method url-fetch) - ; (uri (string-append - ; "http://spice-space.org/download/usbredir/" - ; "usbredir-" version ".tar.bz2")) - ; (sha256 - ; (base32 - ; "1wsnmk4wjpdhbn1zaxg6bmyxspcki2zgy0am9lk037rnl4krwzj0")))) - ; FIXME: usbredir 0.7.1 release doesn't build on 32 bit systems. - ; issue is fixed in HEAD - ; remove 'autogen phase and autoconf, automake, libtool inputs - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://anongit.freedesktop.org/git/spice/usbredir.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "052fywgi72j68dr5ybldncg4vk8iqfrh58la7iazyxxpph9aag1g")))) - (build-system gnu-build-system) - (propagated-inputs - `(("libusb" ,libusb))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'autogen - (lambda _ - ;; Build without '-Werror', in particular to avoid errors due - ;; to the use of the deprecated 'libusb_set_debug' function. - (substitute* "configure.ac" - (("-Werror") "")) - (zero? (system* "autoreconf" "-vfi"))))))) - (synopsis "Tools for sending USB device traffic over a network") - (description "Usbredir is a network protocol for sending USB device traffic - over a network connection. It can be used to redirect traffic from a USB device - to a different (virtual) machine than the one to which the USB device is - attached.") - (home-page "https://www.spice-space.org") - (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))) + (package + (name "usbredir") + (home-page "https://spice-space.org") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (string-append home-page "/download/" name "/" name "-" + version ".tar.bz2")) + (sha256 + (base32 + "002yik1x7kn0427xahvnhjby2np14a6xqw7c3dx530n9h5d9rg47")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libusb" ,libusb))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "Tools for sending USB device traffic over a network") + (description + "Usbredir is a network protocol for sending USB device traffic over a +network connection. It can be used to redirect traffic from a USB device to a +different (virtual) machine than the one to which the USB device is attached.") + (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+)))) (define-public virglrenderer (package From f6b7ccc9f9e72c6492c7be37ff7da769081dc2cc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 11 Sep 2018 01:58:06 +0200 Subject: [PATCH 072/148] gnu: spice: Update to 0.14.1 [fixes CVE-2018-10873]. * gnu/packages/spice.scm (spice): Update to 0.14.1. [source](uri): Update to new "spice-server" subdirectory. [native-inputs]: Add GLIB-NETWORKING and GSETTINGS-DESKTOP-SCHEMAS. [arguments]: Remove configure-flag which is now off even when celt is available. Add phase to set $SSL_CERT_FILE. --- gnu/packages/spice.scm | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index fc08a1dfdf..e708d726bb 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -177,15 +177,15 @@ which allows users to view a desktop computing environment.") (define-public spice (package (name "spice") - (version "0.14.0") + (version "0.14.1") (source (origin (method url-fetch) (uri (string-append "https://www.spice-space.org/download/releases/" - "spice-" version ".tar.bz2")) + "spice-server/spice-" version ".tar.bz2")) (sha256 (base32 - "0j5q7cp5p95jk8fp48gz76rz96lifimdsx1wnpmfal0nnnar9nrs")))) + "068mb9l7wzk4k4c65bzvpw5fyyzh81rb6z81skgdxvh67pk5vb8y")))) (build-system gnu-build-system) (propagated-inputs `(("openssl" ,openssl) @@ -202,12 +202,18 @@ which allows users to view a desktop computing environment.") (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python) - ("spice-gtk" ,spice-gtk))) + ("spice-gtk" ,spice-gtk) + + ;; These are needed for the server listen tests. + ("glib-networking" ,glib-networking) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) (arguments `(#:configure-flags - '("--disable-celt051" ; Disable support for unpackaged audio codec - "--enable-lz4" - "--enable-automated-tests"))) + '("--enable-lz4" + "--enable-automated-tests") + #:phases (modify-phases %standard-phases + (add-before 'check 'use-empty-ssl-cert-file + (lambda _ (setenv "SSL_CERT_FILE" "/dev/null") #t))))) (synopsis "Server implementation of the SPICE protocol") (description "SPICE is a remote display system built for virtual environments which allows you to view a computing 'desktop' environment From 01af264dcbfb66aa3bc23f56335c6d64163cca8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C4=83d=C4=83lin=20Ionel=20Patra=C8=99cu?= Date: Sat, 8 Sep 2018 22:54:58 +0200 Subject: [PATCH 073/148] gnu: Add r-svgui. * gnu/packages/cran.scm (r-svgui): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5cd456914b..ab989abfff 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -33,6 +33,8 @@ #:use-module (guix build-system r) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) #:use-module (gnu packages machine-learning) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) @@ -5645,3 +5647,24 @@ professional lives, but which are usually taught in isolation, if at all.") "The @code{r-abd} package contains data sets and sample code for the Analysis of biological data by Michael Whitlock and Dolph Schluter.") (license license:gpl2))) + +(define-public r-svgui + (package + (name "r-svgui") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "svGUI" version)) + (sha256 + (base32 "1r7ab0p4yr8q03gj02hmj7k1ghksgkg4nx750c0ajfs2q9y1dxfc")))) + (properties `((upstream-name . "svGUI"))) + (build-system r-build-system) + (home-page "https://github.com/SciViews/svGUI/") + (synopsis "Functions for managing GUI clients in R") + (description + "The SciViews @code{svGUI} package eases the management of Graphical User +Interfaces (GUI) in R. It is independent from any particular GUI widgets. It +centralizes info about GUI elements currently used, and it dispatches GUI +calls to the particular toolkits in use in function of the context.") + (license license:gpl2))) From 828fa94d7a234383fa479f769f220a7ec501bbdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 11 Sep 2018 12:00:26 +0200 Subject: [PATCH 074/148] gnu: guile-simple-zmq, jupyter-guile-kernel: Update to 5bb66a0 and a7db924. * gnu/packages/guile.scm (guile-simple-zmq): Update to 5bb66a0. (jupyter-guile-kernel): Update to a7db924. --- gnu/packages/guile.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 05d9315214..16db4ea5e4 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -2056,8 +2056,8 @@ convenient nested tree operations.") (license license:gpl3+))) (define-public guile-simple-zmq - (let ((commit "1f3b7c0b9b249c6fde8e8a632b252d8a1b794424") - (revision "1")) + (let ((commit "5bb66a0499f94006cfd18b58e80ad6623f911c31") + (revision "2")) (package (name "guile-simple-zmq") (version (git-version "0.0.0" revision commit)) @@ -2069,7 +2069,7 @@ convenient nested tree operations.") (commit commit))) (sha256 (base32 - "0nj2pd5bsmmgd3c54wh4sixfhmsv1arsq7yam2d7487h3n9q57r7")) + "0dj1brjqa7m4k71sf94aq26ca0la3nr894kfmjnqkpawqfp4dyaz")) (file-name (git-file-name name version)))) (build-system guile-build-system) (arguments @@ -2094,8 +2094,8 @@ messaging library.") (license license:gpl3+)))) (define-public jupyter-guile-kernel - (let ((commit "a5c5f3ea3215b65e770bcb62f71117b0ec4575ed") - (revision "0")) + (let ((commit "a7db9245a886e104138474df46c3e88b95cff629") + (revision "1")) (package (name "jupyter-guile-kernel") (version (git-version "0.0.0" revision commit)) @@ -2107,7 +2107,7 @@ messaging library.") (commit commit))) (sha256 (base32 - "0y5jr0f0dyskvsawqbf6n0bpg8jirw4mhqbarf2a6p9lxhqha9s9")))) + "0aj04853bqm47ivfcmrgpb7w3wkis847kc7qrwsa5zcn9h38qh2f")))) (build-system guile-build-system) (arguments '(#:phases (modify-phases %standard-phases From 8539eb5c464015cf3b4417d859b275f105991d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 11 Sep 2018 15:10:46 +0200 Subject: [PATCH 075/148] gnu: jupyter-guile-kernel: Add dependencies to the search path. This allows: guix environment --ad-hoc jupyter jupyter-guile-kernel \ -- jupyter notebook to work out-of-the-box. * gnu/packages/guile.scm (jupyter-guile-kernel)[arguments]: In 'install-kernel' phase, add '-L' and '-C' flags to 'kernel.json'. [propagated-inputs]: Remove. [inputs]: Add GUILE-JSON and GUILE-SIMPLE-ZMQ. --- gnu/packages/guile.scm | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 16db4ea5e4..4ee887b749 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -2130,9 +2130,13 @@ messaging library.") (add-after 'install 'install-kernel (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (dir (string-append - out "/share/jupyter/kernels/guile"))) + (let* ((out (assoc-ref outputs "out")) + (json (assoc-ref inputs "guile-json")) + (zmq (assoc-ref inputs "guile-simple-zmq")) + (deps (list json zmq)) + (dir (string-append + out "/share/jupyter/kernels/guile")) + (effective (target-guile-effective-version))) ;; Install kernel. (install-file "src/kernel.json" dir) @@ -2146,13 +2150,30 @@ messaging library.") (string-append "\"" (assoc-ref inputs "guile") "/bin/guile\"")) (("-s") - (string-append "--no-auto-compile\", \"-s"))) + ;; Add '-L' and '-C' flags so that the kernel + ;; finds its dependencies. + (let ((-L (map (lambda (item) + (string-append "\"" item + "/share/guile/site/" + effective "\"")) + deps)) + (-C (map (lambda (item) + (string-append "\"" item + "/lib/guile/" + effective + "/site-ccache\"")) + deps))) + (string-append "--no-auto-compile\"" + (string-join -L ", \"-L\", " + 'prefix) + (string-join -C ", \"-C\", " + 'prefix) + ", \"-s")))) #t)))))) (inputs `(("openssl" ,openssl) - ("guile" ,guile-2.2))) - (propagated-inputs - `(("guile-json" ,guile-json) + ("guile" ,guile-2.2) + ("guile-json" ,guile-json) ("guile-simple-zmq" ,guile-simple-zmq))) (synopsis "Guile kernel for the Jupyter Notebook") (description From d2fe71b04d21d9f0374aa371e3229230e96dd97b Mon Sep 17 00:00:00 2001 From: Tim Gesthuizen Date: Thu, 30 Aug 2018 17:39:57 +0200 Subject: [PATCH 076/148] gnu: Add emacs-irony-mode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-irony-mode): New variable. (emacs-irony-mode-server): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/emacs.scm | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index bf163d8109..47c7685e9a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -64,6 +64,7 @@ #:use-module (guix monads) #:use-module (guix store) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (guix build-system emacs) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system trivial) @@ -85,6 +86,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages xorg) #:use-module (gnu packages lesstif) + #:use-module (gnu packages llvm) #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages version-control) @@ -2730,6 +2732,49 @@ front-ends. Company comes with many back-ends, e.g. @code{company-elisp}. These are distributed in separate files and can be used individually.") (license license:gpl3+))) +(define-public emacs-irony-mode + (package + (name "emacs-irony-mode") + (version "1.2.0") + (home-page "https://github.com/Sarcasm/irony-mode") + (source (origin + (method url-fetch) + (uri (string-append home-page "/archive/v" version ".tar.gz")) + (sha256 + (base32 + "1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system emacs-build-system) + (arguments '()) + (propagated-inputs + `(("emacs-irony-mode-server" ,emacs-irony-mode-server))) + (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs") + (description "Irony-mode provides Clang-assisted syntax checking and +completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can +provide syntax checking and autocompletion on compiler level which is very +resistent against false positives. It also integrates well with other +packages like @code{eldoc-mode} and especially @code{company-mode} as +described on the homepage.") + (license license:gpl3+))) + +(define-public emacs-irony-mode-server + (package (inherit emacs-irony-mode) + (name "emacs-irony-mode-server") + (inputs + `(("clang" ,clang))) + (propagated-inputs '()) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "cmake" + "server" + (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t)))))) + (build-system cmake-build-system) + (synopsis "Server for the Emacs @dfn{irony mode}"))) + (define-public emacs-company-quickhelp (package (name "emacs-company-quickhelp") From aa82260bc098c3a2142230c6b787c39c00843ce1 Mon Sep 17 00:00:00 2001 From: Paul Garlick Date: Tue, 11 Sep 2018 09:38:39 +0100 Subject: [PATCH 077/148] gnu: arpack-ng-openmpi: Fix build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (arpack-ng-openmpi)[arguments]: Add 'set-test-environment phase. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4e1347e8fc..d1db75e658 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -508,7 +508,17 @@ large scale eigenvalue problems.") (arguments (substitute-keyword-arguments (package-arguments arpack-ng) ((#:configure-flags _ '()) - ''("--enable-mpi")))) + ''("--enable-mpi")) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to + ;; placate Open MPI without adding a dependency on OpenSSH (the + ;; agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t)))))) (synopsis "Fortran subroutines for solving eigenvalue problems with MPI"))) (define-public lapack From aeba7d4650f6d725f4751aa142cd1aae5ee3be97 Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier Date: Tue, 11 Sep 2018 07:58:36 +0200 Subject: [PATCH 078/148] gnu: Add libnumbertext. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/libreoffice.scm (libnumbertext): New public variable. Signed-off-by: Ludovic Courtès --- gnu/packages/libreoffice.scm | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 3dc7a4bbf2..d81f8aa793 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017, 2018 Marius Bakke ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2018 Jonathan Brielmaier ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +33,7 @@ #:use-module (guix download) #:use-module ((guix licenses) #:select (gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0 - non-copyleft x11-style)) + non-copyleft x11-style bsd-3)) #:use-module (guix packages) #:use-module (guix utils) #:use-module (ice-9 match) @@ -524,6 +525,35 @@ Aldus/Macromedia/Adobe FreeHand documents.") Microsoft Publisher documents of all versions.") (license mpl2.0))) +(define-public libnumbertext + (package + (name "libnumbertext") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/numbertext/" name + "/archive/" version ".tar.gz")) + (sha256 + (base32 + "0wnsn4911fdd2na8jxkcvmk04a6xw6qlviic9w4qwg9fcym6866v")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--disable-static"))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/Numbertext/libnumbertext") + (synopsis "Language-neutral @code{NUMBERTEXT} and @code{MONEYTEXT} functions") + (description + "The libnumbertext library provides language-neutral @code{NUMBERTEXT} +and @code{MONEYTEXT} functions for LibreOffice Calc, available for C++ and +Java.") + (license (list lgpl3+ bsd-3)))) + (define-public libpagemaker (package (name "libpagemaker") From 52b0a352c376eaed4ae7cf109f66538d6ac0a859 Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier Date: Tue, 11 Sep 2018 07:59:11 +0200 Subject: [PATCH 079/148] gnu: libreoffice: Update to 6.1.0.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/libreoffice.scm (libreoffice): Update to 6.1.0.3. [source]: Correct indenting. [inputs]: Add libnumbertext and python-lxml. Signed-off-by: Ludovic Courtès --- gnu/packages/libreoffice.scm | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index d81f8aa793..cf8082bcaa 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -926,19 +926,19 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (define-public libreoffice (package (name "libreoffice") - (version "6.0.6.2") + (version "6.1.0.3") (source (origin - (method url-fetch) - (uri + (method url-fetch) + (uri (string-append - "https://download.documentfoundation.org/libreoffice/src/" - (version-prefix version 3) "/libreoffice-" version ".tar.xz")) - (sha256 - (base32 - "13kaikaz65xw9a3hxbh245cnydjpy58np22c7s0s65pnmcq68rpi")) - (patches (search-patches "libreoffice-icu.patch" - "libreoffice-glm.patch")))) + "https://download.documentfoundation.org/libreoffice/src/" + (version-prefix version 3) "/libreoffice-" version ".tar.xz")) + (sha256 + (base32 + "1n7b6abc0bp9x8lddx60w5br444wf62mdlkqmfk2zmkmiwkcvv2l")) + (patches (search-patches "libreoffice-icu.patch" + "libreoffice-glm.patch")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) @@ -979,6 +979,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") ("libltdl" ,libltdl) ("libmspub" ,libmspub) ("libmwaw" ,libmwaw) + ("libnumbertext" ,libnumbertext) ("libodfgen" ,libodfgen) ("libpagemaker" ,libpagemaker) ("libqxp" ,libqxp) @@ -1005,6 +1006,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") ("poppler" ,poppler) ("postgresql" ,postgresql) ("python" ,python) + ("python-lxml" ,python-lxml) ("redland" ,redland) ("sane-backends" ,sane-backends) ("unixodbc" ,unixodbc) From 702a87f2d14809ef241cd2dbb947c70ec59b9f08 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 11 Sep 2018 18:31:55 +0200 Subject: [PATCH 080/148] gnu: perl-dbd-mysql: Update to 4.047. * gnu/packages/databases.scm (perl-dbd-mysql): Update to 4.047. [arguments]: Add 'skip-library-detection' phase. --- gnu/packages/databases.scm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ecc14c259a..9db892a0b7 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1458,7 +1458,7 @@ columns, primary keys, unique constraints and relationships.") (define-public perl-dbd-mysql (package (name "perl-dbd-mysql") - (version "4.046") + (version "4.047") (source (origin (method url-fetch) @@ -1466,10 +1466,24 @@ columns, primary keys, unique constraints and relationships.") "DBD-mysql-" version ".tar.gz")) (sha256 (base32 - "1xziv9w87cl3fbl1mqkdrx28mdqly3gs6gs1ynbmpl2rr4p6arb1")))) + "0idizgr0hr7sj92fbdlb3gv6cva15jkpaq28wrdw4j4p7awx2mls")))) (build-system perl-build-system) - ;; Tests require running MySQL server - (arguments `(#:tests? #f)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'skip-library-detection + ;; Avoid depencies on perl-devel-checklib, openssl, and zlib. They + ;; are really only needed for the test suite; their absence does not + ;; affect the build or the end result. + (lambda _ + (substitute* "Makefile.PL" + (("use Devel::CheckLib;" match) + (string-append "# " match)) + (("assert_lib") + "print")) + #t))) + ;; Tests require running MySQL server. + #:tests? #f)) (propagated-inputs `(("perl-dbi" ,perl-dbi) ("mysql" ,mysql))) From cd1e138cc645bb7cd4e3613e7479e8f047bbf3c2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 11 Sep 2018 15:53:11 +0200 Subject: [PATCH 081/148] gnu: unbound: Update to 1.8.0. * gnu/packages/dns.scm (unbound): Update to 1.8.0. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 29c3d9b923..00135294be 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -292,7 +292,7 @@ asynchronous fashion.") (define-public unbound (package (name "unbound") - (version "1.7.3") + (version "1.8.0") (source (origin (method url-fetch) @@ -300,7 +300,7 @@ asynchronous fashion.") version ".tar.gz")) (sha256 (base32 - "0bb0p8nbda77ghx20yfl7hqxm9x709223q35465v99i8v4ay27f1")))) + "0gxqc4ynd2g1a5dwaazqh9n8injh49a7dz0l9bbxqgv47dnrvxvq")))) (build-system gnu-build-system) (outputs '("out" "python")) (native-inputs From a93de1ae9efbed3270967eda59b1dd1078c0213b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Aug 2018 17:09:10 +0200 Subject: [PATCH 082/148] gnu: obnam: Add deprecation warning. * gnu/packages/backup.scm (obnam)[synopsis, description]: Note its retirement. --- gnu/packages/backup.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index bd4a177ecd..ea5bc8e398 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -740,12 +740,15 @@ NTFS volumes using @code{ntfs-3g}, preserving NTFS-specific attributes.") ("python2-pep8" ,python2-pep8) ("python2-pylint" ,python2-pylint))) (home-page "https://obnam.org/") - (synopsis "Easy and secure backup program") - (description "Obnam is an easy, secure backup program. Features -include snapshot backups, data de-duplication and encrypted backups -using GnuPG. Backups can be stored on local hard disks, or online via -the SSH SFTP protocol. The backup server, if used, does not require -any special software, on top of SSH.") + (synopsis "Retired backup program") + (description + "Warning: @uref{https://blog.liw.fi/posts/2017/08/13/retiring_obnam/, +the Obnam project is retired}. You should use another backup solution instead. + +Obnam was an easy, secure backup program. Features included snapshot backups, +data de-duplication and encrypted backups using GnuPG. Backups can be stored on +local hard disks, or online via the SSH SFTP protocol. The backup server, if +used, does not require any special software, on top of SSH.") (license license:gpl3+))) (define-public dirvish From 9b83c15afe65f9d5f6af4f2e2daad3fdf04c4f39 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 20:57:30 +0200 Subject: [PATCH 083/148] gnu: snakemake: Update to 5.2.2. * gnu/packages/python.scm (snakemake): Update to 5.2.2. --- 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 a3eeb3c883..4efb23b51b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5160,13 +5160,13 @@ Python.") (define-public snakemake (package (name "snakemake") - (version "5.2.0") + (version "5.2.2") (source (origin (method url-fetch) (uri (pypi-uri "snakemake" version)) (sha256 - (base32 "0a1i5v5qxbmmpznp7my9nva8y7pxp8pjrwk2gxgisdskg35sq8s1")))) + (base32 "18x36n78ph5v1fxk54gvdbc3d8nfncha78phifg3lqaa9gifgzxd")))) (build-system python-build-system) (arguments ;; TODO: Package missing test dependencies. From a855117c592376df4d0b44d4c17304bbca5ef828 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 11 Sep 2018 21:11:36 +0200 Subject: [PATCH 084/148] gnu: snakemake: Update home page. * gnu/packages/python.scm (snakemake)[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 4efb23b51b..6367def203 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5195,7 +5195,7 @@ Python.") ("python-networkx" ,python-networkx) ("python-pyyaml" ,python-pyyaml) ("python-ratelimiter" ,python-ratelimiter))) - (home-page "https://bitbucket.org/snakemake/snakemake/wiki/Home") + (home-page "https://snakemake.readthedocs.io") (synopsis "Python-based execution environment for make-like workflows") (description "Snakemake aims to reduce the complexity of creating workflows by From 4a67079f71c264950aa7c43c5fdaa7611298a3c4 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 11 Sep 2018 22:29:39 +0200 Subject: [PATCH 085/148] gnu: mes: Oops, use mirror://gnu download url. * gnu/packages/mes.scm (mes): Oops, use mirror://gnu download url. --- gnu/packages/mes.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 63a8db449a..880e140b80 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -66,7 +66,7 @@ extensive examples, including parsers for the Javascript and C99 languages.") (version "0.17.1") (source (origin (method url-fetch) - (uri (string-append "http://alpha.gnu.org/gnu/mes/" + (uri (string-append "mirror://gnu/mes/" "mes-" version ".tar.gz")) (patches (search-patches "mes-nyacc-0.86.0.patch")) (sha256 From f72e5f93b7ba874ecc66ba419f71f384d1b7903d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 11 Sep 2018 22:16:24 +0200 Subject: [PATCH 086/148] ui: Do not filter hash mismatch lines. Reported by Pjotr Prins . * guix/ui.scm (build-output-port): Add pattern for hash mismatch error; be more careful with error messages in verbose mode. --- guix/ui.scm | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 1bbd37c255..c55ae7e2f8 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1708,12 +1708,26 @@ phase announcements and replaces any other output with a spinner." (string-append (proc "Building " 'BLUE 'BOLD) (match:substring m 2) "\n"))) - ("^(@ build-failed) (.*) (.*)" - #:transform - ,(lambda (m) - (string-append - (proc "Build failed: " 'RED 'BOLD) - (match:substring m 2) "\n"))) + ,(if verbose? + ;; Err on the side of caution: show everything, even + ;; if it might be redundant. + `("^(@ build-failed)(.+)" + #:transform + ,(lambda (m) + (string-append + (proc "Build failed: " 'RED 'BOLD) + (match:substring m 2)))) + ;; Show only that the build failed. + `("^(@ build-failed)(.+) -.*" + #:transform + ,(lambda (m) + (string-append + (proc "Build failed: " 'RED 'BOLD) + (match:substring m 2) + "\n")))) + ;; NOTE: this line contains "\n" characters. + ("^(sha256 hash mismatch for output path)(.*)" + RED BLACK) ("^(@ build-succeeded) (.*) (.*)" #:transform ,(lambda (m) From 1afd1fbf3cf1d1283a009d5cbb8ad698bff4dd48 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 11 Sep 2018 23:17:54 +0200 Subject: [PATCH 087/148] guix: Do not close current-error-port. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported-by: Ludovic Courtès . * guix/scripts/build.scm (guix-build), guix/scripts/package.scm (guix-package): Duplicate port before handing it to build-output-port. --- guix/scripts/build.scm | 8 +++++--- guix/scripts/package.scm | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 3fa3c2c20f..9d38610633 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -733,9 +733,11 @@ needed." ;; Set the build options before we do anything else. (set-build-options-from-command-line store opts) - (parameterize ((current-build-output-port (if quiet? - (%make-void-port "w") - (build-output-port #:verbose? #t)))) + (parameterize ((current-build-output-port + (if quiet? + (%make-void-port "w") + (build-output-port #:verbose? #t + #:port (duplicate-port (current-error-port) "w"))))) (let* ((mode (assoc-ref opts 'build-mode)) (drv (options->derivations store opts)) (urls (map (cut string-append <> "/log") diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 73cbccba3b..c3ed2ac935 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -950,5 +950,6 @@ processed, #f otherwise." %bootstrap-guile (canonical-package guile-2.2)))) (current-build-output-port - (build-output-port #:verbose? verbose?))) + (build-output-port #:verbose? verbose? + #:port (duplicate-port (current-error-port) "w")))) (process-actions (%store) opts)))))) From 475e16578f415485e018d0e77ed548cd29fb61d5 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 11 Sep 2018 23:34:12 +0200 Subject: [PATCH 088/148] gnu: emacs-helm-system-packages: Update to 1.10.1. * gnu/packages/emacs.scm (emacs-helm-system-packages): Update to 1.10.1. --- 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 47c7685e9a..540915510f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5673,7 +5673,7 @@ Yasnippet.") (define-public emacs-helm-system-packages (package (name "emacs-helm-system-packages") - (version "1.10.0") + (version "1.10.1") (source (origin (method git-fetch) (uri (git-reference @@ -5682,7 +5682,7 @@ Yasnippet.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0y5wzvfycb1bvgdk782xyl744fih43vz14wmq6gcqjarw6xfniz5")))) + "01by0c4lqi2cw8xmbxkjw7m9x78zssm31sx4hdpw5j35s2951j0f")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm))) From ac9e3077402dd1ff57ca2796e6313a6c26f9a769 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 11 Sep 2018 23:34:31 +0200 Subject: [PATCH 089/148] gnu: emacs-magit-todos: Update to 1.1. * gnu/packages/emacs.scm (emacs-magit-todos): Update to 1.1. --- gnu/packages/emacs.scm | 54 ++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 540915510f..9fab856035 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11741,37 +11741,35 @@ buffers – other modes on the TODO list). (license license:gpl3)))) (define-public emacs-magit-todos - ;; TODO: <1.1 is broken with Guix. Switch to 1.1 when out. - (let ((commit "966642762788d335dc2d3667d230a36ede65972e")) - (package - (name "emacs-magit-todos") - (version (git-version "1.0.4" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/magit-todos") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0nxarip8sf0446xfgrcfsjm4vbsg50klxjbr4i6h09a3lri03gyp")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-async" ,emacs-async) - ("emacs-dash" ,emacs-dash) - ("emacs-f" ,emacs-f) - ("emacs-hl-todo" ,emacs-hl-todo) - ("magit" ,magit) - ("emacs-pcre2el" ,emacs-pcre2el) - ("emacs-s" ,emacs-s))) - (home-page "https://github.com/alphapapa/magit-todos") - (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer") - (description "This package displays keyword entries from source code + (package + (name "emacs-magit-todos") + (version "1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/magit-todos") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mvzbxshr6zjdim3jd368ar1hy5l7n22i03cpvzdmrw83kkwdyhd")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-async" ,emacs-async) + ("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-hl-todo" ,emacs-hl-todo) + ("magit" ,magit) + ("emacs-pcre2el" ,emacs-pcre2el) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/alphapapa/magit-todos") + (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer") + (description "This package displays keyword entries from source code comments and Org files in the Magit status buffer. Activating an item jumps to it in its file. By default, it uses keywords from @code{hl-todo}, minus a few (like NOTE).") - (license license:gpl3)))) + (license license:gpl3))) (define-public emacs-git-annex ;; Unreleased version has a fontification fix. From bd8f74dfbe51308fbd9a61281d9a63ef09d5ab4f Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 11 Sep 2018 23:44:40 +0200 Subject: [PATCH 090/148] gnu: emacs-evil-collection: Update to 20180911. * gnu/packages/emacs.scm (emacs-evil-collection): Update to 20180911. --- gnu/packages/emacs.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 9fab856035..a84ef81859 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4957,11 +4957,11 @@ extensions.") (license license:gpl3+)))) (define-public emacs-evil-collection - (let ((commit "5d739f58118a5a316c4fe25adb4e13ccea3fdc10") - (revision "2")) + (let ((commit "b55ae90f367e103e6568ae00779a8a51c68a0104") + (revision "3")) (package (name "emacs-evil-collection") - (version (git-version "20180721" revision commit)) + (version (git-version "20180911" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -4970,7 +4970,7 @@ extensions.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "05p612qncd0cp5q61hq2ag1k558vhb10049xrc88n9l6qwz9bpk3")))) + "0n7bzi5s7rqi78l1424sxvsk2g46z7ksq02xx5jrmqymnij90jml")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) From ee0d184502cf893058ff250e9df159f6405d30ce Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 11 Sep 2018 23:45:06 +0200 Subject: [PATCH 091/148] gnu: Add emacs-hackernews. * gnu/packages/emacs.scm (emacs-hackernews): New variable. --- gnu/packages/emacs.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a84ef81859..7b2929cadc 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11797,3 +11797,27 @@ hiding the symbolic links and fontified based on whether content is present. Commands for performing some common operations (e.g., unlocking and adding files) are provided.") (license license:gpl2+)))) + +(define-public emacs-hackernews + (let ((commit "d8c450bbc76d6bb65ec5cdb6c3b888a23f3769e9")) + (package + (name "emacs-hackernews") + (version (git-version "0.4.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clarete/hackernews.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06mp4n6c300jv5lhwf50ircfjckzr2p1zd38s4mqnxxjlf1maim7")))) + (build-system emacs-build-system) + (home-page "https://github.com/clarete/hackernews.el") + (synopsis "Hacker News client for Emacs") + (description "The @command{hackernews} package is able to fetch stories +from six different Hacker News feeds, namely top, new, best, ask, show and job +stories. The default feed is top stories, which corresponds to the Hacker +News homepage.") + (license license:gpl3)))) From 2b0820bf0d27bf68479f76a45ad463018345fcd1 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 11 Sep 2018 23:47:57 +0200 Subject: [PATCH 092/148] gnu: emacs-helm: Update to 3.0. * gnu/packages/emacs.scm (emacs-helm): Update to 3.0. --- 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 7b2929cadc..a67acc7033 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4698,7 +4698,7 @@ ack, ag, helm and pt.") (define-public emacs-helm (package (name "emacs-helm") - (version "2.9.6") + (version "3.0") (source (origin (method url-fetch) (uri (string-append @@ -4707,7 +4707,7 @@ ack, ag, helm and pt.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1f7m09i8gr0gk5nw5dn7rpdz20dg3hl4p77dpygkhl82yhk9q2ql")))) + "0k2r0ccppaqfjvyszaxa16vf7g2qzj1clhfr6v646ncsy17laciw")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) From 5882078e8c999c7de16e38bc7f7a293ff2ec01a8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 7 Sep 2018 22:09:32 -0500 Subject: [PATCH 093/148] font-fantasque-sans: Upgrade to 1.7.2. * gnu/packages/fonts.scm (font-fantasque-sans): Upgrade to 1.7.2. [native-inputs]: Add zip. [arguments]: Add 'xrange->range phase for python3 compatibility. Adjust install phase to work with newly generated font variants. --- gnu/packages/fonts.scm | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index ce07d3ad4c..218b04baa1 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -753,41 +753,51 @@ It contains the following fonts and styles: (define-public font-fantasque-sans (package (name "font-fantasque-sans") - (version "1.7.1") + (version "1.7.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/belluzj/fantasque-sans/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/belluzj/fantasque-sans.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "07fpy53k2x2nz5q61swkab6cfk9gw2kc4x4brsj6zjgbm16fap85")))) + "1gjranq7qf20rfxnpxsckv1hl35nzsal0rjs475nhfbpqy5wmly6")))) (build-system gnu-build-system) (native-inputs `(("ttfautohint" ,ttfautohint) ("woff-tools" ,woff-tools) ("fontforge" ,fontforge) ("woff2" ,woff2) - ("ttf2eot" ,ttf2eot))) + ("ttf2eot" ,ttf2eot) + ("zip" ,zip))) (arguments `(#:tests? #f ;test target intended for visual inspection #:phases (modify-phases %standard-phases (delete 'configure) ;no configuration + (add-before 'build 'xrange->range + ;; Rather than use a python2 fontforge, just replace the + ;; offending function. + (lambda _ + (substitute* "Scripts/fontbuilder.py" + (("xrange") "range")) + #t)) (replace 'install ;; 'make install' wants to install to ~/.fonts, install to - ;; output instead. + ;; output instead. Install only the "Normal" variant. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (font-dir (string-append out "/share/fonts")) (truetype-dir (string-append font-dir "/truetype")) (opentype-dir (string-append font-dir "/opentype")) (webfonts-dir (string-append font-dir "/webfonts"))) - (copy-recursively "OTF" opentype-dir) - (for-each (lambda (f) (install-file f truetype-dir)) - (find-files "." "\\.ttf$")) - (copy-recursively "Webfonts" webfonts-dir) - #t)))))) + (with-directory-excursion "Variants/Normal" + (copy-recursively "OTF" opentype-dir) + (for-each (lambda (f) (install-file f truetype-dir)) + (find-files "." "\\.ttf$")) + (copy-recursively "Webfonts" webfonts-dir) + #t))))))) (synopsis "Font family with a monospaced variant for programmers") (description "Fantasque Sans Mono is a programming font designed with functionality in From bbe46a4af5972b3b5b434fe5d99ec9a0078b0ab8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 16 Aug 2018 15:47:41 -0500 Subject: [PATCH 094/148] mpi: Factorize openmpi setup build phase. * gnu/packages/mpi.scm (%openmpi-setup): New variable. * gnu/packages/maths.scm (scalapack, slepc-openmpi, mumps-openmpi) (superlu-dist, p4est, petsc-openmpi, hypre-openmpi, elemental) (sundials-openmpi, arpack-ng-openmpi)[arguments]: Use it in #:phases. --- gnu/packages/maths.scm | 102 +++++++++-------------------------------- gnu/packages/mpi.scm | 14 +++++- 2 files changed, 34 insertions(+), 82 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index d1db75e658..af41093fbb 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -511,14 +511,8 @@ large scale eigenvalue problems.") ''("--enable-mpi")) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (lambda _ - ;; By default, running the test suite would fail because 'ssh' - ;; could not be found in $PATH. Define this variable to - ;; placate Open MPI without adding a dependency on OpenSSH (the - ;; agent isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (synopsis "Fortran subroutines for solving eigenvalue problems with MPI"))) (define-public lapack @@ -579,14 +573,8 @@ problems in numerical linear algebra.") (arguments `(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES") #:phases (modify-phases %standard-phases - (add-before 'check 'set-test-environment - (lambda _ - ;; By default, running the test suite would fail because - ;; 'ssh' could not be found in $PATH. Define this - ;; variable to placate Open MPI without adding a - ;; dependency on OpenSSH (the agent isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) - #t))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) (home-page "http://www.netlib.org/scalapack/") (synopsis "Library for scalable numerical linear algebra") (description @@ -1717,14 +1705,8 @@ scientific applications modeled by partial differential equations.") ,@(delete "--with-mpi=0" ,cf))) ((#:phases phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (lambda _ - ;; By default, running the test suite would fail because 'ssh' - ;; could not be found in $PATH. Define this variable to - ;; placate Open MPI without adding a dependency on OpenSSH (the - ;; agent isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (synopsis "Library to solve PDEs (with MPI support)"))) (define-public petsc-complex-openmpi @@ -1855,14 +1837,8 @@ arising after the discretization of partial differential equations.") (substitute-keyword-arguments (package-arguments slepc) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (lambda _ - ;; By default, running the test suite would fail because 'ssh' - ;; could not be found in $PATH. Define this variable to - ;; placate Open MPI without adding a dependency on OpenSSH (the - ;; agent isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (inputs `(("mpi" ,openmpi) ("arpack" ,arpack-ng-openmpi) @@ -2032,14 +2008,8 @@ sparse system of linear equations A x = b using Guassian elimination.") (substitute-keyword-arguments (package-arguments mumps) ((#:phases phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (lambda _ - ;; By default, running the test suite would fail because 'ssh' - ;; could not be found in $PATH. Define this variable to - ;; placate Open MPI without adding a dependency on OpenSSH (the - ;; agent isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) - #t)) + (add-before 'check 'mpi-setup + ,%openmpi-setup) (replace 'check (lambda _ ((assoc-ref ,phases 'check) @@ -2285,13 +2255,10 @@ CDEFS = -DAdd_" "/" dir))) '("lib" "include")) #t)) + (add-before 'check 'mpi-setup + ,%openmpi-setup) (replace 'check (lambda _ - ;; By default, running the test suite would fail because 'ssh' - ;; could not be found in $PATH. Define this variable to placate - ;; Open MPI without adding a dependency on OpenSSH (the agent - ;; isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) (with-directory-excursion "EXAMPLE" (invoke "mpirun" "-n" "2" "./pddrive" "-r" "1" "-c" "2" "g20.rua") @@ -2384,15 +2351,8 @@ YACC = bison -pscotchyy -y -b y ;; "SCOTCH_PTHREAD_NUMBER=2" "restrict=__restrict")))) #t)) - (add-after - 'build 'build-esmumps + (add-after 'build 'build-esmumps (lambda _ - ;; By default, running the test suite would fail because 'ssh' - ;; could not be found in $PATH. Define this variable to placate - ;; Open MPI without adding a dependency on OpenSSH (the agent - ;; isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) - (invoke "make" (format #f "-j~a" (parallel-job-count)) "esmumps"))) @@ -2575,14 +2535,8 @@ schemes.") (assoc-ref %build-inputs "lapack") " -llapack")) #:phases (modify-phases %standard-phases - (add-before 'check 'set-test-environment - (lambda _ - ;; By default, running the test suite would fail because - ;; 'ssh' could not be found in $PATH. Define this - ;; variable to placate Open MPI without adding a - ;; dependency on OpenSSH (the agent isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) - #t))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) (home-page "http://www.p4est.org") (synopsis "Adaptive mesh refinement on forests of octrees") (description @@ -3649,14 +3603,8 @@ problems.") ,@(delete "--without-MPI" ,flags))) ((#:phases phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (lambda _ - ;; By default, running the test suite would fail because 'ssh' - ;; could not be found in $PATH. Define this variable to - ;; placate Open MPI without adding a dependency on OpenSSH (the - ;; agent isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (synopsis "Parallel solvers and preconditioners for linear equations") (description "HYPRE is a software library of high performance preconditioners and @@ -3939,6 +3887,8 @@ exclusion algorithms are typical examples of such systems.") "-DCMAKE_INSTALL_LIBDIR=lib" "-DGFORTRAN_LIB=gfortran") #:phases (modify-phases %standard-phases + (add-before 'check 'mpi-setup + ,%openmpi-setup) (add-before 'check 'setup-tests (lambda _ ;; Parallelism is done at the MPI layer. @@ -4123,16 +4073,6 @@ easily be incorporated into existing simulation codes.") ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (lambda _ - ;; By default, running the test suite would fail because 'ssh' - ;; could not be found in $PATH. Define this variable to - ;; placate Open MPI without adding a dependency on OpenSSH (the - ;; agent isn't used anyway.) - (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) - ;; Allow oversubscription in case there are less - ;; physical cores available in the build environment - ;; than SUNDIALS wants while testing. - (setenv "OMPI_MCA_rmaps_base_oversubscribe" "yes") - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (synopsis "SUNDIALS with OpenMPI support"))) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index f34b08e4ca..7dfec16fc7 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Eric Bavier +;;; Copyright © 2014, 2015, 2018 Eric Bavier ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2016 Andreas Enge @@ -250,3 +250,15 @@ software vendors, application developers and computer science researchers.") work correctly with all transports (such as @code{openib}), and the performance is generally worse than the vanilla @code{openmpi} package, which only provides @code{MPI_THREAD_FUNNELED}."))) + +;;; Build phase to be used for packages that execute MPI code. +(define-public %openmpi-setup + '(lambda _ + ;; By default, running the test suite would fail because 'ssh' could not + ;; be found in $PATH. Define this variable to placate Open MPI without + ;; adding a dependency on OpenSSH (the agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "false")) + ;; Allow oversubscription in case there are less physical cores available + ;; in the build environment than the package wants while testing. + (setenv "OMPI_MCA_rmaps_base_oversubscribe" "yes") + #t)) From 50b3b831430902224864dbd350179a564561f526 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 11 Sep 2018 15:56:57 -0500 Subject: [PATCH 095/148] netsurf: Register patch. Follow-up to f9e140a243b6d6b5d28bd0813b69604562a39653. * gnu/local.mk (dist_patch_DATA): Add netsurf-message-timestamp.patch. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/local.mk b/gnu/local.mk index 9b417bff6d..f15fb3339a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -980,6 +980,7 @@ dist_patch_DATA = \ %D%/packages/patches/net-tools-bitrot.patch \ %D%/packages/patches/netcdf-date-time.patch \ %D%/packages/patches/netcdf-tst_h_par.patch \ + %D%/packages/patches/netsurf-message-timestamp.patch \ %D%/packages/patches/netsurf-system-utf8proc.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \ From b2c8d31ff673ca1714be16968c9ead9a99ae2b7b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 12 Sep 2018 09:53:55 +0300 Subject: [PATCH 096/148] gnu: perl-moosex-getopt: Update to 0.73. * gnu/packages/perl.scm (perl-moosex-getopt): Update to 0.73. [native-inputs]: Add perl-module-build-tiny, perl-path-tiny, perl-test-needs. --- gnu/packages/perl.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c4c3b665db..85604008e2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016, 2018 Mark H Weaver ;;; Copyright © 2016 Jochem Raat -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016 Nils Gillmann ;;; Copyright © 2016 Alex Sassmannshausen ;;; Copyright © 2016, 2018 Roel Janssen @@ -5521,7 +5521,7 @@ private methods are not.") (define-public perl-moosex-getopt (package (name "perl-moosex-getopt") - (version "0.71") + (version "0.73") (source (origin (method url-fetch) @@ -5529,12 +5529,15 @@ private methods are not.") "MooseX-Getopt-" version ".tar.gz")) (sha256 (base32 - "0nf2094qgir0irxjycwqavy53ygm530g9f7cxfywnl2n1bmgh66y")))) + "19zm8brf930p0ymqn3w1y0ix29kb74m8nvhrhjvrg8cgz6vc5fyz")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) + ("perl-module-build-tiny" ,perl-module-build-tiny) + ("perl-path-tiny" ,perl-path-tiny) ("perl-test-deep" ,perl-test-deep) ("perl-test-fatal" ,perl-test-fatal) + ("perl-test-needs" ,perl-test-needs) ("perl-test-requires" ,perl-test-requires) ("perl-test-trap" ,perl-test-trap) ("perl-test-warnings" ,perl-test-warnings))) From c8749b02500ecf90119e47b4af1bf6bb0c870ec1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 11 Sep 2018 20:23:29 +0200 Subject: [PATCH 097/148] gnu: Add perl-mock-config. * gnu/packages/perl-check.scm (perl-mock-config): New public variable. --- gnu/packages/perl-check.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 16010b441f..98b4e392c7 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -44,6 +44,27 @@ ;;; +(define-public perl-mock-config + (package + (name "perl-mock-config") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/Mock-Config-" + version ".tar.gz")) + (sha256 + (base32 "06q0xkg5cwdwafzmb9rkaa305ddv7vli9gpm6n9jnkyaaxbk9f55")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Mock-Config") + (synopsis "Temporarily set Config or XSConfig values") + (description + "The @code{Mock::Config} Perl module allows temporarily setting and +overriding @code{Config} values, even for the readonly @code{XSConfig} +implementation as used in cperl. It does not store the mocked overrides +lexically, just dynamically.") + (license artistic2.0))) + (define-public perl-test2-bundle-extended (package (name "perl-test2-bundle-extended") From 4dbef671029f6553b7c24bd3f7a831725c976b85 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 11 Sep 2018 21:59:38 +0200 Subject: [PATCH 098/148] gnu: zsh: Use HTTPS. * gnu/packages/shells.scm (zsh)[source, home-page]: Use HTTPS. --- gnu/packages/shells.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 900c8ec686..684d723959 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -296,10 +296,10 @@ history mechanism, job control and a C-like syntax.") (source (origin (method url-fetch) (uri (list (string-append - "http://www.zsh.org/pub/zsh-" version + "https://www.zsh.org/pub/zsh-" version ".tar.xz") (string-append - "http://www.zsh.org/pub/old/zsh-" version + "https://www.zsh.org/pub/old/zsh-" version ".tar.xz"))) (sha256 (base32 @@ -360,7 +360,7 @@ as an interactive login shell and as a powerful command interpreter for shell scripting. Zsh can be thought of as an extended Bourne shell with a large number of improvements, including some features of bash, ksh, and tcsh.") - (home-page "http://www.zsh.org/") + (home-page "https://www.zsh.org/") ;; The whole thing is under an MIT/X11-style license, but there's one ;; command, 'Completion/Unix/Command/_darcs', which is under GPLv2+. From 5a5d3e356311620df253d7c213c1bda79cd20128 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 11 Sep 2018 21:58:34 +0200 Subject: [PATCH 099/148] gnu: zsh: Update to 5.6.1. * gnu/packages/shells.scm (zsh): Update to 5.6.1. --- gnu/packages/shells.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 684d723959..73e51da1cd 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -292,7 +292,7 @@ history mechanism, job control and a C-like syntax.") (define-public zsh (package (name "zsh") - (version "5.6") + (version "5.6.1") (source (origin (method url-fetch) (uri (list (string-append @@ -303,7 +303,7 @@ history mechanism, job control and a C-like syntax.") ".tar.xz"))) (sha256 (base32 - "1mp6h2452z2029n12mxipjv4b0cc8i8sb72g8p8jklg8275iysvl")))) + "1s5kzfbfvixibb1sbzmmlrrx898zqwi5cfmnnq4bhcbx64zparlm")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre") #:phases From 60d8db74c66a31af3da180d45ebb045622c469c8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 11 Sep 2018 22:06:42 +0200 Subject: [PATCH 100/148] gnu: syslinux: Use INVOKE. * gnu/packages/bootloaders.scm (syslinux)[arguments]: Substitute INVOKE for SYSTEM*. --- gnu/packages/bootloaders.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index e9abf399ab..74e6890951 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -304,14 +304,14 @@ menu to select one of the installed operating systems.") (delete 'configure) (add-before 'build 'set-permissions (lambda _ - (zero? (system* "chmod" "a+w" "utils/isohybrid.in")))) + (invoke "chmod" "a+w" "utils/isohybrid.in"))) (replace 'check (lambda _ (setenv "CC" "gcc") (substitute* "tests/unittest/include/unittest/unittest.h" ;; Don't look up headers under /usr. (("/usr/include/") "")) - (zero? (system* "make" "unittest"))))))) + (invoke "make" "unittest")))))) (home-page "http://www.syslinux.org") (synopsis "Lightweight Linux bootloader") (description "Syslinux is a lightweight Linux bootloader.") From 0f304ba73e3a36af4d05be332fdc8dba3a3739b6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 11 Sep 2018 22:08:16 +0200 Subject: [PATCH 101/148] gnu: syslinux: Use HTTPS home page. * gnu/packages/bootloaders.scm (syslinux)[home-page]: Use HTTPS. --- gnu/packages/bootloaders.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 74e6890951..eee66b2c5f 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -312,7 +312,7 @@ menu to select one of the installed operating systems.") ;; Don't look up headers under /usr. (("/usr/include/") "")) (invoke "make" "unittest")))))) - (home-page "http://www.syslinux.org") + (home-page "https://www.syslinux.org") (synopsis "Lightweight Linux bootloader") (description "Syslinux is a lightweight Linux bootloader.") (license (list license:gpl2+ From bec13d872de23a0c33b2624d430d928a43c35e11 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 12 Sep 2018 16:08:34 +0200 Subject: [PATCH 102/148] gnu: sg3-utils: Update to 1.43. * gnu/packages/scsi.scm (sg3-utils): Update to 1.43. [license]: Add bsd-2. --- gnu/packages/scsi.scm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/gnu/packages/scsi.scm b/gnu/packages/scsi.scm index 92e2d7af4c..2bb863cad9 100644 --- a/gnu/packages/scsi.scm +++ b/gnu/packages/scsi.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Chris Marusich +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,7 +19,7 @@ (define-module (gnu packages scsi) #:use-module ((guix licenses) - #:select (gpl2+ bsd-3)) + #:select (gpl2+ bsd-2 bsd-3)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -26,14 +27,14 @@ (define-public sg3-utils (package (name "sg3-utils") - (version "1.42") + (version "1.43") (source (origin (method url-fetch) (uri (string-append "http://sg.danny.cz/sg/p/sg3_utils-" version ".tar.xz")) (sha256 (base32 - "1fg71rj0f1gdjmkj0z8wlv46cf9lryjdyjkbi7fjmssgi5jyvblp")))) + "04l58wvncqk6lfh4lashsl3ccsa1114hkd6vwi1h1cbmq2fw9c8v")))) (build-system gnu-build-system) (home-page "http://sg.danny.cz/sg/sg3_utils.html") (synopsis "SCSI device utilities") @@ -49,6 +50,9 @@ up and down disks (@code{sg_start}), do self tests (@code{sg_senddiag}), parse sense data (@code{sg_decode_sense}), and perform various other functions. In addition, this package includes a library, called libsgutils, which can be used in C and C++ programs to interact with SCSI devices.") - ;; The libsgutils library itself is licensed under bsd-3. Some tools are - ;; licensed under bsd-3, also. Some tools are licensed under gpl2+. - (license (list gpl2+ bsd-3)))) + ;; See README: "All utilities and libraries have either a "2 clause" BSD + ;; license or are "GPL-2ed". [...] That BSD license was updated from the + ;; "3 clause" to the newer "2 clause" version on 20180119. To save space + ;; various source code files refer to a file called "BSD_LICENSE" [...]." + ;; Some files (like sg_compare_and_write.c) retain their 3-clause headers! + (license (list gpl2+ bsd-2 bsd-3)))) From acd4da3f2983f839e65220700450a15fc5f3af20 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 12 Sep 2018 15:26:21 +0200 Subject: [PATCH 103/148] gnu: libfilezilla: Update to 0.13.1. * gnu/packages/ftp.scm (libfilezilla): Update to 0.13.1. --- gnu/packages/ftp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index f687b9814d..d3f3ef711c 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -170,7 +170,7 @@ as required.") (define-public libfilezilla (package (name "libfilezilla") - (version "0.12.3") + (version "0.13.1") (source (origin (method url-fetch) @@ -178,7 +178,7 @@ as required.") name "/" name "-" version ".tar.bz2")) (sha256 (base32 - "1v606kcz2rdmmlwxrv3xvwh7ia1nh6jfc9bhjw2r4ai3rm16gch5")))) + "0347zkapp0wrhfm1yzw7wa1v3lww65ch176scifxn8f9068f1ixb")))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) From 9c208f38f22cfc710bb7a56b97ee1b2c388df7b9 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 12 Sep 2018 15:44:07 +0200 Subject: [PATCH 104/148] gnu: Add emacs-youtube-dl. * gnu/packages/emacs.scm (emacs-youtube-dl): New variable. --- gnu/packages/emacs.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a67acc7033..f6da0e3830 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -116,6 +116,7 @@ #:use-module (gnu packages xdisorg) #:use-module (gnu packages shells) #:use-module (gnu packages gnupg) + #:use-module (gnu packages video) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (ice-9 match)) @@ -11821,3 +11822,43 @@ from six different Hacker News feeds, namely top, new, best, ask, show and job stories. The default feed is top stories, which corresponds to the Hacker News homepage.") (license license:gpl3)))) + +(define-public emacs-youtube-dl + (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd")) + (package + (name "emacs-youtube-dl") + (version (git-version "1.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/youtube-dl-emacs/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6")))) + (build-system emacs-build-system) + (inputs + `(("youtube-dl" ,youtube-dl))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((youtube-dl (assoc-ref inputs "youtube-dl"))) + ;; .el is read-only in git. + (chmod "youtube-dl.el" #o644) + ;; Specify the absolute file names of the various + ;; programs so that everything works out-of-the-box. + (emacs-substitute-variables + "youtube-dl.el" + ("youtube-dl-program" + (string-append youtube-dl "/bin/youtube-dl"))))))))) + (home-page "https://github.com/skeeto/youtube-dl-emacs/") + (synopsis "Emacs youtube-dl download manager") + (description "This package manages a video download queue for +@command{youtube-dl}, which serves as the back end. It manages a single +@command{youtube-dl} subprocess, downloading one video at a time. New videos +can be queued at any time.") + (license license:unlicense)))) From 320105eadb7d9b26d818edfea5f17e53a19286a1 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 12 Sep 2018 15:44:33 +0200 Subject: [PATCH 105/148] gnu: Add emacs-org-web-tools. * gnu/packages/emacs.scm (emacs-org-web-tools): New variable. --- gnu/packages/emacs.scm | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f6da0e3830..10d0e63c84 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -117,6 +117,7 @@ #:use-module (gnu packages shells) #:use-module (gnu packages gnupg) #:use-module (gnu packages video) + #:use-module (gnu packages haskell) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (ice-9 match)) @@ -11862,3 +11863,45 @@ News homepage.") @command{youtube-dl} subprocess, downloading one video at a time. New videos can be queued at any time.") (license license:unlicense)))) + +(define-public emacs-org-web-tools + (package + (name "emacs-org-web-tools") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-web-tools") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-esxml" ,emacs-esxml) + ("emacs-s" ,emacs-s))) + (inputs + `(("pandoc" ,ghc-pandoc))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-exec-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((pandoc (assoc-ref inputs "pandoc"))) + (substitute* "org-web-tools.el" + (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\""))) + #t)))))) + (home-page "https://github.com/alphapapa/org-web-tools") + (synopsis "Display/Process web page as Org-mode content") + (description "This package contains library functions and commands useful +for retrieving web page content and processing it into Org-mode content. + +For example, you can copy a URL to the clipboard or kill-ring, then run a +command that downloads the page, isolates the “readable” content with +@command{eww-readable}, converts it to Org-mode content with Pandoc, and +displays it in an Org-mode buffer. Another command does all of that but +inserts it as an Org entry instead of displaying it in a new buffer.") + (license license:gpl3+))) From b002809f848d81dfc4640635d98d8bac3af62cee Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 12 Sep 2018 15:45:38 +0200 Subject: [PATCH 106/148] gnu: Add emacs-blimp. * gnu/packages/emacs.scm (emacs-blimp): 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 10d0e63c84..12e5823a9e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11905,3 +11905,29 @@ command that downloads the page, isolates the “readable” content with displays it in an Org-mode buffer. Another command does all of that but inserts it as an Org entry instead of displaying it in a new buffer.") (license license:gpl3+))) + +(define-public emacs-blimp + (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03")) + (package + (name "emacs-blimp") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/walseb/blimp") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-eimp" ,emacs-eimp))) + (home-page "https://github.com/walseb/blimp") + (synopsis "Emacs wrapper around all Imagemagick commands") + (description "Blimp (Bustling Image Manipulation Package) is a complete +wrapper around all Imagemagick commands with descriptions, autocompletion (for +some commands) and hints displayed in prompt using @command{eimp.el} to +execute its commands and resize images.") + (license license:gpl3+)))) From 4a89bdd1965f9bf4a06590bb7fde806be3e784a6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 12 Sep 2018 19:04:02 +0200 Subject: [PATCH 107/148] gnu: python-scikit-learn: Update to 0.19.2. * gnu/packages/machine-learning.scm (python-scikit-learn): Update to 0.19.2. [source]: Fetch from git. [arguments]: Run tests before installation; replace "check" phase, add "build-ext" phase; delete "reset-gzip-timestamps" phase. [native-inputs]: Add python-pytest and python-pandas; remove python-nose. --- gnu/packages/machine-learning.scm | 49 ++++++++++++++++--------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 7790e78779..9aa61bd8f8 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -703,40 +703,41 @@ computing environments.") (define-public python-scikit-learn (package (name "python-scikit-learn") - (version "0.19.1") + (version "0.19.2") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/scikit-learn/scikit-learn/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/scikit-learn/scikit-learn.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "18n8775kyfwbvcjjjzda9c5sqy4737c0hrmj6qj1ps2jmlqzair9")) + "1dk9hdj01c0bny4ps78b7869fjw9gr6qklxf6wyql8h6nh4k19xm")) (patches (search-patches - "python-scikit-learn-fix-test-non-determinism.patch")))) + "python-scikit-learn-fix-test-non-determinism.patch")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (delete 'check) - (add-after 'install 'check - ;; Running tests from the source directory requires - ;; an "inplace" build with paths relative to CWD. - ;; http://scikit-learn.org/stable/developers/advanced_installation.html#testing - ;; Use the installed version instead. - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - ;; some tests require access to "$HOME" - (setenv "HOME" "/tmp") - ;; Step out of the source directory just to be sure. - (chdir "..") - (invoke "nosetests" "-v" "sklearn")))))) + (add-after 'build 'build-ext + (lambda _ (invoke "python" "setup.py" "build_ext" "--inplace") #t)) + (replace 'check + (lambda _ + ;; Restrict OpenBLAS threads to prevent segfaults while testing! + (setenv "OPENBLAS_NUM_THREADS" "1") + ;; Disable tests that require network access + (delete-file "sklearn/datasets/tests/test_mldata.py") + (delete-file "sklearn/datasets/tests/test_rcv1.py") + (invoke "pytest" "sklearn") + #t)) + ;; FIXME: This fails with permission denied + (delete 'reset-gzip-timestamps)))) (inputs `(("openblas" ,openblas))) (native-inputs - `(("python-nose" ,python-nose) + `(("python-pytest" ,python-pytest) + ("python-pandas" ,python-pandas) ;for tests ("python-cython" ,python-cython))) (propagated-inputs `(("python-numpy" ,python-numpy) @@ -744,8 +745,8 @@ computing environments.") (home-page "http://scikit-learn.org/") (synopsis "Machine Learning in Python") (description - "Scikit-learn provides simple and efficient tools for data -mining and data analysis.") + "Scikit-learn provides simple and efficient tools for data mining and +data analysis.") (license license:bsd-3))) (define-public python2-scikit-learn From 4fa7f29f2ad7867f348e39e465c29f466203126c Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 12 Sep 2018 19:50:41 +0200 Subject: [PATCH 108/148] gnu: emacs-hl-todo: Update to 1.9.0. * gnu/packages/emacs.scm (emacs-hl-todo): Update to 1.9.0. --- 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 12e5823a9e..9898767085 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -3488,7 +3488,7 @@ regardless of @code{highlight-symbol-idle-delay}. (define-public emacs-hl-todo (package (name "emacs-hl-todo") - (version "1.8.0") + (version "1.9.0") (source (origin (method url-fetch) (uri (string-append @@ -3497,7 +3497,7 @@ regardless of @code{highlight-symbol-idle-delay}. (file-name (string-append "hl-todo-" version ".el")) (sha256 (base32 - "0g0h9v4572p7mcird8wsj1c41haf60krslm6mlpi4mdbh248kv6z")))) + "0728givzh7xv5i88ac9if8byj1p8bilrj1fnizca10s0rv100hdr")))) (build-system emacs-build-system) (home-page "https://github.com/tarsius/hl-todo") (synopsis "Emacs mode to highlight TODO and similar keywords") From ff9008d8debae7b32a8d27da7ab2fef7c9322196 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 12 Sep 2018 15:17:45 -0400 Subject: [PATCH 109/148] gnu: Zsh: Remove workaround required for Zsh 5.6. This is a followup to commit 5a5d3e356311620df253d7c213c1bda79cd20128. * gnu/packages/shells.scm (zsh)[arguments]: Remove substitutions in 'patch-test' phase. --- gnu/packages/shells.scm | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 73e51da1cd..c0f1c479ef 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -336,19 +336,6 @@ history mechanism, job control and a C-like syntax.") (("command -pv") "command -v") (("command -p") "command ") (("'command' -p") "'command' ")) - ;; This file is ISO-8859-1 encoded. - (with-fluids ((%default-port-encoding #f)) - (substitute* "Test/A05execution.ztst" - ;; Help it find `sh` - (("PATH=/bin:\\$\\{ZTST_testdir\\}/command.tmp/ tstcmd-slashless") - (string-append "PATH=/bin:" - (assoc-ref %build-inputs "bash") "/bin:" - "${ZTST_testdir}/command.tmp/ tstcmd-slashless")) - ;; Help it find `echo` - (("PATH=/bin:\\$\\{ZTST_testdir\\}/command.tmp tstcmd-arg") - (string-append "PATH=/bin:" - (assoc-ref %build-inputs "coreutils") "/bin:" - "PATH=/bin:${ZTST_testdir}/command.tmp tstcmd-arg")))) #t))))) (native-inputs `(("autoconf" ,autoconf))) (inputs `(("ncurses" ,ncurses) From f006237c545babed5151c943fe163ce9852bc9c2 Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Wed, 12 Sep 2018 13:56:08 +0000 Subject: [PATCH 110/148] gnu: gnurl: Update to 7.61.1. * gnu/packages/gnunet.scm (gnurl): Update to 7.61.1. Signed-off-by: Leo Famulari --- gnu/packages/gnunet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index eb17b96492..b4c9c463f7 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -186,13 +186,13 @@ authentication and support for SSL3 and TLS.") (define-public gnurl (package (name "gnurl") - (version "7.61.0") + (version "7.61.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.Z")) (sha256 (base32 - "1h03zkd9mp4xb5icirl3bfd64r5x8j9ka1hw9qd0n1ql1w0ilz23")))) + "0amnhhmlxaliz2rzp3zf1x6ixjqvgmiq7in0q14gd21rjlk9kvir")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 1.5 MiB of man3 pages From 0bcd1bc7780ad11c398def0717a24214e16bdc6a Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 12 Sep 2018 17:41:31 +0200 Subject: [PATCH 111/148] gnu: rust@1.19.0: Use match-lambda directly. Follow-up to 3159ef7c99c646b78b04cedb1bd3525c301ef978. * gnu/packages/rust.scm (rust-1.19)[arguments]<#:phases>[build]: Use match-lambda directly. --- gnu/packages/rust.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 631dcfd67c..e51d90328a 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -408,7 +408,7 @@ test = { path = \"../libtest\" } ;; but right now, Cargo has problems with libstd's circular ;; dependencies. (mkdir-p "output/target-libs") - (for-each ((@ (ice-9 match) match-lambda) + (for-each (match-lambda ((name . flags) (write name) (newline) From 5a3fcf5b4468524b07a81a9c6814239fd588c8c9 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 12 Sep 2018 22:52:08 +0200 Subject: [PATCH 112/148] gnu: rust@1.19.0: Install rustdoc. * gnu/packages/rust.scm (rust-1.19)[arguments]<#:phases>[install]: Install rustdoc. --- gnu/packages/rust.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index e51d90328a..3b3df91c92 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -454,6 +454,8 @@ test = { path = \"../libtest\" } (copy-recursively "output/target-libs" out-libs) (install-file "output/rustc-build/rustc" (string-append out "/bin")) + (install-file "output/rustc-build/rustdoc" + (string-append out "/bin")) (install-file "output/cargo-build/cargo" (string-append (assoc-ref outputs "cargo") "/bin"))) From 3763e7716cc319dadb3adfbcbbc668aea96fec09 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 12 Sep 2018 22:53:06 +0200 Subject: [PATCH 113/148] gnu: rust@1.19.0: Remove superfluous install-file call. * gnu/packages/rust.scm (rust-1.19)[arguments]<#:phases>[build]: Remove superfluous install-file call. --- gnu/packages/rust.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 3b3df91c92..d7565c0a15 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -387,7 +387,6 @@ test = { path = \"../libtest\" } "--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) From aed0a594058a59bc3bb1d2686391dc0e8a181b1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 12 Sep 2018 23:56:34 +0200 Subject: [PATCH 114/148] git-download: Rewrite 'git-predicate' using Guile-Git. Fixes . * guix/git-download.scm (files->directory-tree) (directory-in-tree?): Remove. (git-file-list): New procedures. (git-predicate): Use it instead of opening a pipe to 'git'. Remove directory tree hack and rely exclusively on inode/device numbers. --- guix/git-download.scm | 119 +++++++++++++++--------------------------- 1 file changed, 42 insertions(+), 77 deletions(-) diff --git a/guix/git-download.scm b/guix/git-download.scm index 33f102bc6c..e6e0ec2ac5 100644 --- a/guix/git-download.scm +++ b/guix/git-download.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 © 2017 Mathieu Lirzin ;;; Copyright © 2017 Christopher Baines ;;; @@ -19,7 +19,6 @@ ;;; along with GNU Guix. If not, see . (define-module (guix git-download) - #:use-module (guix build utils) #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix monads) @@ -27,9 +26,8 @@ #:use-module (guix packages) #:use-module (guix modules) #:autoload (guix build-system gnu) (standard-packages) + #:use-module (git) #:use-module (ice-9 match) - #:use-module (ice-9 popen) - #:use-module (ice-9 rdelim) #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) #:export (git-reference @@ -153,41 +151,31 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." ;;; 'git-predicate'. ;;; -(define (files->directory-tree files) - "Return a tree of vhashes representing the directory listed in FILES, a list -like '(\"a/b\" \"b/c/d\")." - (fold (lambda (file result) - (let loop ((file (string-split file #\/)) - (result result)) - (match file - ((_) - result) - ((directory children ...) - (match (vhash-assoc directory result) - (#f - (vhash-cons directory (loop children vlist-null) - result)) - ((_ . previous) - ;; XXX: 'vhash-delete' is O(n). - (vhash-cons directory (loop children previous) - (vhash-delete directory result))))) - (() - result)))) - vlist-null - files)) - -(define (directory-in-tree? tree directory) - "Return true if DIRECTORY, a string like \"a/b\", denotes a directory listed -in TREE." - (let loop ((directory (string-split directory #\/)) - (tree tree)) - (match directory - (() - #t) - ((head . tail) - (match (vhash-assoc head tree) - ((_ . sub-tree) (loop tail sub-tree)) - (#f #f)))))) +(define (git-file-list directory) + "Return the list of files checked in in the Git repository at DIRECTORY. +The result is similar to that of the 'git ls-files' command, except that it +also includes directories, not just regular files. The returned file names +are relative to DIRECTORY, which is not necessarily the root of the checkout." + (let* ((directory (canonicalize-path directory)) + (dot-git (repository-discover directory)) + (top (dirname dot-git)) + (repository (repository-open dot-git)) + (head (repository-head repository)) + (oid (reference-target head)) + (commit (commit-lookup repository oid)) + (tree (commit-tree commit)) + (files (tree-list tree))) + (repository-close! repository) + (if (string=? top directory) + files + (let ((relative (string-append + (string-drop directory + (+ 1 (string-length top))) + "/"))) + (filter-map (lambda (file) + (and (string-prefix? relative file) + (string-drop file (string-length relative)))) + files))))) (define (git-predicate directory) "Return a predicate that returns true if a file is part of the Git checkout @@ -195,43 +183,20 @@ living at DIRECTORY. Upon Git failure, return #f instead of a predicate. The returned predicate takes two arguments FILE and STAT where FILE is an absolute file name and STAT is the result of 'lstat'." - (let* ((pipe (with-directory-excursion directory - (open-pipe* OPEN_READ "git" "ls-files"))) - (files (let loop ((lines '())) - (match (read-line pipe) - ((? eof-object?) - (reverse lines)) - (line - (loop (cons line lines)))))) - (directory-tree (files->directory-tree files)) - (inodes (fold (lambda (file result) - (let ((stat - (lstat (string-append directory "/" - file)))) - (vhash-consv (stat:ino stat) (stat:dev stat) - result))) - vlist-null - files)) - - ;; Note: For this to work we must *not* call 'canonicalize-path' on - ;; DIRECTORY or we would get discrepancies of the returned lambda is - ;; called with a non-canonical file name. - (prefix-length (+ 1 (string-length directory))) - - (status (close-pipe pipe))) - (and (zero? status) - (lambda (file stat) - (match (stat:type stat) - ('directory - (directory-in-tree? directory-tree - (string-drop file prefix-length))) - ((or 'regular 'symlink) - ;; Comparing file names is always tricky business so we rely on - ;; inode numbers instead - (match (vhash-assv (stat:ino stat) inodes) - ((_ . dev) (= dev (stat:dev stat))) - (#f #f))) - (_ - #f)))))) + (let* ((files (git-file-list directory)) + (inodes (fold (lambda (file result) + (let ((stat + (lstat (string-append directory "/" + file)))) + (vhash-consv (stat:ino stat) (stat:dev stat) + result))) + vlist-null + files))) + (lambda (file stat) + ;; Comparing file names is always tricky business so we rely on inode + ;; numbers instead. + (match (vhash-assv (stat:ino stat) inodes) + ((_ . dev) (= dev (stat:dev stat))) + (#f #f))))) ;;; git-download.scm ends here From 614cfd5c540c59cc45a0fbaaf08538b5646bfb2b Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 12 Sep 2018 23:15:27 +0200 Subject: [PATCH 115/148] gnu: Add rust@1.20.0. * gnu/packages/rust.scm (rust-1.20): New variable. --- gnu/packages/rust.scm | 114 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index d7565c0a15..ba061885b7 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -499,6 +499,120 @@ safety and thread safety guarantees.") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) +(define-public rust-1.20 + (let ((base-rust + (rust-bootstrapped-package rust-1.19 "1.20.0" + "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a"))) + (package + (inherit base-rust) + (outputs '("out" "doc" "cargo")) + (arguments + (substitute-keyword-arguments (package-arguments rust-1.19) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (gcc (assoc-ref inputs "gcc")) + (gdb (assoc-ref inputs "gdb")) + (binutils (assoc-ref inputs "binutils")) + (python (assoc-ref inputs "python-2")) + (rustc (assoc-ref inputs "rustc-bootstrap")) + (cargo (assoc-ref inputs "cargo-bootstrap")) + (llvm (assoc-ref inputs "llvm")) + (jemalloc (assoc-ref inputs "jemalloc"))) + (call-with-output-file "config.toml" + (lambda (port) + (display (string-append " +[llvm] +[build] +cargo = \"" cargo "/bin/cargo" "\" +rustc = \"" rustc "/bin/rustc" "\" +docs = true +python = \"" python "/bin/python2" "\" +gdb = \"" gdb "/bin/gdb" "\" +vendor = true +submodules = false +[install] +prefix = \"" out "\" +docdir = \"" doc "/share/doc/rust" "\" +sysconfdir = \"etc\" +localstatedir = \"var/lib\" +[rust] +default-linker = \"" gcc "/bin/gcc" "\" + +# The archiver that the finished compiler uses +default-ar = \"" binutils "/bin/ar" "\" +channel = \"stable\" +rpath = true +" ;; There are 2 failed codegen tests: +;; codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs +;; These tests require a patched LLVM +"codegen-tests = false +[target." ,(nix-system->gnu-triplet-for-rust) "] +llvm-config = \"" llvm "/bin/llvm-config" "\" +cc = \"" gcc "/bin/gcc" "\" +cxx = \"" gcc "/bin/g++" "\" +jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" +[dist] +") port))) + #t))) + (add-after 'configure 'provide-cc + (lambda* (#:key inputs #:allow-other-keys) + (symlink (string-append (assoc-ref inputs "gcc") "/bin/gcc") + "/tmp/cc") + (setenv "PATH" (string-append "/tmp:" (getenv "PATH"))) + #t)) + (add-after 'provide-cc 'configure-archiver + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/build_helper/lib.rs" + ;; Make sure "ar" is always used as the archiver. + (("\"musl\"") "\"\"") + ;; Then substitute "ar" by our name. + (("\"ar\"") (string-append "\"" + (assoc-ref inputs "binutils") + "/bin/ar\""))) + #t)) + (delete 'patch-cargo-tomls) + (add-before 'build 'reset-timestamps-after-changes + (lambda* _ + (define ref (stat "README.md")) + (for-each + (lambda (filename) + (set-file-time filename ref)) + (find-files "." #:directories? #t)) + #t)) + (replace 'build + (lambda* _ + (invoke "./x.py" "build") + (invoke "./x.py" "build" "src/tools/cargo"))) + (replace 'check + (lambda* _ + ;; Disable parallel execution to prevent EAGAIN errors when + ;; running tests. + (invoke "./x.py" "-j1" "test" "-vv") + (invoke "./x.py" "-j1" "test" "src/tools/cargo") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (invoke "./x.py" "install") + (substitute* "config.toml" + ;; replace prefix to specific output + (("prefix = \"[^\"]*\"") + (string-append "prefix = \"" (assoc-ref outputs "cargo") "\""))) + (invoke "./x.py" "install" "cargo"))) + (add-after 'install 'wrap-rustc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libc (assoc-ref inputs "libc")) + (ld-wrapper (assoc-ref inputs "ld-wrapper"))) + ;; Let gcc find ld and libc startup files. + (wrap-program (string-append out "/bin/rustc") + `("PATH" ":" prefix (,(string-append ld-wrapper "/bin"))) + `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib")))) + #t)))))))))) + (define-public rust-1.23 (package (inherit rust-1.19) From 4bd8f4f3028fcabf90c5c262ac237c037e668939 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 26 Aug 2018 17:35:46 -0400 Subject: [PATCH 116/148] gnu: python-jedi: Update to 0.12.1. * gnu/packages/python.scm (python-jedi): Update to 0.12.1. [propagated-inputs]: Move python-parso here, as it is required at run time. --- 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 6367def203..88c971b328 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9655,8 +9655,9 @@ characters, mouse support, and auto suggestions.") (invoke "py.test" "-vv")))))) (native-inputs `(("python-pytest" ,python-pytest) - ("python-parso" ,python-parso) ("python-docopt" ,python-docopt))) + (propagated-inputs + `(("python-parso" ,python-parso))) (home-page "https://github.com/davidhalter/jedi") (synopsis "Autocompletion and static analysis library for Python") (description From 7e846d07e83e5d63eee42c9361a2d1a933f79883 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 26 Aug 2018 23:56:15 -0400 Subject: [PATCH 117/148] gnu: Add python-toml. * gnu/packages/python.scm (python-toml): New variables. --- gnu/packages/python.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 88c971b328..793961d944 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -54,6 +54,7 @@ ;;; Copyright © 2018 Nicolas Goaziou ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2018 Clément Lassieur +;;; Copyright © 2018 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -2721,6 +2722,27 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.") (define-public python2-feedgenerator (package-with-python2 python-feedgenerator)) +(define-public python-toml + (package + (name "python-toml") + (version "0.9.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "toml" version)) + (sha256 + (base32 + "0bdbpbip67wdm6c7xwc6mmbmskyradj4cdxn1iibj4fcx1nbv1lf")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;no tests suite in release + (home-page "https://github.com/uiri/toml") + (synopsis "Library for TOML") + (description + "@code{toml} is a library for parsing and creating Tom's Obvious, Minimal +Language (TOML) configuration files.") + (license license:expat))) + (define-public python-blinker (package (name "python-blinker") From 8795ce86731157577278d1510a79dec64e36d3ca Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 26 Aug 2018 23:58:26 -0400 Subject: [PATCH 118/148] gnu: Add python-black. * gnu/packages/python.scm (python-black): New variable. --- gnu/packages/python.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 793961d944..525ff3f027 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2743,6 +2743,41 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.") Language (TOML) configuration files.") (license license:expat))) +(define-public python-black + (package + (name "python-black") + (version "18.6b4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "black" version)) + (sha256 + (base32 + "0i4sfqgz6w15vd50kbhi7g7rifgqlf8yfr8y78rypd56q64qn592")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-extra-shebangs + (lambda _ + (let ((python3 (which "python3"))) + (substitute* '("tests/data/fmtonoff.py" + "tests/data/string_prefixes.py" + "tests/data/function.py") + (("#!/usr/bin/env python3(\\.[0-9]+)?" _ minor-version) + (string-append "#!" python3 (if (string? minor-version) + minor-version + "")))))))))) + (propagated-inputs + `(("python-click" ,python-click) + ("python-attrs" ,python-attrs) + ("python-appdirs" ,python-appdirs) + ("python-toml" ,python-toml))) + (home-page "https://github.com/ambv/black") + (synopsis "The uncompromising code formatter") + (description "Black is the uncompromising Python code formatter.") + (license license:expat))) + (define-public python-blinker (package (name "python-blinker") From aaf10fa7d8e74a81a891fcc02f1719ab4968c9a3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 12 Feb 2018 22:08:03 -0500 Subject: [PATCH 119/148] gnu: Add emacs-el-x. * gnu/packages/emacs.scm (emacs-el-x): New variable. --- gnu/packages/emacs.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 9898767085..65056d3445 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4467,6 +4467,39 @@ If you want to mark a folder manually as a project just create an empty and RSS, with a user interface inspired by notmuch.") (license license:gpl3+))) +(define-public emacs-el-x + (package + (name "emacs-el-x") + (version "0.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sigma/el-x.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Move the source files to the top level, which is included in + ;; the EMACSLOADPATH. + (add-after 'unpack 'move-source-files + (lambda _ + (let ((el-files (find-files "./lisp" ".*\\.el$"))) + (for-each (lambda (f) + (rename-file f (basename f))) + el-files)) + #t))))) + (home-page "https://github.com/sigma/el-x") + (synopsis "Emacs Lisp extensions") + (description "command@{emacs-el-x} defines the @code{dflet} macro to +provide the historic behavior of @code{flet}, as well as +@code{declare-function} stub for older Emacs.") + (license license:gpl2+))) + (define-public emacs-rainbow-delimiters (package (name "emacs-rainbow-delimiters") From 563f151bd42c51b56794bee307148beef7fada26 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 12 Feb 2018 22:08:37 -0500 Subject: [PATCH 120/148] gnu: Add emacs-mocker. * gnu/packages/emacs.scm (emacs-mocker): New variable. --- gnu/packages/emacs.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 65056d3445..741351f7f6 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4500,6 +4500,34 @@ provide the historic behavior of @code{flet}, as well as @code{declare-function} stub for older Emacs.") (license license:gpl2+))) +(define-public emacs-mocker + (package + (name "emacs-mocker") + (version "0.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sigma/mocker.el.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("ert-runner"))) + (native-inputs + `(("ert-runner" ,ert-runner))) + (propagated-inputs + `(("emacs-el-x" ,emacs-el-x))) + (home-page "https://github.com/sigma/mocker.el") + (synopsis "Mocking framework for Emacs Lisp") + (description "Mocker.el is a framework for writing tests in Emacs Lisp. +It uses regular Lisp rather than a domain specific language (DSL), which +maximizes flexibility (at the expense of conciseness).") + (license license:gpl2+))) + (define-public emacs-rainbow-delimiters (package (name "emacs-rainbow-delimiters") From 2c6ff3a2bc9846e6233013049bde28fafca3ee2b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 12 Feb 2018 22:09:12 -0500 Subject: [PATCH 121/148] gnu: Add emacs-find-file-in-project. * gnu/packages/emacs.scm (emacs-find-file-in-project): New variable. --- gnu/packages/emacs.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 741351f7f6..d8e83136d5 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4528,6 +4528,39 @@ It uses regular Lisp rather than a domain specific language (DSL), which maximizes flexibility (at the expense of conciseness).") (license license:gpl2+))) +(define-public emacs-find-file-in-project + (package + (name "emacs-find-file-in-project") + (version "5.4.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/technomancy/find-file-in-project.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-shell + ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't + ;; work. + (lambda _ + (setenv "SHELL" (which "sh")) + #t))) + #:tests? #t + #:test-command '("./tests/test.sh"))) + (home-page "https://github.com/technomancy/find-file-in-project") + (synopsis "File/directory finder for Emacs") + (description "@code{find-file-in-project} allows to find files or +directories quickly in the current project. The project root is detected +automatically when Git, Subversion or Mercurial are used. It also provides +functions to assist in reviewing changes on files.") + (license license:gpl3+))) + (define-public emacs-rainbow-delimiters (package (name "emacs-rainbow-delimiters") From 87e9fb5753c1d77b9630982e7bae9b54f23caecb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 12 Feb 2018 22:09:43 -0500 Subject: [PATCH 122/148] gnu: Add emacs-pyvenv. * gnu/packages/emacs.scm (emacs-pyvenv): New variable. --- gnu/packages/emacs.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d8e83136d5..c6fcbde1ab 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4561,6 +4561,37 @@ automatically when Git, Subversion or Mercurial are used. It also provides functions to assist in reviewing changes on files.") (license license:gpl3+))) +(define-public emacs-pyvenv + (package + (name "emacs-pyvenv") + (version "1.11") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jorgenschaefer/pyvenv.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1a346qdimr1dvj53q033aqnahwd2dhyn9jadrs019nm0bzgw7g63")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; This phase incorrectly attempts to substitute "activate" and fails + ;; doing so. + (delete 'patch-el-files)) + #:tests? #t + #:test-command '("ert-runner"))) + (native-inputs + `(("ert-runner" ,ert-runner) + ("emacs-mocker" ,emacs-mocker))) + (home-page "https://github.com/jorgenschaefer/pyvenv") + (synopsis "Virtualenv minor mode for Emacs") + (description "pyvenv.el is a minor mode to support using Python virtual +environments (virtualenv) inside Emacs.") + (license license:gpl3+))) + (define-public emacs-rainbow-delimiters (package (name "emacs-rainbow-delimiters") From dcc31d7f41f5368a94a8478f634f1c7bda1c9b41 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 12 Feb 2018 22:10:03 -0500 Subject: [PATCH 123/148] gnu: Add emacs-highlight-indentation. * gnu/packages/emacs.scm (emacs-highlight-indentation): New variable. --- gnu/packages/emacs.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index c6fcbde1ab..6df3aba4eb 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4592,6 +4592,30 @@ functions to assist in reviewing changes on files.") environments (virtualenv) inside Emacs.") (license license:gpl3+))) +(define-public emacs-highlight-indentation + (package + (name "emacs-highlight-indentation") + (version "0.7.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k")))) + (build-system emacs-build-system) + (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/") + (synopsis "Highlighting indentation for Emacs") + (description "Provides two minor modes to highlight indentation guides in Emacs: +@enumerate +@item @code{highlight-indentation-mode}, which displays guidelines +indentation (space indentation only). +@item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only). +@end enumerate") + (license license:gpl2+))) + (define-public emacs-rainbow-delimiters (package (name "emacs-rainbow-delimiters") From 82baeea2979b98a642dcfe63a87d08355a101f4c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 12 Feb 2018 22:10:31 -0500 Subject: [PATCH 124/148] gnu: Add emacs-elpy. * gnu/packages/emacs.scm (emacs-elpy): New variable. --- gnu/packages/emacs.scm | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 6df3aba4eb..1541626d76 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4616,6 +4616,78 @@ indentation (space indentation only). @end enumerate") (license license:gpl2+))) +(define-public emacs-elpy + (package + (name "emacs-elpy") + (version "1.24.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jorgenschaefer/elpy.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0rsg8a9nwqfkv0xcs11jzfp10ij7jm0v2ikx19zv2v7awqy0q5wf")))) + (build-system emacs-build-system) + (arguments + `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include) + #:phases + ;; TODO: Make `elpy-config' display Guix commands :) + (modify-phases %standard-phases + ;; One elpy test depends on being run inside a Python virtual + ;; environment to pass. We have nothing to gain from doing so here, + ;; so we just trick Elpy into thinking we are (see: + ;; https://github.com/jorgenschaefer/elpy/pull/1293). + (add-before 'check 'fake-virtualenv + (lambda _ + (setenv "VIRTUAL_ENV" "/tmp") + #t)) + (add-before 'check 'build-doc + (lambda _ + (with-directory-excursion "docs" + (invoke "make" "info" "man")) + ;; Move .info file at the root so that it can installed by the + ;; 'move-doc phase. + (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info") + #t)) + (add-after 'build-doc 'install-manpage + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man1 (string-append out "/share/man/man1"))) + (mkdir-p man1) + (copy-file "docs/_build/man/elpy.1" + (string-append man1 "/elpy.1"))) + #t))) + #:tests? #t + #:test-command '("ert-runner"))) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-find-file-in-project" ,emacs-find-file-in-project) + ("emacs-highlight-indentation" ,emacs-highlight-indentation) + ("emacs-yasnippet" ,emacs-yasnippet) + ("pyvenv" ,emacs-pyvenv) + ("s" ,emacs-s))) + (native-inputs + `(("ert-runner" ,ert-runner) + ("emacs-f" ,emacs-f) + ("python" ,python-wrapper) + ("python-autopep8" ,python-autopep8) + ("python-black" ,python-black) + ("python-flake8" ,python-flake8) + ("python-jedi" ,python-jedi) + ("python-yapf" ,python-yapf) + ;; For documentation. + ("python-sphinx" ,python-sphinx) + ("texinfo" ,texinfo))) + (home-page "https://github.com/jorgenschaefer/elpy") + (synopsis "Python development environment for Emacs") + (description "Elpy brings powerful Python editing to Emacs. It combines +and configures a number of other packages written in Emacs Lisp as well as +Python, together offering features such as navigation, documentation, +completion, interactive development and more.") + (license license:gpl3+))) + (define-public emacs-rainbow-delimiters (package (name "emacs-rainbow-delimiters") From f309671c289373893096de367c779f3175f297da Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 6 Sep 2018 11:21:51 -0400 Subject: [PATCH 125/148] gnu: Add emacs-org-reveal. * gnu/packages/emacs.scm (emacs-org-reveal): New variable. --- gnu/packages/emacs.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 1541626d76..770ca3c496 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -9812,6 +9812,29 @@ The default setup uses helm-bibtex. You should really read org-ref.org in this package for details.") (license license:gpl3+)))) +(define-public emacs-org-reveal + (package + (name "emacs-org-reveal") + ;; There are no proper tag, so we use the latest commit of the stable + ;; branch, as does MELPA. + (version "20161027.926") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yjwen/org-reveal.git") + (commit "001567cc12d50ba07612edd1718b86a12e8c2547"))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "18rma8smjrskbjyna076zhvx79zs5r5vinb537h8mw13pfxd6cm8")))) + (build-system emacs-build-system) + (home-page "https://github.com/yjwen/org-reveal") + (synopsis "Org and Reveal.js powered HTML presentation tool") + (description "Org-Reveal is a command@{org-mode} extension that allows to +create beautiful presentations (slides) with 3D effects from simple but +powerful Org contents.") + (license license:gpl3+))) + (define-public emacs-add-hooks (package (name "emacs-add-hooks") From 333c0ca9661b8285ac49eed881e75c523317d5df Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 13 Sep 2018 00:25:39 +0200 Subject: [PATCH 126/148] gnu: rust@1.23.0: Use rust@1.20.0 as template. * gnu/packages/rust.scm (rust-1.23)[inherit]: Use rust-1.20. [arguments]<#:phases>: Delete "patch-cargo-tomls" phase deletion. Add "provide-cc" phase deletion. Add "configure-archiver" phase deletion. [configure]: Inherit phase. [reset-timestamps-after-changes]: Inherit phase. [build]: Inherit phase. [check]: Inherit phase. [install]: Inherit phase. [wrap-rustc]: Inherit phase. --- gnu/packages/rust.scm | 93 +++---------------------------------------- 1 file changed, 5 insertions(+), 88 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index ba061885b7..e84e58a30f 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -615,7 +615,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (define-public rust-1.23 (package - (inherit rust-1.19) + (inherit rust-1.20) (name "rust") (version "1.23.0") (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) @@ -633,17 +633,17 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" ("pkg-config" ,pkg-config) ; For "cargo" ("which" ,which))) (arguments - (substitute-keyword-arguments (package-arguments rust-1.19) + (substitute-keyword-arguments (package-arguments rust-1.20) ((#:phases phases) `(modify-phases ,phases + (delete 'provide-cc) + (delete 'configure-archiver) (add-after 'unpack 'dont-build-native (lambda _ ;; XXX: Revisit this when we use gcc 6. (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" @@ -671,90 +671,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" ;; is 0, but in same time "src" have 0 mtime in guix build! (("let threshold = mtime\\(dst\\);") "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) - #t)) - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc")) - (gcc (assoc-ref inputs "gcc")) - (gdb (assoc-ref inputs "gdb")) - (binutils (assoc-ref inputs "binutils")) - (python (assoc-ref inputs "python-2")) - (rustc (assoc-ref inputs "rustc-bootstrap")) - (cargo (assoc-ref inputs "cargo-bootstrap")) - (llvm (assoc-ref inputs "llvm")) - (jemalloc (assoc-ref inputs "jemalloc"))) - (call-with-output-file "config.toml" - (lambda (port) - (display (string-append " -[llvm] -[build] -cargo = \"" cargo "/bin/cargo" "\" -rustc = \"" rustc "/bin/rustc" "\" -docs = true -python = \"" python "/bin/python2" "\" -gdb = \"" gdb "/bin/gdb" "\" -vendor = true -submodules = false -[install] -prefix = \"" out "\" -docdir = \"" doc "/share/doc/rust" "\" -sysconfdir = \"etc\" -localstatedir = \"var/lib\" -[rust] -default-linker = \"" gcc "/bin/gcc" "\" -channel = \"stable\" -rpath = true -" ;; There are 2 failed codegen tests: - ;; codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs - ;; These tests require a patched LLVM -"codegen-tests = false -[target." ,(nix-system->gnu-triplet-for-rust) "] -llvm-config = \"" llvm "/bin/llvm-config" "\" -cc = \"" gcc "/bin/gcc" "\" -cxx = \"" gcc "/bin/g++" "\" -ar = \"" binutils "/bin/ar" "\" -jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" -[dist] -") port))) - #t))) - (add-before 'build 'reset-timestamps-after-changes - (lambda* _ - (define ref (stat "README.md")) - (for-each - (lambda (filename) - (set-file-time filename ref)) - (find-files "." #:directories? #t)) - #t)) - (replace 'build - (lambda* _ - (invoke "./x.py" "build") - (invoke "./x.py" "build" "src/tools/cargo"))) - (replace 'check - (lambda* _ - ;; Disable parallel execution to prevent EAGAIN errors when - ;; running tests. - (invoke "./x.py" "-j1" "test") - (invoke "./x.py" "-j1" "test" "src/tools/cargo"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (invoke "./x.py" "install") - (substitute* "config.toml" - ;; replace prefix to specific output - (("prefix = \"[^\"]*\"") - (string-append "prefix = \"" (assoc-ref outputs "cargo") "\""))) - (invoke "./x.py" "install" "cargo") - #t)) - (add-after 'install 'wrap-rustc - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc")) - (ld-wrapper (assoc-ref inputs "ld-wrapper"))) - ;; Let gcc find ld and libc startup files. - (wrap-program (string-append out "/bin/rustc") - `("PATH" ":" prefix (,(string-append ld-wrapper "/bin"))) - `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib")))) - #t))))))))) + #t)))))))) (define-public rust-1.24 (let ((base-rust From bfdc0e4d456c51c812ac06a8008de5cc90073654 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 13 Sep 2018 00:37:15 +0200 Subject: [PATCH 127/148] gnu: rust: Move "cc" from rust-bootstrap to rust proper. * gnu/packages/rust.scm (rust-bootstrap)[arguments]<#:phases>[install]: Delete "cc". (rust-1.23)[arguments]<#:phases>: Delete "provide-cc" deletion. --- gnu/packages/rust.scm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index e84e58a30f..634dbf8bde 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -143,11 +143,6 @@ (for-each (lambda (file) (invoke "patchelf" "--set-interpreter" ld-so file)) (list rustc rustdoc cargo)) - ;; Rust requires a C toolchain for linking. The prebuilt - ;; binaries expect a compiler called cc. Thus symlink gcc - ;; to cc. - (symlink (string-append gcc "/bin/gcc") - (string-append out "/bin/cc")) #t)))))) (home-page "https://www.rust-lang.org") (synopsis "Prebuilt rust compiler and cargo package manager") @@ -636,7 +631,6 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (substitute-keyword-arguments (package-arguments rust-1.20) ((#:phases phases) `(modify-phases ,phases - (delete 'provide-cc) (delete 'configure-archiver) (add-after 'unpack 'dont-build-native (lambda _ From e69b1a7c6ed0db26b195aa18e66b32bb8b384527 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 13 Sep 2018 00:39:39 +0200 Subject: [PATCH 128/148] gnu: rust-bootstrap: Clean up comments. * gnu/packages/rust.scm (rust-bootstrap): Clean up comments. --- gnu/packages/rust.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 634dbf8bde..fd0f365284 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -126,13 +126,13 @@ (rustdoc (string-append out "/bin/rustdoc")) (cargo (string-append cargo-out "/bin/cargo")) (gcc (assoc-ref inputs "gcc"))) - ;; Install rustc/rustdoc + ;; Install rustc/rustdoc. (invoke "bash" "install.sh" (string-append "--prefix=" out) (string-append "--components=rustc," "rust-std-" ,(nix-system->gnu-triplet-for-rust))) - ;; Instal cargo + ;; Install cargo. (invoke "bash" "install.sh" (string-append "--prefix=" cargo-out) (string-append "--components=cargo")) From 05ebff92bd84751953ce0f95a44cab134aae1346 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 13 Sep 2018 00:53:22 +0200 Subject: [PATCH 129/148] gnu: Add rust@1.21.0. * gnu/packages/rust.scm (rust-1.21): New variable. --- gnu/packages/rust.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index fd0f365284..2a84da0063 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -608,6 +608,10 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib")))) #t)))))))))) +(define-public rust-1.21 + (rust-bootstrapped-package rust-1.20 "1.21.0" + "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp")) + (define-public rust-1.23 (package (inherit rust-1.20) From 1ab3e1dd981aeb6b9fb3c19a564a27ab7db6461d Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 13 Sep 2018 00:55:33 +0200 Subject: [PATCH 130/148] gnu: Add rust@1.22.1. * gnu/packages/rust.scm (rust-1.22): New variable. --- gnu/packages/rust.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 2a84da0063..89630aa8a0 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -612,6 +612,10 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (rust-bootstrapped-package rust-1.20 "1.21.0" "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp")) +(define-public rust-1.22 + (rust-bootstrapped-package rust-1.21 "1.22.1" + "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) + (define-public rust-1.23 (package (inherit rust-1.20) From 73dc7834de77699dfba904445692362c435293b4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 13 Sep 2018 01:05:55 +0200 Subject: [PATCH 131/148] gnu: rust@1.20.0: Replace "default-ar" by "ar". * gnu/packages/rust.scm (rust-1.20)[arguments]<#:phases>[configure]: Replace "default-ar" by "ar". --- gnu/packages/rust.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 89630aa8a0..f62c48499d 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -536,9 +536,6 @@ sysconfdir = \"etc\" localstatedir = \"var/lib\" [rust] default-linker = \"" gcc "/bin/gcc" "\" - -# The archiver that the finished compiler uses -default-ar = \"" binutils "/bin/ar" "\" channel = \"stable\" rpath = true " ;; There are 2 failed codegen tests: @@ -549,6 +546,7 @@ rpath = true llvm-config = \"" llvm "/bin/llvm-config" "\" cc = \"" gcc "/bin/gcc" "\" cxx = \"" gcc "/bin/g++" "\" +ar = \"" binutils "/bin/ar" "\" jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" [dist] ") port))) From 88bfabf111dfc794dc8c8f6d44d253842b39b55e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Mon, 27 Aug 2018 22:47:14 +0200 Subject: [PATCH 132/148] hydra: Add support for manifests. * build-aux/hydra/gnu-system.scm (arguments->manifests, manifests->packages): New procedures. (hydra-jobs): Add a "manifests" subset. * doc/guix.texi (Continuous Integration): Update accordingly. --- build-aux/hydra/gnu-system.scm | 35 +++++++++++++++++++++++ doc/guix.texi | 52 +++++++++++++++++++++++----------- 2 files changed, 71 insertions(+), 16 deletions(-) diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index b1554ced4c..7234e2d0e8 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2017 Jan Nieuwenhuizen +;;; Copyright © 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +57,7 @@ (guix packages) (guix derivations) (guix monads) + (guix ui) ((guix licenses) #:select (gpl3+)) ((guix utils) #:select (%current-system)) ((guix scripts system) #:select (read-operating-system)) @@ -311,6 +313,30 @@ valid." packages))) #:select? (const #t))) ;include hidden packages +(define (arguments->manifests arguments) + "Return the list of manifests extracted from ARGUMENTS." + (map (match-lambda + ((input-name . relative-path) + (let* ((checkout (assq-ref arguments (string->symbol input-name))) + (base (assq-ref checkout 'file-name))) + (in-vicinity base relative-path)))) + (assq-ref arguments 'manifests))) + +(define (manifests->packages store manifests) + "Return the list of packages found in MANIFESTS." + (define (load-manifest manifest) + (save-module-excursion + (lambda () + (set-current-module (make-user-module '((guix profiles) (gnu)))) + (primitive-load manifest)))) + + (parameterize ((%graft? #f)) + (delete-duplicates! + (map manifest-entry-item + (append-map (compose manifest-entries + load-manifest) + manifests))))) + ;;; ;;; Hydra entry point. @@ -323,6 +349,7 @@ valid." ("core" 'core) ; only build core packages ("hello" 'hello) ; only build hello (((? string?) (? string?) ...) 'list) ; only build selected list of packages + ("manifests" 'manifests) ; only build packages in the list of manifests (_ 'all))) ; build everything (define systems @@ -419,6 +446,14 @@ valid." package system)) packages)) '())) + ((manifests) + ;; Build packages in the list of manifests. + (let* ((manifests (arguments->manifests arguments)) + (packages (manifests->packages store manifests))) + (map (lambda (package) + (package-job store (job-name package) + package system)) + packages))) (else (error "unknown subset" subset)))) systems))) diff --git a/doc/guix.texi b/doc/guix.texi index 19a497c746..cccf166d03 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18165,23 +18165,43 @@ The type of the Cuirass service. Its value must be a @code{cuirass-configuration} object, as described below. @end defvr -To add build jobs, you have to set the @code{specifications} field of -the configuration. Here is an example of a service defining a build job -based on a specification that can be found in Cuirass source tree. This -service polls the Guix repository and builds a subset of the Guix -packages, as prescribed in the @file{gnu-system.scm} example spec: +To add build jobs, you have to set the @code{specifications} field of the +configuration. Here is an example of a service that polls the Guix repository +and builds the packages from a manifest. Some of the packages are defined in +the @code{"custom-packages"} input, which is the equivalent of +@code{GUIX_PACKAGE_PATH}. @example -(let ((spec #~((#:name . "guix") - (#:url . "git://git.savannah.gnu.org/guix.git") - (#:load-path . ".") - (#:file . "build-aux/cuirass/gnu-system.scm") - (#:proc . cuirass-jobs) - (#:arguments (subset . "hello")) - (#:branch . "master")))) - (service cuirass-service-type - (cuirass-configuration - (specifications #~(list '#$spec))))) +(define %cuirass-specs + #~(list + '((#:name . "my-manifest") + (#:load-path-inputs . ("guix")) + (#:package-path-inputs . ("custom-packages")) + (#:proc-input . "guix") + (#:proc-file . "build-aux/cuirass/gnu-system.scm") + (#:proc . cuirass-jobs) + (#:proc-args . ((subset . "manifests") + (systems . ("x86_64-linux")) + (manifests . (("config" . "guix/manifest.scm"))))) + (#:inputs . (((#:name . "guix") + (#:url . "git://git.savannah.gnu.org/guix.git") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t)) + ((#:name . "config") + (#:url . "git://git.example.org/config.git") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t)) + ((#:name . "custom-packages") + (#:url . "git://git.example.org/custom-packages.git") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t))))))) + +(service cuirass-service-type + (cuirass-configuration + (specifications %cuirass-specs))) @end example While information related to build jobs is located directly in the @@ -18208,7 +18228,7 @@ Owner's group of the @code{cuirass} process. Number of seconds between the poll of the repositories followed by the Cuirass jobs. -@item @code{database} (default: @code{"/var/run/cuirass/cuirass.db"}) +@item @code{database} (default: @code{"/var/lib/cuirass/cuirass.db"}) Location of sqlite database which contains the build results and previously added specifications. From 78c9058dde237d6913a30a40c1f5ca19395f86c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 13 Sep 2018 10:10:49 +0200 Subject: [PATCH 133/148] build-self: Add a dummy (git) module to 'compute-guix-derivation'. Fixes a regression introduced in aed0a594058a59bc3bb1d2686391dc0e8a181b1f. * build-aux/build-self.scm (build-program)[fake-git]: New variable. Use it as an imported module. --- build-aux/build-self.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index f91b43987a..09979dc410 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -263,6 +263,9 @@ interface (FFI) of Guile.") #~(define-module (gcrypt hash) #:export (sha1 sha256)))) + (define fake-git + (scheme-file "git.scm" #~(define-module (git)))) + (with-imported-modules `(((guix config) => ,(make-config.scm)) @@ -272,6 +275,11 @@ interface (FFI) of Guile.") ;; adjust %LOAD-PATH later on. ((gcrypt hash) => ,fake-gcrypt-hash) + ;; (guix git-download) depends on (git) but only + ;; for peripheral functionality. Provide a dummy + ;; (git) to placate it. + ((git) => ,fake-git) + ,@(source-module-closure `((guix store) (guix self) (guix derivations) From ac4d2ec81a9f7c439b21b4c4ae4a2e949c78ab2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 13 Sep 2018 10:23:39 +0200 Subject: [PATCH 134/148] build-self: Emit a useful message upon error. * build-aux/build-self.scm (build): Raise a '&message' condition instead of calling 'error'. --- build-aux/build-self.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 09979dc410..306b2c6b63 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -25,6 +25,8 @@ #:use-module (guix build-system gnu) #:use-module (srfi srfi-1) #:use-module (srfi srfi-19) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:use-module (rnrs io ports) #:use-module (ice-9 match) #:use-module (ice-9 popen) @@ -420,7 +422,15 @@ files." ;; Unsupported PULL-VERSION. (return #f)) ((? string? str) - (error "invalid build result" (list build str)))))))) + (raise (condition + (&message + (message (format #f "You found a bug: the program '~a' +failed to compute the derivation for Guix (version: ~s; system: ~s; +host version: ~s; pull-version: ~s). +Please report it by email to <~a>.~%" + (derivation->output-path build) + version system %guix-version pull-version + %guix-bug-report-address))))))))))) ;; This file is loaded by 'guix pull'; return it the build procedure. build From 26700caed91b967bf365e29eb576cc23b84a502f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 13 Sep 2018 19:28:36 +0800 Subject: [PATCH 135/148] gnu: racket: Fix incompatibility with libedit. The former patching made racket detecting libedit as the old 2.11 version, which leads to failure: . * gnu/packages/scheme.scm (racket)[arguments]: Patch the 'ffi-lib' call of libedit using 'PLT_READLINE_LIB'. --- gnu/packages/scheme.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 926169ce18..2e46a8453f 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -460,6 +460,9 @@ implementation techniques and as an expository tool.") (substitute* "share/pkgs/math-lib/math/private/bigfloat/mpfr.rkt" (("ffi-lib libmpfr-so") (format #f "ffi-lib \"~a\"" (find-so "libmpfr")))) + (substitute* "share/pkgs/readline-lib/readline/rktrl.rkt" + (("\\(getenv \"PLT_READLINE_LIB\"\\)") + (format #f "\"~a\"" (find-so "libedit")))) (for-each (lambda (x) (apply patch-ffi-libs x)) '(("share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt" @@ -487,9 +490,7 @@ implementation techniques and as an expository tool.") ("share/pkgs/gui-lib/mred/private/wx/gtk/gl-context.rkt" ("libGL")) ("share/pkgs/sgl/gl.rkt" - ("libGL" "libGLU")) - ("share/pkgs/readline-lib/readline/rktrl.rkt" - ("libedit"))))) + ("libGL" "libGLU"))))) (chdir "src") #t)) (add-after 'unpack 'patch-/bin/sh From d1ca3d7297f5d94dad6d9e2200d3d63738e45a2f Mon Sep 17 00:00:00 2001 From: pimi Date: Thu, 6 Sep 2018 17:14:50 +0200 Subject: [PATCH 136/148] gnu: Add r-svdialogs. gnu/packages/cran.scm (r-svdialogs): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ab989abfff..721f43503a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5668,3 +5668,30 @@ Interfaces (GUI) in R. It is independent from any particular GUI widgets. It centralizes info about GUI elements currently used, and it dispatches GUI calls to the particular toolkits in use in function of the context.") (license license:gpl2))) + +(define-public r-svdialogs + (package + (name "r-svdialogs") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "svDialogs" version)) + (sha256 + (base32 "0xqppydfawnwk84kb5qiybwbcmv38vn4imgz01mz2pnq4xb80p97")))) + (properties `((upstream-name . "svDialogs"))) + (build-system r-build-system) + (inputs + `(("yad" ,yad) + ("zenity" ,zenity))) + (propagated-inputs + `(("r-rstudioapi" ,r-rstudioapi) + ("r-svgui" ,r-svgui))) + (home-page "https://github.com/SciViews/svDialogs/") + (synopsis "Portable dialog boxes") + (description + "This package helps to construct standard dialog boxes for your GUI, including +message boxes, input boxes, list, file or directory selection, and others. In +case R cannot display GUI dialog boxes, a simpler command line version of these +interactive elements is also provided as a fallback solution.") + (license license:gpl2))) From 3cadd3ce93472987fec0bfb4fde9f6937775c7d8 Mon Sep 17 00:00:00 2001 From: pimi Date: Mon, 3 Sep 2018 14:27:58 +0200 Subject: [PATCH 137/148] gnu: Add r-abe. gnu/packages/cran.scm (r-abe): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 721f43503a..fd08f5f549 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5695,3 +5695,25 @@ message boxes, input boxes, list, file or directory selection, and others. In case R cannot display GUI dialog boxes, a simpler command line version of these interactive elements is also provided as a fallback solution.") (license license:gpl2))) + +(define-public r-abe + (package + (name "r-abe") + (version "3.0.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "abe" version)) + (sha256 + (base32 + "1f19h3xzzmjhvwc1rrb8z0rai3ip03y4gdi2gg9bfr5sg2nfklk6")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/abe/") + (synopsis "Augmented backward elimination") + (description + "This package performs augmented backward elimination and checks the +stability of the obtained model. Augmented backward elimination combines +significance or information based criteria with the change in estimate to +either select the optimal model for prediction purposes or to serve as a tool +to obtain a practically sound, highly interpretable model.") + (license license:gpl2+))) From 6fe73b487b46fa8c60e8aee7e2d2a642e5024077 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 13 Sep 2018 10:35:11 +0200 Subject: [PATCH 138/148] gnu: rust: Accept more detailed gdb responses. * gnu/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/rust.scm (rust-1.25): Use it. (rust-1.26): Use it. (rust): Use it. --- gnu/local.mk | 1 + ...-1.25-accept-more-detailed-gdb-lines.patch | 94 +++++++++++++++++++ gnu/packages/rust.scm | 11 ++- 3 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch diff --git a/gnu/local.mk b/gnu/local.mk index f15fb3339a..7b230cb6f5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1124,6 +1124,7 @@ dist_patch_DATA = \ %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-1.25-accept-more-detailed-gdb-lines.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.25-accept-more-detailed-gdb-lines.patch b/gnu/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch new file mode 100644 index 0000000000..6ffc897297 --- /dev/null +++ b/gnu/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch @@ -0,0 +1,94 @@ +GDB responds with some overly detailed lines - which makes the tests fail. +Patch rust to accept those instead. +diff -ur orig/rustc-1.25.0-src/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs rustc-1.25.0-src/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs +--- orig/rustc-1.25.0-src/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs 2018-09-13 10:24:33.775565159 +0200 ++++ rustc-1.25.0-src/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs 2018-09-13 10:25:56.322513658 +0200 +@@ -19,36 +19,36 @@ + + // gdb-command:print eight_bytes1 + // gdbg-check:$1 = {{RUST$ENUM$DISR = Variant1, __0 = 100}, {RUST$ENUM$DISR = Variant1, __0 = 100}} +-// gdbr-check:$1 = generic_enum_with_different_disr_sizes::Enum::Variant1(100) ++// gdbr-check:$1 = generic_enum_with_different_disr_sizes::Enum::Variant1(100) + + // gdb-command:print four_bytes1 + // gdbg-check:$2 = {{RUST$ENUM$DISR = Variant1, __0 = 101}, {RUST$ENUM$DISR = Variant1, __0 = 101}} +-// gdbr-check:$2 = generic_enum_with_different_disr_sizes::Enum::Variant1(101) ++// gdbr-check:$2 = generic_enum_with_different_disr_sizes::Enum::Variant1(101) + + // gdb-command:print two_bytes1 + // gdbg-check:$3 = {{RUST$ENUM$DISR = Variant1, __0 = 102}, {RUST$ENUM$DISR = Variant1, __0 = 102}} +-// gdbr-check:$3 = generic_enum_with_different_disr_sizes::Enum::Variant1(102) ++// gdbr-check:$3 = generic_enum_with_different_disr_sizes::Enum::Variant1(102) + + // gdb-command:print one_byte1 + // gdbg-check:$4 = {{RUST$ENUM$DISR = Variant1, __0 = 65 'A'}, {RUST$ENUM$DISR = Variant1, __0 = 65 'A'}} +-// gdbr-check:$4 = generic_enum_with_different_disr_sizes::Enum::Variant1(65) ++// gdbr-check:$4 = generic_enum_with_different_disr_sizes::Enum::Variant1(65) + + + // gdb-command:print eight_bytes2 + // gdbg-check:$5 = {{RUST$ENUM$DISR = Variant2, __0 = 100}, {RUST$ENUM$DISR = Variant2, __0 = 100}} +-// gdbr-check:$5 = generic_enum_with_different_disr_sizes::Enum::Variant2(100) ++// gdbr-check:$5 = generic_enum_with_different_disr_sizes::Enum::Variant2(100) + + // gdb-command:print four_bytes2 + // gdbg-check:$6 = {{RUST$ENUM$DISR = Variant2, __0 = 101}, {RUST$ENUM$DISR = Variant2, __0 = 101}} +-// gdbr-check:$6 = generic_enum_with_different_disr_sizes::Enum::Variant2(101) ++// gdbr-check:$6 = generic_enum_with_different_disr_sizes::Enum::Variant2(101) + + // gdb-command:print two_bytes2 + // gdbg-check:$7 = {{RUST$ENUM$DISR = Variant2, __0 = 102}, {RUST$ENUM$DISR = Variant2, __0 = 102}} +-// gdbr-check:$7 = generic_enum_with_different_disr_sizes::Enum::Variant2(102) ++// gdbr-check:$7 = generic_enum_with_different_disr_sizes::Enum::Variant2(102) + + // gdb-command:print one_byte2 + // gdbg-check:$8 = {{RUST$ENUM$DISR = Variant2, __0 = 65 'A'}, {RUST$ENUM$DISR = Variant2, __0 = 65 'A'}} +-// gdbr-check:$8 = generic_enum_with_different_disr_sizes::Enum::Variant2(65) ++// gdbr-check:$8 = generic_enum_with_different_disr_sizes::Enum::Variant2(65) + + // gdb-command:continue + +diff -ur orig/rustc-1.25.0-src/src/test/debuginfo/generic-struct-style-enum.rs rustc-1.25.0-src/src/test/debuginfo/generic-struct-style-enum.rs +--- orig/rustc-1.25.0-src/src/test/debuginfo/generic-struct-style-enum.rs 2018-09-13 10:24:33.775565159 +0200 ++++ rustc-1.25.0-src/src/test/debuginfo/generic-struct-style-enum.rs 2018-09-13 10:27:43.353108111 +0200 +@@ -19,15 +19,15 @@ + + // gdb-command:print case1 + // gdbg-check:$1 = {{RUST$ENUM$DISR = Case1, a = 0, b = 31868, c = 31868, d = 31868, e = 31868}, {RUST$ENUM$DISR = Case1, [...]}, {RUST$ENUM$DISR = Case1, [...]}} +-// gdbr-check:$1 = generic_struct_style_enum::Regular::Case1{a: 0, b: 31868, c: 31868, d: 31868, e: 31868} ++// gdbr-check:$1 = generic_struct_style_enum::Regular::Case1{a: 0, b: 31868, c: 31868, d: 31868, e: 31868} + + // gdb-command:print case2 + // gdbg-check:$2 = {{RUST$ENUM$DISR = Case2, [...]}, {RUST$ENUM$DISR = Case2, a = 0, b = 286331153, c = 286331153}, {RUST$ENUM$DISR = Case2, [...]}} +-// gdbr-check:$2 = generic_struct_style_enum::Regular::Case2{a: 0, b: 286331153, c: 286331153} ++// gdbr-check:$2 = generic_struct_style_enum::Regular::Case2{a: 0, b: 286331153, c: 286331153} + + // gdb-command:print case3 + // gdbg-check:$3 = {{RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, a = 0, b = 6438275382588823897}} +-// gdbr-check:$3 = generic_struct_style_enum::Regular::Case3{a: 0, b: 6438275382588823897} ++// gdbr-check:$3 = generic_struct_style_enum::Regular::Case3{a: 0, b: 6438275382588823897} + + // gdb-command:print univariant + // gdbg-check:$4 = {{a = -1}} +diff -ur orig/rustc-1.25.0-src/src/test/debuginfo/generic-tuple-style-enum.rs rustc-1.25.0-src/src/test/debuginfo/generic-tuple-style-enum.rs +--- orig/rustc-1.25.0-src/src/test/debuginfo/generic-tuple-style-enum.rs 2018-09-13 10:24:33.775565159 +0200 ++++ rustc-1.25.0-src/src/test/debuginfo/generic-tuple-style-enum.rs 2018-09-13 10:28:26.328546298 +0200 +@@ -21,15 +21,15 @@ + + // gdb-command:print case1 + // gdbg-check:$1 = {{RUST$ENUM$DISR = Case1, __0 = 0, __1 = 31868, __2 = 31868, __3 = 31868, __4 = 31868}, {RUST$ENUM$DISR = Case1, [...]}, {RUST$ENUM$DISR = Case1, [...]}} +-// gdbr-check:$1 = generic_tuple_style_enum::Regular::Case1(0, 31868, 31868, 31868, 31868) ++// gdbr-check:$1 = generic_tuple_style_enum::Regular::Case1(0, 31868, 31868, 31868, 31868) + + // gdb-command:print case2 + // gdbg-check:$2 = {{RUST$ENUM$DISR = Case2, [...]}, {RUST$ENUM$DISR = Case2, __0 = 0, __1 = 286331153, __2 = 286331153}, {RUST$ENUM$DISR = Case2, [...]}} +-// gdbr-check:$2 = generic_tuple_style_enum::Regular::Case2(0, 286331153, 286331153) ++// gdbr-check:$2 = generic_tuple_style_enum::Regular::Case2(0, 286331153, 286331153) + + // gdb-command:print case3 + // gdbg-check:$3 = {{RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, __0 = 0, __1 = 6438275382588823897}} +-// gdbr-check:$3 = generic_tuple_style_enum::Regular::Case3(0, 6438275382588823897) ++// gdbr-check:$3 = generic_tuple_style_enum::Regular::Case3(0, 6438275382588823897) + + // gdb-command:print univariant + // gdbg-check:$4 = {{__0 = -1}} diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index f62c48499d..448ce893d4 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -696,7 +696,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (define-public rust-1.25 (let ((base-rust (rust-bootstrapped-package rust-1.24 "1.25.0" - "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf"))) + "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf" + #:patches '("rust-1.25-accept-more-detailed-gdb-lines.patch")))) (package (inherit base-rust) (inputs @@ -735,8 +736,9 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (define-public rust-1.26 (let ((base-rust (rust-bootstrapped-package rust-1.25 "1.26.2" - "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv" - #:patches '("rust-coresimd-doctest.patch")))) + "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv" + #:patches '("rust-coresimd-doctest.patch" + "rust-1.25-accept-more-detailed-gdb-lines.patch")))) (package (inherit base-rust) (arguments @@ -786,7 +788,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" "089d7rhw55zpvnw71dj8vil6qrylvl4xjr4m8bywjj83d4zq1f9c" #:patches '("rust-coresimd-doctest.patch" - "rust-bootstrap-stage0-test.patch")))) + "rust-bootstrap-stage0-test.patch" + "rust-1.25-accept-more-detailed-gdb-lines.patch")))) (package (inherit base-rust) (arguments From b78fe27b317c34411ea3770fd7dbd61fc5af3411 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 13 Sep 2018 17:14:40 +0200 Subject: [PATCH 139/148] gnu: rust@1.25.0: Disable pedantic test. * gnu/packages/rust.scm (rust-1.25)[arguments]<#:phases> [disable-nil-enum-test]: New phase. --- gnu/packages/rust.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 448ce893d4..780c2830c6 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -719,6 +719,13 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (substitute* "config.toml" (("codegen-tests = false") "")) #t)) + ;; FIXME: Re-enable this test if it's indeed supposed to work. + ;; See . + (add-after 'enable-codegen-tests 'disable-nil-enum-test + (lambda _ + (substitute* "src/test/debuginfo/nil-enum.rs" + (("ignore-lldb") "ignore-gdb")) + #t)) (replace 'patch-aarch64-test (lambda _ (substitute* "src/librustc_metadata/dynamic_lib.rs" From 060366f6b311ee3e1a57290bb6a7785417e019b7 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 13 Sep 2018 11:52:10 +0200 Subject: [PATCH 140/148] gnu: rust@1.23.0: Inherit outputs. * gnu/packages/rust.scm (rust-1.23)[outputs]: Inherit. --- gnu/packages/rust.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 780c2830c6..b053bdce62 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -620,7 +620,6 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (name "rust") (version "1.23.0") (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) - (outputs '("out" "doc" "cargo")) (native-inputs `(("bison" ,bison) ; For the tests ("cmake" ,cmake) From fade67ab756602bdeba508fbffa0e35234b58b9c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 13 Sep 2018 18:39:22 +0300 Subject: [PATCH 141/148] gnu: retroarch: Use shared zlib. * gnu/packages/emulators.scm (retroarch)[arguments]: In custom 'configure phase, use our zlib instead of vendor's zlib. --- gnu/packages/emulators.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index e02339af62..f21c322814 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1079,6 +1079,11 @@ emulation community. It provides highly accurate emulation.") (("libvulkan.so") (string-append vulkan "/lib/libvulkan.so"))) (substitute* "qb/qb.libs.sh" (("/bin/true") (which "true"))) + ;; Use shared zlib. + (substitute* '("libretro-common/file/archive_file_zlib.c" + "libretro-common/streams/trans_stream_zlib.c" + "network/httpserver/httpserver.c") + (("") "")) ;; The configure script does not yet accept the extra arguments ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. (zero? (system* From f21967a44bbd948846bdd1bbc370d3d0e3b52185 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 13 Sep 2018 18:40:02 +0300 Subject: [PATCH 142/148] gnu: retroarch: Fix building on armhf-linux. * gnu/packages/emulators.scm (retroarch)[arguments]: Add custom flags when building for armhf-linux. --- gnu/packages/emulators.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index f21c322814..782bff5b18 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1066,7 +1066,7 @@ emulation community. It provides highly accurate emulation.") (base32 "0h6y2hpjg4b470jvn9ghwp0k3a527sbb6xhia17frlm9w9v5028w")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; no tests + `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases (replace 'configure @@ -1086,10 +1086,14 @@ emulation community. It provides highly accurate emulation.") (("") "")) ;; The configure script does not yet accept the extra arguments ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. - (zero? (system* - "./configure" - (string-append "--prefix=" out) - (string-append "--global-config-dir=" etc))))))))) + (invoke + "./configure" + ,@(if (string-prefix? "armhf" (or (%current-target-system) + (%current-system))) + '("--enable-neon" "--enable-floathard") + '()) + (string-append "--prefix=" out) + (string-append "--global-config-dir=" etc)))))))) (inputs `(("alsa-lib" ,alsa-lib) ("ffmpeg" ,ffmpeg) From ef26400b66354942ce784fd3a8ab8eb6c19dc4b7 Mon Sep 17 00:00:00 2001 From: pimi Date: Mon, 3 Sep 2018 15:28:14 +0200 Subject: [PATCH 143/148] gnu: Add r-abf2. gnu/packages/cran.scm (r-abf2): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fd08f5f549..7d65dfbdc1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5717,3 +5717,22 @@ significance or information based criteria with the change in estimate to either select the optimal model for prediction purposes or to serve as a tool to obtain a practically sound, highly interpretable model.") (license license:gpl2+))) + +(define-public r-abf2 + (package + (name "r-abf2") + (version "0.7-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "abf2" version)) + (sha256 + (base32 "0d65mc1w4pbiv7xaqzdlw1bfsxf25587rv597hh41vs0j0zlfpxx")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/abf2/") + (synopsis "Load gap-free axon @code{r-abf2} files") + (description + "This package loads electrophysiology data from ABF2 files, as created by +Axon Instruments/Molecular Devices software. Only files recorded in gap-free +mode are currently supported.") + (license license:artistic2.0))) From 38dc3d6f17bcf54ee3ff1614a392534d3a9e1ecc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 11 Sep 2018 18:23:29 -0400 Subject: [PATCH 144/148] gnu: libinput: Update to 1.12.0. * gnu/packages/freedesktop.scm (libinput): Update to 1.12.0. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 626d883648..8811f9d9de 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -148,14 +148,14 @@ freedesktop.org project.") (define-public libinput (package (name "libinput") - (version "1.11.3") + (version "1.12.0") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" name "-" version ".tar.xz")) (sha256 (base32 - "01nb1shnl871d939wgfd7nc9svclcnfjfhlq64b4yns2dvcr24gk")))) + "1901wxh9k8kz3krfmvacf8xa8r4idfyisw8d80a2ql0bxiw2pb0m")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false"))) From ae72b8f55bba87eb87285eee9bdeaa95f213efd2 Mon Sep 17 00:00:00 2001 From: Manuel Graf Date: Fri, 31 Aug 2018 16:55:57 +0200 Subject: [PATCH 145/148] gnu: Add ClusterShell. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ssh.scm (clustershell): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/ssh.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 03c4e3cc0b..362d427a2e 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017 Stefan Reichör ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Nils Gillmann +;;; Copyright © 2018 Manuel Graf ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,12 +50,14 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:autoload (gnu packages protobuf) (protobuf) + #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -695,3 +698,41 @@ which executes commands on multiple remote hosts in parallel. Pdsh implements dynamically loadable modules for extended functionality such as new remote shell services and remote host selection.") (license license:gpl2+))) + +(define-public clustershell + (package + (name "clustershell") + (version "1.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/cea-hpc/clustershell/archive/v" + version + ".tar.gz")) + (sha256 + (base32 "1qyf6zp5ikk8rk7zvx5ssbgr9si2bqv3a3415590kd07s7i16nmd")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system python-build-system) + (inputs `(("openssh" ,openssh))) + (propagated-inputs `(("python-pyyaml" ,python-pyyaml))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'build 'record-openssh-file-name + (lambda* (#:key inputs #:allow-other-keys) + (let ((ssh (assoc-ref inputs "openssh"))) + (substitute* "lib/ClusterShell/Worker/Ssh.py" + (("info\\(\"ssh_path\"\\) or \"ssh\"") + (string-append "info(\"ssh_path\") or \"" + ssh "/bin/ssh\""))) + #t)))))) + (home-page "https://cea-hpc.github.io/clustershell/") + (synopsis "Scalable event-driven Python framework for cluster administration") + (description + "ClusterShell is an event-driven Python framework, designed to run local +or distant commands in parallel on server farms or on large GNU/Linux +clusters. It will take care of common issues encountered on HPC clusters, +such as operating on groups of nodes, running distributed commands using +optimized execution algorithms, as well as gathering results and merging +identical outputs, or retrieving return codes. ClusterShell takes advantage +of existing remote shell facilities such as SSH.") + (license license:lgpl2.1+))) From 1efcd0f1ea980472659805d91a2bb486b4136f81 Mon Sep 17 00:00:00 2001 From: pimi Date: Mon, 3 Sep 2018 15:45:20 +0200 Subject: [PATCH 146/148] gnu: Add r-abhgenotyper. * gnu/packages/cran.scm (r-abhgenotyper): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 7d65dfbdc1..a05834d7ea 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5736,3 +5736,29 @@ to obtain a practically sound, highly interpretable model.") Axon Instruments/Molecular Devices software. Only files recorded in gap-free mode are currently supported.") (license license:artistic2.0))) + +(define-public r-abhgenotyper + (package + (name "r-abhgenotyper") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ABHgenotypeR" version)) + (sha256 + (base32 "08cpmnaaxsm5c5bjifnfxdlvg5inrf13biqpcl2yq5zpqjmiki0l")))) + (properties `((upstream-name . "ABHgenotypeR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-reshape2" ,r-reshape2))) + (home-page "https://github.com/StefanReuscher/ABHgenotypeR/") + (synopsis "Visualize and manipulate ABH genotypes") + (description + "The @code{r-abhgenotyper} package provides simple imputation, +error-correction and plotting capacities for genotype data. The package is +supposed to serve as an intermediate but independent analysis tool between the +TASSEL GBS pipeline and the @code{r-qtl} package. It provides functionalities +not found in either TASSEL or @code{r-qtl} in addition to visualization of +genotypes as \"graphical genotypes\".") + (license license:gpl3))) From ebb3cdb1ea6540a5c2b81e43c63d095f426d524a Mon Sep 17 00:00:00 2001 From: pimi Date: Mon, 3 Sep 2018 16:16:38 +0200 Subject: [PATCH 147/148] gnu: Add r-abjutils. * gnu/packages/cran.scm (r-abjutils): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a05834d7ea..f8177da013 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5762,3 +5762,38 @@ TASSEL GBS pipeline and the @code{r-qtl} package. It provides functionalities not found in either TASSEL or @code{r-qtl} in addition to visualization of genotypes as \"graphical genotypes\".") (license license:gpl3))) + +(define-public r-abjutils + (package + (name "r-abjutils") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "abjutils" version)) + (sha256 + (base32 "0qrsc4if7aif73qp95lw6b5986c2r0jn7m39123zij8k15vc935b")))) + (build-system r-build-system) + (propagated-inputs + `(("r-devtools" ,r-devtools) + ("r-dplyr" ,r-dplyr) + ("r-glue" ,r-glue) + ("r-httr" ,r-httr) + ("r-magrittr" ,r-magrittr) + ("r-plyr" ,r-plyr) + ("r-progress" ,r-progress) + ("r-purrr" ,r-purrr) + ("r-rstudioapi" ,r-rstudioapi) + ("r-scales" ,r-scales) + ("r-stringi" ,r-stringi) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr))) + (home-page "https://github.com/abjur/abjutils/") + (synopsis "Collection of tools for jurimetrical analysis") + (description + "This package implements general purpose tools, such as functions for +sampling and basic manipulation of Brazilian lawsuits identification number. +It also implements functions for text cleaning, such as accentuation +removal.") + (license license:expat))) From 7d1cc612938565d935c53bd7a429f41d1f048dae Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 13 Sep 2018 13:26:31 -0400 Subject: [PATCH 148/148] Revert "gnu: libinput: Update to 1.12.0." Libinput-minimal has a lot of dependent packages, and this isn't reported by `guix refresh --list-dependent`. We'll save this commit for another time. This reverts commit 38dc3d6f17bcf54ee3ff1614a392534d3a9e1ecc. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 8811f9d9de..626d883648 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -148,14 +148,14 @@ freedesktop.org project.") (define-public libinput (package (name "libinput") - (version "1.12.0") + (version "1.11.3") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" name "-" version ".tar.xz")) (sha256 (base32 - "1901wxh9k8kz3krfmvacf8xa8r4idfyisw8d80a2ql0bxiw2pb0m")))) + "01nb1shnl871d939wgfd7nc9svclcnfjfhlq64b4yns2dvcr24gk")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false")))