From e0b47290a704c954d00d86e0c120fe44946f29f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Jun 2016 21:29:01 +0200 Subject: [PATCH 001/435] services: Add 'gc-root-service-type'. * gnu/services.scm (gc-roots->system-entry): New procedure. (gc-root-service-type): New variable. --- gnu/services.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/services.scm b/gnu/services.scm index 9268c51dd8..50e76df818 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -73,6 +73,7 @@ setuid-program-service-type profile-service-type firmware-service-type + gc-root-service-type %boot-service %activation-service @@ -489,6 +490,33 @@ kernel." (compose concatenate) (extend append))) +(define (gc-roots->system-entry roots) + "Return an entry in the system's output containing symlinks to ROOTS." + (mlet %store-monad ((entry (gexp->derivation + "gc-roots" + #~(let ((roots '#$roots)) + (mkdir #$output) + (chdir #$output) + (for-each symlink + roots + (map number->string + (iota (length roots)))))))) + (return (if (null? roots) + '() + `(("gc-roots" ,entry)))))) + +(define gc-root-service-type + ;; A service to associate extra garbage-collector roots to the system. This + ;; is a simple hack that guarantees that the system retains references to + ;; the given list of roots. Roots must be "lowerable" objects like + ;; packages, or derivations. + (service-type (name 'gc-roots) + (extensions + (list (service-extension system-service-type + gc-roots->system-entry))) + (compose concatenate) + (extend append))) + ;;; ;;; Service folding. From 95fa173ed12b832315d119d635b85813bb5317bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Jun 2016 21:29:43 +0200 Subject: [PATCH 002/435] store: 'register-path' no longer swallows 'system-error' exceptions. * guix/store.scm (register-path): Do not catch 'system-error'. --- guix/store.scm | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/guix/store.scm b/guix/store.scm index a64016611d..276684e2fb 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1061,24 +1061,19 @@ Return #t on success. Use with care as it directly modifies the store! This is primarily meant to be used internally by the daemon's build hook." ;; Currently this is implemented by calling out to the fine C++ blob. - (catch 'system-error - (lambda () - (let ((pipe (apply open-pipe* OPEN_WRITE %guix-register-program - `(,@(if prefix - `("--prefix" ,prefix) - '()) - ,@(if state-directory - `("--state-directory" ,state-directory) - '()))))) - (and pipe - (begin - (format pipe "~a~%~a~%~a~%" - path (or deriver "") (length references)) - (for-each (cut format pipe "~a~%" <>) references) - (zero? (close-pipe pipe)))))) - (lambda args - ;; Failed to run %GUIX-REGISTER-PROGRAM. - #f))) + (let ((pipe (apply open-pipe* OPEN_WRITE %guix-register-program + `(,@(if prefix + `("--prefix" ,prefix) + '()) + ,@(if state-directory + `("--state-directory" ,state-directory) + '()))))) + (and pipe + (begin + (format pipe "~a~%~a~%~a~%" + path (or deriver "") (length references)) + (for-each (cut format pipe "~a~%" <>) references) + (zero? (close-pipe pipe)))))) ;;; From cbbbb7be0fbaa11ff75bce92f2d82131ff8db104 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Jun 2016 22:15:15 +0200 Subject: [PATCH 003/435] utils: 'current-source-directory' resolves relative file names at run time. * guix/utils.scm (absolute-dirname): New procedure. (current-source-directory): Emit code to use it instead of calling 'search-path'. --- guix/utils.scm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/guix/utils.scm b/guix/utils.scm index a642bd3d62..0e20be3c18 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -702,6 +702,18 @@ output port, and PROC's result is returned." ;;; Source location. ;;; +(define (absolute-dirname file) + "Return the absolute name of the directory containing FILE, or #f upon +failure." + (match (search-path %load-path file) + (#f #f) + ((? string? file) + ;; If there are relative names in %LOAD-PATH, FILE can be relative and + ;; needs to be canonicalized. + (if (string-prefix? "/" file) + (dirname file) + (canonicalize-path (dirname file)))))) + (define-syntax current-source-directory (lambda (s) "Return the absolute name of the current directory, or #f if it could not @@ -711,11 +723,13 @@ be determined." (match (assq 'filename (syntax-source s)) (('filename . (? string? file-name)) ;; If %FILE-PORT-NAME-CANONICALIZATION is 'relative, then FILE-NAME - ;; can be relative. In that case, we try to find out the absolute - ;; file name by looking at %LOAD-PATH. + ;; can be relative. In that case, we try to find out at run time + ;; the absolute file name by looking at %LOAD-PATH; doing this at + ;; run time rather than expansion time is necessary to allow files + ;; to be moved on the file system. (if (string-prefix? "/" file-name) (dirname file-name) - (and=> (search-path %load-path file-name) dirname))) + #`(absolute-dirname #,file-name))) (_ #f)))))) From a68d0f6fd5a93dc80fe9d919413f5d3e8db2a5b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Jun 2016 22:30:34 +0200 Subject: [PATCH 004/435] utils: 'current-source-directory' gracefully handles lack of source info. * guix/utils.scm (current-source-directory): Add case for when FILE-NAME is #f. --- guix/utils.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/guix/utils.scm b/guix/utils.scm index 0e20be3c18..69f4e78a85 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -727,9 +727,12 @@ be determined." ;; the absolute file name by looking at %LOAD-PATH; doing this at ;; run time rather than expansion time is necessary to allow files ;; to be moved on the file system. - (if (string-prefix? "/" file-name) - (dirname file-name) - #`(absolute-dirname #,file-name))) + (cond ((not file-name) + #f) ;raising an error would upset Geiser users + ((string-prefix? "/" file-name) + (dirname file-name)) + (else + #`(absolute-dirname #,file-name)))) (_ #f)))))) From 04eb0fab3a5df2c04299b2a4263b966140f11990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Jun 2016 22:26:59 +0200 Subject: [PATCH 005/435] gnu: guix: Add 'current-guix' thunk. * gnu/packages/package-management.scm (source-file?) (make-git-predicate, current-guix): New procedures. --- gnu/packages/package-management.scm | 76 ++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 46743fefb5..f3a1cda149 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -21,9 +21,11 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module ((guix build utils) #:select (with-directory-excursion)) #:use-module ((guix licenses) #:select (gpl2+ gpl3+ lgpl2.1+ asl2.0)) #:use-module (gnu packages) #:use-module (gnu packages guile) @@ -48,7 +50,12 @@ #:use-module (gnu packages popt) #:use-module (gnu packages gnuzilla) #:use-module (gnu packages cpio) - #:use-module (gnu packages tls)) + #:use-module (gnu packages tls) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 popen) + #:use-module (ice-9 rdelim) + #:use-module (ice-9 match)) (define (boot-guile-uri arch) "Return the URI for the bootstrap Guile tarball for ARCH." @@ -246,6 +253,73 @@ the Nix package manager.") (define-public guix guix-devel) +(define (source-file? file stat) + "Return true if FILE is likely a source file, false if it is a typical +generated file." + (define (wrong-extension? file) + (or (string-suffix? "~" file) + (member (file-extension file) + '("o" "a" "lo" "so" "go")))) + + (match (basename file) + ((or ".git" "autom4te.cache" "configure" "Makefile" "Makefile.in" ".libs") + #f) + ((? wrong-extension?) + #f) + (_ + #t))) + +(define (make-git-predicate directory) + "Return a predicate that returns true if a file is part of the Git checkout +living at DIRECTORY. Upon Git failure, return #f instead of a predicate." + (define (parent-directory? thing directory) + ;; Return #t if DIRECTORY is the parent of THING. + (or (string-suffix? thing directory) + (and (string-index thing #\/) + (parent-directory? (dirname thing) directory)))) + + (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)))))) + (status (close-pipe pipe))) + (and (zero? status) + (lambda (file stat) + (match (stat:type stat) + ('directory + ;; 'git ls-files' does not list directories, only regular files, + ;; so we need this special trick. + (any (cut parent-directory? <> file) files)) + ((or 'regular 'symlink) + (any (cut string-suffix? <> file) files)) + (_ + #f)))))) + +(define-public current-guix + (let ((select? (delay (or (make-git-predicate + (string-append (current-source-directory) + "/../..")) + source-file?)))) + (lambda () + "Return a package representing Guix built from the current source tree. +This works by adding the current source tree to the store (after filtering it +out) and returning a package that uses that as its 'source'." + (package + (inherit guix) + (version (string-append (package-version guix) "+")) + (source (local-file "../.." "guix-current" + #:recursive? #t + #:select? (force select?))))))) + + +;;; +;;; Other tools. +;;; + (define-public nix (package (name "nix") From 77559f23b02f80d9e5dd4030e1f67cd954a871ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Jun 2016 23:51:58 +0200 Subject: [PATCH 006/435] tests: Strengthen regexp in 'packages.scm'. * tests/packages.scm ("--search-paths with pattern"): Call 'regexp-quote' on the result of 'derivation->output-path'. --- tests/packages.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/packages.scm b/tests/packages.scm index d3f432ada2..94f5ea71a5 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -797,7 +797,7 @@ #:guile-for-build (%guile-for-build)))) (build-derivations %store (list prof)) (string-match (format #f "^export XML_CATALOG_FILES=\"~a/xml/+bar/baz/catalog\\.xml\"\n" - (derivation->output-path prof)) + (regexp-quote (derivation->output-path prof))) (with-output-to-string (lambda () (guix-package "-p" (derivation->output-path prof) From e3de272a810732a7c8d226717413a6b06b716515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Jun 2016 23:53:24 +0200 Subject: [PATCH 007/435] tests: Export 'run-basic-test'. * gnu/tests/base.scm (run-basic-test): New procedure, extracted from ... (%test-basic-os): ... here. Use it. --- gnu/tests/base.scm | 203 +++++++++++++++++++++++---------------------- 1 file changed, 105 insertions(+), 98 deletions(-) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 0f19449508..ee342ed827 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -30,7 +30,8 @@ #:use-module (guix monads) #:use-module (guix packages) #:use-module (srfi srfi-1) - #:export (%test-basic-os)) + #:export (run-basic-test + %test-basic-os)) (define %simple-os (operating-system @@ -56,6 +57,108 @@ %base-user-accounts)))) +(define* (run-basic-test os command #:optional (name "basic")) + "Return a derivation called NAME that tests basic features of the OS started +using COMMAND, a gexp that evaluates to a list of strings. Compare some +properties of running system to what's declared in OS, an ." + (define test + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-1) + (srfi srfi-26) + (srfi srfi-64) + (ice-9 match)) + + (define marionette + (make-marionette #$command)) + + (mkdir #$output) + (chdir #$output) + + (test-begin "basic") + + (test-assert "uname" + (match (marionette-eval '(uname) marionette) + (#("Linux" "komputilo" version _ "x86_64") + (string-prefix? #$(package-version + (operating-system-kernel os)) + version)))) + + (test-assert "shell and user commands" + ;; Is everything in $PATH? + (zero? (marionette-eval '(system " +. /etc/profile +set -e -x +guix --version +ls --version +grep --version +info --version") + marionette))) + + (test-assert "accounts" + (let ((users (marionette-eval '(begin + (use-modules (ice-9 match)) + (let loop ((result '())) + (match (getpw) + (#f (reverse result)) + (x (loop (cons x result)))))) + marionette))) + (lset= string=? + (map passwd:name users) + (list + #$@(map user-account-name + (operating-system-user-accounts os)))))) + + (test-assert "shepherd services" + (let ((services (marionette-eval '(begin + (use-modules (gnu services herd)) + (call-with-values current-services + append)) + marionette))) + (lset= eq? + (pk 'services services) + '(root #$@(operating-system-shepherd-service-names + (virtualized-operating-system os '())))))) + + (test-equal "login on tty1" + "root\n" + (begin + (marionette-control "sendkey ctrl-alt-f1" marionette) + ;; Wait for the 'term-tty1' service to be running (using + ;; 'start-service' is the simplest and most reliable way to do + ;; that.) + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'term-tty1)) + marionette) + + ;; Now we can type. + (marionette-type "root\n\nid -un > logged-in\n" marionette) + + ;; It can take a while before the shell commands are executed. + (let loop ((i 0)) + (unless (or (file-exists? "/root/logged-in") (> i 15)) + (sleep 1) + (loop (+ i 1)))) + (marionette-eval '(use-modules (rnrs io ports)) marionette) + (marionette-eval '(call-with-input-file "/root/logged-in" + get-string-all) + marionette))) + + (test-assert "screendump" + (begin + (marionette-control (string-append "screendump " #$output + "/tty1.ppm") + marionette) + (file-exists? "tty1.ppm"))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0)))) + + (gexp->derivation name test + #:modules '((gnu build marionette)))) + (define %test-basic-os ;; Monadic derivation that instruments %SIMPLE-OS, runs it in a VM, and runs ;; a series of basic functionality tests. @@ -65,100 +168,4 @@ (guix combinators)))) (run (system-qemu-image/shared-store-script os #:graphic? #f))) - (define test - #~(begin - (use-modules (gnu build marionette) - (srfi srfi-1) - (srfi srfi-26) - (srfi srfi-64) - (ice-9 match)) - - (define marionette - (make-marionette (list #$run))) - - (mkdir #$output) - (chdir #$output) - - (test-begin "basic") - - (test-assert "uname" - (match (marionette-eval '(uname) marionette) - (#("Linux" "komputilo" version _ "x86_64") - (string-prefix? #$(package-version - (operating-system-kernel os)) - version)))) - - (test-assert "shell and user commands" - ;; Is everything in $PATH? - (zero? (marionette-eval '(system " -. /etc/profile -set -e -x -guix --version -ls --version -grep --version -info --version") - marionette))) - - (test-assert "accounts" - (let ((users (marionette-eval '(begin - (use-modules (ice-9 match)) - (let loop ((result '())) - (match (getpw) - (#f (reverse result)) - (x (loop (cons x result)))))) - marionette))) - (lset= string=? - (map passwd:name users) - (list - #$@(map user-account-name - (operating-system-user-accounts os)))))) - - (test-assert "shepherd services" - (let ((services (marionette-eval '(begin - (use-modules (gnu services herd)) - (call-with-values current-services - append)) - marionette))) - (lset= eq? - (pk 'services services) - '(root #$@(operating-system-shepherd-service-names - (virtualized-operating-system os '())))))) - - (test-equal "login on tty1" - "root\n" - (begin - (marionette-control "sendkey ctrl-alt-f1" marionette) - ;; Wait for the 'term-tty1' service to be running (using - ;; 'start-service' is the simplest and most reliable way to do - ;; that.) - (marionette-eval - '(begin - (use-modules (gnu services herd)) - (start-service 'term-tty1)) - marionette) - - ;; Now we can type. - (marionette-type "root\n\nid -un > logged-in\n" marionette) - - ;; It can take a while before the shell commands are executed. - (let loop ((i 0)) - (unless (or (file-exists? "/root/logged-in") (> i 15)) - (sleep 1) - (loop (+ i 1)))) - (marionette-eval '(use-modules (rnrs io ports)) marionette) - (marionette-eval '(call-with-input-file "/root/logged-in" - get-string-all) - marionette))) - - (test-assert "screendump" - (begin - (marionette-control (string-append "screendump " #$output - "/tty1.ppm") - marionette) - (file-exists? "tty1.ppm"))) - - (test-end) - (exit (= (test-runner-fail-count (test-runner-current)) 0)))) - - (gexp->derivation "basic" test - #:modules '((gnu build marionette))))) + (run-basic-test os #~(list #$run)))) From ca7a68ebeb5039883cd43b6165ba1915b0974a41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Jun 2016 00:21:29 +0200 Subject: [PATCH 008/435] tests: Fix list of exports in (gnu tests). * gnu/tests.scm: Export 'marionette-service-type'. --- gnu/tests.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/tests.scm b/gnu/tests.scm index 08d8315ea0..7ca80ebf0e 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -21,7 +21,7 @@ #:use-module (gnu system) #:use-module (gnu services) #:use-module (gnu services shepherd) - #:export (backdoor-service-type + #:export (marionette-service-type marionette-operating-system)) ;;; Commentary: @@ -112,7 +112,7 @@ (define marionette-service-type ;; This is the type of the "marionette" service, allowing a guest system to ;; be manipulated from the host. This marionette REPL is essentially a - ;; universal marionette. + ;; universal backdoor. (service-type (name 'marionette-repl) (extensions (list (service-extension shepherd-root-service-type From db1a496071bc05c0961b61a2e64fb7b25d6856fb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 18 Jun 2016 16:15:02 +0200 Subject: [PATCH 009/435] gnu: Add emacs-org-bullets. * gnu/packages/emacs.scm (emacs-org-bullets): New variable. --- gnu/packages/emacs.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ecefc97bac..bb8723b0ec 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1646,6 +1646,27 @@ that it correctly finds RFCs even when a space appears before the number.") (license license:gpl3+))) +(define-public emacs-org-bullets + (package + (name "emacs-org-bullets") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/sabof/org-bullets/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dyxvpb73vj80v8br2q9rf255hfphrgaw91fbvwdcd735np9pcnh")))) + (build-system emacs-build-system) + (home-page "https://github.com/sabof/org-bullets") + (synopsis "Show bullets in org-mode as UTF-8 characters") + (description + "This package provides an Emacs minor mode causing bullets in +@code{org-mode} to be rendered as UTF-8 characters.") + (license license:gpl3+))) + (define-public emacs-zenburn-theme (package (name "emacs-zenburn-theme") From 79b3d3ea58586bb29ee71c98dcd261154572ace2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 18 Jun 2016 16:16:13 +0200 Subject: [PATCH 010/435] gnu: Add emacs-hydra. * gnu/packages/emacs.scm (emacs-hydra): New variable. --- gnu/packages/emacs.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index bb8723b0ec..32eb844cb0 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1717,6 +1717,33 @@ features found in other packages it also brings many improvements as well as completely new features.") (license license:gpl3+))) +(define-public emacs-hydra + (package + (name "emacs-hydra") + (version "0.13.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/abo-abo/hydra/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19ynkjlg3jj7x90xxbz885324h6nkxmzlb2c2c95xkr20zckn0lk")))) + (build-system emacs-build-system) + (home-page "https://github.com/abo-abo/hydra") + (synopsis "Make Emacs bindings that stick around") + (description + "This package can be used to tie related commands into a family of short +bindings with a common prefix---a Hydra. Once you summon the Hydra (through +the prefixed binding), all the heads can be called in succession with only a +short extension. Any binding that isn't the Hydra's head vanquishes the +Hydra. Note that the final binding, besides vanquishing the Hydra, will still +serve its original purpose, calling the command assigned to it. This makes +the Hydra very seamless; it's like a minor mode that disables itself +automatically.") + (license license:gpl3+))) + (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") From 12db29baafb677cba1a93a8b36cceba93d997541 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 18 Jun 2016 16:15:44 +0200 Subject: [PATCH 011/435] gnu: Add emacs-ivy. * gnu/packages/emacs.scm (emacs-ivy): New variable. --- gnu/packages/emacs.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 32eb844cb0..8648ceb132 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1744,6 +1744,33 @@ the Hydra very seamless; it's like a minor mode that disables itself automatically.") (license license:gpl3+))) +(define-public emacs-ivy + (package + (name "emacs-ivy") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/abo-abo/swiper/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18nqwl05is71dzswnvpfhlg7b0v3apvbsfxrwab9c0apwavi892q")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-hydra" ,emacs-hydra))) + (home-page "http://oremacs.com/swiper/") + (synopsis "Incremental vertical completion for Emacs") + (description + "This package provides @code{ivy-read} as an alternative to +@code{completing-read} and similar functions. No attempt is made to determine +the best candidate. Instead, the user can navigate candidates with +@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by +splitting the input text by spaces and re-building it into a regular +expression.") + (license license:gpl3+))) + (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") From 5edc24ec2cae6c5352ad358971006b1320bf52bf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 18 Jun 2016 16:16:39 +0200 Subject: [PATCH 012/435] gnu: Add emacs-avy. * gnu/packages/emacs.scm (emacs-avy): New variable. --- gnu/packages/emacs.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 8648ceb132..44c4e4e018 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1771,6 +1771,35 @@ splitting the input text by spaces and re-building it into a regular expression.") (license license:gpl3+))) +(define-public emacs-avy + (package + (name "emacs-avy") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/abo-abo/avy/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wdrq512h25ymzjbf2kbsdymvd2ryfwzb6bh5bc3yv7q203im796")))) + (build-system emacs-build-system) + (home-page "https://github.com/abo-abo/avy") + (synopsis "Tree-based completion for Emacs") + (description + "This package provides a generic completion method based on building a +balanced decision tree with each candidate being a leaf. To traverse the tree +from the root to a desired leaf, typically a sequence of @code{read-key} can +be used. + +In order for @code{read-key} to make sense, the tree needs to be visualized +appropriately, with a character at each branch node. So this completion +method works only for things that you can see on your screen, all at once, +such as the positions of characters, words, line beginnings, links, or +windows.") + (license license:gpl3+))) + (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") From 93dba17c63ab879261bc01b865e8c2c5d5c91d29 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 18 Jun 2016 16:17:04 +0200 Subject: [PATCH 013/435] gnu: Add emacs-ace-window. * gnu/packages/emacs.scm (emacs-ace-window): New variable. --- gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 44c4e4e018..db00502738 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1800,6 +1800,31 @@ such as the positions of characters, words, line beginnings, links, or windows.") (license license:gpl3+))) +(define-public emacs-ace-window + (package + (name "emacs-ace-window") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/abo-abo/ace-window/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p2sgfl5dml4zbd6ldql6lm2m9vmd236ah996ni32x254s48j5pn")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-avy" ,emacs-avy))) + (home-page "https://github.com/abo-abo/ace-window") + (synopsis "Quickly switch windows in Emacs") + (description + "@code{ace-window} is meant to replace @code{other-window}. +In fact, when there are only two windows present, @code{other-window} is +called. If there are more, each window will have its first character +highlighted. Pressing that character will switch to that window.") + (license license:gpl3+))) + (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") From e1918ce486e51477b137f93716b58be779dd870f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 18 Jun 2016 16:17:32 +0200 Subject: [PATCH 014/435] gnu: Add emacs-iedit. * gnu/packages/emacs.scm (emacs-iedit): 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 db00502738..7a66f3177e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1825,6 +1825,32 @@ called. If there are more, each window will have its first character highlighted. Pressing that character will switch to that window.") (license license:gpl3+))) +(define-public emacs-iedit + (package + (name "emacs-iedit") + (version "0.9.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/victorhge/iedit/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00v86zllcsivmiibigbr91qij2zdf1lr9db8z8again1sn63wkdj")))) + (build-system emacs-build-system) + (home-page "http://www.emacswiki.org/emacs/Iedit") + (synopsis "Edit multiple regions in the same way simultaneously") + (description + "This package is an Emacs minor mode and allows you to edit one +occurrence of some text in a buffer (possibly narrowed) or region, and +simultaneously have other occurrences edited in the same way. + +You can also use Iedit mode as a quick way to temporarily show only the buffer +lines that match the current text being edited. This gives you the effect of +a temporary @code{keep-lines} or @code{occur}.") + (license license:gpl3+))) + (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") From a5338dd467d32b9f47f6b38059ee8c46104eff8b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 18 Jun 2016 16:18:14 +0200 Subject: [PATCH 015/435] gnu: Add emacs-lispy. * gnu/packages/emacs.scm (emacs-lispy): New variable. --- gnu/packages/emacs.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7a66f3177e..a3b0f63388 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1851,6 +1851,36 @@ lines that match the current text being edited. This gives you the effect of a temporary @code{keep-lines} or @code{occur}.") (license license:gpl3+))) +(define-public emacs-lispy + (package + (name "emacs-lispy") + (version "0.26.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/abo-abo/lispy/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15gig95cvamw5zlw99cxggd27c18b9scznjj97gvjn2zbljcaqzl")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ace-window" ,emacs-ace-window) + ("emacs-iedit" ,emacs-iedit) + ("emacs-ivy" ,emacs-ivy) + ("emacs-hydra" ,emacs-hydra))) + (home-page "https://github.com/abo-abo/lispy") + (synopsis "Modal S-expression editing") + (description + "Due to the structure of Lisp syntax it's very rare for the programmer to +want to insert characters right before \"(\" or right after \")\". Thus +unprefixed printable characters can be used to call commands when the point is +at one of these special locations. Lispy provides unprefixed keybindings for +S-expression editing when point is at the beginning or end of an +S-expression.") + (license license:gpl3+))) + (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") From 426bfed40568312e1514491b34ca7c15b3d11cbd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Jun 2016 12:56:03 +0300 Subject: [PATCH 016/435] gnu: screen: Update to 4.4.0. * gnu/packages/screen.scm (screen): Update to 4.4.0. --- gnu/packages/screen.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index 5827a1c53e..a4eefd85a6 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -34,13 +34,13 @@ (define-public screen (package (name "screen") - (version "4.3.1") + (version "4.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/screen/screen-" version ".tar.gz")) (sha256 - (base32 "0qwxd4axkgvxjigz9xs0kcv6qpfkrzr2gm43w9idx0z2mvw4jh7s")))) + (base32 "12r12xwhsg59mlprikbbmn60gh8lqhrvyar7mlxg4fwsfma2lwpg")))) (build-system gnu-build-system) (native-inputs `(("makeinfo" ,texinfo))) From 2d5907ad3c35eb7880df03cd3ac6c1bde2c4ff5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 17 Jun 2016 22:44:56 +0800 Subject: [PATCH 017/435] gnu: Add guile-dbi. * gnu/packages/guile.scm (guile-dbi): New variable. --- gnu/packages/guile.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 6e4722c182..1a180a4ec7 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1007,4 +1007,42 @@ provides access to that interface and its types from the Scheme level.") (home-page "http://www.nongnu.org/g-wrap/index.html") (license lgpl2.1+))) +(define-public guile-dbi + (package + (name "guile-dbi") + (version "2.1.6") + (source (origin + (method url-fetch) + (uri (string-append + "http://download.gna.org/guile-dbi/guile-dbi-" + version ".tar.gz")) + (sha256 + (base32 + "116njrprhgrsv1qm904sp3b02rq01fx639r433d657gyhw3x159n")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append + "--with-guile-site-dir=" %output "/share/guile/site/2.0")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'patch-extension-path + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dbi.scm (string-append + out "/share/guile/site/2.0/dbi/dbi.scm")) + (ext (string-append out "/lib/libguile-dbi"))) + (substitute* dbi.scm (("libguile-dbi") ext)) + #t)))))) + (propagated-inputs + `(("guile" ,guile-2.0))) + (synopsis "Guile database abstraction layer") + (home-page "http://home.gna.org/guile-dbi/guile-dbi.html") + (description + "guile-dbi is a library for Guile that provides a convenient interface to +SQL databases. Database programming with guile-dbi is generic in that the same +programming interface is presented regardless of which database system is used. +It currently supports MySQL, Postgres and SQLite3.") + (license gpl2+))) + ;;; guile.scm ends here From b9cbfa52f71505de8447fefabd97f16d0a9cbde6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 18 Jun 2016 15:49:36 +0800 Subject: [PATCH 018/435] gnu: Add guile-dbd-sqlite3. * gnu/packages/guile.scm (guile-dbd-sqlite3): New variable. --- gnu/packages/guile.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 1a180a4ec7..2fb2c7ff91 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1045,4 +1045,31 @@ programming interface is presented regardless of which database system is used. It currently supports MySQL, Postgres and SQLite3.") (license gpl2+))) +(define-public guile-dbd-sqlite3 + (package + (name "guile-dbd-sqlite3") + (version "2.1.6") + (source (origin + (method url-fetch) + (uri (string-append + "http://download.gna.org/guile-dbi/guile-dbd-sqlite3-" + version ".tar.gz")) + (sha256 + (base32 + "0rg71jchxd2y8x496s8zmfmikr5g8zxi8zv2ar3f7a23pph92iw2")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("sqlite" ,sqlite) + ("zlib" ,(@ (gnu packages compression) zlib)))) + (propagated-inputs + `(("guile-dbi" ,guile-dbi))) + (synopsis "Guile DBI driver for SQLite") + (home-page "https://github.com/jkalbhenn/guile-dbd-sqlite3") + (description + "guile-dbi is a library for Guile that provides a convenient interface to +SQL databases. This package implements the interface for SQLite.") + (license gpl2+))) + ;;; guile.scm ends here From 3099354dd4528a1889e3da2b5515bbf0efad4ce0 Mon Sep 17 00:00:00 2001 From: ng0 Date: Mon, 20 Jun 2016 12:48:11 +0000 Subject: [PATCH 019/435] gnu: perl-uri: Update to 1.71. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/web.scm (perl-uri): Update to 1.71. Signed-off-by: 宋文武 --- gnu/packages/web.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 9f36fce027..f796c135eb 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2016 Rene Saavedra ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 Clément Lassieur +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -2899,14 +2900,14 @@ applications.") (define-public perl-uri (package (name "perl-uri") - (version "1.67") + (version "1.71") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "URI-" version ".tar.gz")) (sha256 (base32 - "0ki7i830gs0cwwwjsyv3s6yy1l76ym8pfqp0lp7vw0j9bwyx923h")))) + "05a1ck1bhvqkkk690xhsxf7276dnagk96qkh2jy4prrrgw6wm3lw")))) (build-system perl-build-system) (license (package-license perl)) (synopsis "Perl Uniform Resource Identifiers (absolute and relative)") From d2cc38b7135b26793870d07751bdbd467296d93b Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 19 Jun 2016 18:56:56 -0400 Subject: [PATCH 020/435] gnu: Add quesoglc. * gnu/packages/game-development.scm (quesoglc): New variable. --- gnu/packages/game-development.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 56617bb895..b11285ab54 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -34,6 +34,8 @@ #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages fribidi) #:use-module (gnu packages glib) #:use-module (gnu packages gnunet) #:use-module (gnu packages guile) @@ -432,3 +434,28 @@ It offers the following features: import into a database. @end enumerate") (license license:gpl2+))) + +(define-public quesoglc + (package + (name "quesoglc") + (version "0.7.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name "/" version "/" + name "-" version "-free.tar.bz2")) + (sha256 + (base32 + "08ddhywdy2qg17m592ng3yr0p1ih96irg8wg729g75hsxxq9ipks")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("fontconfig" ,fontconfig) + ("freeglute" ,freeglut) + ("fribidi" ,fribidi) + ("glew" ,glew))) + (home-page "http://quesoglc.sourceforge.net") + (synopsis "Implementation of the OpenGL Character Renderer (GLC)") + (description + "The OpenGL Character Renderer (GLC) is a state machine that provides +OpenGL programs with character rendering services via an application programming +interface (API).") + (license (list license:expat license:lgpl2.1+)))) From acb6a8984ef69b9fcfc52448a36471a677b605ba Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Jun 2016 18:28:44 +0300 Subject: [PATCH 021/435] gnu: chicken: Update to 4.11.0 [fixes CVE-2014-9651]. * gnu/packages/scheme.scm (chicken): Update to 4.11.0. --- gnu/packages/scheme.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 6baee2b309..e4a26ed16e 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -317,14 +317,14 @@ mashups, office (web agendas, mail clients, ...), etc.") (define-public chicken (package (name "chicken") - (version "4.10.0") + (version "4.11.0") (source (origin (method url-fetch) (uri (string-append "http://code.call-cc.org/releases/" version "/chicken-" version ".tar.gz")) (sha256 (base32 - "16w96jrhb6qf62fgznk53f55yhfv81damghdjn31k5hirnmza1qf")))) + "12ddyiikqknpr8h6llsxbg2fz75xnayvcnsvr1cwv8xnjn7jpp73")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From e52509a5ffe526266488b9ad0ac8de323bc9f9f9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 17 Jun 2016 17:41:20 -0400 Subject: [PATCH 022/435] gnu: git: Update to 2.9.0 * gnu/packages/version-control.scm (git): Update to 2.9.0. (git-manpages)[source]: Update hash. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 801bd29442..2b2076c484 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -112,14 +112,14 @@ as well as the classic centralized workflow.") ;; Keep in sync with 'git-manpages'! (package (name "git") - (version "2.8.4") + (version "2.9.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "0mqnzs4wz2x1fa6kq2ckgf42fgx6qwp64ra1lgg73245l4r9l3hj")))) + "02dl8yvvl7m4zy39s0xmqr958ah7krvkv94lmx4vz3wl95wsj7zl")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -292,7 +292,7 @@ everything from small to very large projects with speed and efficiency.") version ".tar.xz")) (sha256 (base32 - "1xdpp1i8sgdzk708vnxrm1z6dg4mip12fswihb8hlg2v5qqgrpfj")))) + "0ic4zs4axkkwa44nqv5iihj3q2nm42kx0j8scnfp1z93m6pw31fw")))) (build-system trivial-build-system) (arguments '(#:modules ((guix build utils)) From 6d32dd8cef5891051a723e9f8c054b0e6ff4687b Mon Sep 17 00:00:00 2001 From: Lukas Gradl Date: Sun, 5 Jun 2016 15:35:24 -0500 Subject: [PATCH 023/435] gnu: Add argon2. * gnu/packages/password-utils.scm (argon2): New variable. Signed-off-by: Leo Famulari --- gnu/packages/password-utils.scm | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 30ed13093e..1579821385 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 Jessica Tallon ;;; Copyright © 2016 Andreas Enge +;;; Copyright © 2016 Lukas Gradl ;;; ;;; This file is part of GNU Guix. ;;; @@ -295,3 +296,39 @@ Synchronization is possible using the integrated git support, which commits changes to your password database to a git repository that can be managed through the pass command.") (license license:gpl2+))) + +(define-public argon2 + (package + (name "argon2") + (version "20160406") + (source + (origin + (method url-fetch) + (uri + (string-append + "https://codeload.github.com/P-H-C/phc-winner-" + name "/tar.gz/" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g6wa94sh639xl1qc8z21q43r1mp8y77r1zf8nwx5pfsxd8fmyzv")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:make-flags '("CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (let ((out (assoc-ref %outputs "out"))) + (install-file "argon2" (string-append out "/bin")) + (install-file "libargon2.a" (string-append out "/lib")) + (install-file "libargon2.so" (string-append out "/lib")) + (copy-recursively "include" + (string-append out "/include")))))))) + (home-page "https://www.argon2.com/") + (synopsis "Password hashing library") + (description "Argon2 provides a key derivation function that was declared +winner of the 2015 Password Hashing Competition.") + (license license:cc0))) From b0d388c9dc0d20c12e15bf9a4f1c292873701eee Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 20 Jun 2016 10:54:05 -0400 Subject: [PATCH 024/435] gnu: guile-next: Update to 2.1.3. * gnu/packages/guile.scm (guile-next): Update to 2.1.3. --- gnu/packages/guile.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 2fb2c7ff91..2d895abe00 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -199,14 +199,14 @@ without requiring the source code to be rewritten.") (define-public guile-next (package (inherit guile-2.0) (name "guile-next") - (version "2.1.2") + (version "2.1.3") (source (origin (method url-fetch) (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-" version ".tar.xz")) (sha256 (base32 - "0p971k3v04jj5klnv145g4172cpcp90arf0wvxxj2aqkg16j9m9c")) + "1k48wqca2hrsbfq4ssiv4pg9jwlqncs5iwwxklk2bnczi7lavv78")) (modules '((guix build utils))) ;; Remove the pre-built object files. Instead, build everything From 908935b512c1c22839eef201ff80d0bdef093962 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Jun 2016 21:39:23 +0200 Subject: [PATCH 025/435] tests: base: Fully honor the OS passed to 'run-basic-test'. * gnu/tests/base.scm (run-basic-test)["uname"]: Use the host name of OS. ["shepherd services"]: Use service names from OS. (%test-basic-os): Add call to 'virtualized-operating-system'. --- gnu/tests/base.scm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index ee342ed827..b417bc4bda 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -79,10 +79,12 @@ properties of running system to what's declared in OS, an ." (test-assert "uname" (match (marionette-eval '(uname) marionette) - (#("Linux" "komputilo" version _ "x86_64") - (string-prefix? #$(package-version - (operating-system-kernel os)) - version)))) + (#("Linux" host-name version _ "x86_64") + (and (string=? host-name + #$(operating-system-host-name os)) + (string-prefix? #$(package-version + (operating-system-kernel os)) + version))))) (test-assert "shell and user commands" ;; Is everything in $PATH? @@ -117,8 +119,7 @@ info --version") marionette))) (lset= eq? (pk 'services services) - '(root #$@(operating-system-shepherd-service-names - (virtualized-operating-system os '())))))) + '(root #$@(operating-system-shepherd-service-names os))))) (test-equal "login on tty1" "root\n" @@ -168,4 +169,8 @@ info --version") (guix combinators)))) (run (system-qemu-image/shared-store-script os #:graphic? #f))) - (run-basic-test os #~(list #$run)))) + ;; XXX: Add call to 'virtualized-operating-system' to get the exact same + ;; set of services as the OS produced by + ;; 'system-qemu-image/shared-store-script'. + (run-basic-test (virtualized-operating-system os '()) + #~(list #$run)))) From b1dd6ac55d567ca3a1a063efe2a003a9fee9458c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Jun 2016 23:03:08 +0200 Subject: [PATCH 026/435] vm: 'qemu-command' honors its argument. * gnu/build/vm.scm (qemu-command): Refer to SYSTEM rather than %HOST-TYPE in the body. --- gnu/build/vm.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 48e701adbe..cc5cf45362 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 Leo Famulari ;;; @@ -55,8 +55,8 @@ (define* (qemu-command #:optional (system %host-type)) "Return the default name of the QEMU command for SYSTEM." - (let ((cpu (substring %host-type 0 - (string-index %host-type #\-)))) + (let ((cpu (substring system 0 + (string-index system #\-)))) (string-append "qemu-system-" (if (string-match "^i[3456]86$" cpu) "i386" From 94b4274d0dc5768bac255980c7e785bd3dff261f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Jun 2016 21:51:59 +0200 Subject: [PATCH 027/435] tests: Add system installation test. * gnu/tests.scm (define-os-with-source): New macro. * gnu/tests/install.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * build-aux/run-system-tests.scm (%system-tests): Likewise. --- build-aux/run-system-tests.scm | 4 +- gnu/local.mk | 3 +- gnu/tests.scm | 22 +++- gnu/tests/install.scm | 205 +++++++++++++++++++++++++++++++++ 4 files changed, 231 insertions(+), 3 deletions(-) create mode 100644 gnu/tests/install.scm diff --git a/build-aux/run-system-tests.scm b/build-aux/run-system-tests.scm index e98de9cb7e..4ce9b83fed 100644 --- a/build-aux/run-system-tests.scm +++ b/build-aux/run-system-tests.scm @@ -18,6 +18,7 @@ (define-module (run-system-tests) #:use-module (gnu tests base) + #:use-module (gnu tests install) #:use-module (guix store) #:use-module (guix monads) #:use-module (guix derivations) @@ -45,7 +46,8 @@ (lift1 reverse %store-monad)))) (define %system-tests - (list %test-basic-os)) + (list %test-basic-os + %test-installed-os)) (define (run-system-tests . args) (with-store store diff --git a/gnu/local.mk b/gnu/local.mk index 55fea0e855..150d6af553 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -409,7 +409,8 @@ GNU_SYSTEM_MODULES = \ %D%/build/vm.scm \ \ %D%/tests.scm \ - %D%/tests/base.scm + %D%/tests/base.scm \ + %D%/tests/install.scm patchdir = $(guilemoduledir)/%D%/packages/patches diff --git a/gnu/tests.scm b/gnu/tests.scm index 7ca80ebf0e..348b5ad40f 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -22,7 +22,8 @@ #:use-module (gnu services) #:use-module (gnu services shepherd) #:export (marionette-service-type - marionette-operating-system)) + marionette-operating-system + define-os-with-source)) ;;; Commentary: ;;; @@ -127,4 +128,23 @@ in a virtual machine--i.e., controlled from the host system." (services (cons (service marionette-service-type imported-modules) (operating-system-user-services os))))) +(define-syntax define-os-with-source + (syntax-rules (use-modules operating-system) + "Define two variables: OS containing the given operating system, and +SOURCE containing the source to define OS as an sexp. + +This is convenient when we need both the object so we can +instantiate it, and the source to create it so we can store in in a file in +the system under test." + ((_ (os source) + (use-modules modules ...) + (operating-system fields ...)) + (begin + (define os + (operating-system fields ...)) + (define source + '(begin + (use-modules modules ...) + (operating-system fields ...))))))) + ;;; tests.scm ends here diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm new file mode 100644 index 0000000000..0b3950a212 --- /dev/null +++ b/gnu/tests/install.scm @@ -0,0 +1,205 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu tests install) + #:use-module (gnu) + #:use-module (gnu tests) + #:use-module (gnu tests base) + #:use-module (gnu system) + #:use-module (gnu system install) + #:use-module (gnu system vm) + #:use-module ((gnu build vm) #:select (qemu-command)) + #:use-module (gnu packages qemu) + #:use-module (gnu packages package-management) + #:use-module (guix store) + #:use-module (guix monads) + #:use-module (guix packages) + #:use-module (guix grafts) + #:use-module (guix gexp) + #:use-module (guix utils) + #:export (%test-installed-os)) + +;;; Commentary: +;;; +;;; Test the installation of GuixSD using the documented approach at the +;;; command line. +;;; +;;; Code: + +(define-os-with-source (%minimal-os %minimal-os-source) + ;; The OS we want to install. + (use-modules (gnu) (gnu tests) (srfi srfi-1)) + + (operating-system + (host-name "liberigilo") + (timezone "Europe/Paris") + (locale "en_US.UTF-8") + + (bootloader (grub-configuration (device "/dev/vdb"))) + (kernel-arguments '("console=ttyS0")) + (file-systems (cons (file-system + (device "my-root") + (title 'label) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (users (cons (user-account + (name "alice") + (comment "Bob's sister") + (group "users") + (supplementary-groups '("wheel" "audio" "video")) + (home-directory "/home/alice")) + %base-user-accounts)) + (services (cons (service marionette-service-type + '((gnu services herd) + (guix combinators))) + %base-services)))) + +(define (operating-system-with-current-guix os) + "Return a variant of OS that uses the current Guix." + (operating-system + (inherit os) + (services (modify-services (operating-system-user-services os) + (guix-service-type config => + (guix-configuration + (inherit config) + (guix (current-guix)))))))) + +(define (operating-system-with-gc-roots os roots) + "Return a variant of OS where ROOTS are registered as GC roots." + (operating-system + (inherit os) + (services (cons (service gc-root-service-type roots) + (operating-system-user-services os))))) + + +(define MiB (expt 2 20)) + +(define* (run-install #:key + (os (marionette-operating-system + ;; Since the image has no network access, use the + ;; current Guix so the store items we need are in + ;; the image. + (operating-system + (inherit (operating-system-with-current-guix + installation-os)) + (kernel-arguments '("console=ttyS0"))) + #:imported-modules '((gnu services herd) + (guix combinators)))) + (target-size (* 1200 MiB))) + "Run the GuixSD installation procedure from OS and return a VM image of +TARGET-SIZE bytes containing the installed system." + + (mlet* %store-monad ((_ (set-grafting #f)) + (system (current-system)) + (target (operating-system-derivation %minimal-os)) + + ;; Since the installation system has no network access, + ;; we cheat a little bit by adding TARGET to its GC + ;; roots. This way, we know 'guix system init' will + ;; succeed. + (image (system-disk-image + (operating-system-with-gc-roots + os (list target)) + #:disk-image-size (* 1500 MiB)))) + (define install + #~(begin + (use-modules (guix build utils) + (gnu build marionette)) + + (set-path-environment-variable "PATH" '("bin") + (list #$qemu-minimal)) + + (system* "qemu-img" "create" "-f" "qcow2" + #$output #$(number->string target-size)) + + (define marionette + (make-marionette + (cons (which #$(qemu-command system)) + (cons* "-no-reboot" "-m" "800" + "-drive" + (string-append "file=" #$image + ",if=virtio,readonly") + "-drive" + (string-append "file=" #$output ",if=virtio") + (if (file-exists? "/dev/kvm") + '("-enable-kvm") + '()))))) + + (pk 'uname (marionette-eval '(uname) marionette)) + + ;; Wait for tty1. + (marionette-eval '(begin + (use-modules (gnu services herd)) + (start 'term-tty1)) + marionette) + + (marionette-eval '(call-with-output-file "/etc/litl-config.scm" + (lambda (port) + (write '#$%minimal-os-source port))) + marionette) + + (exit (marionette-eval '(zero? (system " +. /etc/profile +set -e -x; +guix --version +guix gc --list-live | grep isc-dhcp + +export GUIX_BUILD_OPTIONS=--no-grafts +guix build isc-dhcp +parted --script /dev/vdb mklabel gpt \\ + mkpart primary ext2 1M 3M \\ + mkpart primary ext2 3M 1G \\ + set 1 boot on \\ + set 1 bios_grub on +mkfs.ext4 -L my-root /dev/vdb2 +ls -l /dev/vdb +mount /dev/vdb2 /mnt +df -h /mnt +herd start cow-store /mnt +mkdir /mnt/etc +cp /etc/litl-config.scm /mnt/etc/config.scm +guix system init /mnt/etc/config.scm /mnt --no-substitutes +sync +reboot\n")) + marionette)))) + + (gexp->derivation "installation" install + #:modules '((guix build utils) + (gnu build marionette))))) + + +(define %test-installed-os + ;; Test basic functionality of an OS installed like one would do by hand. + ;; This test is expensive in terms of CPU and storage usage since we need to + ;; build (current-guix) and then store a couple of full system images. + (mlet %store-monad ((image (run-install)) + (system (current-system))) + (run-basic-test %minimal-os + #~(let ((image #$image)) + ;; First we need a writable copy of the image. + (format #t "copying image '~a'...~%" image) + (copy-file image "disk.img") + (chmod "disk.img" #o644) + (list (string-append #$qemu-minimal "/bin/" + #$(qemu-command system)) + "-enable-kvm" "-no-reboot" "-m" "256" + "-drive" "file=disk.img,if=virtio")) + "installed-os"))) + +;;; install.scm ends here From 2a6ba870867e31a32faca0dbf0e062bf9f5c0d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Jun 2016 22:30:16 +0200 Subject: [PATCH 028/435] packages: Export 'scheme-modules'. * gnu/packages.scm (package-modules): Rename to... (scheme-modules): ... this. Export. Update callers. --- gnu/packages.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages.scm b/gnu/packages.scm index 7130f58fdd..9496a270eb 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -45,6 +45,7 @@ %package-module-path fold-packages + scheme-modules ;XXX: for lack of a better place find-packages-by-name find-best-packages-by-name @@ -158,8 +159,8 @@ returned list is sorted in alphabetical order." (map string->symbol (string-tokenize (string-drop-right file 4) not-slash))))) -(define* (package-modules directory #:optional sub-directory) - "Return the list of modules that provide packages for the distribution. +(define* (scheme-modules directory #:optional sub-directory) + "Return the list of Scheme modules available under DIRECTORY. Optionally, narrow the search to SUB-DIRECTORY." (define prefix-len (string-length directory)) @@ -184,9 +185,9 @@ search." (fold-right (lambda (spec result) (match spec ((? string? directory) - (append (package-modules directory) result)) + (append (scheme-modules directory) result)) ((directory . sub-directory) - (append (package-modules directory sub-directory) + (append (scheme-modules directory sub-directory) result)))) '() path)) From 98b65b5ff6b1dea0ad58b0f47dd163c32d0cbf6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Jun 2016 22:34:13 +0200 Subject: [PATCH 029/435] tests: Add a mechanism to describe and discover system tests. * gnu/tests.scm (): New record type. (write-system-test, test-modules, fold-system-tests) (all-system-tests): New procedures. * gnu/tests/base.scm (%test-basic-os): Turn into a . * gnu/tests/install.scm (%test-installed-os): Likewise. * build-aux/run-system-tests.scm (%system-tests): Remove. (run-system-tests): Use 'all-system-tests'. --- Makefile.am | 1 - build-aux/run-system-tests.scm | 15 ++++---- gnu/tests.scm | 68 +++++++++++++++++++++++++++++++++- gnu/tests/base.scm | 30 ++++++++------- gnu/tests/install.scm | 36 ++++++++++-------- 5 files changed, 112 insertions(+), 38 deletions(-) diff --git a/Makefile.am b/Makefile.am index 8fd1c1b0b6..37a0aef7dc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -334,7 +334,6 @@ check-local: endif !CAN_RUN_TESTS check-system: $(GOBJECTS) - $(AM_V_at)echo "Running system tests..." $(AM_V_at)$(top_builddir)/pre-inst-env \ $(GUILE) --no-auto-compile \ -e '(@@ (run-system-tests) run-system-tests)' \ diff --git a/build-aux/run-system-tests.scm b/build-aux/run-system-tests.scm index 4ce9b83fed..f7c99def23 100644 --- a/build-aux/run-system-tests.scm +++ b/build-aux/run-system-tests.scm @@ -17,8 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (run-system-tests) - #:use-module (gnu tests base) - #:use-module (gnu tests install) + #:use-module (gnu tests) #:use-module (guix store) #:use-module (guix monads) #:use-module (guix derivations) @@ -45,14 +44,16 @@ lst) (lift1 reverse %store-monad)))) -(define %system-tests - (list %test-basic-os - %test-installed-os)) - (define (run-system-tests . args) + (define tests + (all-system-tests)) + + (format (current-error-port) "Running ~a system tests...~%" + (length tests)) + (with-store store (run-with-store store - (mlet* %store-monad ((drv (sequence %store-monad %system-tests)) + (mlet* %store-monad ((drv (mapm %store-monad system-test-value tests)) (out -> (map derivation->output-path drv))) (mbegin %store-monad (show-what-to-build* drv) diff --git a/gnu/tests.scm b/gnu/tests.scm index 348b5ad40f..ea779ed6f0 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -18,12 +18,28 @@ (define-module (gnu tests) #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix records) #:use-module (gnu system) #:use-module (gnu services) #:use-module (gnu services shepherd) + #:use-module ((gnu packages) #:select (scheme-modules)) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9 gnu) + #:use-module (ice-9 match) #:export (marionette-service-type marionette-operating-system - define-os-with-source)) + define-os-with-source + + system-test + system-test? + system-test-name + system-test-value + system-test-description + system-test-location + + fold-system-tests + all-system-tests)) ;;; Commentary: ;;; @@ -147,4 +163,54 @@ the system under test." (use-modules modules ...) (operating-system fields ...))))))) + +;;; +;;; Tests. +;;; + +(define-record-type* system-test make-system-test + system-test? + (name system-test-name) ;string + (value system-test-value) ;%STORE-MONAD value + (description system-test-description) ;string + (location system-test-location (innate) ; + (default (and=> (current-source-location) + source-properties->location)))) + +(define (write-system-test test port) + (match test + (($ name _ _ ($ file line)) + (format port "#" + name file line + (number->string (object-address test) 16))) + (($ name) + (format port "#" name + (number->string (object-address test) 16))))) + +(set-record-type-printer! write-system-test) + +(define (test-modules) + "Return the list of modules that define system tests." + (scheme-modules (dirname (search-path %load-path "guix.scm")) + "gnu/tests")) + +(define (fold-system-tests proc seed) + "Invoke PROC on each system test, passing it the test and the previous +result." + (fold (lambda (module result) + (fold (lambda (thing result) + (if (system-test? thing) + (proc thing result) + result)) + result + (module-map (lambda (sym var) + (false-if-exception (variable-ref var))) + module))) + '() + (test-modules))) + +(define (all-system-tests) + "Return the list of system tests." + (reverse (fold-system-tests cons '()))) + ;;; tests.scm ends here diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index b417bc4bda..3dfa28f7f5 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -161,16 +161,20 @@ info --version") #:modules '((gnu build marionette)))) (define %test-basic-os - ;; Monadic derivation that instruments %SIMPLE-OS, runs it in a VM, and runs - ;; a series of basic functionality tests. - (mlet* %store-monad ((os -> (marionette-operating-system - %simple-os - #:imported-modules '((gnu services herd) - (guix combinators)))) - (run (system-qemu-image/shared-store-script - os #:graphic? #f))) - ;; XXX: Add call to 'virtualized-operating-system' to get the exact same - ;; set of services as the OS produced by - ;; 'system-qemu-image/shared-store-script'. - (run-basic-test (virtualized-operating-system os '()) - #~(list #$run)))) + (system-test + (name "basic") + (description + "Instrument %SIMPLE-OS, run it in a VM, and runs a series of basic +functionality tests.") + (value + (mlet* %store-monad ((os -> (marionette-operating-system + %simple-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + (run (system-qemu-image/shared-store-script + os #:graphic? #f))) + ;; XXX: Add call to 'virtualized-operating-system' to get the exact same + ;; set of services as the OS produced by + ;; 'system-qemu-image/shared-store-script'. + (run-basic-test (virtualized-operating-system os '()) + #~(list #$run)))))) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 0b3950a212..c33919ba2f 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -185,21 +185,25 @@ reboot\n")) (define %test-installed-os - ;; Test basic functionality of an OS installed like one would do by hand. - ;; This test is expensive in terms of CPU and storage usage since we need to - ;; build (current-guix) and then store a couple of full system images. - (mlet %store-monad ((image (run-install)) - (system (current-system))) - (run-basic-test %minimal-os - #~(let ((image #$image)) - ;; First we need a writable copy of the image. - (format #t "copying image '~a'...~%" image) - (copy-file image "disk.img") - (chmod "disk.img" #o644) - (list (string-append #$qemu-minimal "/bin/" - #$(qemu-command system)) - "-enable-kvm" "-no-reboot" "-m" "256" - "-drive" "file=disk.img,if=virtio")) - "installed-os"))) + (system-test + (name "installed-os") + (description + "Test basic functionality of an OS installed like one would do by hand. +This test is expensive in terms of CPU and storage usage since we need to +build (current-guix) and then store a couple of full system images.") + (value + (mlet %store-monad ((image (run-install)) + (system (current-system))) + (run-basic-test %minimal-os + #~(let ((image #$image)) + ;; First we need a writable copy of the image. + (format #t "copying image '~a'...~%" image) + (copy-file image "disk.img") + (chmod "disk.img" #o644) + (list (string-append #$qemu-minimal "/bin/" + #$(qemu-command system)) + "-enable-kvm" "-no-reboot" "-m" "256" + "-drive" "file=disk.img,if=virtio")) + "installed-os"))))) ;;; install.scm ends here From de7e0e8ee07803f1cb7521f51d0f14e487182658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Jun 2016 22:53:22 +0200 Subject: [PATCH 030/435] build: 'make check-system' now honors $TESTS. * build-aux/run-system-tests.scm (run-system-tests)[tests]: Honor the 'TESTS' environment variable. --- build-aux/run-system-tests.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/build-aux/run-system-tests.scm b/build-aux/run-system-tests.scm index f7c99def23..3f3a70e7b4 100644 --- a/build-aux/run-system-tests.scm +++ b/build-aux/run-system-tests.scm @@ -24,6 +24,7 @@ #:use-module (guix ui) #:use-module (srfi srfi-1) #:use-module (srfi srfi-34) + #:use-module (ice-9 match) #:export (run-system-tests)) (define (built-derivations* drv) @@ -46,7 +47,17 @@ (define (run-system-tests . args) (define tests - (all-system-tests)) + ;; Honor the 'TESTS' environment variable so that one can select a subset + ;; of tests to run in the usual way: + ;; + ;; make check-system TESTS=installed-os + (match (getenv "TESTS") + (#f + (all-system-tests)) + ((= string-tokenize (tests ...)) + (filter (lambda (test) + (member (system-test-name test) tests)) + (all-system-tests))))) (format (current-error-port) "Running ~a system tests...~%" (length tests)) From a9601e23528c6018a3a6d4ad44b7d119df67ab6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Jun 2016 23:46:32 +0200 Subject: [PATCH 031/435] gexp: Use a relative file name. This is a followup to cbbbb7be0fbaa11ff75bce92f2d82131ff8db104. * guix/gexp.scm (%utils-module): Use a file name relative to this file instead of using 'search-path'. --- guix/gexp.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 2bf1013b3c..b929b79c26 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -856,8 +856,10 @@ and in the current monad setting (system type, etc.)" (define %utils-module ;; This file provides 'mkdir-p', needed to implement 'imported-files' and - ;; other primitives below. - (local-file (search-path %load-path "guix/build/utils.scm") + ;; other primitives below. Note: We give the file name relative to this + ;; file you are currently reading; 'search-path' could return a file name + ;; relative to the current working directory. + (local-file "build/utils.scm" "build-utils.scm")) (define* (imported-files files From e702e26a38f868bf3ffb5bbf3316d46d4c4bbb32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Jun 2016 23:49:47 +0200 Subject: [PATCH 032/435] hydra: Add jobs for the system tests. * build-aux/hydra/gnu-system.scm (%guixsd-supported-systems): New variable. (qemu-jobs): Use it. (system-test-jobs): New procedure. (hydra-jobs): Use it. --- build-aux/hydra/gnu-system.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index d15be1bad2..4c27a9da1b 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -59,6 +59,7 @@ (gnu system) (gnu system vm) (gnu system install) + (gnu tests) (srfi srfi-1) (srfi srfi-26) (ice-9 match)) @@ -129,6 +130,9 @@ SYSTEM." (file (string-append dir "/demo-os.scm"))) (read-operating-system file))) +(define %guixsd-supported-systems + '("x86_64-linux" "i686-linux")) + (define (qemu-jobs store system) "Return a list of jobs that build QEMU images for SYSTEM." (define (->alist drv) @@ -150,7 +154,7 @@ system.") (define MiB (expt 2 20)) - (if (member system '("x86_64-linux" "i686-linux")) + (if (member system %guixsd-supported-systems) (list (->job 'qemu-image (run-with-store store (mbegin %store-monad @@ -167,6 +171,23 @@ system.") (* 1024 MiB)))))) '())) +(define (system-test-jobs store system) + "Return a list of jobs for the system tests." + (define (->job test) + (let ((name (string->symbol + (string-append "test." (system-test-name test) + "." system)))) + `(,name . ,(lambda () + (run-with-store store + (mbegin %store-monad + (set-current-system system) + (set-grafting #f) + (system-test-value test))))))) + + (if (member system %guixsd-supported-systems) + (map ->job (all-system-tests)) + '())) + (define (tarball-jobs store system) "Return Hydra jobs to build the self-contained Guix binary tarball." (define (->alist drv) @@ -274,6 +295,7 @@ valid." system)))) (append (filter-map job all) (qemu-jobs store system) + (system-test-jobs store system) (tarball-jobs store system) (cross-jobs system)))) ((core) From 5c310940edc8d6b8c85c44f2d9cf258e937ab156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Jun 2016 00:20:50 +0200 Subject: [PATCH 033/435] hydra: Set the guile-for-build for the test jobs. * build-aux/hydra/gnu-system.scm (system-test-jobs): Call 'set-guile-for-build'. --- build-aux/hydra/gnu-system.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 4c27a9da1b..50e1661d3b 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -182,6 +182,7 @@ system.") (mbegin %store-monad (set-current-system system) (set-grafting #f) + (set-guile-for-build (default-guile)) (system-test-value test))))))) (if (member system %guixsd-supported-systems) From f317aeb4380e2038f98c4cc7e8e08cf6f4ee5959 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 19 Jun 2016 19:00:09 -0400 Subject: [PATCH 034/435] gnu: Add warzone2100. * gnu/packages/games.scm (warzone2100): New variable. --- gnu/packages/games.scm | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index b0bf4e3546..4141d5eedd 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2396,3 +2396,54 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") your way through an underground cave system in search of the Grue. Can you capture it and get out alive?") (license license:agpl3+))) + +(define-public warzone2100 + (package + (name "warzone2100") + (version "3.1.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name + "/releases/" version "/" name "-" version + ".tar.xz")) + (sha256 + (base32 + "0hm49i2knvvg3wlnryv7h4m84s3qa7jfyym5yy6365sx8wzcrai1")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'set-paths 'set-sdl-paths + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl-union") + "/include/SDL")) + #t))))) + (native-inputs `(("pkg-config" ,pkg-config) + ("unzip" ,unzip) + ("zip" ,zip))) + (inputs `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("fribidi" ,fribidi) + ("glew" ,glew) + ("libtheora" ,libtheora) + ("libvorbis" ,libvorbis) + ("libxrandr" ,libxrandr) + ("openal" ,openal) + ("physfs" ,physfs) + ("qt", qt-4) + ("quesoglc" ,quesoglc) + ("sdl-union" ,(sdl-union)))) + (home-page "http://wz2100.net") + (synopsis "3D Real-time strategy and real-time tactics game") + (description + "Warzone 2100 offers campaign, multi-player, and single-player skirmish +modes. An extensive tech tree with over 400 different technologies, combined +with the unit design system, allows for a wide variety of possible units and +tactics.") + ; Everything is GPLv2+ unless otherwise specified in COPYING.NONGPL + (license (list license:bsd-3 + license:cc0 + license:cc-by-sa3.0 + license:expat + license:gpl2+ + license:lgpl2.1+)))) From 43accb58f911213ba0bf168383a14ac0c91e205f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 20 Jun 2016 17:49:22 -0400 Subject: [PATCH 035/435] gnu: python-click: Update to 6.6. * gnu/packages/python.scm (python-click, python2-click): Update to 6.6. --- gnu/packages/python.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b2948141e2..bdbe375d9a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2163,13 +2163,17 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-click (package (name "python-click") - (version "6.2") + (version "6.6") (source (origin (method url-fetch) - (uri (pypi-uri "click" version)) + (uri (string-append + "https://pypi.python.org/packages/" + "7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/" + "click-" version ".tar.gz")) (sha256 - (base32 "10kavbisnk9m93jl2wi34pw7ryr2qbxshh2cysxwxd7bymqgz87v")))) + (base32 + "1sggipyz52crrybwbr9xvwxd4aqigvplf53k9w3ygxmzivd1jsnc")))) (build-system python-build-system) (native-inputs `(("python-setuptools" ,python-setuptools))) From 3d2e0dbcea5e61a58af63b326ad6b26569ab3dd7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 20 Jun 2016 18:00:57 -0400 Subject: [PATCH 036/435] gnu: python-click-threading: Update to 0.2.0. * gnu/packages/python.scm (python-click-threading, python2-click-threading): Update to 0.2.0. --- gnu/packages/python.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index bdbe375d9a..072f5c95b0 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6946,13 +6946,16 @@ with python-requests.") (define-public python-click-threading (package (name "python-click-threading") - (version "0.1.2") + (version "0.2.0") (source (origin (method url-fetch) - (uri (pypi-uri "click-threading" version)) + (uri (string-append + "https://pypi.python.org/packages/" + "fe/b7/e7f609d18a2a351cb71616adcf54df1acd82f83cb9b5936935a4d20e2c23/" + "click-threading-" version ".tar.gz")) (sha256 (base32 - "0jmrv4334lfxa2ss53c06dafdwqbk1pb3ihd26izn5igw1bm8145")))) + "18bcqikxwb3drb8rf60cclxkxw52521b38ax3byah6j8cn8y9p4j")))) (build-system python-build-system) (propagated-inputs `(("python-click" ,python-click))) From 0b942744eb683eb84b1a84ebab37b99c91697e55 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 20 Jun 2016 17:33:22 -0400 Subject: [PATCH 037/435] gnu: vdirsyncer: Update to 0.11.2. * gnu/packages/dav.scm (vdirsyncer): Update to 0.11.2. --- gnu/packages/dav.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 126a21bf66..4aa954bd6f 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -52,16 +52,16 @@ clients.") (define-public vdirsyncer (package (name "vdirsyncer") - (version "0.11.0") + (version "0.11.2") (source (origin (method url-fetch) (uri (string-append "https://pypi.python.org/packages/" - "39/e5/1e7097b5f0cd6de79ec9014f162a6000b77ca2a369ea8a1588a2eebff570/" + "6c/fb/20c32861134579fdce67060bf4cc074e171d30c70590137adc73924f94a6/" name "-" version ".tar.gz")) (sha256 (base32 - "1bf0vk29qdswar0q4267aamfriq3134302i2p3qcqxpmmcwx3qfv")))) + "15isw2jhjfxi213wdj9d8mwq2m58k8bwf831qnxrjcz7j7bwy7mj")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases From c02af1c82aa979dfca6154e1b462c1718df644bb Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 20 Jun 2016 18:13:43 -0400 Subject: [PATCH 038/435] gnu: python-requests-toolbelt: Update to 0.6.2. * gnu/packages/python.scm (python-requests-toolbelt, python2-requests-toolbelt): Update to 0.6.2. --- gnu/packages/python.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 072f5c95b0..87d7d9089f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6927,13 +6927,16 @@ for atomic filesystem operations.") (define-public python-requests-toolbelt (package (name "python-requests-toolbelt") - (version "0.6.0") + (version "0.6.2") (source (origin (method url-fetch) - (uri (pypi-uri "requests-toolbelt" version)) + (uri (string-append + "https://pypi.python.org/packages/" + "e1/a4/a94c037bc72ad70441aff1403d3243510d2542ddca7759faaeffeb11aefe/" + "requests-toolbelt-" version ".tar.gz")) (sha256 (base32 - "07slish560haspn0hpwgy2izhk2snqq06s6acp8xzmhhz079qknc")))) + "15q9nrgp85nqlr4kdz1zvj8z2npafi2sr12y7fqgxbkq28j1aci6")))) (build-system python-build-system) (propagated-inputs `(("python-requests" ,python-requests))) From 909fbd2bf0940b7985577e3c2d5fbd8999bed2a5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 20 Jun 2016 18:14:24 -0400 Subject: [PATCH 039/435] gnu: python-wsgi-intercept: Update to 1.2.2. * gnu/packages/python.scm (python-wsgi-intercept, python2-wsgi-intercept): Update to 1.2.2. --- gnu/packages/python.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 87d7d9089f..4567a91e51 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7108,13 +7108,16 @@ framework which enables you to test server connections locally.") (define-public python-wsgi-intercept (package (name "python-wsgi-intercept") - (version "1.1.2") + (version "1.2.2") (source (origin (method url-fetch) - (uri (pypi-uri "wsgi_intercept" version)) + (uri (string-append + "https://pypi.python.org/packages/" + "38/76/ebcbc24d0cb77db34520a3ca6ed1bd43ace17d182bbd8dd7d976f1c176fb/" + "wsgi_intercept-" version ".tar.gz")) (sha256 (base32 - "14ajy415ch5d0dnspg4b592p66wlgzah7ay218flp13517fp49zl")))) + "0kjj2v2dvmnpdd5h5gk9rzz0f54rhjb0yiz3zg65bmp65slfw65d")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest) From 7108425c37a3232f6d28964c626d87235300b8d1 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 18 May 2016 15:28:52 -0500 Subject: [PATCH 040/435] gnu: shotwell: Update to 0.23.1. Addresses DWF-2016-89001: validate TLS certificates. * gnu/packages/gnome.scm (shotwell): Update to 0.23.1. [inputs]: replace webkitgtk-2.4 with webkitgtk. --- gnu/packages/gnome.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 74c4be6e24..9335005150 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2014 Ian Denhardt -;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014, 2016 Eric Bavier ;;; Copyright © 2014, 2015 Federico Beffa ;;; Copyright © 2015, 2016 Sou Bunnbu ;;; Copyright © 2015 Mathieu Lirzin @@ -3840,7 +3840,7 @@ metadata in photo and video files of various formats.") (define-public shotwell (package (name "shotwell") - (version "0.22.1") + (version "0.23.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3848,7 +3848,7 @@ metadata in photo and video files of various formats.") name "-" version ".tar.xz")) (sha256 (base32 - "1a9lx9a7p6fgaf838xlw98f73xxyxmg6jmm29830lsl8ynbhq9bk")))) + "12imip32mav0zqg1fh4xm6zk4qsgg2435xsyb6ljz47i37zk6kg2")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ;no "check" target @@ -3876,7 +3876,7 @@ metadata in photo and video files of various formats.") ("libraw" ,libraw) ("json-glib" ,json-glib) ("rest" ,rest) - ("webkitgtk" ,webkitgtk-2.4) + ("webkitgtk" ,webkitgtk) ("sqlite" ,sqlite) ("libsoup" ,libsoup) ("libxml2" ,libxml2) From 0405e5f49133171602ea9749f5d9fb6bcdcf2669 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 20 Jun 2016 23:54:20 -0500 Subject: [PATCH 041/435] gnu: Add thefuck. * gnu/packages/admin.scm (thefuck): New variable. --- gnu/packages/admin.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 78f36a18cf..415a35aab3 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1681,3 +1681,30 @@ controller, or compare the network bandwidth numbers directly with the disk throughput (in the same interval).") (home-page "http://dag.wiee.rs/home-made/dstat/") (license license:gpl2+))) + +(define-public thefuck + (package + (name "thefuck") + (version "3.9") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/nvbn/thefuck/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g4s2vkpl0mqhkdkbzib07qr4xf0cq25fvhdhna52290qgd69pwf")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (inputs + `(("python-colorama" ,python-colorama) + ("python-decorator" ,python-decorator) + ("python-psutil" ,python-psutil) + ("python-six" ,python-six))) + (home-page "https://github.com/nvbn/thefuck") + (synopsis "Correct mistyped console command") + (description + "The Fuck tries to match a rule for a previous, mistyped command, creates +a new command using the matched rule, and runs it.") + (license license:x11))) From 2f046a0d7e78b868d8cfbdb0c7a9c482f3b5798f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 21 Jun 2016 00:02:02 -0500 Subject: [PATCH 042/435] gnu: Update american-fuzzy-lop to 2.15b. * gnu/packages/debug.scm (american-fuzzy-lop): Update to 2.15b. --- gnu/packages/debug.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 72fd993037..556a1051f1 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -169,7 +169,7 @@ tools that process C/C++ code.") (_ "UNSUPPORTED")))) (package (name "american-fuzzy-lop") - (version "1.96b") ;It seems all releases have the 'b' suffix + (version "2.15b") ;It seems all releases have the 'b' suffix (source (origin (method url-fetch) @@ -177,7 +177,7 @@ tools that process C/C++ code.") "afl-" version ".tgz")) (sha256 (base32 - "0z7j231p6v2h1dxxijgdzj1lq1lxr8cxllwf6iyv7p4ki5pv1gh3")))) + "04n2jfkchpz6a07w694b0im1vcmc3220ryqcaasa7vix7784wzs2")))) (build-system gnu-build-system) (inputs `(("custom-qemu" From cec2653bb4e51dd367ae196e780e07bceb8bb6df Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 21 Jun 2016 20:00:38 +1000 Subject: [PATCH 043/435] gnu: diamond: Update to 0.8.7. * gnu/packages/bioinformatics.scm (diamond): Update to 0.8.7. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 04ed769cd8..2ac6e34652 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1482,7 +1482,7 @@ identify enrichments with functional annotations of the genome.") (define-public diamond (package (name "diamond") - (version "0.8.5") + (version "0.8.7") (source (origin (method url-fetch) (uri (string-append @@ -1491,7 +1491,7 @@ identify enrichments with functional annotations of the genome.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "18zx8k3axnsrg016kikl8xs1ifnjmj36dk1sv3fq1jgpg9j9584b")))) + "15r7gcrqc4pv5d4kvv530zc3xnni92c74y63zrxzidriss7591yx")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target From bae90dc7e71f2ecfb09a89184915dfeb83473617 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Jun 2016 12:13:30 +0200 Subject: [PATCH 044/435] install: Pass a relative file name to 'local-file'. This is a followup to cbbbb7be0fbaa11ff75bce92f2d82131ff8db104. * gnu/system/install.scm (/etc/configuration-files): Pass a relative file name to 'local-file'. --- gnu/system/install.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index a72613e9c5..de14f6fb4c 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -208,8 +208,7 @@ the user's target storage device rather than on the RAM disk." "Return a list of tuples representing configuration templates to add to /etc." (define (file f) - (local-file (search-path %load-path - (string-append "gnu/system/examples/" f)))) + (local-file (string-append "examples/" f))) (define directory (computed-file "configuration-templates" From 8472bdecb634e2f3015a61e16c59b62831b82ea9 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 18 Jun 2016 22:39:33 +0200 Subject: [PATCH 045/435] gnu: Add nasm. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/assembly.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Co-authored-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/assembly.scm | 61 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 gnu/packages/assembly.scm diff --git a/gnu/local.mk b/gnu/local.mk index 150d6af553..4941414841 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -41,6 +41,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/apl.scm \ %D%/packages/apr.scm \ %D%/packages/aspell.scm \ + %D%/packages/assembly.scm \ %D%/packages/attr.scm \ %D%/packages/audacity.scm \ %D%/packages/audio.scm \ diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm new file mode 100644 index 0000000000..0c0b1da344 --- /dev/null +++ b/gnu/packages/assembly.scm @@ -0,0 +1,61 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Jan Nieuwenhuizen +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages assembly) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages perl) + #:use-module (gnu packages texinfo)) + +(define-public nasm + (package + (name "nasm") + (version "2.12.01") + (source (origin + (method url-fetch) + (uri (string-append "http://www.nasm.us/pub/nasm/releasebuilds/" + version "/" name "-" version ".tar.xz")) + (sha256 + (base32 + "12bl6vc5sjp9nnhf0iwy6l27vq783y0rxrjpp8sy84h5cb7a3fwx")))) + (build-system gnu-build-system) + (native-inputs `(("ghostscript" ,ghostscript) ; ps2pdf + ("perl" ,perl) ;for test target + ("texinfo" ,texinfo))) + (arguments + `(#:test-target "test" + #:phases (modify-phases %standard-phases + (add-after 'install 'install-info + (lambda _ + ;; FIXME: The PDF and PS files are not reproducible. + (zero? (system* "make" "install_doc"))))))) + (home-page "http://www.nasm.us/") + (synopsis "80x86 and x86-64 assembler") + (description + "NASM, the Netwide Assembler, is an 80x86 and x86-64 assembler designed +for portability and modularity. It supports a range of object file formats, +including Linux and *BSD a.out, ELF, COFF, Mach-O, Microsoft 16-bit OBJ, +Windows32 and Windows64. It will also output plain binary files. Its syntax +is designed to be simple and easy to understand, similar to Intel's but less +complex. It supports all currently known x86 architectural extensions, and +has strong support for macros.") + (supported-systems '("x86_64-linux" "i686-linux")) + (license license:bsd-3))) From 15a3fffc593a2385bbac60913909833babc1625f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Jun 2016 12:25:56 +0200 Subject: [PATCH 046/435] gnu: yasm: Move to (gnu packages assembly). * gnu/packages/yasm.scm: Remove. Move 'yasm' to... * gnu/packages/assembly.scm (yasm): ... here. New variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. --- gnu/local.mk | 1 - gnu/packages/assembly.scm | 34 +++++++++++++++++++++++- gnu/packages/yasm.scm | 55 --------------------------------------- 3 files changed, 33 insertions(+), 57 deletions(-) delete mode 100644 gnu/packages/yasm.scm diff --git a/gnu/local.mk b/gnu/local.mk index 4941414841..eb0ea41ca4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -364,7 +364,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/xdisorg.scm \ %D%/packages/xorg.scm \ %D%/packages/xfce.scm \ - %D%/packages/yasm.scm \ %D%/packages/yubico.scm \ %D%/packages/zile.scm \ %D%/packages/zip.scm \ diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 0c0b1da344..575856a13e 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -1,5 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,7 +25,9 @@ #:use-module (guix packages) #:use-module (gnu packages ghostscript) #:use-module (gnu packages perl) - #:use-module (gnu packages texinfo)) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages python) + #:use-module (gnu packages xml)) (define-public nasm (package @@ -59,3 +63,31 @@ complex. It supports all currently known x86 architectural extensions, and has strong support for macros.") (supported-systems '("x86_64-linux" "i686-linux")) (license license:bsd-3))) + +(define-public yasm + (package + (name "yasm") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.tortall.net/projects/yasm/releases/yasm-" + version ".tar.gz")) + (sha256 + (base32 + "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix")))) + (build-system gnu-build-system) + (inputs + `(("python" ,python-wrapper) + ("xmlto" ,xmlto))) + (home-page "http://yasm.tortall.net/") + (synopsis "Rewrite of the NASM assembler") + (description + "Yasm is a complete rewrite of the NASM assembler. + +Yasm currently supports the x86 and AMD64 instruction sets, accepts NASM +and GAS assembler syntaxes, outputs binary, ELF32, ELF64, 32 and 64-bit +Mach-O, RDOFF2, COFF, Win32, and Win64 object formats, and generates source +debugging information in STABS, DWARF 2, and CodeView 8 formats.") + (license (license:non-copyleft "file://COPYING" + "See COPYING in the distribution.")))) diff --git a/gnu/packages/yasm.scm b/gnu/packages/yasm.scm deleted file mode 100644 index 31a9083cdf..0000000000 --- a/gnu/packages/yasm.scm +++ /dev/null @@ -1,55 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge -;;; Copyright © 2016 Efraim Flashner -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gnu packages yasm) - #:use-module (gnu packages) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (gnu packages python) - #:use-module (gnu packages xml)) - -(define-public yasm - (package - (name "yasm") - (version "1.3.0") - (source - (origin - (method url-fetch) - (uri (string-append "http://www.tortall.net/projects/yasm/releases/yasm-" - version ".tar.gz")) - (sha256 - (base32 - "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix")))) - (build-system gnu-build-system) - (inputs - `(("python" ,python-wrapper) - ("xmlto" ,xmlto))) - (home-page "http://yasm.tortall.net/") - (synopsis "Rewrite of the NASM assembler") - (description - "Yasm is a complete rewrite of the NASM assembler. - -Yasm currently supports the x86 and AMD64 instruction sets, accepts NASM -and GAS assembler syntaxes, outputs binary, ELF32, ELF64, 32 and 64-bit -Mach-O, RDOFF2, COFF, Win32, and Win64 object formats, and generates source -debugging information in STABS, DWARF 2, and CodeView 8 formats.") - (license (license:non-copyleft "file://COPYING" - "See COPYING in the distribution.")))) From 09b87aff46524b3e25640418cec1da52212539ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Jun 2016 12:27:50 +0200 Subject: [PATCH 047/435] gnu: Adjust to yasm change of module. This is a followup to 15a3fffc593a2385bbac60913909833babc1625f. * gnu/packages/gnuzilla.scm, gnu/packages/gstreamer.scm, gnu/packages/kodi.scm, gnu/packages/video.scm: Adjust import list to yasm move. --- gnu/packages/gnuzilla.scm | 2 +- gnu/packages/gstreamer.scm | 2 +- gnu/packages/kodi.scm | 2 +- gnu/packages/video.scm | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 46342ee247..b1ffbc8658 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -48,7 +48,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages xorg) #:use-module (gnu packages gl) - #:use-module (gnu packages yasm) + #:use-module (gnu packages assembly) #:use-module (gnu packages icu4c) #:use-module (gnu packages video) #:use-module (gnu packages xdisorg) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 483710f6fe..f9e677bca4 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -57,7 +57,7 @@ #:use-module (gnu packages telephony) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) - #:use-module (gnu packages yasm) + #:use-module (gnu packages assembly) #:use-module (gnu packages xml)) (define-public orc diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 0d5e0a3428..ec4e72e8ba 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -66,7 +66,7 @@ #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages yasm) + #:use-module (gnu packages assembly) #:use-module (gnu packages zip)) (define-public crossguid diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 9685317bc0..78b277bc3f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -77,7 +77,7 @@ #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages yasm) + #:use-module (gnu packages assembly) #:use-module (gnu packages zip)) (define-public aalib From 7a15a68f7547cffd01656bad15974a5c8d49efb0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 21 Jun 2016 12:40:46 +0300 Subject: [PATCH 048/435] gnu: texlive: Update to 2016. * gnu/packages/tex.scm (texlive-extra-src, texlive-texmf-src, texlive-bin, texlive-texmf, texlive): Update to 2016. (texlive-texmf)[properies]: Add max-silent-time so grafts don't time out. --- gnu/packages/tex.scm | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index c1ab8b3f5c..219f6856f8 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Roel Janssen +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,27 +56,27 @@ (define texlive-extra-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-extra.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2016/texlive-20160523-extra.tar.xz") (sha256 (base32 - "1dkhhacga8h1v2m9xv1w02glbdda2m8lfp1la1y1zb9yjj8jsa6i")))) + "0q4a92zmwhn4ry6xgrp4k8wq11ax2sg9rg9yrsrdkr719y0x887a")))) (define texlive-texmf-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-texmf.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2016/texlive-20160523-texmf.tar.xz") (sha256 (base32 - "1a3hpcg6x69ysqx432v6sk4alg0x34813cwk41frmvzprdajpyqy")))) + "0mfp6kq1p2ys5ni9czx9xl0xh264axri25vqw37yzk8jn3py9l08")))) (define texlive-bin (package (name "texlive-bin") - (version "2015") + (version "2016") (source (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150521-source.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2016/texlive-20160523-source.tar.xz") (sha256 (base32 - "0sa6kmz4jwhv6lw702gxszhhjkvw071wba0ngk1c76g8vixwv6zd")))) + "07kb8rsw8d42wy3fj1qgqj26y92spx1lbhx6z73wwdb3msnvh4i9")))) (build-system gnu-build-system) (inputs `(("texlive-extra-src" ,texlive-extra-src) @@ -171,7 +172,7 @@ This package contains the binaries.") (define texlive-texmf (package (name "texlive-texmf") - (version "2015") + (version "2016") (source texlive-texmf-src) (build-system gnu-build-system) (inputs @@ -220,6 +221,7 @@ This package contains the binaries.") (system* "updmap-sys" "--nohash" "--syncwithtrees") (system* "mktexlsr") (system* "fmtutil-sys" "--all"))))))) + (properties `((max-silent-time . 9600))) ; don't time out while grafting (synopsis "TeX Live, a package of the TeX typesetting system") (description "TeX Live provides a comprehensive TeX document production system. @@ -234,7 +236,7 @@ This package contains the complete tree of texmf-dist data.") (define-public texlive (package (name "texlive") - (version "2015") + (version "2016") (source #f) (build-system trivial-build-system) (inputs `(("bash" ,bash) ; for wrap-program From de682e6f0f9eda05c546124c0da6edae38df3701 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 16 Jun 2016 22:07:13 +1000 Subject: [PATCH 049/435] gnu: Add r-permute. * gnu/packages/statistics.scm (r-permute): New variable. --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 1288d9d7ef..e5911d7a4a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -378,6 +378,29 @@ and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see 'citation(\"Rcpp\")' for details on these last two.") (license license:gpl2+))) +(define-public r-permute + (package + (name "r-permute") + (version "0.9-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "permute" version)) + (sha256 + (base32 + "0w68cqw6s4pixix8bh1qzsy1pm64jqh1cjznw74h82ygp8sj7p73")))) + (build-system r-build-system) + ;; Tests do not run correctly, but running them properly would entail a + ;; circular dependency with vegan. + (home-page "https://github.com/gavinsimpson/permute") + (synopsis "Functions for Generating Restricted Permutations of Data") + (description + "This package provides a set of restricted permutation designs for freely +exchangeable, line transects (time series), spatial grid designs and permutation +of blocks (groups of samples). @code{permute} also allows split-plot designs, +in which the whole-plots or split-plots or both can be freely exchangeable.") + (license license:gpl2+))) + (define-public r-plyr (package (name "r-plyr") From 0846620803685bd35675ebcb4bfcff806c21c990 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 16 Jun 2016 22:07:49 +1000 Subject: [PATCH 050/435] gnu: Add r-mgcv. * gnu/packages/statistics.scm (r-mgcv): New variable. --- gnu/packages/statistics.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e5911d7a4a..c84845dd29 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -378,6 +378,27 @@ and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see 'citation(\"Rcpp\")' for details on these last two.") (license license:gpl2+))) +(define-public r-mgcv + (package + (name "r-mgcv") + (version "1.8-12") + (source + (origin + (method url-fetch) + (uri (cran-uri "mgcv" version)) + (sha256 + (base32 + "1khzy36nn6xbnzqfc2953ng0sv8w91mns1ymhibaqn1150x1qid0")))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/mgcv") + (synopsis "Mixed generalised additive model computation") + (description + "GAMs, GAMMs and other generalized ridge regression with multiple smoothing +parameter estimation by GCV, REML or UBRE/AIC. The library includes a +@code{gam()} function, a wide variety of smoothers, JAGS support and +distributions beyond the exponential family.") + (license license:gpl2+))) + (define-public r-permute (package (name "r-permute") From 7b3df1e56ea2346211e3ee5d52e197d3a2e674ca Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 16 Jun 2016 22:35:08 +1000 Subject: [PATCH 051/435] gnu: Add r-vegan. * gnu/packages/bioinformatics.scm (r-vegan): New variable. --- gnu/packages/bioinformatics.scm | 51 +++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 2ac6e34652..91b40fa20c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3815,6 +3815,57 @@ data in the form of VCF files.") ;; at https://vcftools.github.io/license.html (license license:lgpl3))) +(define-public r-vegan + (package + (name "r-vegan") + (version "2.4-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "vegan" version)) + (sha256 + (base32 + "10cygzkyg2m0y054ygivqxrkvqz792qsg6bmbdfzaqq37qv4wc7z")))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'revert-test-deletion + ;; The distributed sources do not include tests with the CRAN + ;; package. Here we revert the commit + ;; `591d0e8ba1deaaf82445474ec6619c0b43db4e63' which deletes these + ;; tests. There are plans to not delete tests in future as + ;; documented at https://github.com/vegandevs/vegan/issues/181. + (lambda* (#:key inputs #:allow-other-keys) + (zero? + (system* "patch" "-R" "-p1" "-i" + (assoc-ref inputs "r-vegan-delete-tests-patch")))))))) + (native-inputs + `(("gfortran" ,gfortran) + ("r-knitr" ,r-knitr) + ("r-vegan-delete-tests-patch" + ,(origin + (method url-fetch) + (uri (string-append + "https://github.com/vegandevs/vegan/commit/" + "591d0e8ba1deaaf82445474ec6619c0b43db4e63.patch")) + (sha256 + (base32 + "0b1bi7y4jjdl3ph721vm9apm51dr2z9piwvhy4355sf2b4kyyj5a")))))) + (propagated-inputs + `(("r-cluster" ,r-cluster) + ("r-lattice" ,r-lattice) + ("r-mgcv" ,r-mgcv) + ("r-permute" ,r-permute))) + (home-page "https://cran.r-project.org/web/packages/vegan") + (synopsis "Functions for community ecology") + (description + "The vegan package provides tools for descriptive community ecology. It +has most basic functions of diversity analysis, community ordination and +dissimilarity analysis. Most of its multivariate tools can be used for other +data types as well.") + (license license:gpl2+))) + (define-public vsearch (package (name "vsearch") From b08134907d98057d9cf2e1bfbd6afb067af15045 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 7 Jun 2016 22:00:39 +1000 Subject: [PATCH 052/435] gnu: Add ruby-hoe-git. * gnu/packages/ruby.scm (ruby-hoe-git): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 527f76b404..2f4348a8bc 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3939,6 +3939,29 @@ part of the Prawn PDF generator.") ;; for details." (license (list license:gpl2 license:gpl3 license:ruby)))) +(define-public ruby-hoe-git + (package + (name "ruby-hoe-git") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "hoe-git" version)) + (sha256 + (base32 + "10jmmbjm0lkglwxbn4rpqghgg1ipjxrswm117n50adhmy8yij650")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-hoe" ,ruby-hoe) + ("git" ,git))) + (synopsis "Hoe plugins for tighter Git integration") + (description + "This package provides a set of Hoe plugins for tighter Git integration. +It provides tasks to automate release tagging and pushing and changelog +generation.") + (home-page "http://github.com/jbarnette/hoe-git") + (license license:expat))) + (define-public ruby-sequel (package (name "ruby-sequel") From 9270298f7521eb5ca654186c44a8b203f4584d62 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 7 Jun 2016 22:03:26 +1000 Subject: [PATCH 053/435] gnu: Add ruby-puma. gnu/packages/ruby.scm (ruby-puma): New variable. gnu/packages/patches/ruby-puma-ignore-broken-test.patch: New file. gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../ruby-puma-ignore-broken-test.patch | 13 ++++++ gnu/packages/ruby.scm | 41 +++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 gnu/packages/patches/ruby-puma-ignore-broken-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index eb0ea41ca4..1ef7ef0833 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -755,6 +755,7 @@ dist_patch_DATA = \ %D%/packages/patches/rpm-CVE-2014-8118.patch \ %D%/packages/patches/rsem-makefile.patch \ %D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \ + %D%/packages/patches/ruby-puma-ignore-broken-test.patch \ %D%/packages/patches/ruby-symlinkfix.patch \ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ %D%/packages/patches/rush-CVE-2013-6889.patch \ diff --git a/gnu/packages/patches/ruby-puma-ignore-broken-test.patch b/gnu/packages/patches/ruby-puma-ignore-broken-test.patch new file mode 100644 index 0000000000..fb653dc0ee --- /dev/null +++ b/gnu/packages/patches/ruby-puma-ignore-broken-test.patch @@ -0,0 +1,13 @@ +diff --git a/test/test_integration.rb b/test/test_integration.rb +index d9b189c..6e21180 100644 +--- a/test/test_integration.rb ++++ b/test/test_integration.rb +@@ -115,7 +115,7 @@ class TestIntegration < Test::Unit::TestCase + assert_kind_of Thread, t.join(1), "server didn't stop" + end + +- def test_phased_restart_via_pumactl ++ def no_test_phased_restart_via_pumactl + if Puma.jruby? || Puma.windows? + assert true + return diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2f4348a8bc..877f229fe1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3939,6 +3939,47 @@ part of the Prawn PDF generator.") ;; for details." (license (list license:gpl2 license:gpl3 license:ruby)))) +(define-public ruby-puma + (package + (name "ruby-puma") + (version "3.4.0") + (source + (origin + (method url-fetch) + ;; Fetch from GitHub because distributed gem does not contain tests. + (uri (string-append "https://github.com/puma/puma/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10svyj2jk949y1dmkxyzipk1ddzl4iz9limrcws1zhpganpvq3j8")) + ;; Ignore broken test reported upstream. + ;; https://github.com/puma/puma/issues/995 + (patches (search-patches "ruby-puma-ignore-broken-test.patch")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'fix-gemspec + (lambda _ + (substitute* "puma.gemspec" + (("git ls-files") "find * |sort")) + #t))))) + (native-inputs + `(("ruby-hoe" ,ruby-hoe) + ("ruby-rake-compiler" ,ruby-rake-compiler) + ("ruby-hoe-git" ,ruby-hoe-git) + ("ruby-rack" ,ruby-rack))) + (synopsis "Simple, concurrent HTTP server for Ruby/Rack") + (description + "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server +for Ruby/Rack applications. Puma is intended for use in both development and +production environments. In order to get the best throughput, it is highly +recommended that you use a Ruby implementation with real threads like Rubinius +or JRuby.") + (home-page "http://puma.io") + (license license:expat))) + (define-public ruby-hoe-git (package (name "ruby-hoe-git") From 4c9243b688b4df2310b7fba65ef53e2f52f76bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Jun 2016 15:50:51 +0200 Subject: [PATCH 054/435] hydra: 'evaluate' now validates job alists. * build-aux/hydra/evaluate.scm (assert-valid-job): New procedure. : Use it. --- build-aux/hydra/evaluate.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/build-aux/hydra/evaluate.scm b/build-aux/hydra/evaluate.scm index afc7730ff2..ab10253f31 100644 --- a/build-aux/hydra/evaluate.scm +++ b/build-aux/hydra/evaluate.scm @@ -49,6 +49,17 @@ values." (/ (time-nanosecond time) 1e9))) (apply values results)))) +(define (assert-valid-job job thing) + "Raise an error if THING is not an alist with a valid 'derivation' entry. +Otherwise return THING." + (unless (and (list? thing) + (and=> (assoc-ref thing 'derivation) + (lambda (value) + (and (string? value) + (string-suffix? ".drv" value))))) + (error "job did not produce a valid alist" job thing)) + thing) + ;; Without further ado... (match (command-line) @@ -83,7 +94,9 @@ values." (map (lambda (job thunk) (format (current-error-port) "evaluating '~a'... " job) (force-output (current-error-port)) - (cons job (call-with-time-display thunk))) + (cons job + (assert-valid-job job + (call-with-time-display thunk)))) names thunks))) port)))) ((command _ ...) From ab23fb83c2ddc38cbcc2751814efe7b385b36c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Jun 2016 15:52:10 +0200 Subject: [PATCH 055/435] hydra: Fix the construction of system test jobs. * build-aux/hydra/gnu-system.scm (system-test-jobs)[test->thunk]: New procedure. [->job]: Use it. --- build-aux/hydra/gnu-system.scm | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 50e1661d3b..a84cdebbad 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -173,17 +173,29 @@ system.") (define (system-test-jobs store system) "Return a list of jobs for the system tests." + (define (test->thunk test) + (lambda () + (define drv + (run-with-store store + (mbegin %store-monad + (set-current-system system) + (set-grafting #f) + (set-guile-for-build (default-guile)) + (system-test-value test)))) + + `((derivation . ,(derivation-file-name drv)) + (description . ,(format #f "GuixSD '~a' system test" + (system-test-name test))) + (long-description . ,(system-test-description test)) + (license . ,gpl3+) + (home-page . ,%guix-home-page-url) + (maintainers . ("bug-guix@gnu.org"))))) + (define (->job test) (let ((name (string->symbol (string-append "test." (system-test-name test) "." system)))) - `(,name . ,(lambda () - (run-with-store store - (mbegin %store-monad - (set-current-system system) - (set-grafting #f) - (set-guile-for-build (default-guile)) - (system-test-value test))))))) + (cons name (test->thunk test)))) (if (member system %guixsd-supported-systems) (map ->job (all-system-tests)) From a837997cab842026bde1d5c0fac3a2d5258fe06f Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 21 Jun 2016 18:51:02 +0200 Subject: [PATCH 056/435] gnu: nasm: Make build bit-reproducible. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/nasm-no-ps-pdf.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/assembly.scm (nasm): Use it. Remove ghostscript, do not build PS or PDF docs. Makes build bit-reproducible. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/assembly.scm | 9 ++++----- gnu/packages/patches/nasm-no-ps-pdf.patch | 20 ++++++++++++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/nasm-no-ps-pdf.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1ef7ef0833..f8d661e9b9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -670,6 +670,7 @@ dist_patch_DATA = \ %D%/packages/patches/mumps-build-parallelism.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mutt-store-references.patch \ + %D%/packages/patches/nasm-no-ps-pdf.patch \ %D%/packages/patches/net-tools-bitrot.patch \ %D%/packages/patches/netcdf-config-date.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \ diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 575856a13e..8c9b6b30fe 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -23,7 +23,7 @@ #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) - #:use-module (gnu packages ghostscript) + #:use-module (gnu packages) #:use-module (gnu packages perl) #:use-module (gnu packages texinfo) #:use-module (gnu packages python) @@ -39,17 +39,16 @@ version "/" name "-" version ".tar.xz")) (sha256 (base32 - "12bl6vc5sjp9nnhf0iwy6l27vq783y0rxrjpp8sy84h5cb7a3fwx")))) + "12bl6vc5sjp9nnhf0iwy6l27vq783y0rxrjpp8sy84h5cb7a3fwx")) + (patches (search-patches "nasm-no-ps-pdf.patch")))) (build-system gnu-build-system) - (native-inputs `(("ghostscript" ,ghostscript) ; ps2pdf - ("perl" ,perl) ;for test target + (native-inputs `(("perl" ,perl) ;for doc and test target ("texinfo" ,texinfo))) (arguments `(#:test-target "test" #:phases (modify-phases %standard-phases (add-after 'install 'install-info (lambda _ - ;; FIXME: The PDF and PS files are not reproducible. (zero? (system* "make" "install_doc"))))))) (home-page "http://www.nasm.us/") (synopsis "80x86 and x86-64 assembler") diff --git a/gnu/packages/patches/nasm-no-ps-pdf.patch b/gnu/packages/patches/nasm-no-ps-pdf.patch new file mode 100644 index 0000000000..b03b57a6ed --- /dev/null +++ b/gnu/packages/patches/nasm-no-ps-pdf.patch @@ -0,0 +1,20 @@ +Avoid building PS and PDF docs, which do not build bit-reproducible. NASM +already installs doc in info and html. + +--- nasm-2.12.01/doc/Makefile.in.orig 2016-06-21 18:02:59.483484829 +0200 ++++ nasm-2.12.01/doc/Makefile.in 2016-06-21 18:03:46.700151410 +0200 +@@ -27,7 +27,7 @@ + PS2PDF = @PS2PDF@ # Part of GhostScript + + SRCS = nasmdoc.src inslist.src changes.src +-OUT = info html nasmdoc.txt nasmdoc.ps nasmdoc.pdf ++OUT = info html nasmdoc.txt + + # exports + export srcdir +@@ -100,4 +100,4 @@ + $(INSTALL_DATA) info/* $(INSTALLROOT)$(infodir) + mkdir -p $(INSTALLROOT)$(docdir)/html + $(INSTALL_DATA) html/* $(INSTALLROOT)$(docdir)/html +- $(INSTALL_DATA) nasmdoc.ps nasmdoc.pdf nasmdoc.txt $(INSTALLROOT)$(docdir) ++ $(INSTALL_DATA) nasmdoc.txt $(INSTALLROOT)$(docdir) From 69af462496100a2b976a8629a135020caad04b93 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 22 Jun 2016 07:50:18 +1000 Subject: [PATCH 057/435] gnu: vsearch: Update to 0.11.2. * gnu/packages/bioinformatics.scm (vsearch): Update to 0.11.2. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 91b40fa20c..fa45d901bf 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3869,7 +3869,7 @@ data types as well.") (define-public vsearch (package (name "vsearch") - (version "1.11.1") + (version "1.11.2") (source (origin (method url-fetch) @@ -3879,7 +3879,7 @@ data types as well.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1pdvm3znjgq3zryy240yj9gc0bf1z31k6vf9jxrxgdgkvzgw85c7")) + "0vnjcws9rdf5r14y9f10iq46yvrwsg0h502v954rd9nd50ras01m")) (modules '((guix build utils))) (snippet '(begin From 88c8d72f3ce75e77df47dc8daaf351b1792f68e0 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 22 Jun 2016 01:52:21 -0400 Subject: [PATCH 058/435] gnu: beets: Update to 1.3.18. * gnu/packages/patches/beets-image-test-failure.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/music.scm (beets): Update to 1.3.18. [source]: Use patch. --- gnu/local.mk | 1 + gnu/packages/music.scm | 10 ++-- .../patches/beets-image-test-failure.patch | 46 +++++++++++++++++++ 3 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/beets-image-test-failure.patch diff --git a/gnu/local.mk b/gnu/local.mk index f8d661e9b9..58f66ec878 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -442,6 +442,7 @@ dist_patch_DATA = \ %D%/packages/patches/avrdude-fix-libusb.patch \ %D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/bash-completion-directories.patch \ + %D%/packages/patches/beets-image-test-failure.patch \ %D%/packages/patches/bigloo-gc-shebangs.patch \ %D%/packages/patches/binutils-ld-new-dtags.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 70757149f1..eb8bce0f6c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1474,13 +1474,17 @@ websites such as Libre.fm.") (define-public beets (package (name "beets") - (version "1.3.17") + (version "1.3.18") (source (origin (method url-fetch) - (uri (pypi-uri name version)) + (uri (string-append + "https://pypi.python.org/packages/" + "14/6f/c9c79c5339ab3ecced265ca18adbf5bae3d4058bae737b6164d738fb4d2c/" + name "-" version ".tar.gz")) + (patches (search-patches "beets-image-test-failure.patch")) (sha256 (base32 - "0yg7sp18sdpszkinhb0bi6yinbn316jy1baxrwiw0m4byrj3rr6c")))) + "09pgyywa5llbc36y0lrr21ywgsp8m2zx6p8ncf8hxik28knd5kld")))) (build-system python-build-system) (arguments `(#:python ,python-2 ; only Python 2 is supported diff --git a/gnu/packages/patches/beets-image-test-failure.patch b/gnu/packages/patches/beets-image-test-failure.patch new file mode 100644 index 0000000000..360d7d3ed4 --- /dev/null +++ b/gnu/packages/patches/beets-image-test-failure.patch @@ -0,0 +1,46 @@ +Fix test failure due to missing image library backend. + +Cherry-picked from upstream: +https://github.com/beetbox/beets/commit/07c95a1bf16bf86c640436208dda828cc7df0181 + +From 07c95a1bf16bf86c640436208dda828cc7df0181 Mon Sep 17 00:00:00 2001 +From: Adrian Sampson +Date: Thu, 2 Jun 2016 11:39:05 -0700 +Subject: [PATCH] Require an imaging backend for fuzzy ratio tests + +These fail outright if we don't have a way to get image sizes (e.g., +ImageMagick). +--- + test/test_art.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/test/test_art.py b/test/test_art.py +index 02d26f4..1b12b76 100644 +--- a/test/test_art.py ++++ b/test/test_art.py +@@ -561,21 +561,25 @@ def test_respect_enforce_ratio_no(self): + self._assertImageIsValidArt(self.IMG_500x490, True) + + def test_respect_enforce_ratio_px_above(self): ++ self._require_backend() + self.plugin.enforce_ratio = True + self.plugin.margin_px = 5 + self._assertImageIsValidArt(self.IMG_500x490, False) + + def test_respect_enforce_ratio_px_below(self): ++ self._require_backend() + self.plugin.enforce_ratio = True + self.plugin.margin_px = 15 + self._assertImageIsValidArt(self.IMG_500x490, True) + + def test_respect_enforce_ratio_percent_above(self): ++ self._require_backend() + self.plugin.enforce_ratio = True + self.plugin.margin_percent = (500 - 490) / 500 * 0.5 + self._assertImageIsValidArt(self.IMG_500x490, False) + + def test_respect_enforce_ratio_percent_below(self): ++ self._require_backend() + self.plugin.enforce_ratio = True + self.plugin.margin_percent = (500 - 490) / 500 * 1.5 + self._assertImageIsValidArt(self.IMG_500x490, True) From b3470031df1b64279edef35d98d7cb2977d422e3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 22 Jun 2016 01:53:53 -0400 Subject: [PATCH 059/435] gnu: beets: Move propagated-inputs to inputs. * gnu/packages/music.scm (beets)[propagated-inputs]: Replace with ... [inputs]: ... new field. --- gnu/packages/music.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index eb8bce0f6c..dfc21cc95f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1508,7 +1508,7 @@ websites such as Libre.fm.") ("python2-rarfile" ,python2-rarfile) ("python2-responses" ,python2-responses))) ;; TODO: Install optional plugins and dependencies. - (propagated-inputs + (inputs `(("python2-enum34" ,python2-enum34) ("python2-jellyfish" ,python2-jellyfish) ("python2-munkres" ,python2-munkres) From 2831675bfd4d4ba78f6511cf7698ee745d1fbf33 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Mon, 20 Jun 2016 15:49:04 +0300 Subject: [PATCH 060/435] build: emacs: Search for elisp in "share/emacs/site-lisp". * guix/build/emacs-build-system.scm (emacs-inputs-el-directories): Add ".../share/emacs/site-lisp" directory to the returned result as elisp files can also be placed there. --- guix/build/emacs-build-system.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm index ab970012a7..44e8b0d31e 100644 --- a/guix/build/emacs-build-system.scm +++ b/guix/build/emacs-build-system.scm @@ -1,5 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Federico Beffa +;;; Copyright © 2016 David Thompson +;;; Copyright © 2016 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -152,10 +154,11 @@ store in '.el' files." (define (emacs-inputs-el-directories dirs) "Build the list of Emacs Lisp directories from the Emacs package directory DIRS." - (map (lambda (d) - (string-append d %install-suffix "/" - (store-directory->elpa-name-version d))) - dirs)) + (append-map (lambda (d) + (list (string-append d "/share/emacs/site-lisp") + (string-append d %install-suffix "/" + (store-directory->elpa-name-version d)))) + dirs)) (define (package-name-version->elpa-name-version name-ver) "Convert the Guix package NAME-VER to the corresponding ELPA name-version From c283b22e93cbf496e13b25878be3ec8a1242fb73 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 21 Jun 2016 16:29:40 +0300 Subject: [PATCH 061/435] gnu: lightning: Move to (gnu packages assembly). * gnu/packages/lightning.scm: Remove. Move 'lightning' to... * gnu/packages/assembly.scm (lightning): ... here. New variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. --- gnu/local.mk | 1 - gnu/packages/assembly.scm | 22 +++++++++++++++++++ gnu/packages/lightning.scm | 44 -------------------------------------- 3 files changed, 22 insertions(+), 45 deletions(-) delete mode 100644 gnu/packages/lightning.scm diff --git a/gnu/local.mk b/gnu/local.mk index 58f66ec878..ab0cf49b24 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -206,7 +206,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/libusb.scm \ %D%/packages/libunwind.scm \ %D%/packages/libupnp.scm \ - %D%/packages/lightning.scm \ %D%/packages/links.scm \ %D%/packages/linux.scm \ %D%/packages/lirc.scm \ diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 8c9b6b30fe..c80b8af329 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2016 Efraim Flashner ;;; @@ -90,3 +91,24 @@ Mach-O, RDOFF2, COFF, Win32, and Win64 object formats, and generates source debugging information in STABS, DWARF 2, and CodeView 8 formats.") (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")))) + +(define-public lightning + (package + (name "lightning") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/lightning/lightning-" + version ".tar.gz")) + (sha256 + (base32 + "19j9nwl88k660045s40cbz5zrl1wpd2mcxnnc8qqnnaj311a58qz")))) + (build-system gnu-build-system) + (synopsis "Library for generating assembly code at runtime") + (description + "GNU Lightning is a library that generates assembly language code at +run-time. Thus, it is useful in creating Just-In-Time compilers. It +abstracts over the target CPU by exposing a standardized RISC instruction set +to the clients.") + (home-page "http://www.gnu.org/software/lightning/") + (license gpl3+))) diff --git a/gnu/packages/lightning.scm b/gnu/packages/lightning.scm deleted file mode 100644 index 7dacb8f4cd..0000000000 --- a/gnu/packages/lightning.scm +++ /dev/null @@ -1,44 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gnu packages lightning) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses)) - -(define-public lightning - (package - (name "lightning") - (version "2.1.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/lightning/lightning-" - version ".tar.gz")) - (sha256 - (base32 - "19j9nwl88k660045s40cbz5zrl1wpd2mcxnnc8qqnnaj311a58qz")))) - (build-system gnu-build-system) - (synopsis "Library for generating assembly code at runtime") - (description - "GNU Lightning is a library that generates assembly language code at -run-time. Thus, it is useful in creating Just-In-Time compilers. It -abstracts over the target CPU by exposing a standardized RISC instruction set -to the clients.") - (home-page "http://www.gnu.org/software/lightning/") - (license gpl3+))) From 384bc22ad820f2c61c0e9b42756bb5565965e679 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 21 Jun 2016 23:53:09 +0000 Subject: [PATCH 062/435] gnu: perl-test-harness: Update to 3.36. * gnu/packages/perl.scm (perl-test-harness): Update to 3.36. Signed-off-by: Efraim Flashner --- gnu/packages/perl.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e45db041e7..386155d075 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2016 Jochem Raat ;;; Copyright © 2016 Efraim Flashner +;;; Coypright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -5073,7 +5074,7 @@ testing exception-throwing code with about the same amount of typing.") (define-public perl-test-harness (package (name "perl-test-harness") - (version "3.35") + (version "3.36") (source (origin (method url-fetch) @@ -5081,7 +5082,7 @@ testing exception-throwing code with about the same amount of typing.") "Test-Harness-" version ".tar.gz")) (sha256 (base32 - "06l29y1bpizb9vd9g49lgi0wzj1xy4rsk42ahdj3fpgqnvb9wp05")))) + "0gmnjss0hjkyiwvgby50nl5nzv254pn7fjqqdysjil21n09nymp7")))) (build-system perl-build-system) (arguments `(#:phases (alist-cons-before From da0cef6a2d885f31f82e5a3dc54dab509ee24ce7 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Wed, 22 Jun 2016 11:43:41 +0300 Subject: [PATCH 063/435] gnu: lightning: Fix typo. This is a followup to commit c283b22e93cbf496e13b25878be3ec8a1242fb73. * gnu/packages/assembly.scm (lightning): Add 'license' prefix. --- gnu/packages/assembly.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index c80b8af329..40e40e8f93 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -111,4 +111,4 @@ run-time. Thus, it is useful in creating Just-In-Time compilers. It abstracts over the target CPU by exposing a standardized RISC instruction set to the clients.") (home-page "http://www.gnu.org/software/lightning/") - (license gpl3+))) + (license license:gpl3+))) From 7cc2e1e7e607506bdb740ccd9229dec6b299d910 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Jun 2016 17:42:38 +0300 Subject: [PATCH 064/435] gnu: efl: Update to 1.17.2. * gnu/packages/enlightenment.scm (efl): Update to 1.17.2. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 5531dcd367..2a606ebd7e 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -54,7 +54,7 @@ (define-public efl (package (name "efl") - (version "1.17.1") + (version "1.17.2") (source (origin (method url-fetch) (uri (string-append @@ -62,7 +62,7 @@ version ".tar.xz")) (sha256 (base32 - "0d58bhvwg7c5hp07wywlwnqi01k4jhmpgac7gkx9lil1x6kmahqs")))) + "1dpq5flygrjg931nzsr2ra8icqffzrzbs1lnrzarbpsbmgq3zacs")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 612fddec341333a2440f8f7d3abf4eedaa42e69c Mon Sep 17 00:00:00 2001 From: ng0 Date: Sat, 11 Jun 2016 12:53:20 +0000 Subject: [PATCH 065/435] gnu: haskell.scm: Replace http with https in Hackage, Github. * gnu/packages/haskell.scm: Use https for Hackage, Github urls. --- gnu/packages/haskell.scm | 647 ++++++++++++++++++++------------------- 1 file changed, 324 insertions(+), 323 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index b043e03ea4..ba8f48d677 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -264,7 +265,7 @@ interactive environment for the functional language Haskell.") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/hostname/" + (uri (string-append "https://hackage.haskell.org/package/hostname/" "hostname-" version ".tar.gz")) (sha256 (base32 @@ -311,14 +312,14 @@ determine the hostname.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/prelude-extras/prelude-extras-" + "https://hackage.haskell.org/package/prelude-extras/prelude-extras-" version ".tar.gz")) (sha256 (base32 "1q7mj9hysy747vimnlyrwsk1wb2axymxixa76fwcbcnmz3fi4llp")))) (build-system haskell-build-system) - (home-page "http://github.com/ekmett/prelude-extras") + (home-page "https://github.com/ekmett/prelude-extras") (synopsis "Higher order versions of Prelude classes") (description "This library provides higher order versions of @code{Prelude} classes to ease programming with polymorphic recursion and @@ -333,7 +334,7 @@ reduce @code{UndecidableInstances}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/data-default/data-default-" + "https://hackage.haskell.org/package/data-default/data-default-" version ".tar.gz")) (sha256 @@ -350,7 +351,7 @@ reduce @code{UndecidableInstances}.") ,ghc-data-default-instances-dlist) ("ghc-data-default-instances-old-locale" ,ghc-data-default-instances-old-locale))) - (home-page "http://hackage.haskell.org/package/data-default") + (home-page "https://hackage.haskell.org/package/data-default") (synopsis "Types with default values") (description "This package defines a class for types with a default value, and @@ -366,12 +367,12 @@ packages.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/data-default-class/" + "https://hackage.haskell.org/package/data-default-class/" "data-default-class-" version ".tar.gz")) (sha256 (base32 "0ccgr3jllinchqhw3lsn73ic6axk4196if5274rr1rghls0fxj5d")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/data-default-class") + (home-page "https://hackage.haskell.org/package/data-default-class") (synopsis "Types with default values") (description "This package defines a class for types with default values.") @@ -385,7 +386,7 @@ packages.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" + "https://hackage.haskell.org/package/" "data-default-instances-base/" "data-default-instances-base-" version ".tar.gz")) (sha256 @@ -393,7 +394,7 @@ packages.") (build-system haskell-build-system) (propagated-inputs `(("ghc-data-default-class" ,ghc-data-default-class))) - (home-page "http://hackage.haskell.org/package/data-default-instances-base") + (home-page "https://hackage.haskell.org/package/data-default-instances-base") (synopsis "Default instances for types in base") (description "This package provides default instances for types from the base @@ -408,7 +409,7 @@ package.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" + "https://hackage.haskell.org/package/" "data-default-instances-containers/" "data-default-instances-containers-" version ".tar.gz")) (sha256 @@ -416,7 +417,7 @@ package.") (build-system haskell-build-system) (propagated-inputs `(("ghc-data-default-class" ,ghc-data-default-class))) - (home-page "http://hackage.haskell.org/package/data-default-instances-containers") + (home-page "https://hackage.haskell.org/package/data-default-instances-containers") (synopsis "Default instances for types in containers") (description "Provides default instances for types from the containers package.") @@ -430,7 +431,7 @@ package.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" + "https://hackage.haskell.org/package/" "data-default-instances-dlist/" "data-default-instances-dlist-" version ".tar.gz")) (sha256 @@ -439,7 +440,7 @@ package.") (propagated-inputs `(("ghc-data-default-class" ,ghc-data-default-class) ("ghc-dlist" ,ghc-dlist))) - (home-page "http://hackage.haskell.org/package/data-default-instances-dlist") + (home-page "https://hackage.haskell.org/package/data-default-instances-dlist") (synopsis "Default instances for types in dlist") (description "Provides default instances for types from the dlist package.") @@ -453,7 +454,7 @@ package.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/haddock-library/haddock-library-" + "https://hackage.haskell.org/package/haddock-library/haddock-library-" version ".tar.gz")) (sha256 @@ -483,7 +484,7 @@ the ‘haddock’ package.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/haddock-api/haddock-api-" + "https://hackage.haskell.org/package/haddock-api/haddock-api-" version ".tar.gz")) (sha256 @@ -507,7 +508,7 @@ documentation-generation tool for Haskell libraries.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/haddock/haddock-" + "https://hackage.haskell.org/package/haddock/haddock-" version ".tar.gz")) (sha256 @@ -533,7 +534,7 @@ documentation-generation tool for Haskell libraries.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/simple-reflect/simple-reflect-" + "https://hackage.haskell.org/package/simple-reflect/simple-reflect-" version ".tar.gz")) (sha256 @@ -560,7 +561,7 @@ them.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/multipart/multipart-" + "https://hackage.haskell.org/package/multipart/multipart-" version ".tar.gz")) (sha256 @@ -584,7 +585,7 @@ them.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/html/html-" + "https://hackage.haskell.org/package/html/html-" version ".tar.gz")) (sha256 @@ -592,7 +593,7 @@ them.") "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c")))) (build-system haskell-build-system) (home-page - "http://hackage.haskell.org/package/html") + "https://hackage.haskell.org/package/html") (synopsis "HTML combinator library") (description "This package contains a combinator library for constructing HTML @@ -607,7 +608,7 @@ documents.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/xhtml/xhtml-" + "https://hackage.haskell.org/package/xhtml/xhtml-" version ".tar.gz")) (sha256 @@ -629,7 +630,7 @@ Strict, Transitional and Frameset variants.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/haskell-src/haskell-src-" + "https://hackage.haskell.org/package/haskell-src/haskell-src-" version ".tar.gz")) (sha256 @@ -640,7 +641,7 @@ Strict, Transitional and Frameset variants.") `(("ghc-happy" ,ghc-happy) ("ghc-syb" ,ghc-syb))) (home-page - "http://hackage.haskell.org/package/haskell-src") + "https://hackage.haskell.org/package/haskell-src") (synopsis "Support for manipulating Haskell source code") (description @@ -658,7 +659,7 @@ package are to parse or generate Haskell 98 code.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/alex/alex-" + "https://hackage.haskell.org/package/alex/alex-" version ".tar.gz")) (sha256 @@ -687,7 +688,7 @@ tool lex or flex for C/C++.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/cgi/cgi-" + "https://hackage.haskell.org/package/cgi/cgi-" version ".tar.gz")) (sha256 @@ -718,7 +719,7 @@ tool lex or flex for C/C++.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/cmdargs/cmdargs-" + "https://hackage.haskell.org/package/cmdargs/cmdargs-" version ".tar.gz")) (sha256 @@ -739,7 +740,7 @@ tool lex or flex for C/C++.") (source (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/concatenative/concatenative-" + "https://hackage.haskell.org/package/concatenative/concatenative-" version ".tar.gz")) (sha256 (base32 @@ -762,7 +763,7 @@ postfix notation. For more information on stack based languages, see (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/happy/happy-" + "https://hackage.haskell.org/package/happy/happy-" version ".tar.gz")) (sha256 @@ -788,7 +789,7 @@ Happy works in a similar way to the yacc tool for C.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-" + "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-" version ".tar.gz")) (sha256 @@ -822,7 +823,7 @@ patterns as per the HaRP extension as well as HSX-style embedded XML syntax.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" name + "https://hackage.haskell.org/package/" name "/" name "-" version ".tar.gz")) (sha256 (base32 @@ -851,7 +852,7 @@ unwanted suggestions, and to add your own custom suggestions.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/resourcet/resourcet-" + "https://hackage.haskell.org/package/resourcet/resourcet-" version ".tar.gz")) (sha256 @@ -868,7 +869,7 @@ unwanted suggestions, and to add your own custom suggestions.") (inputs `(("ghc-lifted-base" ,ghc-lifted-base) ("ghc-hspec" ,ghc-hspec))) - (home-page "http://github.com/snoyberg/conduit") + (home-page "https://github.com/snoyberg/conduit") (synopsis "Deterministic allocation and freeing of scarce resources") (description "ResourceT is a monad transformer which creates a region of code where you can safely allocate resources.") @@ -882,7 +883,7 @@ code where you can safely allocate resources.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/xss-sanitize/xss-sanitize-" + "https://hackage.haskell.org/package/xss-sanitize/xss-sanitize-" version ".tar.gz")) (sha256 @@ -899,7 +900,7 @@ code where you can safely allocate resources.") ("ghc-attoparsec" ,ghc-attoparsec) ("ghc-hspec" ,ghc-hspec) ("ghc-hunit" ,ghc-hunit))) - (home-page "http://github.com/yesodweb/haskell-xss-sanitize") + (home-page "https://github.com/yesodweb/haskell-xss-sanitize") (synopsis "Sanitize untrusted HTML to prevent XSS attacks") (description "This library provides @code{sanitizeXSS}. Run untrusted HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS @@ -914,7 +915,7 @@ attacks.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/ObjectName/ObjectName-" + "https://hackage.haskell.org/package/ObjectName/ObjectName-" version ".tar.gz")) (sha256 @@ -937,7 +938,7 @@ OpenAL.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/SDL/SDL-" + "https://hackage.haskell.org/package/SDL/SDL-" version ".tar.gz")) (sha256 @@ -963,7 +964,7 @@ award winning Linux port of \"Civilization: Call To Power.\"") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/SDL-mixer/SDL-mixer-" + "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-" version ".tar.gz")) (sha256 @@ -979,7 +980,7 @@ award winning Linux port of \"Civilization: Call To Power.\"") `(("ghc-sdl" ,ghc-sdl))) (inputs `(("sdl-mixer" ,sdl-mixer))) - (home-page "http://hackage.haskell.org/package/SDL-mixer") + (home-page "https://hackage.haskell.org/package/SDL-mixer") (synopsis "Haskell bindings to libSDL_mixer") (description "SDL_mixer is a sample multi-channel audio mixer library. It supports any number of simultaneously playing channels of 16 bit stereo audio, @@ -995,7 +996,7 @@ MIDI, Ogg Vorbis, and SMPEG MP3 libraries.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/SDL-image/SDL-image-" + "https://hackage.haskell.org/package/SDL-image/SDL-image-" version ".tar.gz")) (sha256 @@ -1011,7 +1012,7 @@ MIDI, Ogg Vorbis, and SMPEG MP3 libraries.") `(("ghc-sdl" ,ghc-sdl))) (inputs `(("sdl-image" ,sdl-image))) - (home-page "http://hackage.haskell.org/package/SDL-image") + (home-page "https://hackage.haskell.org/package/SDL-image") (synopsis "Haskell bindings to libSDL_image") (description "SDL_image is an image file loading library. It loads images as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, @@ -1026,14 +1027,14 @@ PNG, PNM, TGA, TIFF, XCF, XPM, XV.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/half/half-" + "https://hackage.haskell.org/package/half/half-" version ".tar.gz")) (sha256 (base32 "0zhwc6ps5w4ccnxl8sy623z4rjsafmnry69jpkw4hrbq11l402f1")))) (build-system haskell-build-system) - (home-page "http://github.com/ekmett/half") + (home-page "https://github.com/ekmett/half") (synopsis "Half-precision floating-point computations") (description "This library provides a half-precision floating-point computation library for Haskell.") @@ -1047,7 +1048,7 @@ computation library for Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-" + "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-" version ".tar.gz")) (sha256 @@ -1079,7 +1080,7 @@ found at runtime, a userError is thrown.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/GLUT/GLUT-" + "https://hackage.haskell.org/package/GLUT/GLUT-" version ".tar.gz")) (sha256 @@ -1107,7 +1108,7 @@ programs.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/GLURaw/GLURaw-" + "https://hackage.haskell.org/package/GLURaw/GLURaw-" version ".tar.gz")) (sha256 @@ -1131,7 +1132,7 @@ basis for a nicer interface.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/OpenGL/OpenGL-" + "https://hackage.haskell.org/package/OpenGL/OpenGL-" version ".tar.gz")) (sha256 @@ -1159,7 +1160,7 @@ version 1.3).") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/streaming-commons/streaming-commons-" + "https://hackage.haskell.org/package/streaming-commons/streaming-commons-" version ".tar.gz")) (sha256 @@ -1192,7 +1193,7 @@ various Haskell streaming data libraries, such as @code{conduit} and (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" name "/" + "https://hackage.haskell.org/package/" name "/" name "-" version ".tar.gz")) (sha256 (base32 @@ -1220,7 +1221,7 @@ unlit literate code files; and an option to turn off macro-expansion.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/reflection/reflection-" + "https://hackage.haskell.org/package/reflection/reflection-" version ".tar.gz")) (sha256 @@ -1228,7 +1229,7 @@ unlit literate code files; and an option to turn off macro-expansion.") "10w3m6v3g6am203wbrikdbp57x9vw6b4jsh7bxdzsss4nmpm81zg")))) (build-system haskell-build-system) (inputs `(("ghc-tagged" ,ghc-tagged))) - (home-page "http://github.com/ekmett/reflection") + (home-page "https://github.com/ekmett/reflection") (synopsis "Reify arbitrary terms into types that can be reflected back into terms") (description "This package addresses the 'configuration problem' which is @@ -1245,13 +1246,13 @@ configurations to coexist without resorting to mutable global variables or (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/old-locale/old-locale-" + "https://hackage.haskell.org/package/old-locale/old-locale-" version ".tar.gz")) (sha256 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/old-locale") + (home-page "https://hackage.haskell.org/package/old-locale") (synopsis "Adapt to locale conventions") (description "This package provides the ability to adapt to locale conventions such as @@ -1266,7 +1267,7 @@ date and time formats.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/old-time/old-time-" + "https://hackage.haskell.org/package/old-time/old-time-" version ".tar.gz")) (sha256 @@ -1275,11 +1276,11 @@ date and time formats.") (build-system haskell-build-system) (propagated-inputs `(("ghc-old-locale" ,ghc-old-locale))) - (home-page "http://hackage.haskell.org/package/old-time") + (home-page "https://hackage.haskell.org/package/old-time") (synopsis "Time compatibility library for Haskell") (description "Old-time is a package for backwards compatibility with the old @code{time} library. For new projects, the newer -@uref{http://hackage.haskell.org/package/time, time library} is recommended.") +@uref{https://hackage.haskell.org/package/time, time library} is recommended.") (license license:bsd-3))) (define-public ghc-data-default-instances-old-locale @@ -1290,7 +1291,7 @@ old @code{time} library. For new projects, the newer (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" + "https://hackage.haskell.org/package/" "data-default-instances-old-locale/" "data-default-instances-old-locale-" version ".tar.gz")) (sha256 @@ -1300,7 +1301,7 @@ old @code{time} library. For new projects, the newer `(("ghc-data-default-class" ,ghc-data-default-class) ("ghc-old-locale" ,ghc-old-locale))) (home-page - "http://hackage.haskell.org/package/data-default-instances-old-locale") + "https://hackage.haskell.org/package/data-default-instances-old-locale") (synopsis "Default instances for types in old-locale") (description "Provides Default instances for types from the old-locale package.") @@ -1314,7 +1315,7 @@ old @code{time} library. For new projects, the newer (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/dlist/dlist-" + "https://hackage.haskell.org/package/dlist/dlist-" version ".tar.gz")) (sha256 @@ -1337,13 +1338,13 @@ Writer monad), where list append quickly becomes too expensive.") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "extensible-exceptions/extensible-exceptions-" version ".tar.gz")) (sha256 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/extensible-exceptions") + (home-page "https://hackage.haskell.org/package/extensible-exceptions") (synopsis "Extensible exceptions for Haskell") (description "This package provides extensible exceptions for both new and old @@ -1358,7 +1359,7 @@ versions of GHC (i.e., < 6.10).") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/cabal-install/cabal-install-" + "https://hackage.haskell.org/package/cabal-install/cabal-install-" version ".tar.gz")) (sha256 @@ -1390,14 +1391,14 @@ installation of Haskell libraries and programs.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/mtl/mtl-" + "https://hackage.haskell.org/package/mtl/mtl-" version ".tar.gz")) (sha256 (base32 "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa")))) (build-system haskell-build-system) - (home-page "http://github.com/ekmett/mtl") + (home-page "https://github.com/ekmett/mtl") (synopsis "Monad classes, using functional dependencies") (description "Monad classes using functional dependencies, with instances @@ -1416,7 +1417,7 @@ School of Functional Programming', 1995. See (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/ghc-paths/ghc-paths-" + "https://hackage.haskell.org/package/ghc-paths/ghc-paths-" version ".tar.gz")) (sha256 @@ -1438,13 +1439,13 @@ School of Functional Programming', 1995. See (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/utf8-string/utf8-string-" + "https://hackage.haskell.org/package/utf8-string/utf8-string-" version ".tar.gz")) (sha256 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv")))) (build-system haskell-build-system) - (home-page "http://github.com/glguy/utf8-string/") + (home-page "https://github.com/glguy/utf8-string/") (synopsis "Support for reading and writing UTF8 Strings") (description "A UTF8 layer for Strings. The utf8-string package provides operations @@ -1460,14 +1461,14 @@ UTF8 without truncation.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/setenv/setenv-" + "https://hackage.haskell.org/package/setenv/setenv-" version ".tar.gz")) (sha256 (base32 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/setenv") + (home-page "https://hackage.haskell.org/package/setenv") (synopsis "Library for setting environment variables") (description "This package provides a Haskell library for setting environment variables.") @@ -1480,7 +1481,7 @@ environment variables.") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/X11/" + (uri (string-append "https://hackage.haskell.org/package/X11/" "X11-" version ".tar.gz")) (sha256 (base32 "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj")))) @@ -1506,7 +1507,7 @@ bindings are a direct translation of the C bindings.") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/X11-xft/" + (uri (string-append "https://hackage.haskell.org/package/X11-xft/" "X11-xft-" version ".tar.gz")) (sha256 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf")))) @@ -1520,7 +1521,7 @@ bindings are a direct translation of the C bindings.") (native-inputs `(("pkg-config" ,pkg-config))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/X11-xft") + (home-page "https://hackage.haskell.org/package/X11-xft") (synopsis "Bindings to Xft") (description "Bindings to the Xft, X Free Type interface library, and some Xrender @@ -1535,7 +1536,7 @@ parts.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/stringbuilder/stringbuilder-" + "https://hackage.haskell.org/package/stringbuilder/stringbuilder-" version ".tar.gz")) (sha256 @@ -1544,7 +1545,7 @@ parts.") (build-system haskell-build-system) (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests ; enabled - (home-page "http://hackage.haskell.org/package/stringbuilder") + (home-page "https://hackage.haskell.org/package/stringbuilder") (synopsis "Writer monad for multi-line string literals") (description "This package provides a writer monad for multi-line string literals.") @@ -1559,7 +1560,7 @@ literals.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/zlib/zlib-" + "https://hackage.haskell.org/package/zlib/zlib-" version ".tar.gz")) (sha256 @@ -1567,7 +1568,7 @@ literals.") "15hhsk7z3gvm7sz2ic2z1ca5c6rpsln2rr391mdbm1bxlzc1gmkm")))) (build-system haskell-build-system) (inputs `(("zlib" ,zlib))) - (home-page "http://hackage.haskell.org/package/zlib") + (home-page "https://hackage.haskell.org/package/zlib") (synopsis "Compression and decompression in the gzip and zlib formats") (description @@ -1588,14 +1589,14 @@ access to the full zlib feature set.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/stm/stm-" + "https://hackage.haskell.org/package/stm/stm-" version ".tar.gz")) (sha256 (base32 "0gc8zvdijp3rwmidkpxv76b4i0dc8dw6nbd92rxl4vxl0655iysx")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/stm") + (home-page "https://hackage.haskell.org/package/stm") (synopsis "Software Transactional Memory") (description "A modular composable concurrency abstraction.") @@ -1610,14 +1611,14 @@ access to the full zlib feature set.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/parallel/parallel-" + "https://hackage.haskell.org/package/parallel/parallel-" version ".tar.gz")) (sha256 (base32 "0hp6vf4zxsw6vz6lj505xihmnfhgjp39c9q7nyzlgcmps3xx6a5r")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/parallel") + (home-page "https://hackage.haskell.org/package/parallel") (synopsis "Parallel programming library") (description "This package provides a library for parallel programming.") @@ -1632,7 +1633,7 @@ access to the full zlib feature set.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/text/text-" + "https://hackage.haskell.org/package/text/text-" version ".tar.gz")) (sha256 @@ -1662,7 +1663,7 @@ in terms of large data quantities and high speed.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/hashable/hashable-" + "https://hackage.haskell.org/package/hashable/hashable-" version ".tar.gz")) (sha256 @@ -1674,7 +1675,7 @@ in terms of large data quantities and high speed.") ;; these inputs are necessary to use this library (propagated-inputs `(("ghc-text" ,ghc-text))) - (home-page "http://github.com/tibbe/hashable") + (home-page "https://github.com/tibbe/hashable") (synopsis "Class for types that can be converted to a hash value") (description @@ -1693,7 +1694,7 @@ combine hash values.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/HUnit/HUnit-" + "https://hackage.haskell.org/package/HUnit/HUnit-" version ".tar.gz")) (sha256 @@ -1716,13 +1717,13 @@ JUnit tool for Java.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/random/random-" + "https://hackage.haskell.org/package/random/random-" version ".tar.gz")) (sha256 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/random") + (home-page "https://hackage.haskell.org/package/random") (synopsis "Random number library") (description "This package provides a basic random number generation library, including the ability to split random number generators.") @@ -1737,7 +1738,7 @@ library, including the ability to split random number generators.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/primitive/primitive-" + "https://hackage.haskell.org/package/primitive/primitive-" version ".tar.gz")) (sha256 @@ -1758,7 +1759,7 @@ library, including the ability to split random number generators.") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/test-framework/" + (uri (string-append "https://hackage.haskell.org/package/test-framework/" "test-framework-" version ".tar.gz")) (sha256 (base32 @@ -1793,7 +1794,7 @@ reporting and test statistics output.") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "test-framework-hunit/test-framework-hunit-" version ".tar.gz")) (sha256 @@ -1817,7 +1818,7 @@ reporting and test statistics output.") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "test-framework-quickcheck2/" "test-framework-quickcheck2-" version ".tar.gz")) (sha256 @@ -1852,7 +1853,7 @@ package.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/tf-random/tf-random-" + "https://hackage.haskell.org/package/tf-random/tf-random-" version ".tar.gz")) (sha256 @@ -1862,7 +1863,7 @@ package.") (propagated-inputs `(("ghc-primitive" ,ghc-primitive) ("ghc-random" ,ghc-random))) - (home-page "http://hackage.haskell.org/package/tf-random") + (home-page "https://hackage.haskell.org/package/tf-random") (synopsis "High-quality splittable pseudorandom number generator") (description "This package contains an implementation of a high-quality splittable pseudorandom number generator. The generator is based on a @@ -1879,7 +1880,7 @@ Hashing\" by Claessen, Pałka for details and the rationale of the design.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/transformers-base/transformers-base-" + "https://hackage.haskell.org/package/transformers-base/transformers-base-" version ".tar.gz")) (sha256 @@ -1891,7 +1892,7 @@ Hashing\" by Claessen, Pałka for details and the rationale of the design.") (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat))) (home-page - "http://hackage.haskell.org/package/transformers-compat") + "https://hackage.haskell.org/package/transformers-compat") (synopsis "Backported transformer library") (description @@ -1908,13 +1909,13 @@ compatibility to run on old versions of the platform.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/transformers-compat" + "https://hackage.haskell.org/package/transformers-compat" "/transformers-compat-" version ".tar.gz")) (sha256 (base32 "0lmg8ry6bgigb0v2lg0n74lxi8z5m85qq0qi4h1k9llyjb4in8ym")))) (build-system haskell-build-system) - (home-page "http://github.com/ekmett/transformers-compat/") + (home-page "https://github.com/ekmett/transformers-compat/") (synopsis "Small compatibility shim between transformers 0.3 and 0.4") (description "This package includes backported versions of types that were added to transformers in transformers 0.3 and 0.4 for users who need strict @@ -1930,7 +1931,7 @@ but also need those types.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/unix-time/unix-time-" + "https://hackage.haskell.org/package/unix-time/unix-time-" version ".tar.gz")) (sha256 @@ -1943,7 +1944,7 @@ but also need those types.") (propagated-inputs `(("ghc-old-time" ,ghc-old-time) ("ghc-old-locale" ,ghc-old-locale))) - (home-page "http://hackage.haskell.org/package/unix-time") + (home-page "https://hackage.haskell.org/package/unix-time") (synopsis "Unix time parser/formatter and utilities") (description "This library provides fast parsing and formatting utilities for Unix time in Haskell.") @@ -1957,7 +1958,7 @@ for Unix time in Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/unix-compat/unix-compat-" + "https://hackage.haskell.org/package/unix-compat/unix-compat-" version ".tar.gz")) (sha256 @@ -1965,7 +1966,7 @@ for Unix time in Haskell.") "0jxk7j5pz2kgfpqr4hznndjg31pqj5xg2qfc5308fcn9xyg1myps")))) (build-system haskell-build-system) (home-page - "http://github.com/jystic/unix-compat") + "https://github.com/jystic/unix-compat") (synopsis "Portable POSIX-compatibility layer") (description "This package provides portable implementations of parts of the unix @@ -1981,7 +1982,7 @@ isn't available, portable implementations are used.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/http-types/http-types-" + "https://hackage.haskell.org/package/http-types/http-types-" version ".tar.gz")) (sha256 @@ -2009,7 +2010,7 @@ both client and server code).") (source (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/indents/indents-" + "https://hackage.haskell.org/package/indents/indents-" version ".tar.gz")) (sha256 (base32 @@ -2035,7 +2036,7 @@ lines continued at an indented level below.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/iproute/iproute-" + "https://hackage.haskell.org/package/iproute/iproute-" version ".tar.gz")) (sha256 @@ -2065,7 +2066,7 @@ removed. Both IPv4 and IPv6 are supported.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/regex-base/regex-base-" + "https://hackage.haskell.org/package/regex-base/regex-base-" version ".tar.gz")) (sha256 @@ -2089,7 +2090,7 @@ regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/regex-posix/regex-posix-" + "https://hackage.haskell.org/package/regex-posix/regex-posix-" version ".tar.gz")) (sha256 @@ -2112,7 +2113,7 @@ Haskell library @code{regex-base}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/regex-compat/regex-compat-" + "https://hackage.haskell.org/package/regex-compat/regex-compat-" version ".tar.gz")) (sha256 @@ -2136,7 +2137,7 @@ Haskell library @code{regex-base}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-" + "https://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-" version ".tar.gz")) (sha256 @@ -2149,7 +2150,7 @@ Haskell library @code{regex-base}.") (inputs `(("ghc-mtl" ,ghc-mtl))) (home-page - "http://hackage.haskell.org/package/regex-tdfa") + "https://hackage.haskell.org/package/regex-tdfa") (synopsis "Tagged DFA regex engine for Haskell") (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by @code{libtre} (fork by Roman Cheplyaka).") @@ -2163,7 +2164,7 @@ Haskell library @code{regex-base}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/parsers/parsers-" + "https://hackage.haskell.org/package/parsers/parsers-" version ".tar.gz")) (sha256 @@ -2181,7 +2182,7 @@ Haskell library @code{regex-base}.") (inputs `(("ghc-text" ,ghc-text) ("ghc-unordered-containers" ,ghc-unordered-containers))) - (home-page "http://github.com/ekmett/parsers/") + (home-page "https://github.com/ekmett/parsers/") (synopsis "Parsing combinators") (description "This library provides convenient combinators for working with and building parsing combinator libraries. Given a few simple instances, @@ -2198,7 +2199,7 @@ the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/trifecta/trifecta-" + "https://hackage.haskell.org/package/trifecta/trifecta-" version ".tar.gz")) (sha256 @@ -2226,7 +2227,7 @@ the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s ("ghc-parsers" ,ghc-parsers) ("ghc-unordered-containers" ,ghc-unordered-containers) ("ghc-utf8-string" ,ghc-utf8-string))) - (home-page "http://github.com/ekmett/trifecta/") + (home-page "https://github.com/ekmett/trifecta/") (synopsis "Parser combinator library with convenient diagnostics") (description "Trifecta is a modern parser combinator library for Haskell, with slicing and Clang-style colored diagnostics.") @@ -2240,7 +2241,7 @@ with slicing and Clang-style colored diagnostics.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/attoparsec/attoparsec-" + "https://hackage.haskell.org/package/attoparsec/attoparsec-" version ".tar.gz")) (sha256 @@ -2271,7 +2272,7 @@ complicated text/binary file formats.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/css-text/css-text-" + "https://hackage.haskell.org/package/css-text/css-text-" version ".tar.gz")) (sha256 @@ -2297,7 +2298,7 @@ Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/zip-archive/zip-archive-" + "https://hackage.haskell.org/package/zip-archive/zip-archive-" version ".tar.gz")) (sha256 @@ -2327,7 +2328,7 @@ modifying, and extracting files from zip archives in Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/distributive/distributive-" + "https://hackage.haskell.org/package/distributive/distributive-" version ".tar.gz")) (sha256 @@ -2339,7 +2340,7 @@ modifying, and extracting files from zip archives in Haskell.") (propagated-inputs `(("ghc-tagged" ,ghc-tagged) ("ghc-transformers-compat" ,ghc-transformers-compat))) - (home-page "http://github.com/ekmett/distributive/") + (home-page "https://github.com/ekmett/distributive/") (synopsis "Distributive functors for Haskell") (description "This package provides distributive functors for Haskell. Dual to @code{Traversable}.") @@ -2353,14 +2354,14 @@ Dual to @code{Traversable}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/cereal/cereal-" + "https://hackage.haskell.org/package/cereal/cereal-" version ".tar.gz")) (sha256 (base32 "15rhfn9hrjm01ksh9xpz9syxsp9vkvpp6b736iqq38wv2wb7416z")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/cereal") + (home-page "https://hackage.haskell.org/package/cereal") (synopsis "Binary serialization library") (description "This package provides a binary serialization library, similar to @code{binary}, that introduces an @code{isolate} primitive for @@ -2375,7 +2376,7 @@ parser isolation, and labeled blocks for better error messages.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/comonad/comonad-" + "https://hackage.haskell.org/package/comonad/comonad-" version ".tar.gz")) (sha256 @@ -2392,7 +2393,7 @@ parser isolation, and labeled blocks for better error messages.") `(("ghc-semigroups" ,ghc-semigroups) ("ghc-tagged" ,ghc-tagged) ("ghc-contravariant" ,ghc-contravariant))) - (home-page "http://github.com/ekmett/comonad/") + (home-page "https://github.com/ekmett/comonad/") (synopsis "Comonads for Haskell") (description "This library provides @code{Comonad}s for Haskell.") (license license:bsd-3))) @@ -2405,7 +2406,7 @@ parser isolation, and labeled blocks for better error messages.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/hscolour/hscolour-" + "https://hackage.haskell.org/package/hscolour/hscolour-" version ".tar.gz")) (sha256 @@ -2429,7 +2430,7 @@ and mIRC chat codes.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/polyparse/polyparse-" + "https://hackage.haskell.org/package/polyparse/polyparse-" version ".tar.gz")) (sha256 @@ -2459,7 +2460,7 @@ Strings.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/extra/extra-" + "https://hackage.haskell.org/package/extra/extra-" version ".tar.gz")) (sha256 @@ -2483,7 +2484,7 @@ this package makes them available back to GHC 7.2.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/profunctors/profunctors-" + "https://hackage.haskell.org/package/profunctors/profunctors-" version ".tar.gz")) (sha256 @@ -2495,7 +2496,7 @@ this package makes them available back to GHC 7.2.") (inputs `(("ghc-comonad" ,ghc-comonad) ("ghc-tagged" ,ghc-tagged))) - (home-page "http://github.com/ekmett/profunctors/") + (home-page "https://github.com/ekmett/profunctors/") (synopsis "Profunctors for Haskell") (description "This library provides profunctors for Haskell.") (license license:bsd-3))) @@ -2508,7 +2509,7 @@ this package makes them available back to GHC 7.2.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/reducers/reducers-" + "https://hackage.haskell.org/package/reducers/reducers-" version ".tar.gz")) (sha256 @@ -2523,7 +2524,7 @@ this package makes them available back to GHC 7.2.") ("ghc-text" ,ghc-text) ("ghc-unordered-containers" ,ghc-unordered-containers) ("ghc-semigroups" ,ghc-semigroups))) - (home-page "http://github.com/ekmett/reducers/") + (home-page "https://github.com/ekmett/reducers/") (synopsis "Semigroups, specialized containers and a general map/reduce framework") (description "This library provides various semigroups, specialized containers and a general map/reduce framework for Haskell.") @@ -2537,7 +2538,7 @@ containers and a general map/reduce framework for Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/appar/appar-" + "https://hackage.haskell.org/package/appar/appar-" version ".tar.gz")) (sha256 @@ -2545,7 +2546,7 @@ containers and a general map/reduce framework for Haskell.") "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq")))) (build-system haskell-build-system) (home-page - "http://hackage.haskell.org/package/appar") + "https://hackage.haskell.org/package/appar") (synopsis "Simple applicative parser") (description "This package provides a simple applicative parser in Parsec style.") @@ -2559,7 +2560,7 @@ style.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/safe/safe-" + "https://hackage.haskell.org/package/safe/safe-" version ".tar.gz")) (sha256 @@ -2581,7 +2582,7 @@ exceptions.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/generic-deriving/generic-deriving-" + "https://hackage.haskell.org/package/generic-deriving/generic-deriving-" version ".tar.gz")) (sha256 @@ -2602,7 +2603,7 @@ deriving mechanism in Haskell to arbitrary classes.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/pcre-light/pcre-light-" + "https://hackage.haskell.org/package/pcre-light/pcre-light-" version ".tar.gz")) (sha256 @@ -2627,7 +2628,7 @@ syntax and semantics as Perl 5.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/logict/logict-" + "https://hackage.haskell.org/package/logict/logict-" version ".tar.gz")) (sha256 @@ -2652,7 +2653,7 @@ online}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/xml/xml-" + "https://hackage.haskell.org/package/xml/xml-" version ".tar.gz")) (sha256 @@ -2674,7 +2675,7 @@ online}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/exceptions/exceptions-" + "https://hackage.haskell.org/package/exceptions/exceptions-" version ".tar.gz")) (sha256 @@ -2686,7 +2687,7 @@ online}.") `(("ghc-stm" ,ghc-stm) ("ghc-mtl" ,ghc-mtl) ("ghc-transformers-compat" ,ghc-transformers-compat))) - (home-page "http://github.com/ekmett/exceptions/") + (home-page "https://github.com/ekmett/exceptions/") (synopsis "Extensible optionally-pure exceptions") (description "This library provides extensible optionally-pure exceptions for Haskell.") @@ -2700,7 +2701,7 @@ for Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/temporary/temporary-" + "https://hackage.haskell.org/package/temporary/temporary-" version ".tar.gz")) (sha256 @@ -2725,7 +2726,7 @@ installed.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/temporary-rc/temporary-rc-" + "https://hackage.haskell.org/package/temporary-rc/temporary-rc-" version ".tar.gz")) (sha256 @@ -2754,7 +2755,7 @@ This is a better maintained fork of the \"temporary\" package.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/smallcheck/smallcheck-" + "https://hackage.haskell.org/package/smallcheck/smallcheck-" version ".tar.gz")) (sha256 @@ -2781,7 +2782,7 @@ automatically by SmallCheck.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/tasty-ant-xml/tasty-ant-xml-" + "https://hackage.haskell.org/package/tasty-ant-xml/tasty-ant-xml-" version ".tar.gz")) (sha256 @@ -2797,7 +2798,7 @@ automatically by SmallCheck.") ("ghc-tagged" ,ghc-tagged) ("ghc-tasty" ,ghc-tasty))) (home-page - "http://github.com/ocharles/tasty-ant-xml") + "https://github.com/ocharles/tasty-ant-xml") (synopsis "Render tasty output to XML for Jenkins") (description @@ -2814,7 +2815,7 @@ framework.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/tasty-smallcheck/tasty-smallcheck-" + "https://hackage.haskell.org/package/tasty-smallcheck/tasty-smallcheck-" version ".tar.gz")) (sha256 @@ -2840,7 +2841,7 @@ Haskell test framework.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/silently/silently-" + "https://hackage.haskell.org/package/silently/silently-" version ".tar.gz")) (sha256 @@ -2864,7 +2865,7 @@ writing to stdout and other handles.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" + "https://hackage.haskell.org/package/" "quickcheck-instances/quickcheck-instances-" version ".tar.gz")) (sha256 @@ -2893,7 +2894,7 @@ provided by the Haskell Platform.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/quickcheck-unicode/quickcheck-unicode-" + "https://hackage.haskell.org/package/quickcheck-unicode/quickcheck-unicode-" version ".tar.gz")) (sha256 @@ -2916,7 +2917,7 @@ testing Unicode-related software.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/quickcheck-io/quickcheck-io-" + "https://hackage.haskell.org/package/quickcheck-io/quickcheck-io-" version ".tar.gz")) (sha256 @@ -2942,7 +2943,7 @@ use HUnit assertions as QuickCheck properties.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/QuickCheck/QuickCheck-" + "https://hackage.haskell.org/package/QuickCheck/QuickCheck-" version ".tar.gz")) (sha256 @@ -2972,7 +2973,7 @@ use HUnit assertions as QuickCheck properties.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/case-insensitive/case-insensitive-" + "https://hackage.haskell.org/package/case-insensitive/case-insensitive-" version ".tar.gz")) (sha256 @@ -3006,7 +3007,7 @@ to cases.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/syb/syb-" + "https://hackage.haskell.org/package/syb/syb-" version ".tar.gz")) (sha256 @@ -3036,7 +3037,7 @@ variety of traversals.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/fgl/fgl-" + "https://hackage.haskell.org/package/fgl/fgl-" version ".tar.gz")) (sha256 @@ -3060,7 +3061,7 @@ encourages inductive, recursive definitions of graph algorithms.") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/ChasingBottoms/" + (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/" "ChasingBottoms-" version ".tar.gz")) (sha256 (base32 @@ -3078,7 +3079,7 @@ encourages inductive, recursive definitions of graph algorithms.") ("ghc-quickcheck" ,ghc-quickcheck) ("ghc-random" ,ghc-random) ("ghc-syb" ,ghc-syb))) - (home-page "http://hackage.haskell.org/package/ChasingBottoms") + (home-page "https://hackage.haskell.org/package/ChasingBottoms") (synopsis "Testing of partial and infinite values in Haskell") (description ;; FIXME: There should be a @comma{} in the uref text, but it is not @@ -3100,7 +3101,7 @@ Partial and Infinite Values\"}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/unordered-containers" + "https://hackage.haskell.org/package/unordered-containers" "/unordered-containers-" version ".tar.gz")) (sha256 (base32 @@ -3133,7 +3134,7 @@ and high speed.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/uniplate/uniplate-" + "https://hackage.haskell.org/package/uniplate/uniplate-" version ".tar.gz")) (sha256 @@ -3159,7 +3160,7 @@ work, but is substantially simpler and faster.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/base64-bytestring/base64-bytestring-" + "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-" version ".tar.gz")) (sha256 @@ -3181,7 +3182,7 @@ Haskell @code{ByteString}s.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/annotated-wl-pprint" + "https://hackage.haskell.org/package/annotated-wl-pprint" "/annotated-wl-pprint-" version ".tar.gz")) (sha256 @@ -3205,13 +3206,13 @@ a variety of ways.") (source (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/wl-pprint/wl-pprint-" + "https://hackage.haskell.org/package/wl-pprint/wl-pprint-" version ".tar.gz")) (sha256 (base32 "166zvk4zwn2zaa9kx66m1av38m34qp6h4i65bri2sfnxgvx0700r")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/wl-pprint") + (home-page "https://hackage.haskell.org/package/wl-pprint") (synopsis "Wadler/Leijen pretty printer") (description "This is a pretty printing library based on Wadler's paper @i{A Prettier @@ -3227,7 +3228,7 @@ instances of the @code{Pretty} class.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/ansi-wl-pprint/ansi-wl-pprint-" + "https://hackage.haskell.org/package/ansi-wl-pprint/ansi-wl-pprint-" version ".tar.gz")) (sha256 @@ -3236,7 +3237,7 @@ instances of the @code{Pretty} class.") (build-system haskell-build-system) (propagated-inputs `(("ghc-ansi-terminal" ,ghc-ansi-terminal))) - (home-page "http://github.com/ekmett/ansi-wl-pprint") + (home-page "https://github.com/ekmett/ansi-wl-pprint") (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output") (description "This is a pretty printing library based on Wadler's paper \"A Prettier Printer\". It has been enhanced with support for ANSI terminal @@ -3252,7 +3253,7 @@ colored output using the ansi-terminal package.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/split/split-" + "https://hackage.haskell.org/package/split/split-" version ".tar.gz")) (sha256 @@ -3268,7 +3269,7 @@ colored output using the ansi-terminal package.") (build-system haskell-build-system) (inputs `(("ghc-quickcheck" ,ghc-quickcheck))) - (home-page "http://hackage.haskell.org/package/split") + (home-page "https://hackage.haskell.org/package/split") (synopsis "Combinator library for splitting lists") (description "This package provides a collection of Haskell functions for splitting lists into parts, akin to the @code{split} function found in several @@ -3284,7 +3285,7 @@ mainstream languages.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/parsec/parsec-" + "https://hackage.haskell.org/package/parsec/parsec-" version ".tar.gz")) (sha256 @@ -3316,7 +3317,7 @@ is also parametric in the input stream type.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/vector/vector-" + "https://hackage.haskell.org/package/vector/vector-" version ".tar.gz")) (sha256 @@ -3345,7 +3346,7 @@ optimisation framework.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" + "https://hackage.haskell.org/package/" "vector-binary-instances/vector-binary-instances-" version ".tar.gz")) (sha256 @@ -3374,7 +3375,7 @@ boxed and storable vectors.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/network/network-" + "https://hackage.haskell.org/package/network/network-" version ".tar.gz")) (sha256 @@ -3400,7 +3401,7 @@ boxed and storable vectors.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/network-uri/network-uri-" + "https://hackage.haskell.org/package/network-uri/network-uri-" version ".tar.gz")) (sha256 @@ -3430,7 +3431,7 @@ package into this package.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/ansi-terminal/ansi-terminal-" + "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-" version ".tar.gz")) (sha256 @@ -3453,7 +3454,7 @@ cursor, and changing the title.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/HTTP/HTTP-" + "https://hackage.haskell.org/package/HTTP/HTTP-" version ".tar.gz")) (sha256 @@ -3486,7 +3487,7 @@ responses coming back.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/hspec/hspec-" + "https://hackage.haskell.org/package/hspec/hspec-" version ".tar.gz")) (sha256 @@ -3514,7 +3515,7 @@ Haskell, inspired by the Ruby library RSpec.") (version "0.3.0") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "hspec-contrib/hspec-contrib-" version ".tar.gz")) (sha256 @@ -3540,7 +3541,7 @@ Haskell, inspired by the Ruby library RSpec.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/hspec-expectations/hspec-expectations-" + "https://hackage.haskell.org/package/hspec-expectations/hspec-expectations-" version ".tar.gz")) (sha256 @@ -3562,7 +3563,7 @@ Haskell, inspired by the Ruby library RSpec.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/hspec-discover/hspec-discover-" + "https://hackage.haskell.org/package/hspec-discover/hspec-discover-" version ".tar.gz")) (sha256 @@ -3586,7 +3587,7 @@ runs Hspec tests.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/hspec-core/hspec-core-" + "https://hackage.haskell.org/package/hspec-core/hspec-core-" version ".tar.gz")) (sha256 @@ -3618,7 +3619,7 @@ be used to extend Hspec's functionality.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/hspec-meta/hspec-meta-" + "https://hackage.haskell.org/package/hspec-meta/hspec-meta-" version ".tar.gz")) (sha256 @@ -3648,7 +3649,7 @@ used to test the in-development version of Hspec.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/vault/vault-" + "https://hackage.haskell.org/package/vault/vault-" version ".tar.gz")) (sha256 @@ -3677,7 +3678,7 @@ representing a store for a single element.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/mmorph/mmorph-" + "https://hackage.haskell.org/package/mmorph/mmorph-" version ".tar.gz")) (sha256 @@ -3685,7 +3686,7 @@ representing a store for a single element.") "0k5zlzmnixfwcjrqvhgi3i6xg532b0gsjvc39v5jigw69idndqr2")))) (build-system haskell-build-system) (home-page - "http://hackage.haskell.org/package/mmorph") + "https://hackage.haskell.org/package/mmorph") (synopsis "Monad morphisms") (description "This library provides monad morphism utilities, most commonly used for @@ -3700,7 +3701,7 @@ manipulating monad transformer stacks.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/monad-control" + "https://hackage.haskell.org/package/monad-control" "/monad-control-" version ".tar.gz")) (sha256 (base32 @@ -3726,7 +3727,7 @@ a subset of @code{MonadBase} into which generic control operations such as (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/byteorder/byteorder-" + "https://hackage.haskell.org/package/byteorder/byteorder-" version ".tar.gz")) (sha256 @@ -3750,7 +3751,7 @@ system.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/base-compat/base-compat-" + "https://hackage.haskell.org/package/base-compat/base-compat-" version ".tar.gz")) (sha256 @@ -3775,7 +3776,7 @@ pragmas in your code.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/blaze-builder/blaze-builder-" + "https://hackage.haskell.org/package/blaze-builder/blaze-builder-" version ".tar.gz")) (sha256 @@ -3786,7 +3787,7 @@ pragmas in your code.") (propagated-inputs `(("ghc-text" ,ghc-text) ("ghc-utf8-string" ,ghc-utf8-string))) - (home-page "http://github.com/lpsmith/blaze-builder") + (home-page "https://github.com/lpsmith/blaze-builder") (synopsis "Efficient buffered output") (description "This library provides an implementation of the older @code{blaze-builder} interface in terms of the new builder that shipped with @@ -3803,7 +3804,7 @@ interoperate with code that uses the new implementation.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/blaze-markup/blaze-markup-" + "https://hackage.haskell.org/package/blaze-markup/blaze-markup-" version ".tar.gz")) (sha256 @@ -3828,7 +3829,7 @@ library for Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/blaze-html/blaze-html-" + "https://hackage.haskell.org/package/blaze-html/blaze-html-" version ".tar.gz")) (sha256 @@ -3853,7 +3854,7 @@ library for Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/easy-file/easy-file-" + "https://hackage.haskell.org/package/easy-file/easy-file-" version ".tar.gz")) (sha256 @@ -3861,7 +3862,7 @@ library for Haskell.") "0v75081bx4qzlqy29hh639nzlr7dncwza3qxbzm9njc4jarf31pz")))) (build-system haskell-build-system) (home-page - "http://github.com/kazu-yamamoto/easy-file") + "https://github.com/kazu-yamamoto/easy-file") (synopsis "File handling library for Haskell") (description "This library provides file handling utilities for Haskell.") (license license:bsd-3))) @@ -3874,7 +3875,7 @@ library for Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/async/async-" + "https://hackage.haskell.org/package/async/async-" version ".tar.gz")) (sha256 @@ -3903,7 +3904,7 @@ will eventually deliver a value of type @code{a}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/fingertree/fingertree-" + "https://hackage.haskell.org/package/fingertree/fingertree-" version ".tar.gz")) (sha256 @@ -3911,7 +3912,7 @@ will eventually deliver a value of type @code{a}.") "1w6x3kp3by5yjmam6wlrf9vap5l5rrqaip0djbrdp0fpf2imn30n")))) (build-system haskell-build-system) (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. - (home-page "http://hackage.haskell.org/package/fingertree") + (home-page "https://hackage.haskell.org/package/fingertree") (synopsis "Generic finger-tree structure") (description "This library provides finger trees, a general sequence representation with arbitrary annotations, for use as a base for @@ -3928,7 +3929,7 @@ simple general-purpose data structure\".") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/optparse-applicative" + "https://hackage.haskell.org/package/optparse-applicative" "/optparse-applicative-" version ".tar.gz")) (sha256 (base32 @@ -3951,7 +3952,7 @@ command line options in Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/base-orphans/base-orphans-" + "https://hackage.haskell.org/package/base-orphans/base-orphans-" version ".tar.gz")) (sha256 @@ -3975,7 +3976,7 @@ available in later versions of base to a wider (older) range of compilers.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/auto-update/auto-update-" + "https://hackage.haskell.org/package/auto-update/auto-update-" version ".tar.gz")) (sha256 @@ -3996,7 +3997,7 @@ periodic, on-demand actions in Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/tagged/tagged-" + "https://hackage.haskell.org/package/tagged/tagged-" version ".tar.gz")) (sha256 @@ -4017,7 +4018,7 @@ having to unsafely pass dummy arguments.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/unbounded-delays/unbounded-delays-" + "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-" version ".tar.gz")) (sha256 @@ -4043,7 +4044,7 @@ unbounded @code{Integer} type.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" + "https://hackage.haskell.org/package/" "clock/" "clock-" version ".tar.gz")) (sha256 @@ -4065,7 +4066,7 @@ timer functions of different operating systems via a unified API.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/" + "https://hackage.haskell.org/package/" "clock/" "clock-" version ".tar.gz")) (sha256 @@ -4088,7 +4089,7 @@ timer functions of different operating systems via a unified API.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/charset/charset-" + "https://hackage.haskell.org/package/charset/charset-" version ".tar.gz")) (sha256 @@ -4099,7 +4100,7 @@ timer functions of different operating systems via a unified API.") `(("ghc-semigroups" ,ghc-semigroups))) (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers))) - (home-page "http://github.com/ekmett/charset") + (home-page "https://github.com/ekmett/charset") (synopsis "Fast unicode character sets for Haskell") (description "This package provides fast unicode character sets for Haskell, based on complemented PATRICIA tries.") @@ -4113,14 +4114,14 @@ Haskell, based on complemented PATRICIA tries.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/bytestring-builder" + "https://hackage.haskell.org/package/bytestring-builder" "/bytestring-builder-" version ".tar.gz")) (sha256 (base32 "1mkg24zl0rapb3gqzkyj5ibp07wx3yzd72hmfczssl0is63rjhww")))) (build-system haskell-build-system) (arguments `(#:haddock? #f)) ; Package contains no documentation. - (home-page "http://hackage.haskell.org/package/bytestring-builder") + (home-page "https://hackage.haskell.org/package/bytestring-builder") (synopsis "The new bytestring builder, packaged outside of GHC") (description "This package provides the bytestring builder that is debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8. @@ -4135,7 +4136,7 @@ Compatibility package for older packages.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/nats/nats-" + "https://hackage.haskell.org/package/nats/nats-" version ".tar.gz")) (sha256 @@ -4158,7 +4159,7 @@ Compatibility package for older packages.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/void/void-" + "https://hackage.haskell.org/package/void/void-" version ".tar.gz")) (sha256 @@ -4169,7 +4170,7 @@ Compatibility package for older packages.") `(("ghc-semigroups" ,ghc-semigroups))) (inputs `(("ghc-hashable" ,ghc-hashable))) - (home-page "http://github.com/ekmett/void") + (home-page "https://github.com/ekmett/void") (synopsis "Logically uninhabited data type") (description @@ -4185,7 +4186,7 @@ given term should not exist.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/kan-extensions/kan-extensions-" + "https://hackage.haskell.org/package/kan-extensions/kan-extensions-" version ".tar.gz")) (sha256 @@ -4202,7 +4203,7 @@ given term should not exist.") ("ghc-mtl" ,ghc-mtl) ("ghc-semigroupoids" ,ghc-semigroupoids) ("ghc-tagged" ,ghc-tagged))) - (home-page "http://github.com/ekmett/kan-extensions/") + (home-page "https://github.com/ekmett/kan-extensions/") (synopsis "Kan extensions library") (description "This library provides Kan extensions, Kan lifts, various forms of the Yoneda lemma, and (co)density (co)monads for Haskell.") @@ -4216,7 +4217,7 @@ forms of the Yoneda lemma, and (co)density (co)monads for Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/StateVar/StateVar-" + "https://hackage.haskell.org/package/StateVar/StateVar-" version ".tar.gz")) (sha256 @@ -4225,7 +4226,7 @@ forms of the Yoneda lemma, and (co)density (co)monads for Haskell.") (build-system haskell-build-system) (propagated-inputs `(("ghc-stm" ,ghc-stm))) - (home-page "http://hackage.haskell.org/package/StateVar") + (home-page "https://hackage.haskell.org/package/StateVar") (synopsis "State variables for Haskell") (description "This package provides state variables, which are references in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") @@ -4239,7 +4240,7 @@ in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/lens/lens-" + "https://hackage.haskell.org/package/lens/lens-" version ".tar.gz")) (sha256 @@ -4274,7 +4275,7 @@ in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.") ("ghc-nats" ,ghc-nats) ("ghc-simple-reflect" ,ghc-simple-reflect) ("hlint" ,hlint))) - (home-page "http://github.com/ekmett/lens/") + (home-page "https://github.com/ekmett/lens/") (synopsis "Lenses, Folds and Traversals") (description "This library provides @code{Control.Lens}. The combinators in @code{Control.Lens} provide a highly generic toolbox for composing families @@ -4290,7 +4291,7 @@ indexed variants.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/tagsoup/tagsoup-" + "https://hackage.haskell.org/package/tagsoup/tagsoup-" version ".tar.gz")) (sha256 @@ -4319,7 +4320,7 @@ for screen-scraping.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/digest/digest-" + "https://hackage.haskell.org/package/digest/digest-" version ".tar.gz")) (sha256 @@ -4329,7 +4330,7 @@ for screen-scraping.") (inputs `(("zlib" ,zlib))) (home-page - "http://hackage.haskell.org/package/digest") + "https://hackage.haskell.org/package/digest") (synopsis "Various cryptographic hashes for bytestrings") (description @@ -4346,7 +4347,7 @@ are implemented as FFI bindings to efficient code from zlib.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/cheapskate/cheapskate-" + "https://hackage.haskell.org/package/cheapskate/cheapskate-" version ".tar.gz")) (sha256 @@ -4366,7 +4367,7 @@ are implemented as FFI bindings to efficient code from zlib.") ("ghc-wai-extra" ,ghc-wai-extra) ("ghc-wai" ,ghc-wai) ("ghc-http-types" ,ghc-http-types))) - (home-page "http://github.com/jgm/cheapskate") + (home-page "https://github.com/jgm/cheapskate") (synopsis "Experimental markdown processor") (description "Cheapskate is an experimental Markdown processor in pure Haskell. It aims to process Markdown efficiently and in the most forgiving @@ -4383,7 +4384,7 @@ attacks.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/bifunctors/bifunctors-" + "https://hackage.haskell.org/package/bifunctors/bifunctors-" version ".tar.gz")) (sha256 @@ -4393,7 +4394,7 @@ attacks.") (inputs `(("ghc-tagged" ,ghc-tagged) ("ghc-semigroups" ,ghc-semigroups))) - (home-page "http://github.com/ekmett/bifunctors/") + (home-page "https://github.com/ekmett/bifunctors/") (synopsis "Bifunctors for Haskell") (description "This package provides bifunctors for Haskell.") (license license:bsd-3))) @@ -4406,7 +4407,7 @@ attacks.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/semigroupoids/semigroupoids-" + "https://hackage.haskell.org/package/semigroupoids/semigroupoids-" version ".tar.gz")) (sha256 @@ -4424,7 +4425,7 @@ attacks.") (inputs `(("ghc-semigroups" ,ghc-semigroups) ("ghc-tagged" ,ghc-tagged))) - (home-page "http://github.com/ekmett/semigroupoids") + (home-page "https://github.com/ekmett/semigroupoids") (synopsis "Semigroupoids operations for Haskell") (description "This library provides a wide array of (semi)groupoids and operations for working with them. A @code{Semigroupoid} is a @code{Category} @@ -4444,7 +4445,7 @@ just a @code{Semigroup} are added.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/contravariant/contravariant-" + "https://hackage.haskell.org/package/contravariant/contravariant-" version ".tar.gz")) (sha256 @@ -4458,7 +4459,7 @@ just a @code{Semigroup} are added.") (inputs `(("ghc-semigroups" ,ghc-semigroups))) (home-page - "http://github.com/ekmett/contravariant/") + "https://github.com/ekmett/contravariant/") (synopsis "Contravariant functors") (description "Contravariant functors for Haskell.") (license license:bsd-3))) @@ -4471,7 +4472,7 @@ just a @code{Semigroup} are added.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/semigroups/semigroups-" + "https://hackage.haskell.org/package/semigroups/semigroups-" version ".tar.gz")) (sha256 @@ -4485,7 +4486,7 @@ just a @code{Semigroup} are added.") (inputs `(("ghc-text" ,ghc-text) ("ghc-hashable" ,ghc-hashable))) - (home-page "http://github.com/ekmett/semigroups/") + (home-page "https://github.com/ekmett/semigroups/") (synopsis "Semigroup operations for Haskell") (description "This package provides semigroups for Haskell. In mathematics, a semigroup is an algebraic structure consisting of a set @@ -4504,7 +4505,7 @@ semigroup.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/free/free-" + "https://hackage.haskell.org/package/free/free-" version ".tar.gz")) (sha256 @@ -4522,7 +4523,7 @@ semigroup.") ("ghc-mtl" ,ghc-mtl) ("ghc-semigroupoids" ,ghc-semigroupoids) ("ghc-semigroups" ,ghc-semigroups))) - (home-page "http://github.com/ekmett/free/") + (home-page "https://github.com/ekmett/free/") (synopsis "Unrestricted monads for Haskell") (description "This library provides free monads, which are useful for many tree-like structures and domain specific languages. If @code{f} is a @@ -4541,7 +4542,7 @@ definition of @code{Monad}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/adjunctions/adjunctions-" + "https://hackage.haskell.org/package/adjunctions/adjunctions-" version ".tar.gz")) (sha256 @@ -4560,7 +4561,7 @@ definition of @code{Monad}.") ("ghc-semigroupoids" ,ghc-semigroupoids) ("ghc-semigroups" ,ghc-semigroups) ("ghc-void" ,ghc-void))) - (home-page "http://github.com/ekmett/adjunctions/") + (home-page "https://github.com/ekmett/adjunctions/") (synopsis "Adjunctions and representable functors") (description "This library provides adjunctions and representable functors for Haskell.") @@ -4574,7 +4575,7 @@ for Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/fast-logger/fast-logger-" + "https://hackage.haskell.org/package/fast-logger/fast-logger-" version ".tar.gz")) (sha256 @@ -4600,7 +4601,7 @@ for Haskell.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/doctest/doctest-" + "https://hackage.haskell.org/package/doctest/doctest-" version ".tar.gz")) (sha256 @@ -4635,7 +4636,7 @@ It is modeled after doctest for Python, see (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/lifted-base/lifted-base-" + "https://hackage.haskell.org/package/lifted-base/lifted-base-" version ".tar.gz")) (sha256 @@ -4666,7 +4667,7 @@ Kaseorg.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/word8/word8-" + "https://hackage.haskell.org/package/word8/word8-" version ".tar.gz")) (sha256 @@ -4675,7 +4676,7 @@ Kaseorg.") (build-system haskell-build-system) (inputs `(("ghc-hspec" ,ghc-hspec))) - (home-page "http://hackage.haskell.org/package/word8") + (home-page "https://hackage.haskell.org/package/word8") (synopsis "Word8 library for Haskell") (description "Word8 library to be used with @code{Data.ByteString}.") (license license:bsd-3))) @@ -4688,7 +4689,7 @@ Kaseorg.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/stringsearch/stringsearch-" + "https://hackage.haskell.org/package/stringsearch/stringsearch-" version ".tar.gz")) (sha256 @@ -4711,7 +4712,7 @@ occurrences of a substring (the first in case of overlaps) with another.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/tasty-quickcheck/" + "https://hackage.haskell.org/package/tasty-quickcheck/" "tasty-quickcheck-" version ".tar.gz")) (sha256 (base32 @@ -4740,7 +4741,7 @@ Haskell test framework.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/tasty-golden/tasty-golden-" + "https://hackage.haskell.org/package/tasty-golden/tasty-golden-" version ".tar.gz")) (sha256 @@ -4775,7 +4776,7 @@ the correct result for the test.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/tasty/tasty-" + "https://hackage.haskell.org/package/tasty/tasty-" version ".tar.gz")) (sha256 @@ -4807,7 +4808,7 @@ and any other types of tests into a single test suite.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/tasty-hunit/tasty-hunit-" + "https://hackage.haskell.org/package/tasty-hunit/tasty-hunit-" version ".tar.gz")) (sha256 @@ -4830,7 +4831,7 @@ test framework.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/cookie/cookie-" + "https://hackage.haskell.org/package/cookie/cookie-" version ".tar.gz")) (sha256 @@ -4848,7 +4849,7 @@ test framework.") ("ghc-tasty" ,ghc-tasty) ("ghc-tasty-hunit" ,ghc-tasty-hunit) ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) - (home-page "http://github.com/snoyberg/cookie") + (home-page "https://github.com/snoyberg/cookie") (synopsis "HTTP cookie parsing and rendering") (description "HTTP cookie parsing and rendering library for Haskell.") (license license:bsd-3))) @@ -4861,7 +4862,7 @@ test framework.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/scientific/scientific-" + "https://hackage.haskell.org/package/scientific/scientific-" version ".tar.gz")) (sha256 @@ -4897,7 +4898,7 @@ notation}.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/aeson/aeson-" + "https://hackage.haskell.org/package/aeson/aeson-" version ".tar.gz")) (sha256 @@ -4932,7 +4933,7 @@ naming: in Greek mythology, Aeson was the father of Jason.)") (source (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/aeson-pretty/aeson-pretty-" + "https://hackage.haskell.org/package/aeson-pretty/aeson-pretty-" version ".tar.gz")) (sha256 (base32 @@ -4946,7 +4947,7 @@ naming: in Greek mythology, Aeson was the father of Jason.)") ,ghc-unordered-containers) ("ghc-attoparsec" ,ghc-attoparsec) ("ghc-cmdargs" ,ghc-cmdargs))) - (home-page "http://github.com/informatikr/aeson-pretty") + (home-page "https://github.com/informatikr/aeson-pretty") (synopsis "JSON pretty-printing library and command-line tool") (description "This package provides a JSON pretty-printing library compatible with aeson @@ -4966,7 +4967,7 @@ essentially the opposite of pretty-printing.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/wai/wai-" + "https://hackage.haskell.org/package/wai/wai-" version ".tar.gz")) (sha256 @@ -5000,7 +5001,7 @@ communication between web applications and web servers.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/wai-logger/wai-logger-" + "https://hackage.haskell.org/package/wai-logger/wai-logger-" version ".tar.gz")) (sha256 @@ -5021,7 +5022,7 @@ communication between web applications and web servers.") ("ghc-http-types" ,ghc-http-types) ("ghc-network" ,ghc-network) ("ghc-wai" ,ghc-wai))) - (home-page "http://hackage.haskell.org/package/wai-logger") + (home-page "https://hackage.haskell.org/package/wai-logger") (synopsis "Logging system for WAI") (description "This package provides the logging system for WAI.") (license license:bsd-3))) @@ -5034,7 +5035,7 @@ communication between web applications and web servers.") (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/wai-extra/wai-extra-" + "https://hackage.haskell.org/package/wai-extra/wai-extra-" version ".tar.gz")) (sha256 @@ -5068,7 +5069,7 @@ communication between web applications and web servers.") ("ghc-aeson" ,ghc-aeson) ("ghc-hspec" ,ghc-hspec) ("ghc-hunit" ,ghc-hunit))) - (home-page "http://github.com/yesodweb/wai") + (home-page "https://github.com/yesodweb/wai") (synopsis "Some basic WAI handlers and middleware") (description "This library provides basic WAI handlers and middleware functionality.") @@ -5080,7 +5081,7 @@ functionality.") (version "0.1.1.2") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "deepseq-generics/deepseq-generics-" version ".tar.gz")) (sha256 @@ -5113,7 +5114,7 @@ providing an 'rnf' implementation.") (version "1.12.4.7") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "pandoc-types/pandoc-types-" version ".tar.gz")) (sha256 @@ -5138,7 +5139,7 @@ building up, manipulating and serialising @code{Pandoc} structures.") (version "0.8.4") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "texmath/texmath-" version ".tar.gz")) (sha256 (base32 @@ -5154,7 +5155,7 @@ building up, manipulating and serialising @code{Pandoc} structures.") ("ghc-parsec" ,ghc-parsec) ("ghc-mtl" ,ghc-mtl) ("ghc-pandoc-types" ,ghc-pandoc-types))) - (home-page "http://github.com/jgm/texmath") + (home-page "https://github.com/jgm/texmath") (synopsis "Conversion between formats used to represent mathematics") (description "The texmath library provides functions to read and write TeX math, @@ -5171,7 +5172,7 @@ it can parse and apply LaTeX macros.") (version "0.94.4.8.8.35") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "regex-pcre-builtin/regex-pcre-builtin-" version ".tar.gz")) (sha256 @@ -5180,7 +5181,7 @@ it can parse and apply LaTeX macros.") (build-system haskell-build-system) (propagated-inputs `(("ghc-regex-base" ,ghc-regex-base))) - (home-page "http://hackage.haskell.org/package/regex-pcre") + (home-page "https://hackage.haskell.org/package/regex-pcre") (synopsis "Enhancement of the builtin Text.Regex library") (description "This package is an enhancement of the @code{Text.Regex} library, @@ -5194,7 +5195,7 @@ providing the PCRE backend to accompany regex-base, with bundled code from (version "0.3.2") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "Diff/Diff-" version ".tar.gz")) (sha256 (base32 @@ -5213,7 +5214,7 @@ and utilities for pretty printing.") (version "0.6") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "highlighting-kate/highlighting-kate-" version ".tar.gz")) (sha256 @@ -5228,7 +5229,7 @@ and utilities for pretty printing.") ("ghc-blaze-html" ,ghc-blaze-html) ("ghc-utf8-string" ,ghc-utf8-string) ("ghc-mtl" ,ghc-mtl))) - (home-page "http://github.com/jgm/highlighting-kate") + (home-page "https://github.com/jgm/highlighting-kate") (synopsis "Syntax highlighting library") (description "Highlighting-kate is a syntax highlighting library with support for @@ -5245,7 +5246,7 @@ descriptions.") (version "0.4.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "cmark/cmark-" version ".tar.gz")) (sha256 (base32 @@ -5270,14 +5271,14 @@ libcmark (0.21.0) and does not require prior installation of the C library.") (version "0.0.3") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "executable-path/executable-path-" version ".tar.gz")) (sha256 (base32 "1jg58qf19qz93c60ryglcavwdcysz4fd4qn8kpw5im9w9kniawlc")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/executable-path") + (home-page "https://hackage.haskell.org/package/executable-path") (synopsis "Find out the full path of the executable") (description "The documentation of @code{System.Environment.getProgName} says that @@ -5292,7 +5293,7 @@ as invoked.\" This library tries to provide the missing path.") (version "1.0.1.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "enclosed-exceptions/enclosed-exceptions-" version ".tar.gz")) (sha256 @@ -5321,7 +5322,7 @@ asynchronous exceptions.") (version "0.1.0.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "packedstring/packedstring-" version ".tar.gz")) (sha256 @@ -5338,7 +5339,7 @@ asynchronous exceptions.") (substitute* "packedstring.cabal" (("CPP") "CPP, StandaloneDeriving")) #t))))) - (home-page "http://hackage.haskell.org/package/packedstring") + (home-page "https://hackage.haskell.org/package/packedstring") (synopsis "Library for packed strings") (description "This deprecated library provides an implementation of packed strings.") @@ -5350,7 +5351,7 @@ asynchronous exceptions.") (version "0.7.5") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "th-lift/th-lift-" version ".tar.gz")) (sha256 (base32 @@ -5358,7 +5359,7 @@ asynchronous exceptions.") (build-system haskell-build-system) (propagated-inputs `(("ghc-packedstring" ,ghc-packedstring))) - (home-page "http://github.com/mboes/th-lift") + (home-page "https://github.com/mboes/th-lift") (synopsis "Derive Template Haskell's Lift class for datatypes") (description "This is a Haskell library to derive Template Haskell's Lift class for @@ -5371,7 +5372,7 @@ datatypes.") (version "0.3.0.6") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "th-expand-syns/th-expand-syns-" version ".tar.gz")) (sha256 @@ -5380,7 +5381,7 @@ datatypes.") (build-system haskell-build-system) (propagated-inputs `(("ghc-syb" ,ghc-syb))) - (home-page "http://hackage.haskell.org/package/th-expand-syns") + (home-page "https://hackage.haskell.org/package/th-expand-syns") (synopsis "Expands type synonyms in Template Haskell ASTs") (description "This package enables users to expand type synonyms in Template Haskell @@ -5393,7 +5394,7 @@ datatypes.") (version "0.1.3") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "th-reify-many/th-reify-many-" version ".tar.gz")) (sha256 @@ -5404,7 +5405,7 @@ datatypes.") `(("ghc-mtl" ,ghc-mtl) ("ghc-safe" ,ghc-safe) ("ghc-th-expand-syns" ,ghc-th-expand-syns))) - (home-page "http://github.com/mgsloan/th-reify-many") + (home-page "https://github.com/mgsloan/th-reify-many") (synopsis "Recurseively reify template haskell datatype info") (description "th-reify-many provides functions for recursively reifying top level @@ -5419,7 +5420,7 @@ function which generates instances.") (version "0.13.0") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "th-orphans/th-orphans-" version ".tar.gz")) (sha256 (base32 @@ -5432,7 +5433,7 @@ function which generates instances.") ("ghc-generic-deriving" ,ghc-generic-deriving))) (native-inputs `(("ghc-hspec" ,ghc-hspec))) - (home-page "http://hackage.haskell.org/package/th-orphans") + (home-page "https://hackage.haskell.org/package/th-orphans") (synopsis "Orphan instances for TH datatypes") (description "This package provides orphan instances for Template Haskell datatypes. In particular, @@ -5447,7 +5448,7 @@ package, and that's where the version number started.") (version "0.6.0.12") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "haskell-src-meta/haskell-src-meta-" version ".tar.gz")) (sha256 @@ -5458,7 +5459,7 @@ package, and that's where the version number started.") `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts) ("ghc-syb" ,ghc-syb) ("ghc-th-orphans" ,ghc-th-orphans))) - (home-page "http://hackage.haskell.org/package/haskell-src-meta") + (home-page "https://hackage.haskell.org/package/haskell-src-meta") (synopsis "Parse source to template-haskell abstract syntax") (description "This package provides tools to parse Haskell sources to the @@ -5471,7 +5472,7 @@ template-haskell abstract syntax.") (version "0.8.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "aeson-qq/aeson-qq-" version ".tar.gz")) (sha256 (base32 @@ -5488,7 +5489,7 @@ template-haskell abstract syntax.") ("ghc-haskell-src-meta" ,ghc-haskell-src-meta))) (native-inputs `(("ghc-hspec" ,ghc-hspec))) - (home-page "http://github.com/zalora/aeson-qq") + (home-page "https://github.com/zalora/aeson-qq") (synopsis "JSON quasiquoter for Haskell") (description "aeson-qq provides a JSON quasiquoter for Haskell. This package exposes @@ -5502,7 +5503,7 @@ of a JSON value into a @code{Data.Aeson.Value}.") (version "1.2.5.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "conduit/conduit-" version ".tar.gz")) (sha256 (base32 @@ -5536,7 +5537,7 @@ enumerator/iteratee and pipes." ) (version "0.1.0") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "logging-facade/logging-facade-" version ".tar.gz")) (sha256 @@ -5545,7 +5546,7 @@ enumerator/iteratee and pipes." ) (build-system haskell-build-system) (native-inputs `(("ghc-hspec" ,ghc-hspec))) - (home-page "http://hackage.haskell.org/package/logging-facade") + (home-page "https://hackage.haskell.org/package/logging-facade") (synopsis "Simple logging abstraction that allows multiple back-ends") (description "This package provides a simple logging abstraction that allows multiple @@ -5558,7 +5559,7 @@ back-ends.") (version "0.3.2") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "mockery/mockery-" version ".tar.gz")) (sha256 (base32 @@ -5569,7 +5570,7 @@ back-ends.") ("ghc-logging-facade" ,ghc-logging-facade))) (native-inputs `(("ghc-hspec" ,ghc-hspec))) - (home-page "http://hackage.haskell.org/package/mockery") + (home-page "https://hackage.haskell.org/package/mockery") (synopsis "Support functions for automated testing") (description "The mockery package provides support functions for automated testing.") @@ -5581,7 +5582,7 @@ back-ends.") (version "0.8.15.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "yaml/yaml-" version ".tar.gz")) (sha256 (base32 @@ -5603,7 +5604,7 @@ back-ends.") `(("ghc-hspec" ,ghc-hspec) ("ghc-hunit" ,ghc-hunit) ("ghc-mockery" ,ghc-mockery))) - (home-page "http://github.com/snoyberg/yaml/") + (home-page "https://github.com/snoyberg/yaml/") (synopsis "Parsing and rendering YAML documents") (description "This package provides a library to parse and render YAML documents.") @@ -5615,7 +5616,7 @@ back-ends.") (version "0.3.6.3") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "filemanip/filemanip-" version ".tar.gz")) (sha256 (base32 @@ -5638,13 +5639,13 @@ file contents, and more.") (version "0.5.9") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "mmap/mmap-" version ".tar.gz")) (sha256 (base32 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q")))) (build-system haskell-build-system) - (home-page "http://hackage.haskell.org/package/mmap") + (home-page "https://hackage.haskell.org/package/mmap") (synopsis "Memory mapped files for Haskell") (description "This library provides a wrapper to @code{mmap}, allowing files or @@ -5659,7 +5660,7 @@ do on-demand loading.") (version "3.2.6.2") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "JuicyPixels/JuicyPixels-" version ".tar.gz")) (sha256 @@ -5685,7 +5686,7 @@ TIFF and GIF formats.") (version "1.6.4.2") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "SHA/SHA-" version ".tar.gz")) (sha256 (base32 @@ -5695,7 +5696,7 @@ TIFF and GIF formats.") `(("ghc-quickcheck" ,ghc-quickcheck) ("ghc-test-framework" ,ghc-test-framework) ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2))) - (home-page "http://hackage.haskell.org/package/SHA") + (home-page "https://hackage.haskell.org/package/SHA") (synopsis "SHA suite of message digest functions") (description "This library implements the SHA suite of message digest functions, @@ -5712,7 +5713,7 @@ libraries, like OpenSSL.") (version "0.4.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "hslua/hslua-" version ".tar.gz")) (sha256 (base32 @@ -5730,7 +5731,7 @@ libraries, like OpenSSL.") ("ghc-hunit" ,ghc-hunit) ("ghc-quickcheck" ,ghc-quickcheck) ("ghc-quickcheck-instances" ,ghc-quickcheck-instances))) - (home-page "http://hackage.haskell.org/package/hslua") + (home-page "https://hackage.haskell.org/package/hslua") (synopsis "Lua language interpreter embedding in Haskell") (description "The Scripting.Lua module is a wrapper of the Lua language interpreter as @@ -5743,7 +5744,7 @@ described in @url{http://www.lua.org/}.") (version "0.1.0.6") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "mime-types/mime-types-" version ".tar.gz")) (sha256 @@ -5764,7 +5765,7 @@ described in @url{http://www.lua.org/}.") (version "0.4.24") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "http-client/http-client-" version ".tar.gz")) (sha256 @@ -5805,13 +5806,13 @@ for more user-friendly packages.") (version "0.1.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "byteable/byteable-" version ".tar.gz")) (sha256 (base32 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4")))) (build-system haskell-build-system) - (home-page "http://github.com/vincenthz/hs-byteable") + (home-page "https://github.com/vincenthz/hs-byteable") (synopsis "Type class for sequence of bytes") (description "This package provides an abstract class to manipulate sequence of bytes. @@ -5825,7 +5826,7 @@ wrapping a bytestring with stronger and more meaniful name.") (version "0.2.9") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "hourglass/hourglass-" version ".tar.gz")) (sha256 (base32 @@ -5854,7 +5855,7 @@ representations of current time.") (version "0.2.2") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "pem/pem-" version ".tar.gz")) (sha256 (base32 @@ -5869,7 +5870,7 @@ representations of current time.") ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ("ghc-hunit" ,ghc-hunit) ("ghc-quickcheck" ,ghc-quickcheck))) - (home-page "http://github.com/vincenthz/hs-pem") + (home-page "https://github.com/vincenthz/hs-pem") (synopsis "Privacy Enhanced Mail (PEM) format reader and writer") (description "This library provides readers and writers for the @dfn{Privacy Enhanced @@ -5882,7 +5883,7 @@ Mail} (PEM) format.") (version "0.3.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "asn1-types/asn1-types-" version ".tar.gz")) (sha256 @@ -5892,7 +5893,7 @@ Mail} (PEM) format.") (propagated-inputs `(("ghc-memory" ,ghc-memory) ("ghc-hourglass" ,ghc-hourglass))) - (home-page "http://github.com/vincenthz/hs-asn1-types") + (home-page "https://github.com/vincenthz/hs-asn1-types") (synopsis "ASN.1 types for Haskell") (description "The package provides the standard types for dealing with the ASN.1 @@ -5905,7 +5906,7 @@ format.") (version "0.9.3") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "asn1-encoding/asn1-encoding-" version ".tar.gz")) (sha256 @@ -5920,7 +5921,7 @@ format.") (native-inputs `(("ghc-tasty" ,ghc-tasty) ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) - (home-page "http://github.com/vincenthz/hs-asn1") + (home-page "https://github.com/vincenthz/hs-asn1") (synopsis "ASN1 data reader and writer in RAW, BER and DER forms") (description "This package provides a reader and writer for ASN1 data in raw form with @@ -5933,7 +5934,7 @@ supports for high level forms of ASN1 (BER, and DER).") (version "0.9.4") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "asn1-parse/asn1-parse-" version ".tar.gz")) (sha256 @@ -5956,7 +5957,7 @@ when ASN1 pattern matching is not convenient.") (version "0.0.3") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "tasty-kat/tasty-kat-" version ".tar.gz")) (sha256 (base32 @@ -5980,7 +5981,7 @@ tasty.") (version "0.9") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "cryptonite/cryptonite-" version ".tar.gz")) (sha256 @@ -6010,7 +6011,7 @@ generators, and more.") (version "0.10") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "memory/memory-" version ".tar.gz")) (sha256 (base32 @@ -6036,7 +6037,7 @@ set, memory copy, ..) and more") (version "1.6.3") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "x509/x509-" version ".tar.gz")) (sha256 (base32 @@ -6054,7 +6055,7 @@ set, memory copy, ..) and more") (native-inputs `(("ghc-tasty" ,ghc-tasty) ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) - (home-page "http://github.com/vincenthz/hs-certificate") + (home-page "https://github.com/vincenthz/hs-certificate") (synopsis "X509 reader and writer") (description "This library provides functions to read and write X509 certificates.") @@ -6066,7 +6067,7 @@ set, memory copy, ..) and more") (version "1.6.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "x509-store/x509-store-" version ".tar.gz")) (sha256 @@ -6080,7 +6081,7 @@ set, memory copy, ..) and more") ("ghc-asn1-encoding" ,ghc-asn1-encoding) ("ghc-cryptonite" ,ghc-cryptonite) ("ghc-x509" ,ghc-x509))) - (home-page "http://github.com/vincenthz/hs-certificate") + (home-page "https://github.com/vincenthz/hs-certificate") (synopsis "X.509 collection accessing and storing methods") (description "This package provides functions for accessing and storing X.509 @@ -6093,7 +6094,7 @@ collections, certificates, revocation lists, and exception lists.") (version "1.6.3") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "x509-validation/x509-validation-" version ".tar.gz")) (sha256 @@ -6112,7 +6113,7 @@ collections, certificates, revocation lists, and exception lists.") ("ghc-x509" ,ghc-x509) ("ghc-x509-store" ,ghc-x509-store) ("ghc-cryptonite" ,ghc-cryptonite))) - (home-page "http://github.com/vincenthz/hs-certificate") + (home-page "https://github.com/vincenthz/hs-certificate") (synopsis "X.509 certificate and revocation list validation") (description "This package provides functions for X.509 certificate and revocation @@ -6125,7 +6126,7 @@ list validation.") (version "1.6.1") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "x509-system/x509-system-" version ".tar.gz")) (sha256 @@ -6137,7 +6138,7 @@ list validation.") ("ghc-pem" ,ghc-pem) ("ghc-x509" ,ghc-x509) ("ghc-x509-store" ,ghc-x509-store))) - (home-page "http://github.com/vincenthz/hs-certificate") + (home-page "https://github.com/vincenthz/hs-certificate") (synopsis "Handle system X.509 accessors and storage") (description "This package provides a library to handle system accessors and storage @@ -6150,7 +6151,7 @@ for X.509 certificates.") (version "1.3.3") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "tls/tls-" version ".tar.gz")) (sha256 (base32 @@ -6174,7 +6175,7 @@ for X.509 certificates.") `(("ghc-tasty" ,ghc-tasty) ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) ("ghc-quickcheck" ,ghc-quickcheck))) - (home-page "http://github.com/vincenthz/hs-tls") + (home-page "https://github.com/vincenthz/hs-tls") (synopsis "TLS/SSL protocol native implementation (Server and Client)") (description @@ -6193,7 +6194,7 @@ extensions.") (version "0.5.4") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "socks/socks-" version ".tar.gz")) (sha256 (base32 @@ -6202,7 +6203,7 @@ extensions.") (propagated-inputs `(("ghc-cereal" ,ghc-cereal) ("ghc-network" ,ghc-network))) - (home-page "http://github.com/vincenthz/hs-socks") + (home-page "https://github.com/vincenthz/hs-socks") (synopsis "SOCKS proxy (version 5) implementation.") (description "This library provides a SOCKS proxy (version 5) implementation.") @@ -6214,7 +6215,7 @@ extensions.") (version "0.2.5") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "connection/connection-" version ".tar.gz")) (sha256 @@ -6231,7 +6232,7 @@ extensions.") ("ghc-x509-store" ,ghc-x509-store) ("ghc-x509-system" ,ghc-x509-system) ("ghc-x509-validation" ,ghc-x509-validation))) - (home-page "http://github.com/vincenthz/hs-connection") + (home-page "https://github.com/vincenthz/hs-connection") (synopsis "Simple and easy network connections API") (description "This package provides a simple network library for all your connection @@ -6245,7 +6246,7 @@ the choice of SSL/TLS, and SOCKS.") (version "0.2.2") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/" + (uri (string-append "https://hackage.haskell.org/package/" "http-client-tls/http-client-tls-" version ".tar.gz")) (sha256 @@ -6278,7 +6279,7 @@ libraries, such as http-conduit.") (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/pandoc/pandoc-" + (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-" version ".tar.gz")) (sha256 (base32 @@ -6351,13 +6352,13 @@ provided for those who need a drop-in replacement for Markdown.pl.") (source (origin (method url-fetch) (uri (string-append - "http://hackage.haskell.org/package/union-find/union-find-" + "https://hackage.haskell.org/package/union-find/union-find-" version ".tar.gz")) (sha256 (base32 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6")))) (build-system haskell-build-system) - (home-page "http://github.com/nominolo/union-find") + (home-page "https://github.com/nominolo/union-find") (synopsis "Efficient union and equivalence testing of sets") (description "The Union/Find algorithm implements these operations in (effectively) From c5eef242ce044c91a223676281f0e52f46ca52cb Mon Sep 17 00:00:00 2001 From: ng0 Date: Sat, 11 Jun 2016 13:29:13 +0000 Subject: [PATCH 066/435] gnu: xorg.scm: Replace http with https in URLs. * gnu/packages/xorg.scm: Use https for cgit.freedesktop.org, www.x.org/wiki/, anongit.freedesktop.org. --- gnu/packages/xorg.scm | 357 +++++++++++++++++++++--------------------- 1 file changed, 179 insertions(+), 178 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 46f0f6ec99..d196568a0c 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2015 Cyrill Schenkel ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -149,7 +150,7 @@ autotools system.") `(("libxfont" ,libxfont))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Convert X font from BDF to PCF") (description "BDFtoPCF is a font compiler for the X server and font server. It @@ -174,7 +175,7 @@ which can be read by any architecture.") "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg BigReqsProto protocol headers") (description "Big Requests Extension defines a protocol to enable the use of @@ -201,7 +202,7 @@ requests that exceed 262140 bytes in length.") `(("fixesproto" ,fixesproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg CompositeProto protocol headers") (description "Composite Extension contains header files and documentation for @@ -225,7 +226,7 @@ the damage protocol.") "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg DamageProto protocol headers") (description "Damage Extension contains header files and documentation for @@ -249,7 +250,7 @@ the damage protocol.") "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg DMXProto protocol headers") (description "DMX (Distributed Multihead X) Extension defines a protocol for clients @@ -273,7 +274,7 @@ servers making up a large display.") (base32 "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr")))) (build-system gnu-build-system) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg DRI2Proto protocol headers") (description "Direct Rendering Infrastructure 2 Extension defines a protocol to @@ -296,7 +297,7 @@ requiring data to be passed through the X server.") (base32 "0x609xvnl8jky5m8jdklw4nymx3irkv32w99dfd8nl800bblkgh1")))) (build-system gnu-build-system) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg DRI3Proto protocol headers") (description "Direct Rendering Infrastructure 3 Extension provides mechanisms to @@ -326,7 +327,7 @@ provided.") `(("mkfontscale" ,mkfontscale))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg font encoding files") (description "Xorg font encoding files.") (license license:public-domain))) @@ -358,7 +359,7 @@ provided.") ;; install fonts into subdirectory of package output instead of ;; font-util-?.?.?/share/fonts/X11 (string-append "--with-fontrootdir=" %output "/share/fonts/X11")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg adobe-100dpi fonts") (description "Xorg adobe-100dpi fonts.") (license license:x11))) @@ -388,7 +389,7 @@ provided.") (arguments `(#:configure-flags (list (string-append "--with-fontrootdir=" %output "/share/fonts/X11")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg adobe-75dpi fonts") (description "Xorg adobe-75dpi fonts.") (license license:x11))) @@ -433,7 +434,7 @@ provided.") (format p "0~%")))) '("75dpi" "100dpi" "misc" "cyrillic")) #t)))))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg font aliases") (description "This package provides some common aliases for Xorg fonts. @@ -461,7 +462,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg arabic-misc font") (description "Xorg arabic-misc font.") (license license:x11))) @@ -498,7 +499,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg cronyx-cyrillic font") (description "Xorg cronyx-cyrillic font.") (license license:x11))) @@ -531,7 +532,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg dec-misc font") (description "Xorg dec-misc font.") (license license:x11))) @@ -560,7 +561,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg isas-misc font") (description "Xorg isas-misc font.") (license license:x11))) @@ -590,7 +591,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg micro-misc font") (description "Xorg micro-misc font.") (license license:public-domain))) @@ -616,7 +617,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg misc-cyrillic fonts") (description "Xorg misc-cyrillic fonts.") (license license:x11))) @@ -641,7 +642,7 @@ For example: '6x10', '9x15bold', etc.") `(("mkfontdir" ,mkfontdir))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg misc-ethiopic fonts") (description "Xorg misc-ethiopic fonts.") (license license:x11))) @@ -675,7 +676,7 @@ For example: '6x10', '9x15bold', etc.") (arguments `(#:configure-flags (list (string-append "--with-fontrootdir=" %output "/share/fonts/X11")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg misc-misc fonts") (description "Xorg misc-misc fixed fonts.") (license license:public-domain))) @@ -701,7 +702,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg mutt-misc fonts") (description "Xorg mutt-misc fonts.") (license license:x11))) @@ -731,7 +732,7 @@ For example: '6x10', '9x15bold', etc.") (arguments `(#:configure-flags (list (string-append "--with-fontrootdir=" %output "/share/fonts/X11")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg schumacher-misc fonts") (description "Xorg schumacher-misc fonts.") (license license:x11))) @@ -757,7 +758,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg screen-cyrillic fonts") (description "Xorg screen-cyrillic fonts.") (license license:x11))) @@ -783,7 +784,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg sony-misc fonts") (description "Xorg sony-misc fonts.") (license license:x11))) @@ -809,7 +810,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg sun-misc fonts") (description "Xorg sun-misc fonts.") (license license:x11))) @@ -831,7 +832,7 @@ For example: '6x10', '9x15bold', etc.") "08drjb6cf84pf5ysghjpb4i7xkd2p86k3wl2a0jxs1jif6qbszma")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg font utilities") (description "Xorg font package creation/installation utilities.") @@ -858,7 +859,7 @@ For example: '6x10', '9x15bold', etc.") ("bdftopcf" ,bdftopcf))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg winitzki-cyrillic font") (description "Xorg winitzki-cyrillic font.") (license license:public-domain))) @@ -883,7 +884,7 @@ For example: '6x10', '9x15bold', etc.") `(("mkfontdir" ,mkfontdir))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg xfree86-type1 font") (description "Xorg xfree86-type1 font.") (license license:x11))) @@ -905,7 +906,7 @@ For example: '6x10', '9x15bold', etc.") "1f2sdsd74y34nnaf4m1zlcbhyv8xb6irnisc99f84c4ivnq4d415")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg FontsProto protocol headers") (description "Fonts Extension contains header files and documentation for @@ -929,7 +930,7 @@ the fonts protocol.") "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg GLProto protocol headers") (description "OpenGL Extension defines a protocol for the client to send 3D @@ -956,7 +957,7 @@ rendering commands to the X server.") `(("libice" ,libice))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "ICE authority file utility") (description "ICEAuth program is used to edit and display the authorization @@ -982,7 +983,7 @@ authentication records.") "1lf1jlxp0fc8h6fjdffhd084dqab94966l1zm3rwwsis0mifwiss")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg InputProto protocol headers") (description "Input Extension defines a protocol to provide additional input @@ -1006,7 +1007,7 @@ devices management such as graphic tablets.") "0mxqj1pzhjpz9495vrjnpi10kv2n1s4vs7di0sh3yvipfq5j30pq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg KBProto protocol headers") (description "X Keyboard (XKB) Extension defines a protocol to provide a number @@ -1040,7 +1041,7 @@ of new capabilities and controls for text keyboards.") ("dmxproto" ,dmxproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg DMX library") (description "DMX (Distributed Multihead X) extension library.") @@ -1092,7 +1093,7 @@ synchronization between the X server and direct-rendering clients.") ("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg font encoding library") (description "Xorg font encoding library.") (license license:x11))) @@ -1119,7 +1120,7 @@ synchronization between the X server and direct-rendering clients.") ("fontsproto" ,fontsproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Font Service client library") (description "Font Service client library is used by clients of X Font @@ -1147,7 +1148,7 @@ themselves.") `(("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg PCI access library") (description "Xorg Generic PCI access library.") (license license:x11))) @@ -1169,7 +1170,7 @@ themselves.") "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Library with pthread stubs") (description "This library provides weak aliases for pthread functions not @@ -1202,7 +1203,7 @@ hit when running single-threaded.") ("util-linux" ,util-linux))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Session Management library") (description "Xorg Session Management library.") (license license:x11))) @@ -1230,7 +1231,7 @@ hit when running single-threaded.") ("windowswmproto" ,windowswmproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg WindowsWM library") (description "Cygwin/X rootless window management extension. @@ -1263,7 +1264,7 @@ with the Cygwin XWin server when running X11 in a rootless mode.") ("compositeproto" ,compositeproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Composite library") (description "Client library for the Composite extension to the X11 protocol.") @@ -1289,7 +1290,7 @@ with the Cygwin XWin server when running X11 in a rootless mode.") `(("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Display Manager Control Protocol library") (description "Xorg Display Manager Control Protocol library.") (license license:x11))) @@ -1320,7 +1321,7 @@ with the Cygwin XWin server when running X11 in a rootless mode.") ("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg FreeType library") (description "Xorg FreeType library connects X applications with the FreeType font @@ -1348,7 +1349,7 @@ configuration files.") `(("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XKB file handling library") (description "Xorg XKB file handling library.") (license license:x11))) @@ -1375,7 +1376,7 @@ configuration files.") ("libxext" ,libxext))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Xmu library") (description "Xmu library contains miscellaneous utilities and is not part of the @@ -1408,7 +1409,7 @@ treat it as part of their software base when porting.") ("libxext" ,libxext))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XPM library") (description "XPM (X Pixmap) image file format library.") (license license:x11))) @@ -1436,7 +1437,7 @@ treat it as part of their software base when porting.") ("resourceproto" ,resourceproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Resource extension library") (description "X Resource extension library.") (license license:x11))) @@ -1464,7 +1465,7 @@ treat it as part of their software base when porting.") `(("scrnsaverproto" ,scrnsaverproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Screen Saver library") (description "X11 Screen Saver extension client library.") (license license:x11))) @@ -1492,7 +1493,7 @@ treat it as part of their software base when porting.") ("libxext" ,libxext))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XFree86-DGA library") (description "Client library for the XFree86-DGA extension.") (license license:x11))) @@ -1520,7 +1521,7 @@ treat it as part of their software base when porting.") `(("libfontenc" ,libfontenc))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Convert terminal I/O from legacy encodings to UTF-8") (description "Luit is a filter that can be run between an arbitrary application and @@ -1548,7 +1549,7 @@ input from UTF-8 into the locale's encoding.") (inputs `(("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg makedepend utility") (description "Makedepend is an utility for creating dependencies in makefiles.") @@ -1577,7 +1578,7 @@ input from UTF-8 into the locale's encoding.") ("libfontenc" ,libfontenc))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Create an index of scalable font files for X server") (description "MkFontScale creates the 'fonts.scale' and 'fonts.dir' index files used @@ -1600,7 +1601,7 @@ by the legacy X11 font system.") (base32 "1kir51aqg9cwazs14ivcldcn3mzadqgykc9cg87rm40zf947sb41")))) (build-system gnu-build-system) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg PresentProto protocol headers") (description "Present Extension provides a way for applications to update their @@ -1626,7 +1627,7 @@ mechanism than copying the contents of the source pixmap.") "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg PrintProto protocol headers") (description "Print Extension defines a protocol for a portable, @@ -1650,7 +1651,7 @@ network-transparent printing system.") "0s4496z61y5q45q20gldwpf788b9nsa8hb13gnck1mwwwwrmarsc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg RandRProto protocol headers") (description "Resize and Rotate Extension defines a protocol for clients to @@ -1675,7 +1676,7 @@ window of a screen.") "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg RecordProto protocol headers") (description "Record Extension defines a protocol for the recording and playback @@ -1699,7 +1700,7 @@ of user actions in the X Window System.") "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg RenderProto protocol headers") (description "Rendering Extension defines a protcol for a digital image composition @@ -1723,7 +1724,7 @@ as the foundation of a new rendering model within the X Window System.") "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg ResourceProto protocol headers") (description "Resource Extension defines a protocol that allows a client to @@ -1747,7 +1748,7 @@ query the X server about its usage of various resources.") "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg ScrnSaverProto protocol headers") (description "Screen Saver Extension defines a protocol to control screensaver @@ -1774,7 +1775,7 @@ features and to query screensaver info on specific windows.") `(("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Register X sessions in system utmp/utmpx databases") (description "SessReg is a simple program for managing utmp/wtmp entries for X @@ -1809,7 +1810,7 @@ used with other display managers such as gdm or kdm.") (list (string-append "--with-xkb-config-root=" (assoc-ref %build-inputs "xkeyboard-config") "/share/X11/xkb")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Set the keyboard using the X Keyboard Extension") (description "Setxkbmap is an X11 client to change the keymaps in the X server @@ -1838,7 +1839,7 @@ listed on the command line.") ("libxmu" ,libxmu))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Session Manager Proxy") (description "SMProxy allows X applications that do not support X11R6 session @@ -1878,7 +1879,7 @@ management to participate in an X11R6 session.") (delete-file "share/util-macros/INSTALL") (rmdir "share/util-macros")))) %standard-phases)))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg autoconf macros") (description "This package provides a set of autoconf macros used by the @@ -1903,7 +1904,7 @@ generate new versions of their configure scripts with autoconf.") "1dnlkd9nb0m135lgd6hd61vc29sdyarsyya8aqpx7z10p261dbld")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg VideoProto protocol headers") (description "Video Extension provides a protocol for a video output mechanism, @@ -1927,7 +1928,7 @@ mainly to rescale video playback in the video controller hardware.") "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg WindowsWMProto protocol headers") (description "WindowsWM Extension defines a protocol, used for coordination between @@ -1959,7 +1960,7 @@ server.") ("libxrender" ,libxrender))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "X server performance benchmarker") (description "X11Perf is a simple performance benchmarker for the Xorg X server.") @@ -1992,7 +1993,7 @@ server.") ;; FIXME: The test suite needs http://liw.fi/cmdtest/ (arguments `(#:tests? #f)) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "X authority file utility") (description "XAuth program is used to edit and display the authorization @@ -2020,7 +2021,7 @@ information used in connecting to the X server.") ("xcb-util" ,xcb-util))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Control display backlight") (description "Xbacklight is used to adjust the backlight brightness where @@ -2046,7 +2047,7 @@ the same way.") "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "X bitmaps") (description "xbitmaps provides basic bitmaps (little pictures) used by some @@ -2071,7 +2072,7 @@ legacy X clients.") (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "XML-XCB protocol descriptions") (description "XCB-Proto provides the XML-XCB protocol descriptions that libxcb @@ -2102,7 +2103,7 @@ generators in individual language bindings.") "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XCMiscProto protocol headers") (description "XC-MISC Extension defines a protocol that provides Xlib two ways @@ -2129,7 +2130,7 @@ to query the server for available resource IDs.") `(("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Device Color Characterization utility") (description "XCMSDB is used to load, query, or remove Device Color @@ -2164,7 +2165,7 @@ X11 Inter-Client Communication Conventions Manual (ICCCM).") (list (string-append "--with-cursordir=" (assoc-ref %outputs "out") "/share/icons")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Default Xorg cursors") (description "This package provides a default set of cursor themes for the Xorg @@ -2192,7 +2193,7 @@ X server: 'handhelds', 'redglass' and 'whiteglass'.") ("libpng" ,libpng))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Create an X cursor file from PNG images") (description "XCursorGen prepares X11 cursor sets for use with libXcursor.") @@ -2227,7 +2228,7 @@ X server: 'handhelds', 'redglass' and 'whiteglass'.") ("libdmx" ,libdmx))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg display information utility") (description "Xdpyinfo is used to display information about an X server: the @@ -2258,7 +2259,7 @@ available.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Query DRI configuration information") (description "XDRIInfo is used to query configuration information of X11 @@ -2288,7 +2289,7 @@ DRI (Direct Rendering Infrastructure) drivers.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Print contents of X events") (description "XEv creates a window and then asks the X server to send it X11 @@ -2317,7 +2318,7 @@ usage.") "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XExtProto protocol headers") (description "XExtProto provides the following extensions: DOUBLE-BUFFER, DPMS, @@ -2379,7 +2380,7 @@ devices, thus making direct access unnecessary.") (list (string-append "--with-sdkdir=" (assoc-ref %outputs "out") "/include/xorg")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Generic input driver for X server") (description "xf86-input-evdev is a generic input driver for the Xorg X server. @@ -2409,7 +2410,7 @@ including most mice, keyboards, tablets and touchscreens.") (inputs `(("libinput" ,libinput) ("xorg-server" ,xorg-server))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Input driver for X server based on libinput") (description "xf86-input-libinput is an input driver for the Xorg X server based @@ -2439,7 +2440,7 @@ provide all features that libinput supports it does little beyond.") (list (string-append "--with-sdkdir=" (assoc-ref %outputs "out") "/include/xorg")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Joystick input driver for X server") (description "xf86-input-joystick is a joystick input driver for the Xorg X server. @@ -2464,7 +2465,7 @@ It is used to cotrol the pointer with a joystick device.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Keyboard input driver for X server") (description "xf86-input-keyboard is a keyboard input driver for the Xorg X server.") @@ -2493,7 +2494,7 @@ It is used to cotrol the pointer with a joystick device.") (list (string-append "--with-sdkdir=" (assoc-ref %outputs "out") "/include/xorg")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Mouse input driver for X server") (description "xf86-input-mouse is a mouse input driver for the Xorg X server. @@ -2532,7 +2533,7 @@ as USB mice.") (string-append "--with-xorg-conf-dir=" (assoc-ref %outputs "out") "/share/X11/xorg.conf.d")))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Touchpad input driver for X server") (description "xf86-input-synaptics is a touchpad driver for the Xorg X server.") @@ -2556,7 +2557,7 @@ as USB mice.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Void (null) input driver for X server") (description "xf86-input-void is a null input driver for the Xorg X server.") @@ -2581,7 +2582,7 @@ as USB mice.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Ark Logic video driver for X server") (description "xf86-video-ark is an Ark Logic video driver for the Xorg X server.") @@ -2607,7 +2608,7 @@ as USB mice.") ;; (build-system gnu-build-system) ;; (inputs `(("xorg-server" ,xorg-server))) ;; (native-inputs `(("pkg-config" ,pkg-config))) -;; (home-page "http://www.x.org/wiki/") +;; (home-page "https://www.x.org/wiki/") ;; (synopsis "ASpeed Technologies video driver for X server") ;; (description ;; "xf86-video-ast is an ASpeed Technologies video driver for the Xorg @@ -2635,7 +2636,7 @@ as USB mice.") ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments `(#:configure-flags `("--disable-glamor"))) ; TODO: Enable glamor - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "ATI Radeon video driver for X server") (description "xf86-video-ati is an ATI Radeon video driver for the Xorg @@ -2660,7 +2661,7 @@ X server.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Cirrus Logic video driver for X server") (description "xf86-video-cirrus is a Cirrus Logic video driver for the Xorg @@ -2689,7 +2690,7 @@ X server.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Framebuffer device video driver for X server") (description "xf86-video-fbdev is a video driver for the Xorg X server for @@ -2719,7 +2720,7 @@ framebuffer device.") ;; This driver is only supported on i686 systems. (filter (lambda (system) (string-prefix? "i686-" system)) %supported-systems)) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "AMD Geode GX/LX video driver for X server") (description "xf86-video-geode is an Xorg X server video driver for the AMD @@ -2749,7 +2750,7 @@ compositing. Both support Xv overlay and dynamic rotation with XRandR.") ;; (build-system gnu-build-system) ;; (inputs `(("pkg-config" ,pkg-config) ;; ("xorg-server" ,xorg-server))) -;; (home-page "http://www.x.org/wiki/") +;; (home-page "https://www.x.org/wiki/") ;; (synopsis "Glide video driver for X server") ;; (description ;; "xf86-video-glide is a Glide video driver for the Xorg X server.") @@ -2775,7 +2776,7 @@ compositing. Both support Xv overlay and dynamic rotation with XRandR.") (inputs `(("xf86dgaproto" ,xf86dgaproto) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "GLINT/Permedia video driver for X server") (description "xf86-video-glint is a GLINT/Permedia video driver for the Xorg @@ -2801,7 +2802,7 @@ X server.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "I128 video driver for X server") (description "xf86-video-i128 is an I128 (Imagine 128) video driver for the Xorg @@ -2819,7 +2820,7 @@ X server.") ;; there's no current tarball (method git-fetch) (uri (git-reference - (url "http://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel.git") + (url "https://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel.git") (commit commit))) (sha256 (base32 @@ -2846,7 +2847,7 @@ X server.") (add-after 'unpack 'bootstrap (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Intel video driver for X server") (description "xf86-video-intel is a 2D graphics driver for the Xorg X server. @@ -2875,7 +2876,7 @@ It supports a variety of Intel graphics chipsets.") ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Mach64 video driver for X server") (description "xf86-video-mach64 is a video driver for the Xorg X server. @@ -2905,7 +2906,7 @@ the same level of support for generic VGA or 8514/A adapters.") ("xf86driproto" ,xf86driproto) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Matrox video driver for X server") (description "xf86-video-mga is a Matrox video driver for the Xorg X server.") @@ -2930,7 +2931,7 @@ the same level of support for generic VGA or 8514/A adapters.") ("libx11" ,libx11) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "\"Modesetting\" video driver for X server") (description "This is a generic \"modesetting\" video driver, that relies on the Linux @@ -2955,7 +2956,7 @@ kernel mode setting (KMS).") (inputs `(("xf86dgaproto" ,xf86dgaproto) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "NeoMagic video driver for X server") (description "xf86-video-neomagic is a NeoMagic video driver for the Xorg X server.") @@ -2981,7 +2982,7 @@ kernel mode setting (KMS).") ;; (build-system gnu-build-system) ;; (inputs `(("xorg-server" ,xorg-server))) ;; (native-inputs `(("pkg-config" ,pkg-config))) -;; (home-page "http://www.x.org/wiki/") +;; (home-page "https://www.x.org/wiki/") ;; (synopsis "Newport video driver for X server") ;; (description ;; "xf86-video-newport is an Xorg X server video driver for the SGI @@ -3007,7 +3008,7 @@ kernel mode setting (KMS).") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "NVIDIA video driver for X server") (description "This package contains Xorg support for the NVIDIA GeForce 8 series of @@ -3065,7 +3066,7 @@ graphics cards.") ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Openchrome video driver for X server") (description "xf86-video-openchrome is a video driver for the Xorg X server. @@ -3093,7 +3094,7 @@ UniChrome Pro and Chrome9 integrated graphics processors.") ("xf86driproto" ,xf86driproto) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "ATI Rage 128 video driver for X server") (description "xf86-video-r128 is a video driver for the Xorg X server. @@ -3120,7 +3121,7 @@ This driver is intended for ATI Rage 128 based cards.") ("xf86driproto" ,xf86driproto) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Savage video driver for X server") (description "xf86-video-savage is an S3 Savage video driver for the Xorg X server.") @@ -3144,7 +3145,7 @@ This driver is intended for ATI Rage 128 based cards.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Silicon Motion video driver for X server") (description "xf86-video-siliconmotion is a Silicon Motion video driver for the @@ -3173,7 +3174,7 @@ Xorg X server.") ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Sis video driver for X server") (description "xf86-video-SiS is a SiS video driver for the Xorg X server. @@ -3198,7 +3199,7 @@ This driver supports SiS chipsets of 300/315/330/340 series.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "GX/TurboGX video driver for X server") (description "xf86-video-suncg6 is a GX/TurboGX video driver for the Xorg X server.") @@ -3222,7 +3223,7 @@ This driver supports SiS chipsets of 300/315/330/340 series.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "SUNFFB video driver for X server") (description "xf86-video-sunffb is a SUNFFB video driver for the Xorg X server.") @@ -3248,7 +3249,7 @@ This driver supports SiS chipsets of 300/315/330/340 series.") ("xf86driproto" ,xf86driproto) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "3Dfx video driver for X server") (description "xf86-video-tdfx is a 3Dfx video driver for the Xorg X server.") @@ -3274,7 +3275,7 @@ This driver supports SiS chipsets of 300/315/330/340 series.") (inputs `(("xf86dgaproto" ,xf86dgaproto) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "TGA video driver for X server") (description "xf86-video-tga is a TGA (DEC 21030) video driver for the Xorg @@ -3300,7 +3301,7 @@ X server.") (inputs `(("xf86dgaproto" ,xf86dgaproto) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Trident video driver for X server") (description "xf86-video-trident is a Trident video driver for the Xorg X server.") @@ -3328,7 +3329,7 @@ X server.") (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "VESA video driver for X server") (description "xf86-video-vesa is a generic VESA video driver for the Xorg @@ -3357,7 +3358,7 @@ X server.") ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "VMware SVGA video driver for X server") (description "xf86-video-vmware is a VMware SVGA video driver for the Xorg X server.") @@ -3391,7 +3392,7 @@ xf86-video-voodoo/patch/?id=9172ae566a0e85313fc80ab62b4455393eefe593") (inputs `(("xf86dgaproto" ,xf86dgaproto) ("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Voodoo/Voodoo2 video driver for X server") (description "xf86-video-voodoo is a Voodoo video driver for the Xorg X server.") @@ -3417,7 +3418,7 @@ xf86-video-voodoo/patch/?id=9172ae566a0e85313fc80ab62b4455393eefe593") (base32 "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms")))) (build-system gnu-build-system) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XF86BigFontProto protocol headers") (description "XFree86 Bigfont Extension contains header files and documentation @@ -3440,7 +3441,7 @@ for the XF86BigFontProto protocol.") (base32 "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc")))) (build-system gnu-build-system) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XF86DGAProto protocol headers") (description "XFree86 Direct Graphic Access Extension defines a protocol for @@ -3463,7 +3464,7 @@ direct linear framebuffer access.") (base32 "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww")))) (build-system gnu-build-system) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XF86DRIProto protocol headers") (description "XFree86 Direct Rendering Infrastructure Extension defines a @@ -3487,7 +3488,7 @@ requiring data to be passed through the X server.") (base32 "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5")))) (build-system gnu-build-system) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XF86VidModeProto protocol headers") (description "XFree86 Video Mode Extension defines a protocol for dynamically @@ -3515,7 +3516,7 @@ configuring modelines and gamma.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Alter a monitor's gamma correction") (description "XGamma is used to query and alter the gamma correction of a @@ -3544,7 +3545,7 @@ monitor via the X video mode extension.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg server access control utility") (description "XHost is used to manage the list of host names or user names @@ -3568,7 +3569,7 @@ allowed to make connections to the X server.") "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XineramaProto protocol headers") (description "Xinerama Extension allows clients to query information about multiple @@ -3607,7 +3608,7 @@ alternative implementations like XRandR or TwinView.") ("inputproto" ,inputproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Configure input devices for X server") (description "XInput is used to configure and test XInput devices.") @@ -3635,7 +3636,7 @@ alternative implementations like XRandR or TwinView.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Compile XKB keyboard description") (description "xkbcomp keymap compiler converts a description of an XKB keymap @@ -3684,7 +3685,7 @@ make keyboards more accessible to people with physical impairments.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "XKB event daemon demo") (description "XKB event daemon listens for the specified XKB events and executes @@ -3714,7 +3715,7 @@ requested commands if they occur.") ("inputproto" ,inputproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "XKB utilities") (description "XKBUtils is a collection of small utilities for X Keyboard (XKB) @@ -3750,7 +3751,7 @@ extension to the X11 protocol. It includes: (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XKB configuration files") (description "xkeyboard-config provides a database for X Keyboard (XKB) Extension. @@ -3780,7 +3781,7 @@ can be combined together using the 'rules' component of this database.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Kill a client by its X resource") (description "XKill is used to force the X server to close connections to @@ -3808,7 +3809,7 @@ programs that have displayed undesired windows on a user's screen.") `(("libxcb" ,libxcb))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "List interned X server atoms") (description "XLsAtoms is used to list the interned atoms defined on X server.") @@ -3834,7 +3835,7 @@ programs that have displayed undesired windows on a user's screen.") `(("libxcb" ,libxcb))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "List client applications running on a display") (description "XLsClients is used to list information about the client programs @@ -3862,7 +3863,7 @@ running on X server.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "List fonts available from an X server") (description "xlsfonts lists fonts available from an X server via the X11 core @@ -3891,7 +3892,7 @@ protocol.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Modify keymaps and button mappings on X server") (description "Xmodmap is used to display and edit the keyboard modifier map and @@ -3922,7 +3923,7 @@ tastes.") "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg SGML documentation tools") (description "This package provides a common set of SGML entities and XML/CSS style @@ -3955,7 +3956,7 @@ refers to the included common xorg.css stylesheet.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Print an X window dump from xwd") (description "XPr takes as input a window dump file produced by xwd and formats @@ -3983,7 +3984,7 @@ it for output on various types of printers.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Display X server properties") (description "xprop is used to display and/or set window and font properties of @@ -4012,7 +4013,7 @@ an X server.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Command line interface to X RandR extension") (description "xrandr - primitive command line interface to X11 Resize, Rotate, @@ -4040,7 +4041,7 @@ and Reflect (RandR) extension.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "X server resource database utility") (description "XRDB is used to get or set the contents of the RESOURCE_MANAGER @@ -4070,7 +4071,7 @@ file.") `(("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Refresh all or part of an X screen") (description "Xrefresh is a simple X program that causes all or part of your @@ -4101,7 +4102,7 @@ up your screen.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "User preference utility for X server") (description "XSet is used to set various user preference options of the display.") @@ -4129,7 +4130,7 @@ up your screen.") ("xbitmaps" ,xbitmaps))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Root window parameter setting utility for X server") (description "XSetRoot allows you to tailor the appearance of the root window on @@ -4153,7 +4154,7 @@ a display running X server.") "00c3ph17acnsch3gbdmx33b9ifjnl5w7vx8hrmic1r1cjcv3pgdd")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Network Transport layer library") (description "Xtrans is a library of code that is shared among various X packages to @@ -4184,7 +4185,7 @@ libICE, the X font server, and related components.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Print out X-Video extension adaptor information") (description "XVInfo is used to print out the capabilities of any video adaptors @@ -4214,7 +4215,7 @@ extension.") ("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Dump current contents of X window or screen to file") (description "Xwd is used to store window images in a specially formatted dump @@ -4246,7 +4247,7 @@ dump and twice whenthe dump is completed.") ("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Window information utility for X server") (description "XWinInfo is used to print out information about windows on an X server. @@ -4274,7 +4275,7 @@ Various information is displayed depending on which options are selected.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Display an X window dump from xwd") (description "Xwud is used to display in a window an image saved in a specially @@ -4304,7 +4305,7 @@ formatted dump file, such as produced by xwd.") `(("xextproto" ,xextproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg FixesProto protocol headers") (description "Fixes Extension makes changes to many areas of the protocol to resolve @@ -4336,7 +4337,7 @@ cannot be adequately worked around on the client side of the wire.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Damage Extension library") (description "Xorg library for the XDamage extension.") (license license:x11))) @@ -4364,7 +4365,7 @@ cannot be adequately worked around on the client side of the wire.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Common extensions library") (description "Library for common extensions to the X11 protocol.") @@ -4393,7 +4394,7 @@ cannot be adequately worked around on the client side of the wire.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Xinerama protocol library") (description "API for Xinerama extension to X11 protocol.") (license license:x11))) @@ -4421,7 +4422,7 @@ cannot be adequately worked around on the client side of the wire.") ("libxext" ,libxext))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Print Client library") (description "Xorg Print Client library.") (license license:x11))) @@ -4449,7 +4450,7 @@ cannot be adequately worked around on the client side of the wire.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Render Extension library") (description "Library for the Render Extension to the X11 protocol.") (license license:x11))) @@ -4478,7 +4479,7 @@ cannot be adequately worked around on the client side of the wire.") ("inputproto" ,inputproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg library for Xtest and Record extensions") (description "libXtst provides the Xlib-based client API for the XTEST & RECORD @@ -4517,7 +4518,7 @@ protocol and arbitrary X extension protocol.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XVideo Extension library") (description "Library for the X Video Extension to the X11 protocol.") (license license:x11))) @@ -4542,7 +4543,7 @@ protocol and arbitrary X extension protocol.") `(("mkfontscale" ,mkfontscale))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Create an index of X font files in a directory") (description "MkFontDir creates the 'fonts.dir' files needed by the legacy X @@ -4570,7 +4571,7 @@ script around the mkfontscale program.") `(("util-macros" ,util-macros))) ; to get util-macros in (almost?) all package inputs (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg X11Proto protocol headers") (description "XProto provides the headers and specification documents defining @@ -4606,7 +4607,7 @@ common definitions and porting layer.") `(("xtrans" ,xtrans))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Inter-Client Exchange library") (description "Xorg Inter-Client Exchange library.") (license license:x11))) @@ -4631,7 +4632,7 @@ common definitions and porting layer.") `(("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Authorization library") (description "libXau provides an authorization library for individual access to @@ -4660,7 +4661,7 @@ an X Window System display.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Fixes Extension library") (description "Library for the XFixes Extension to the X11 protocol.") (license license:x11))) @@ -4691,7 +4692,7 @@ an X Window System display.") ("xtrans" ,xtrans))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Font handling library") (description "libXfont provides the core of the legacy X11 font system, handling the @@ -4727,7 +4728,7 @@ new API's in libXft, or the legacy API's in libX11.") `(("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Input Extension library") (description "Library for the XInput Extension to the X11 protocol.") (license license:x11))) @@ -4757,7 +4758,7 @@ new API's in libXft, or the legacy API's in libX11.") ("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Resize and Rotate Extension library") (description "Library for the Resize and Rotate Extension to the X11 protocol.") @@ -4787,7 +4788,7 @@ new API's in libXft, or the legacy API's in libX11.") ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XvMC library") (description "Xorg XvMC library.") (license license:x11))) @@ -4815,7 +4816,7 @@ new API's in libXft, or the legacy API's in libX11.") `(("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XF86 Video Mode Extension library") (description "Library for the XFree86 Video Mode Extension Extension to the X11 @@ -4850,7 +4851,7 @@ protocol.") ("python" ,python-minimal-wrapper))) (arguments `(#:configure-flags '("--enable-xkb"))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "The X C Binding (XCB) library") (description "libxcb provides an interface to the X Window System protocol, @@ -4961,7 +4962,7 @@ over Xlib, including: (("\\$\\(MKDIR_P\\).*logdir.*") "true\n"))) %standard-phases))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg implementation of the X Window System") (description "This package provides the Xorg X server itself. @@ -5009,7 +5010,7 @@ draggable titlebars and borders.") ("xtrans" ,xtrans))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Core X11 protocol client library") (description "Xorg Core X11 protocol client library.") (license license:x11))) @@ -5039,7 +5040,7 @@ draggable titlebars and borders.") ("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Cursor management library") (description "Xorg Cursor management library.") (license license:x11))) @@ -5074,7 +5075,7 @@ draggable titlebars and borders.") `(("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg XToolkit Intrinsics library") (description "Xorg XToolkit Intrinsics library.") (license license:x11))) @@ -5104,7 +5105,7 @@ draggable titlebars and borders.") `(("xproto" ,xproto))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Xaw library") (description "Xaw is the X Athena Widget Set based on the X Toolkit @@ -5128,7 +5129,7 @@ Intrinsics (Xt) Library.") `(("libxcb" ,libxcb))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://cgit.freedesktop.org/xcb/util/") + (home-page "https://cgit.freedesktop.org/xcb/util/") (synopsis "Core XCB utility functions") (description "The XCB util module provides a number of libraries which sit on @@ -5167,7 +5168,7 @@ The XCB util module provides the following libraries: `(("libxcb" ,libxcb) ("xcb-util-renderutil" ,xcb-util-renderutil) ("xcb-util-image" ,xcb-util-image))) - (home-page "http://cgit.freedesktop.org/xcb/util-cursor/") + (home-page "https://cgit.freedesktop.org/xcb/util-cursor/") (synopsis "Port of libxcursor") (description "XCB-util-cursor is a port of libxcursor.") (license @@ -5195,7 +5196,7 @@ The XCB util module provides the following libraries: `(("xcb-util" ,xcb-util))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://cgit.freedesktop.org/xcb/util-image/") + (home-page "https://cgit.freedesktop.org/xcb/util-image/") (synopsis "XCB port of Xlib's XImage and XShmImage") (description "The XCB util module provides a number of libraries which sit on @@ -5227,7 +5228,7 @@ The XCB util-image module provides the following library: `(("libxcb" ,libxcb))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://cgit.freedesktop.org/xcb/util-keysyms/") + (home-page "https://cgit.freedesktop.org/xcb/util-keysyms/") (synopsis "Standard X constants and conversion to/from keycodes") (description "The XCB util module provides a number of libraries which sit on @@ -5259,7 +5260,7 @@ The XCB util-keysyms module provides the following library: `(("libxcb" ,libxcb))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://cgit.freedesktop.org/xcb/util-renderutil/") + (home-page "https://cgit.freedesktop.org/xcb/util-renderutil/") (synopsis "Convenience functions for the Render extension") (description "The XCB util module provides a number of libraries which sit on @@ -5292,7 +5293,7 @@ The XCB util-renderutil module provides the following library: (native-inputs `(("m4" ,m4) ("pkg-config" ,pkg-config))) - (home-page "http://cgit.freedesktop.org/xcb/util-wm/") + (home-page "https://cgit.freedesktop.org/xcb/util-wm/") (synopsis "Client and window-manager helpers for ICCCM and EWMH") (description "The XCB util modules provides a number of libraries which sit on @@ -5362,7 +5363,7 @@ user-friendly mechanism to start the X server.") `(("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") + (home-page "https://www.x.org/wiki/") (synopsis "Xorg Xaw3d library") (description "Xaw is the X 3D Athena Widget Set based on the X Toolkit @@ -5447,7 +5448,7 @@ perl programs to display windows and graphics on X11 servers.") ;; there's no current tarball (method git-fetch) (uri (git-reference - (url "http://anongit.freedesktop.org/git/xorg/app/xcompmgr.git") + (url "https://anongit.freedesktop.org/git/xorg/app/xcompmgr.git") (commit (string-append name "-" version)))) (sha256 (base32 @@ -5475,6 +5476,6 @@ perl programs to display windows and graphics on X11 servers.") (description "xcompmgr is a sample compositing manager for X servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE extensions. It enables basic eye-candy effects.") - (home-page "http://cgit.freedesktop.org/xorg/app/xcompmgr/") + (home-page "https://cgit.freedesktop.org/xorg/app/xcompmgr/") (license (license:x11-style - "http://cgit.freedesktop.org/xorg/app/xcompmgr/tree/COPYING")))) + "https://cgit.freedesktop.org/xorg/app/xcompmgr/tree/COPYING")))) From 159daace2fc5a35795b82bdf5dbe02d5a6af6acd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Jun 2016 10:21:32 +0200 Subject: [PATCH 067/435] gnu: Add mcron2. * gnu/packages/guile.scm (mcron2): New variable. --- gnu/packages/guile.scm | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 2d895abe00..2d8ca0cf23 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -42,6 +42,7 @@ #:use-module (gnu packages ed) #:use-module (gnu packages base) #:use-module (gnu packages texinfo) + #:use-module (gnu packages man) #:use-module (gnu packages gettext) #:use-module (gnu packages databases) #:use-module (gnu packages python) @@ -421,6 +422,55 @@ Guile, so its configuration can be written in Scheme; the original cron format is also supported.") (license gpl3+))) +(define-public mcron2 + ;; This is mthl's mcron development branch, not yet merged in mcron. + (let ((commit "31baff1a5187d8ddc89324cbe42dbeffc309c962")) + (package + (inherit mcron) + (name "mcron2") + (version (string-append (package-version mcron) "-0." + (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/mthl/mcron/") + (commit commit))) + (sha256 + (base32 + "1h5wxy997hxi718hpx419c23q09939kbxrjbbq54lv0cgw1bb63z")) + (file-name (string-append name "-" version "-checkout")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo) + ("help2man" ,help2man))) + (arguments + `(#:modules ((ice-9 match) (ice-9 ftw) + ,@%gnu-build-system-modules) + + #:phases (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ + (zero? (system* "autoreconf" "-vfi")))) + (add-after 'install 'wrap-mcron + (lambda* (#:key outputs #:allow-other-keys) + ;; Wrap the 'mcron' command to refer to the right + ;; modules. + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (site (string-append + out "/share/guile/site"))) + (match (scandir site) + (("." ".." version) + (let ((modules (string-append site "/" version))) + (wrap-program (string-append bin "/mcron") + `("GUILE_LOAD_PATH" ":" prefix + (,modules)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix + (,modules))) + #t)))))))))))) + (define-public guile-lib (package (name "guile-lib") From c311089b0b19f094e44d3f858c29f77d757332d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Jun 2016 22:36:40 +0200 Subject: [PATCH 068/435] services: Add 'mcron-service'. * gnu/services/mcron.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/tests/base.scm (%mcron-os, %test-mcron): New variables. (run-mcron-test): New procedure. * doc/guix.texi (Scheduled Job Execution): New node. --- doc/guix.texi | 78 ++++++++++++++++++++++++++++ gnu/local.mk | 1 + gnu/services/mcron.scm | 115 +++++++++++++++++++++++++++++++++++++++++ gnu/tests/base.scm | 106 ++++++++++++++++++++++++++++++++++++- 4 files changed, 299 insertions(+), 1 deletion(-) create mode 100644 gnu/services/mcron.scm diff --git a/doc/guix.texi b/doc/guix.texi index 0bb68bb477..7516d75b8d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -204,6 +204,7 @@ System Configuration Services * Base Services:: Essential system services. +* Scheduled Job Execution:: The mcron service. * Networking Services:: Network setup, SSH daemon, etc. * X Window:: Graphical display. * Desktop Services:: D-Bus and desktop services. @@ -7185,6 +7186,7 @@ declaration. @menu * Base Services:: Essential system services. +* Scheduled Job Execution:: The mcron service. * Networking Services:: Network setup, SSH daemon, etc. * X Window:: Graphical display. * Desktop Services:: D-Bus and desktop services. @@ -7463,6 +7465,82 @@ archive}). If that is not the case, the service will fail to start. @end deffn +@node Scheduled Job Execution +@subsubsection Scheduled Job Execution + +@cindex cron +@cindex scheduling jobs +The @code{(gnu services mcron)} module provides an interface to +GNU@tie{}mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, +mcron, GNU@tie{}mcron}). GNU@tie{}mcron is similar to the traditional +Unix @command{cron} daemon; the main difference is that it is +implemented in Guile Scheme, which provides a lot of flexibility when +specifying the scheduling of jobs and their actions. + +For example, to define an operating system that runs the +@command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files}) +and the @command{guix gc} commands (@pxref{Invoking guix gc}) daily: + +@lisp +(use-modules (guix) (gnu) (gnu services mcron)) + +(define updatedb-job + ;; Run 'updatedb' at 3 AM every day. + #~(job '(next-hour '(3)) + "updatedb --prunepaths='/tmp /var/tmp /gnu/store'")) + +(define garbage-collector-job + ;; Collect garbage 5 minutes after midnight every day. + #~(job "5 0 * * *" ;Vixie cron syntax + "guix gc -F 1G")) + +(operating-system + ;; @dots{} + (services (cons (mcron-service (list garbage-collector-job + updatedb-job)) + %base-services))) +@end lisp + +@xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, +for more information on mcron job specifications. Below is the +reference of the mcron service. + +@deffn {Scheme Procedure} mcron-service @var{jobs} [#:mcron @var{mcron2}] +Return an mcron service running @var{mcron} that schedules @var{jobs}, a +list of gexps denoting mcron job specifications. + +This is a shorthand for: +@example + (service mcron-service-type + (mcron-configuration (mcron mcron) (jobs jobs))) +@end example +@end deffn + +@defvr {Scheme Variable} mcron-service-type +This is the type of the @code{mcron} service, whose value is an +@code{mcron-configuration} object. + +This service type can be the target of a service extension that provides +it additional job specifications (@pxref{Service Composition}). In +other words, it is possible to define services that provide addition +mcron jobs to run. +@end defvr + +@deftp {Data Type} mcron-configuration +Data type representing the configuration of mcron. + +@table @asis +@item @code{mcron} (default: @var{mcron2}) +The mcron package to use. + +@item @code{jobs} +This is a list of gexps (@pxref{G-Expressions}), where each gexp +corresponds to an mcron job specification (@pxref{Syntax, mcron job +specifications,, mcron, GNU@tie{}mcron}). +@end table +@end deftp + + @node Networking Services @subsubsection Networking Services diff --git a/gnu/local.mk b/gnu/local.mk index ab0cf49b24..3e0082b8fa 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -377,6 +377,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/dict.scm \ %D%/services/lirc.scm \ %D%/services/mail.scm \ + %D%/services/mcron.scm \ %D%/services/networking.scm \ %D%/services/shepherd.scm \ %D%/services/herd.scm \ diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm new file mode 100644 index 0000000000..313c8364f8 --- /dev/null +++ b/gnu/services/mcron.scm @@ -0,0 +1,115 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu services mcron) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu services shepherd) + #:autoload (gnu packages guile) (mcron2) + #:use-module (guix records) + #:use-module (guix gexp) + #:use-module (srfi srfi-1) + #:use-module (ice-9 match) + #:use-module (ice-9 vlist) + #:export (mcron-configuration + mcron-configuration? + mcron-configuration-mcron + mcron-configuration-jobs + + mcron-service-type + mcron-service)) + +;;; Commentary: +;;; +;;; This module implements a service that to run instances of GNU mcron, a +;;; periodic job execution daemon. Example of a service: +;; +;; (service mcron-service-type +;; (mcron-configuration +;; (jobs (list #~(job next-second-from +;; (lambda () +;; (call-with-output-file "/dev/console" +;; (lambda (port) +;; (display "hello!\n" port))))))))) +;;; +;;; Code: + +(define-record-type* mcron-configuration + make-mcron-configuration + mcron-configuration? + (mcron mcron-configuration-mcron ;package + (default mcron2)) + (jobs mcron-configuration-jobs ;list of + (default '()))) + +(define (job-file job) + (scheme-file "mcron-job" job)) + +(define mcron-shepherd-services + (match-lambda + (($ mcron ()) ;nothing to do! + '()) + (($ mcron jobs) + (list (shepherd-service + (provision '(mcron)) + (requirement '(user-processes)) + (modules `((srfi srfi-1) + (srfi srfi-26) + ,@%default-modules)) + (start #~(make-forkexec-constructor + (list (string-append #$mcron "/bin/mcron") + #$@(map job-file jobs)) + + ;; Disable auto-compilation of the job files and set a + ;; sane value for 'PATH'. + #:environment-variables + (cons* "GUILE_AUTO_COMPILE=0" + "PATH=/run/current-system/profile/bin" + (remove (cut string-prefix? "PATH=" <>) + (environ))))) + (stop #~(make-kill-destructor))))))) + +(define mcron-service-type + (service-type (name 'mcron) + (extensions + (list (service-extension shepherd-root-service-type + mcron-shepherd-services) + (service-extension profile-service-type + (compose list + mcron-configuration-mcron)))) + (compose concatenate) + (extend (lambda (config jobs) + (mcron-configuration + (inherit config) + (jobs (append (mcron-configuration-jobs config) + jobs))))))) + +(define* (mcron-service jobs #:optional (mcron mcron2)) + "Return an mcron service running @var{mcron} that schedules @var{jobs}, a +list of gexps denoting mcron job specifications. + +This is a shorthand for: +@example + (service mcron-service-type + (mcron-configuration (mcron mcron) (jobs jobs))) +@end example +" + (service mcron-service-type + (mcron-configuration (mcron mcron) (jobs jobs)))) + +;;; mcron.scm ends here diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 3dfa28f7f5..8b1fefe9f8 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -24,6 +24,7 @@ #:use-module (gnu system shadow) #:use-module (gnu system vm) #:use-module (gnu services) + #:use-module (gnu services mcron) #:use-module (gnu services shepherd) #:use-module (guix gexp) #:use-module (guix store) @@ -31,7 +32,8 @@ #:use-module (guix packages) #:use-module (srfi srfi-1) #:export (run-basic-test - %test-basic-os)) + %test-basic-os + %test-mcron)) (define %simple-os (operating-system @@ -178,3 +180,105 @@ functionality tests.") ;; 'system-qemu-image/shared-store-script'. (run-basic-test (virtualized-operating-system os '()) #~(list #$run)))))) + + +;;; +;;; Mcron. +;;; + +(define %mcron-os + ;; System with an mcron service, with one mcron job for "root" and one mcron + ;; job for an unprivileged user (note: #:user is an 'mcron2' thing.) + (let ((job1 #~(job next-second-from + (lambda () + (call-with-output-file "witness" + (lambda (port) + (display (list (getuid) (getgid)) port)))))) + (job2 #~(job next-second-from + (lambda () + (call-with-output-file "witness" + (lambda (port) + (display (list (getuid) (getgid)) port)))) + #:user "alice")) + (job3 #~(job next-second-from ;to test $PATH + "touch witness-touch"))) + (operating-system + (inherit %simple-os) + (services (cons (mcron-service (list job1 job2 job3)) + (operating-system-user-services %simple-os)))))) + +(define (run-mcron-test name) + (mlet* %store-monad ((os -> (marionette-operating-system + %mcron-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + (command (system-qemu-image/shared-store-script + os #:graphic? #f))) + (define test + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-64) + (ice-9 match)) + + (define marionette + (make-marionette (list #$command))) + + (define (wait-for-file file) + ;; Wait until FILE exists in the guest; 'read' its content and + ;; return it. + (marionette-eval + `(let loop ((i 10)) + (cond ((file-exists? ,file) + (call-with-input-file ,file read)) + ((> i 0) + (sleep 1) + (loop (- i 1))) + (else + (error "file didn't show up" ,file)))) + marionette)) + + (mkdir #$output) + (chdir #$output) + + (test-begin "mcron") + + (test-eq "service running" + 'running! + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'mcron) + 'running!) + marionette)) + + ;; Make sure root's mcron job runs, has its cwd set to "/root", and + ;; runs with the right UID/GID. + (test-equal "root's job" + '(0 0) + (wait-for-file "/root/witness")) + + ;; Likewise for Alice's job. We cannot know what its GID is since + ;; it's chosen by 'groupadd', but it's strictly positive. + (test-assert "alice's job" + (match (wait-for-file "/home/alice/witness") + ((1000 gid) + (>= gid 100)))) + + ;; Last, the job that uses a command; allows us to test whether + ;; $PATH is sane. (Note that 'marionette-eval' stringifies objects + ;; that don't have a read syntax, hence the string.) + (test-equal "root's job with command" + "#" + (wait-for-file "/root/witness-touch")) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0)))) + + (gexp->derivation name test + #:modules '((gnu build marionette))))) + +(define %test-mcron + (system-test + (name "mcron") + (description "Make sure the mcron service works as advertised.") + (value (run-mcron-test name)))) From 0a2f2848d5f39e008397215e697e14335dcce7c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Jun 2016 22:53:42 +0200 Subject: [PATCH 069/435] doc: Document 'make check-system'. * doc/guix.texi (Running the Test Suite): Document 'make check-system'. --- doc/guix.texi | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 7516d75b8d..d6d16b4d45 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -620,6 +620,31 @@ Upon failure, please email @email{bug-guix@@gnu.org} and attach the as well as version numbers of the dependencies (@pxref{Requirements}) in your message. +Guix also comes with a whole-system test suite that tests complete +GuixSD operating system instances. It can only run on systems where +Guix is already installed, using: + +@example +make check-system +@end example + +@noindent +or, again, by defining @code{TESTS} to select a subset of tests to run: + +@example +make check-system TESTS="basic mcron" +@end example + +These system tests are defined in the @code{(gnu tests @dots{})} +modules. They work by running the operating systems under test with +lightweight instrumentation in a virtual machine (VM). They can be +computationally intensive or rather cheap, depending on whether +substitutes are available for their dependencies (@pxref{Substitutes}). +Some of them require a lot of storage space to hold VM images. + +Again in case of test failures, please send @email{bug-guix@@gnu.org} +all the details. + @node Setting Up the Daemon @section Setting Up the Daemon From 3583b27b2cb42ac8c88e7f53df2e3101d5a82ede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Jun 2016 23:39:57 +0200 Subject: [PATCH 070/435] utils: 'cache-directory' honors 'XDG_CACHE_HOME'. * guix/utils.scm (cache-directory): Honor 'XDG_CACHE_HOME', not 'XDG_CONFIG_HOME'. --- guix/utils.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/utils.scm b/guix/utils.scm index 69f4e78a85..6bcee17776 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -637,7 +637,7 @@ output port, and PROC's result is returned." (define (cache-directory) "Return the cache directory for Guix, by default ~/.cache/guix." - (or (getenv "XDG_CONFIG_HOME") + (or (getenv "XDG_CACHE_HOME") (and=> (or (getenv "HOME") (passwd:dir (getpwuid (getuid)))) (cut string-append <> "/.cache/guix")))) From f10dcbf1a92c147a2fedba6f774afa6a7013fcdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Jun 2016 23:46:32 +0200 Subject: [PATCH 071/435] substitute: Use ~/.cache when invoked by an unprivileged user. This is a followup to ea0c6e0507a6997f12a4f29d0445b51cf53bd81e. * guix/scripts/substitute.scm (%narinfo-cache-directory): Use 'cache-directory' when (getuid) returns non-zero. (cache-narinfo!): Remove 'catch'. --- guix/scripts/substitute.scm | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 81ce770dc5..5722aa821d 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -94,10 +94,15 @@ ;;; Code: (define %narinfo-cache-directory - ;; A local cache of narinfos, to avoid going to the network. - (or (and=> (getenv "XDG_CACHE_HOME") - (cut string-append <> "/guix/substitute")) - (string-append %state-directory "/substitute/cache"))) + ;; A local cache of narinfos, to avoid going to the network. Most of the + ;; time, 'guix substitute' is called by guix-daemon as root and stores its + ;; cached data in /var/guix/…. However, when invoked from 'guix challenge' + ;; as a user, it stores its cache in ~/.cache. + (if (zero? (getuid)) + (or (and=> (getenv "XDG_CACHE_HOME") + (cut string-append <> "/guix/substitute")) + (string-append %state-directory "/substitute/cache")) + (string-append (cache-directory) "/substitute"))) (define %allow-unauthenticated-substitutes? ;; Whether to allow unchecked substitutes. This is useful for testing @@ -501,17 +506,10 @@ indicates that PATH is unavailable at CACHE-URL." (value ,(and=> narinfo narinfo->string)))) (let ((file (narinfo-cache-file cache-url path))) - (catch 'system-error - (lambda () - (mkdir-p (dirname file)) - (with-atomic-file-output file - (lambda (out) - (write (cache-entry cache-url narinfo) out)))) - (lambda args - ;; We may not have write access to the local cache when called from an - ;; unprivileged process such as 'guix challenge'. - (unless (= EACCES (system-error-errno args)) - (apply throw args))))) + (mkdir-p (dirname file)) + (with-atomic-file-output file + (lambda (out) + (write (cache-entry cache-url narinfo) out)))) narinfo) From f6d5456b1b5b55e1ef48388271b29a2e19a646f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 23 Jun 2016 00:12:13 +0200 Subject: [PATCH 072/435] tests: Installation test no longer requires KVM. * gnu/tests/install.scm (%test-installed-os): Use '-enable-kvm' only when /dev/kvm exists. --- gnu/tests/install.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index c33919ba2f..5d893deb4c 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -200,10 +200,13 @@ build (current-guix) and then store a couple of full system images.") (format #t "copying image '~a'...~%" image) (copy-file image "disk.img") (chmod "disk.img" #o644) - (list (string-append #$qemu-minimal "/bin/" - #$(qemu-command system)) - "-enable-kvm" "-no-reboot" "-m" "256" - "-drive" "file=disk.img,if=virtio")) + `(,(string-append #$qemu-minimal "/bin/" + #$(qemu-command system)) + ,@(if (file-exists? "/dev/kvm") + '("-enable-kvm") + '()) + "-no-reboot" "-m" "256" + "-drive" "file=disk.img,if=virtio")) "installed-os"))))) ;;; install.scm ends here From 125af57e09a00d861d4e9bf73f36a08296218f8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 23 Jun 2016 00:49:04 +0200 Subject: [PATCH 073/435] tests: basic: Don't hard-code the expected architecture name. * gnu/tests/base.scm (run-basic-test)["uname"]: Don't hard-code the architecture. --- gnu/tests/base.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 8b1fefe9f8..4fe779802b 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -81,12 +81,13 @@ properties of running system to what's declared in OS, an ." (test-assert "uname" (match (marionette-eval '(uname) marionette) - (#("Linux" host-name version _ "x86_64") + (#("Linux" host-name version _ architecture) (and (string=? host-name #$(operating-system-host-name os)) (string-prefix? #$(package-version (operating-system-kernel os)) - version))))) + version) + (string-prefix? architecture %host-type))))) (test-assert "shell and user commands" ;; Is everything in $PATH? @@ -166,7 +167,7 @@ info --version") (system-test (name "basic") (description - "Instrument %SIMPLE-OS, run it in a VM, and runs a series of basic + "Instrument %SIMPLE-OS, run it in a VM, and run a series of basic functionality tests.") (value (mlet* %store-monad ((os -> (marionette-operating-system From bae06364c16d7e36bc17e636637f9943855bf0df Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 22 May 2016 14:56:06 +0300 Subject: [PATCH 074/435] bournish: Add 'wc' command. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/build/bournish.scm (lines+chars, file-exists?*, wc-print) (wc-l-print, wc-c-print, wc-command, wc-command-implementation) (wc-l-command-implementation, wc-c-command-implementation): New procedures. (%commands): Add 'wc'. Co-authored-by: Ludovic Courtès --- guix/build/bournish.scm | 62 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/guix/build/bournish.scm b/guix/build/bournish.scm index 1f17e0a22d..928bef5b9e 100644 --- a/guix/build/bournish.scm +++ b/guix/build/bournish.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 ftw) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:export (%bournish-language)) @@ -103,6 +105,63 @@ characters." ((@ (guix build utils) dump-port) port (current-output-port)) *unspecified*))) +(define (lines+chars port) + "Return the number of lines and number of chars read from PORT." + (let loop ((lines 0) (chars 0)) + (match (read-char port) + ((? eof-object?) ;done! + (values lines chars)) + (#\newline ;recurse + (loop (1+ lines) (1+ chars))) + (_ ;recurse + (loop lines (1+ chars)))))) + +(define (file-exists?* file) + "Like 'file-exists?' but emits a warning if FILE is not accessible." + (catch 'system-error + (lambda () + (stat file)) + (lambda args + (let ((errno (system-error-errno args))) + (format (current-error-port) "~a: ~a~%" + file (strerror errno)) + #f)))) + +(define (wc-print file) + (let-values (((lines chars) + (call-with-input-file file lines+chars))) + (format #t "~a ~a ~a~%" lines chars file))) + +(define (wc-l-print file) + (let-values (((lines chars) + (call-with-input-file file lines+chars))) + (format #t "~a ~a~%" lines file))) + +(define (wc-c-print file) + (let-values (((lines chars) + (call-with-input-file file lines+chars))) + (format #t "~a ~a~%" chars file))) + +(define (wc-command-implementation . files) + (for-each wc-print (filter file-exists?* files))) + +(define (wc-l-command-implementation . files) + (for-each wc-l-print (filter file-exists?* files))) + +(define (wc-c-command-implementation . files) + (for-each wc-c-print (filter file-exists?* files))) + +(define (wc-command . args) + "Emit code for the 'wc' command." + (cond ((member "-l" args) + `((@@ (guix build bournish) wc-l-command-implementation) + ,@(delete "-l" args))) + ((member "-c" args) + `((@@ (guix build bournish) wc-c-command-implementation) + ,@(delete "-c" args))) + (else + `((@@ (guix build bournish) wc-command-implementation) ,@args)))) + (define (help-command . _) (display "\ Hello, this is Bournish, a minimal Bourne-like shell in Guile! @@ -129,7 +188,8 @@ commands such as 'ls' and 'cd'; it lacks globbing, pipes---everything.\n")) ("help" ,help-command) ("ls" ,ls-command) ("which" ,which-command) - ("cat" ,cat-command))) + ("cat" ,cat-command) + ("wc" ,wc-command))) (define (read-bournish port env) "Read a Bournish expression from PORT, and return the corresponding Scheme From 11f2582b81d52e5af5d9be9d29b2bb05f32b8dab Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 24 Jun 2016 00:46:58 -0400 Subject: [PATCH 075/435] gnu: imagemagick: Update to 6.9.4-10. * gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.4.10. --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 79b006f416..4497150db7 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -41,14 +41,14 @@ (define-public imagemagick (package (name "imagemagick") - (version "6.9.4-9") + (version "6.9.4-10") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "0js5l6inar2p7zi5qhr8g34qs0gm2x03gs8k8yjh4cnzzac18d82")))) + "0bbac9zdjl2g8x127jx5jisih9r49980w7ar6m8xj3nyh3m83jd2")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths") From af4569095f457998f020b9620110919f6f2ac106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 23 Jun 2016 13:48:45 +0200 Subject: [PATCH 076/435] gnu: Add GNU Diction. * gnu/packages/dictionaries.scm (diction): New variable. --- gnu/packages/dictionaries.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 5aea716150..931db626d8 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Sou Bunnbu ;;; @@ -22,6 +22,7 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages base) #:use-module (gnu packages texinfo) @@ -115,3 +116,25 @@ be used via the GNU Dico program or accessed online at http://gcide.gnu.org.ua/") (home-page "http://gcide.gnu.org.ua/") (license gpl3+))) + +(define-public diction + ;; Not quite a dictionary, not quite a spell checker either… + (package + (name "diction") + (version "1.11") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/diction/diction-" + version ".tar.gz")) + (sha256 + (base32 + "1xi4l1x1vvzmzmbhpx0ghmfnwwrhabjwizrpyylmy3fzinzz3him")))) + (build-system gnu-build-system) + (synopsis "Identifies wordy and commonly misused phrases") + (description + "A package providing two classic Unix commands, style and diction. +Diction is used to identify wordy and commonly misused phrases in a +body of text. Style instead analyzes surface aspects of a written +work, such as sentence length and other readability measures.") + (home-page "https://www.gnu.org/software/diction/") + (license gpl3+))) From a9fbe94edc5938ba967ea4f56bf2d0797b7c5bee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 23 Jun 2016 14:01:32 +0200 Subject: [PATCH 077/435] gnu: Add emacs-writegood-mode. * gnu/packages/emacs.scm (emacs-writegood-mode): New variable. --- gnu/packages/emacs.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a3b0f63388..0c0182db31 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2384,3 +2384,25 @@ Lua programing language}.") "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42 news items, openrc and runscripts.") (license license:gpl2+))) + +(define-public emacs-writegood-mode + (package + (name "emacs-writegood-mode") + (version "2.0.2") + (home-page "http://github.com/bnbeckwith/writegood-mode") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 + "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b")) + (file-name (string-append name "-checkout")))) + (build-system emacs-build-system) + (synopsis "Polish up poor writing on the fly") + (description + "This minor mode tries to find and highlight problems with your writing +in English as you type. It primarily detects \"weasel words\" and abuse of +passive voice.") + (license license:gpl3+))) From c19a61bb3eef393cfadbe40e9ea9adf45e22a8be Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 24 Jun 2016 13:56:07 +0200 Subject: [PATCH 078/435] gnu: pari-gp: Update to 2.7.6. * gnu/packages/algebra.scm (pari-gp): Update to 2.7.6. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 12691da17d..b0ffd7009b 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -128,7 +128,7 @@ solve the shortest vector problem.") (define-public pari-gp (package (name "pari-gp") - (version "2.7.5") + (version "2.7.6") (source (origin (method url-fetch) (uri (string-append @@ -136,7 +136,7 @@ solve the shortest vector problem.") version ".tar.gz")) (sha256 (base32 - "0c8l83a0gjq73r9hndsrzkypwxvnnm4pxkkzbg6jm95m80nzwh11")))) + "04dqi697czd8mmw8aiwzrkgbvkjassqagg6lfy3lkf1k5qi9g9rr")))) (build-system gnu-build-system) (native-inputs `(("texlive" ,texlive-minimal))) (inputs `(("gmp" ,gmp) From b8a680f778c021c91eaaaab4798bdcc7d417dce2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 24 Jun 2016 16:19:45 +0200 Subject: [PATCH 079/435] gnu: java-swt: Update to 4.6. * gnu/packages/java.scm (java-swt): Update to 4.6. --- gnu/packages/java.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e1651938b9..753fb7726c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -58,15 +58,15 @@ (define-public java-swt (package (name "java-swt") - (version "4.5") + (version "4.6") (source ;; The types of many variables and procedures differ in the sources ;; dependent on whether the target architecture is a 32-bit system or a ;; 64-bit system. Instead of patching the sources on demand in a build ;; phase we download either the 32-bit archive (which mostly uses "int" ;; types) or the 64-bit archive (which mostly uses "long" types). - (let ((hash32 "03mhzraikcs4fsz7d3h5af9pw1bbcfd6dglsvbk2ciwimy9zj30q") - (hash64 "1qq0pjll6030v4ml0hifcaaik7sx3fl7ghybfdw95vsvxafwp2ff") + (let ((hash32 "0jmx1h65wqxsyjzs64i2z6ryiynllxzm13cq90fky2qrzagcw1ir") + (hash64 "0wnd01xssdq9pgx5xqh5lfiy3dmk60dzzqdxzdzf883h13692lgy") (file32 "x86") (file64 "x86_64")) (let-values (((hash file) @@ -78,7 +78,7 @@ (uri (string-append "http://ftp-stud.fht-esslingen.de/pub/Mirrors/" "eclipse/eclipse/downloads/drops4/R-" version - "-201506032000/swt-" version "-gtk-linux-" file ".zip")) + "-201606061100/swt-" version "-gtk-linux-" file ".zip")) (sha256 (base32 hash)))))) (build-system ant-build-system) (arguments From 3c6e42b3bc30371a333098e097efa033bbfd3afb Mon Sep 17 00:00:00 2001 From: Steve Sprang Date: Sat, 6 Feb 2016 12:40:53 -0800 Subject: [PATCH 080/435] gnu: Add erlang. * gnu/packages/erlang.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Co-authored by: Leo Famulari Co-authored by: Pjotr Prins --- gnu/local.mk | 1 + gnu/packages/erlang.scm | 179 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 gnu/packages/erlang.scm diff --git a/gnu/local.mk b/gnu/local.mk index 3e0082b8fa..956be9b4b5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -109,6 +109,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/engineering.scm \ %D%/packages/enlightenment.scm \ %D%/packages/entr.scm \ + %D%/packages/erlang.scm \ %D%/packages/fcitx.scm \ %D%/packages/feh.scm \ %D%/packages/figlet.scm \ diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm new file mode 100644 index 0000000000..39da7e939b --- /dev/null +++ b/gnu/packages/erlang.scm @@ -0,0 +1,179 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Steve Sprang +;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016 Pjotr Prins +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages erlang) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages gl) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages tls) + #:use-module (gnu packages wxwidgets)) + +(define-public erlang + (package + (name "erlang") + ;; When updating, remember to update the hash of erlang-manpages! + (version "19.0") + (source (origin + (method url-fetch) + ;; The tarball from http://erlang.org/download contains many + ;; pre-compiled files, so we use this snapshot of the source + ;; repository. + (uri (string-append "https://github.com/erlang/otp/archive/OTP-" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dxyz6x1yfv33fd0xfry2ihylkyfa2d655q1vxvbz8dflyd64yqh")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl) + ("autoconf" ,autoconf) + ("automake" ,automake) + + ;; Erlang's documentation is distributed in a separate tarball. + ("erlang-manpages" + ,(origin + (method url-fetch) + (uri (string-append "http://erlang.org/download/otp_doc_man_" + version ".tar.gz")) + (sha256 + (base32 + "07j0l7ary936hil38xr3hvfw6j74pshkyyi98kc9cassbbcdd8y7")))))) + (inputs + `(("ncurses" ,ncurses) + ("openssl" ,openssl) + ("wxwidgets" ,wxwidgets))) + (propagated-inputs + `(("fontconfig" ,fontconfig) + ("glu" ,glu) + ("mesa" ,mesa))) + (arguments + `(#:test-target "release_tests" + #:configure-flags + (list "--disable-saved-compile-time" + "--enable-dynamic-ssl-lib" + "--enable-native-libs" + "--enable-shared-zlib" + "--enable-smp-support" + "--enable-threads" + "--enable-wx" + (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))) + #:modules ((srfi srfi-19) ; make-time, et cetera. + (guix build utils) + (guix build gnu-build-system)) + #:phases + (modify-phases %standard-phases + ;; The are several code fragments that embed timestamps into the + ;; output. Here, we alter those fragments to use the value of + ;; SOURCE_DATE_EPOCH instead. + (add-after 'unpack 'remove-timestamps + (lambda _ + (let ((source-date-epoch + (time-utc->date + (make-time time-utc 0 (string->number + (getenv "SOURCE_DATE_EPOCH")))))) + (substitute* "lib/reltool/src/reltool_target.erl" + (("Date = date\\(\\),") + (string-append "Date = " + (date->string source-date-epoch + "'{~Y,~m,~d}',")))) + (substitute* "lib/reltool/src/reltool_target.erl" + (("Time = time\\(\\),") + (string-append "Time = " + (date->string source-date-epoch + "'{~H,~M,~S}',")))) + (substitute* '("lib/reltool/src/reltool_target.erl" + "lib/sasl/src/systools_make.erl") + (("date\\(\\), time\\(\\),") + (date->string source-date-epoch + "{~Y,~m,~d}, {~H,~M,~S},"))) + (substitute* '("lib/dialyzer/test/small_SUITE_data/src/gs_make.erl" + "lib/gs/src/gs_make.erl") + (("tuple_to_list\\(date\\(\\)\\),tuple_to_list\\(time\\(\\)\\)") + (date->string + source-date-epoch + "tuple_to_list({~Y,~m,~d}), tuple_to_list({~H,~M,~S})"))) + (substitute* "lib/snmp/src/compile/snmpc_mib_to_hrl.erl" + (("\\{Y,Mo,D\\} = date\\(\\),") + (date->string source-date-epoch + "{Y,Mo,D} = {~Y,~m,~d},"))) + (substitute* "lib/snmp/src/compile/snmpc_mib_to_hrl.erl" + (("\\{H,Mi,S\\} = time\\(\\),") + (date->string source-date-epoch + "{H,Mi,S} = {~H,~M,~S},")))))) + (add-after 'patch-source-shebangs 'patch-source-env + (lambda _ + (let ((escripts + (append + (find-files "." "\\.escript") + (find-files "lib/stdlib/test/escript_SUITE_data/") + '("erts/lib_src/utils/make_atomics_api" + "erts/preloaded/src/add_abstract_code" + "lib/diameter/bin/diameterc" + "lib/reltool/examples/display_args" + "lib/reltool/examples/mnesia_core_dump_viewer" + "lib/snmp/src/compile/snmpc.src" + "make/verify_runtime_dependencies" + "make/emd2exml.in")))) + (substitute* escripts + (("/usr/bin/env") (which "env")))))) + (add-before 'configure 'set-erl-top + (lambda _ + (setenv "ERL_TOP" (getcwd)))) + (add-before 'configure 'autoconf + (lambda _ (zero? (system* "./otp_build" "autoconf")))) + (add-after 'install 'patch-erl + ;; This only works after install. + (lambda _ + (substitute* (string-append (assoc-ref %outputs "out") "/bin/erl") + (("sed") (which "sed"))))) + (add-after 'install 'install-doc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (manpages (assoc-ref inputs "erlang-manpages")) + (share (string-append out "/share/"))) + (mkdir-p share) + (mkdir-p (string-append share "/misc/erlang")) + (with-directory-excursion share + (and + (zero? (system* "tar" "xvf" manpages)) + (rename-file "COPYRIGHT" + (string-append share "/misc/erlang/COPYRIGHT")) + ;; Delete superfluous files. + (for-each delete-file '("PR.template" + "README")))))))))) + (home-page "http://erlang.org/") + (synopsis "The Erlang programming language") + (description + "Erlang is a programming language used to build massively +scalable soft real-time systems with requirements on high +availability. Some of its uses are in telecoms, banking, e-commerce, +computer telephony and instant messaging. Erlang's runtime system has +built-in support for concurrency, distribution and fault tolerance.") + ;; Erlang is distributed under the Apache License 2.0, but some components + ;; have other licenses. See 'system/COPYRIGHT' in the source distribution. + (license (list license:asl2.0 license:bsd-2 license:bsd-3 license:expat + license:lgpl2.0+ license:tcl/tk license:zlib)))) From 9f250190951ddc9aafa82fa11b398dc1918045df Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 24 Jun 2016 18:33:50 -0400 Subject: [PATCH 081/435] gnu: linux-libre-4.1: Update to 4.1.27. * gnu/packages/linux.scm (linux-libre-4.1): Update to 4.1.27. --- 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 16fd5d0ab3..4d298b6737 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -357,13 +357,13 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-4.1 (package (inherit linux-libre) - (version "4.1.26") + (version "4.1.27") (source (origin (method url-fetch) (uri (linux-libre-urls version)) (sha256 (base32 - "1vrqz7z0b9zl6g8nbvz1hb2jhgy5zpnbdwc1v3zc4wjc35i2c4i4")))) + "0bbp782gdj8kz986a8hfygdrj7is0c8wgbb2mpb9gqhkfxcg74kf")))) (native-inputs (let ((conf (kernel-config (or (%current-target-system) (%current-system)) From 25a3bfbe77cb45aa26f9af8c72e7f978a177187e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 25 Jun 2016 00:42:19 +0200 Subject: [PATCH 082/435] tests: Skip all the container tests when needed. Reported by myglc2 at . * tests/containers.scm (skip-if-unsupported): New procedure. Call it before each test. --- tests/containers.scm | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/tests/containers.scm b/tests/containers.scm index 5a0f9937bb..bbcff3f51f 100644 --- a/tests/containers.scm +++ b/tests/containers.scm @@ -30,15 +30,18 @@ ;; Skip these tests unless user namespaces are available and the setgroups ;; file (introduced in Linux 3.19 to address a security issue) exists. -(unless (and (user-namespace-supported?) - (unprivileged-user-namespace-supported?) - (setgroups-supported?)) - (test-skip 7)) +(define (skip-if-unsupported) + (unless (and (user-namespace-supported?) + (unprivileged-user-namespace-supported?) + (setgroups-supported?)) + (test-skip 1))) +(skip-if-unsupported) (test-assert "call-with-container, exit with 0 when there is no error" (zero? (call-with-container '() (const #t) #:namespaces '(user)))) +(skip-if-unsupported) (test-assert "call-with-container, user namespace" (zero? (call-with-container '() @@ -47,6 +50,7 @@ (assert-exit (and (zero? (getuid)) (zero? (getgid))))) #:namespaces '(user)))) +(skip-if-unsupported) (test-assert "call-with-container, uts namespace" (zero? (call-with-container '() @@ -57,6 +61,7 @@ (primitive-exit 0)) #:namespaces '(user uts)))) +(skip-if-unsupported) (test-assert "call-with-container, pid namespace" (zero? (call-with-container '() @@ -72,6 +77,7 @@ (status:exit-val status))))))) #:namespaces '(user pid)))) +(skip-if-unsupported) (test-assert "call-with-container, mnt namespace" (zero? (call-with-container '(("none" device "/testing" "tmpfs" () #f #f)) @@ -79,6 +85,7 @@ (assert-exit (file-exists? "/testing"))) #:namespaces '(user mnt)))) +(skip-if-unsupported) (test-equal "call-with-container, mnt namespace, wrong bind mount" `(system-error ,ENOENT) ;; An exception should be raised; see . @@ -91,12 +98,14 @@ (lambda args (list 'system-error (system-error-errno args))))) +(skip-if-unsupported) (test-assert "call-with-container, all namespaces" (zero? (call-with-container '() (lambda () (primitive-exit 0))))) +(skip-if-unsupported) (test-assert "container-excursion" (call-with-temporary-directory (lambda (root) From 934c5d5b28f74ab2fe187ad727e4b56cfda6def8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 25 Jun 2016 00:58:48 +0200 Subject: [PATCH 083/435] utils: 'cache-directory' always appends "/guix". Fixes . Fixes a regression introduced in f10dcbf1a92c147a2fedba6f774afa6a7013fcdf. Reported by myglc2 . * guix/utils.scm (cache-directory): Always append "/guix". --- guix/utils.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/guix/utils.scm b/guix/utils.scm index 6bcee17776..9e1b8ead0a 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -637,10 +637,11 @@ output port, and PROC's result is returned." (define (cache-directory) "Return the cache directory for Guix, by default ~/.cache/guix." - (or (getenv "XDG_CACHE_HOME") - (and=> (or (getenv "HOME") - (passwd:dir (getpwuid (getuid)))) - (cut string-append <> "/.cache/guix")))) + (string-append (or (getenv "XDG_CACHE_HOME") + (and=> (or (getenv "HOME") + (passwd:dir (getpwuid (getuid)))) + (cut string-append <> "/.cache"))) + "/guix")) (define (readlink* file) "Call 'readlink' until the result is not a symlink." From 8ea8e8d3c332d2b187c26762c8e9e7930f6c2cb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 19:23:28 +0800 Subject: [PATCH 084/435] guix: python-build-system: Change pypi-uri to use https://pypi.io. * guix/build-system/python.scm (pypi-uri): Use https://pypi.io. * gnu/packages/python.scm (python-twisted)[uri]: Remove https://pypi.io. --- gnu/packages/python.scm | 5 +---- guix/build-system/python.scm | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 4567a91e51..8c34ff2e46 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9097,10 +9097,7 @@ to provide a high-level synchronous API on top of the libev event loop.") (version "16.2.0") (source (origin (method url-fetch) - (uri (list (pypi-uri "Twisted" version ".tar.bz2") ; 404 - (string-append - "https://pypi.io/packages/source/T/Twisted/" - "Twisted-" version ".tar.bz2"))) + (uri (pypi-uri "Twisted" version ".tar.bz2")) (sha256 (base32 "0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450")))) diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm index c3d6c62404..705943eb73 100644 --- a/guix/build-system/python.scm +++ b/guix/build-system/python.scm @@ -48,7 +48,7 @@ "Return a URI string for the Python package hosted on the Python Package Index (PyPI) corresponding to NAME and VERSION. EXTENSION is the file name extension, such as '.tar.gz'." - (string-append "https://pypi.python.org/packages/source/" + (string-append "https://pypi.io/packages/source/" (string-take name 1) "/" name "/" name "-" version extension)) From 9250b0f3bf05da7e3f8b1cfaf9ce0c603ed72abf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:06:52 +0800 Subject: [PATCH 085/435] gnu: Add python-chai and python2-chai. * gnu/packages/python.scm (python-chai, python2-chai): New variables. --- gnu/packages/python.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8c34ff2e46..0c9bd22ee6 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2016 Daniel Pimentel +;;; Copyright © 2016 Sou Bunnbu ;;; ;;; This file is part of GNU Guix. ;;; @@ -9291,3 +9292,27 @@ It supports both the original 1.0 specification, as well as the new (proposed) 2.0 spec, which includes batch submission, keyword arguments, etc.") (license asl2.0))) + +(define-public python-chai + (package + (name "python-chai") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "chai" version)) + (sha256 + (base32 + "016kf3irrclpkpvcm7q0gmkfibq7jgy30a9v73pp42bq9h9a32bl")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "https://github.com/agoragames/chai") + (synopsis "Mocking framework for Python") + (description + "Chai provides an api for mocking, stubbing and spying your python +objects, patterned after the Mocha library for Ruby.") + (license bsd-3))) + +(define-public python2-chai + (package-with-python2 python-chai)) + From ae43baa890cf7957b87f8218263cc8ac95343c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:07:39 +0800 Subject: [PATCH 086/435] gnu: Add python-arrow and python2-arrow. * gnu/packages/python.scm (python-arrow, python2-arrow): New variables. --- gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 0c9bd22ee6..6e30377005 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9316,3 +9316,31 @@ objects, patterned after the Mocha library for Ruby.") (define-public python2-chai (package-with-python2 python-chai)) +(define-public python-arrow + (package + (name "python-arrow") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "arrow" version)) + (sha256 + (base32 + "1bz7hkdgpqcjs866y58z8jywpy7al0f4rxdr00bh2l5qddyw245j")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools) + ("python-dateutil" ,python-dateutil-2) + ;; For testing + ("python-chai" ,python-chai) + ("python-simplejson" ,python-simplejson))) + (home-page "https://github.com/crsmithdev/arrow/") + (synopsis "Dates and times for Python") + (description + "Arrow is a Python library to creating, manipulating, formatting and +converting dates, times, and timestamps. It implements and updates the +datetime type.") + (license asl2.0))) + +(define-public python2-arrow + (package-with-python2 python-arrow)) + From 1f2b62a4fa6953eabce5b37462ee7de179cda71b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:08:14 +0800 Subject: [PATCH 087/435] gnu: Add python-inflection and python2-inflection. * gnu/packages/python.scm (python-inflection, python2-inflection): New variables. --- gnu/packages/python.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6e30377005..ced8232061 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9344,3 +9344,27 @@ datetime type.") (define-public python2-arrow (package-with-python2 python-arrow)) +(define-public python-inflection + (package + (name "python-inflection") + (version "0.3.1") + (source + (origin (method url-fetch) + (uri (pypi-uri "inflection" version)) + (sha256 + (base32 + "1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "http://github.com/jpvanhal/inflection") + (synopsis "Python string transformation library") + (description + "Inflection is a string transformation library. It singularizes +and pluralizes English words, and transforms strings from CamelCase to +underscored string.") + (license license:expat))) + +(define-public python2-inflection + (package-with-python2 python-inflection)) + From 1899556655dda2dbffcf5e76f8f2796d64e37a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:09:03 +0800 Subject: [PATCH 088/435] gnu: Add python-pylev and python2-pylev. * gnu/packages/python.scm (python-pylev, python2-pylev): New variables. --- gnu/packages/python.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ced8232061..1dc521220e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9368,3 +9368,26 @@ underscored string.") (define-public python2-inflection (package-with-python2 python-inflection)) +(define-public python-pylev + (package + (name "python-pylev") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pylev" version)) + (sha256 + (base32 + "1hz1x9blsbxya1y9nnhnwwdnqmakxi9mc0jkwj0rn6b1h44i0f86")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "http://github.com/toastdriven/pylev") + (synopsis "Levenshtein distance implementation in Python") + (description "Pure Python Levenshtein implementation, based off the +Wikipedia code samples at +@url{http://en.wikipedia.org/wiki/Levenshtein_distance}.") + (license bsd-3))) + +(define-public python2-pylev + (package-with-python2 python-pylev)) + From f5deff7a033e2b3fd0e8aceb094798e59f692d4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:09:51 +0800 Subject: [PATCH 089/435] gnu: Add python-cleo and python2-cleo. * gnu/packages/python.scm (python-cleo, python2-cleo): New variables. --- gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 1dc521220e..d1d127bab9 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9391,3 +9391,31 @@ Wikipedia code samples at (define-public python2-pylev (package-with-python2 python-pylev)) +(define-public python-cleo + (package + (name "python-cleo") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "cleo" version)) + (sha256 + (base32 + "1k2dcl6mqpn5bljyl6w42rqyd9mb3y9kh2mg7m2x3kfjwvg0rpva")))) + (build-system python-build-system) + (native-inputs + `(("python-psutil" ,python-psutil) + ("python-pylev" ,python-pylev) + ("python-setuptools" ,python-setuptools) + ;; For testing + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/sdispater/cleo") + (synopsis "Command-line arguments library for Python") + (description + "Cleo allows you to create command-line commands with signature in +docstring and colored output.") + (license license:expat))) + +(define-public python2-cleo + (package-with-python2 python-cleo)) + From 77cadb436be83557d17605565af1b17e574bdb68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:10:45 +0800 Subject: [PATCH 090/435] gnu: Add python-lazy-object-proxy and python2-lazy-object-proxy. * gnu/packages/python.scm (python-lazy-object-proxy) (python2-lazy-object-proxy): New variables. --- gnu/packages/python.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d1d127bab9..dc9879a8f0 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9419,3 +9419,26 @@ docstring and colored output.") (define-public python2-cleo (package-with-python2 python-cleo)) +(define-public python-lazy-object-proxy + (package + (name "python-lazy-object-proxy") + (version "1.2.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "lazy-object-proxy" version)) + (sha256 + (base32 + "0s22aqqkdscyh8sjspyyax7qa1aiz8p4midrnyf39717fhfczm6x")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "https://github.com/ionelmc/python-lazy-object-proxy") + (synopsis "Lazy object proxy for python") + (description + "Lazy object proxy is an object that wraps a callable but defers the call +until the object is actually required, and caches the result of said call.") + (license bsd-2))) + +(define-public python2-lazy-object-proxy + (package-with-python2 python-lazy-object-proxy)) + From 5477e05f016c1d1696191e93855dfeb525f53ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:11:57 +0800 Subject: [PATCH 091/435] gnu: Add python-dnspython and python2-dnspython. * gnu/packages/python.scm (python-dnspython, python2-dnspython): New variables. --- gnu/packages/python.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index dc9879a8f0..ff3cb99652 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9442,3 +9442,29 @@ until the object is actually required, and caches the result of said call.") (define-public python2-lazy-object-proxy (package-with-python2 python-lazy-object-proxy)) +(define-public python-dnspython + (package + (name "python-dnspython") + (version "1.14.0") + (source (origin + (method url-fetch) + (uri (string-append "http://www.dnspython.org/kits/" + version "/dnspython-" version ".tar.gz")) + (sha256 + (base32 + "1z472r63gdqsxhsxj3plr5vs478yf4303vrqxxpsccc940g441hl")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ; XXX: requires internet access + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "http://www.dnspython.org") + (synopsis "DNS toolkit for Python") + (description + "dnspython is a DNS toolkit for Python. It supports almost all record +types. It can be used for queries, zone transfers, and dynamic updates. +It supports TSIG authenticated messages and EDNS0.") + (license license:expat))) + +(define-public python2-dnspython + (package-with-python2 python-dnspython)) + From 22711e258580d6a13207822d2b02c5a610b1f76b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:13:32 +0800 Subject: [PATCH 092/435] gnu: Add python-email-validator and python2-email-validator. * gnu/packages/python.scm (python-email-validator) (python2-email-validator): New variables. --- gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ff3cb99652..68123cc1ee 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9468,3 +9468,35 @@ It supports TSIG authenticated messages and EDNS0.") (define-public python2-dnspython (package-with-python2 python-dnspython)) +(define-public python-email-validator + (package + (name "python-email-validator") + (version "1.0.1") + (source + (origin (method url-fetch) + (uri (pypi-uri "email_validator" version)) + (sha256 + (base32 + "0mn8jg5h8ifl8w6a6m0hq8kbk0mzw9vm054qfamkn89b3npz52qw")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'build 'use-dnspython + (lambda _ + (substitute* "setup.py" + (("dnspython3") "dnspython")) + #t))))) + (native-inputs + `(("python-dnspython" ,python-dnspython) + ("python-idna" ,python-idna) + ("python-setuptools" ,python-setuptools))) + (home-page "https://github.com/JoshData/python-email-validator") + (synopsis "Email address validation library for Python") + (description + "This library validates email address syntax and deliverability.") + (license cc0))) + +(define-public python2-email-validator + (package-with-python2 python-email-validator)) + From 8987d91e7fae03021e9a4e61e165f670912a2d42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:14:53 +0800 Subject: [PATCH 093/435] gnu: Add python-ukpostcodeparser and python2-ukpostcodeparser. * gnu/packages/python.scm (python-ukpostcodeparser) (python2-ukpostcodeparser): 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 68123cc1ee..50d9ee9089 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9500,3 +9500,25 @@ It supports TSIG authenticated messages and EDNS0.") (define-public python2-email-validator (package-with-python2 python-email-validator)) +(define-public python-ukpostcodeparser + (package + (name "python-ukpostcodeparser") + (version "1.0.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "UkPostcodeParser" version)) + (sha256 + (base32 + "1jwg9z4rz51mcka1821rwgycsd0mcicyp1kiwjfa2kvg8bm9p2qd")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "https://github.com/hamstah/ukpostcodeparser") + (synopsis "UK Postcode parser for Python") + (description + "This library provides the @code{parse_uk_postcode} function for +parsing UK postcodes.") + (license license:expat))) + +(define-public python2-ukpostcodeparser + (package-with-python2 python-ukpostcodeparser)) From ea92ae01c2b9f90ea169acbf4228e9cf100a35b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 23 Jun 2016 23:16:04 +0800 Subject: [PATCH 094/435] gnu: Add python-fake-factory and python2-fake-factory. * gnu/packages/python.scm (python-fake-factory, python2-fake-factory): New variables. --- gnu/packages/python.scm | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 50d9ee9089..7f3f95d142 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9522,3 +9522,50 @@ parsing UK postcodes.") (define-public python2-ukpostcodeparser (package-with-python2 python-ukpostcodeparser)) + +(define-public python-fake-factory + (package + (name "python-fake-factory") + (version "0.5.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "fake-factory" version)) + (sha256 + (base32 + "1chmarnrdzn4r017n8qlic0m0bbnhw04s3hkwribjvm3mqpb6pa0")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'disable-failing-test + ;; XXX: faker/tests/ne_np/__init__.py, line 40, in test_names + ;; first_name, last_name = name.split() + ;; ValueError: too many values to unpack (expected 2) + (lambda _ + (delete-file "faker/tests/ne_np/__init__.py") + #t))))) + (native-inputs + `(("python-dateutil" ,python-dateutil-2) + ("python-setuptools" ,python-setuptools) + ("python-six" ,python-six) + ;; For testing + ("python-email-validator" ,python-email-validator) + ("python-mock" ,python-mock) + ("python-ukpostcodeparser" ,python-ukpostcodeparser))) + (home-page "http://github.com/joke2k/faker") + (synopsis "Python package that generates fake data") + (description + "Faker is a Python package that generates fake data such as names, +addresses, and phone numbers.") + (license license:expat) + (properties `((python2-variant . ,(delay python2-fake-factory)))))) + +(define-public python2-fake-factory + (let ((base (package-with-python2 (strip-python2-variant + python-fake-factory)))) + (package + (inherit base) + (native-inputs + `(("python2-ipaddress" ,python2-ipaddress) + ,@(package-native-inputs base)))))) + From aebd383d04b351465cfb14e4fd0949b67d4b282e Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Fri, 17 Jun 2016 14:11:08 +0200 Subject: [PATCH 095/435] import: pypi: do not fail when 'run_requires' is missing from the metadata. * guix/import/pypi.scm (read-wheel-metadata): do not crash when 'run_requires' is missing from the metadata. --- guix/import/pypi.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 70ef507666..efa69081ef 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -175,8 +175,10 @@ cannot determine package dependencies")) (lambda (port) (let* ((metadata (json->scm port)) (run_requires (hash-ref metadata "run_requires")) - (requirements (hash-ref (list-ref run_requires 0) - "requires"))) + (requirements (if run_requires + (hash-ref (list-ref run_requires 0) + "requires") + '()))) (map (lambda (r) (python->package-name (clean-requirement r))) requirements))))) From b49504fd8c2f61fe5aae27598e5a475de1f9494b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 25 Jun 2016 22:49:39 +0800 Subject: [PATCH 096/435] gnu: Add python-pyaml and python2-pyaml. * gnu/packages/python.scm (python-pyaml, python2-pyaml): New variables. --- gnu/packages/python.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7f3f95d142..80715133c3 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9569,3 +9569,28 @@ addresses, and phone numbers.") `(("python2-ipaddress" ,python2-ipaddress) ,@(package-native-inputs base)))))) +(define-public python-pyaml + (package + (name "python-pyaml") + (version "15.8.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "pyaml" version)) + (sha256 + (base32 + "1f5m28vkh4ksq3d80d8mmd2z8wxvc3mgy2pmrv2751dm2xgznm4w")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (propagated-inputs + `(("python-pyyaml" ,python-pyyaml))) + (home-page "https://github.com/mk-fg/pretty-yaml") + (synopsis "YAML pretty-print library for Python") + (description + "pyaml is a PyYAML based python module to produce pretty and readable +YAML-serialized data.") + (license (non-copyleft "http://www.wtfpl.net/txt/copying/")))) + +(define-public python2-pyaml + (package-with-python2 python-pyaml)) + From 347175a27c4e37aa2f8acb8024cadb5d28b11cac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 25 Jun 2016 22:50:12 +0800 Subject: [PATCH 097/435] gnu: Add python-flexmock and python2-flexmock. * gnu/packages/python.scm (python-flexmock, python2-flexmock): New variables. --- gnu/packages/python.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 80715133c3..46179b51db 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9594,3 +9594,26 @@ YAML-serialized data.") (define-public python2-pyaml (package-with-python2 python-pyaml)) +(define-public python-flexmock + (package + (name "python-flexmock") + (version "0.10.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "flexmock" version)) + (sha256 + (base32 + "0arc6njvs6i9v9hgvzk5m50296g7zy5m9d7pyb43vdsdgxrci5gy")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "https://flexmock.readthedocs.org") + (synopsis "Testing library for Python") + (description + "flexmock is a testing library for Python that makes it easy to create +mocks, stubs and fakes.") + (license bsd-3))) + +(define-public python2-flexmock + (package-with-python2 python-flexmock)) + From 5a7441910d264ec4a04f623267bd6aa0a58755f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 25 Jun 2016 22:51:22 +0800 Subject: [PATCH 098/435] gnu: Add python-orator and python2-orator. * gnu/packages/python.scm (python-orator, python2-orator): New variables. --- gnu/packages/python.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 46179b51db..549bd347c1 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9617,3 +9617,41 @@ mocks, stubs and fakes.") (define-public python2-flexmock (package-with-python2 python-flexmock)) +(define-public python-orator + (package + (name "python-orator") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "orator" version)) + (sha256 + (base32 + "1li49irsqha17nrda4nsb48biyy0rarp9pphf0jpqwm5zr8hv569")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ; no tests + (native-inputs + `(("python-arrow" ,python-arrow) + ("python-blinker" ,python-blinker) + ("python-cleo" ,python-cleo) + ("python-fake-factory" ,python-fake-factory) + ("python-inflection" ,python-inflection) + ("python-lazy-object-proxy" ,python-lazy-object-proxy) + ("python-pyaml" ,python-pyaml) + ("python-setuptools" ,python-setuptools) + ("python-simplejson" ,python-simplejson) + ("python-wrapt" ,python-wrapt))) + (home-page "https://orator-orm.com/") + (synopsis "ActiveRecord ORM for Python") + (description + "Orator provides a simple ActiveRecord-like Object Relational Mapping +implementation for Python.") + (license license:expat) + (properties `((python2-variant . ,(delay python2-orator)))))) + +(define-public python2-orator + (let ((base (package-with-python2 (strip-python2-variant python-orator)))) + (package + (inherit base) + (native-inputs + `(("python2-ipaddress" ,python2-ipaddress) + ,@(package-native-inputs base)))))) From d1ef573dec8fbe837c381675c5d043da7f74374c Mon Sep 17 00:00:00 2001 From: Lukas Gradl Date: Tue, 21 Jun 2016 08:46:15 -0500 Subject: [PATCH 099/435] gnu: Add msgpack. * gnu/packages/serialization.scm (msgpack): New variable. Signed-off-by: Leo Famulari --- gnu/packages/serialization.scm | 53 +++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 8dfd21d6a5..42bb2b8f92 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2016 Lukas Gradl ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,8 +22,13 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) #:use-module (gnu packages) - #:use-module (gnu packages documentation)) + #:use-module (gnu packages autotools) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) + #:use-module (gnu packages pkg-config)) (define-public cereal (package @@ -72,3 +78,48 @@ arbitrary data types and reversibly turns them into different representations, such as compact binary encodings, XML, or JSON.") (license license:bsd-3))) + + +(define-public msgpack + (package + (name "msgpack") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri + (string-append + "https://github.com/msgpack/msgpack-c/releases/download/" + "cpp-" version "/msgpack-" version ".tar.gz")) + (snippet + '(let ((p (open-file "msgpack.pc.in" "a"))) + (begin + (display + (string-append "Requires: " "zlib" "\n") p) + (close-output-port p)))) + (sha256 + (base32 + "0bpjfh9vz0n2k93mph3x15clmigkgs223xfn8h12ymrh5gsi5ica")))) + (build-system gnu-build-system) + (native-inputs + `(("googletest" ,googletest) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("zlib" ,zlib))) ;; Msgpack installs two headers (zbuffer.h, + ;; zbuffer.hpp) which #include . However, 'guix gc --references' + ;; does not detect a store reference to zlib since these headers are not + ;; compiled. + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'autoconf + (lambda _ + (system* "autoreconf" "-vfi")))))) + (home-page "http://www.msgpack.org") + (synopsis "Binary serialization library") + (description "Msgpack is a library for C/C++ that implements binary +serialization.") + (license license:boost1.0))) From 893d963ae36eefab71883275dc716cdd821bd2e8 Mon Sep 17 00:00:00 2001 From: Lukas Gradl Date: Sun, 5 Jun 2016 15:36:55 -0500 Subject: [PATCH 100/435] gnu: Add opendht. * gnu/packages/crypto.scm (opendht): New variable. Signed-off-by: Leo Famulari --- gnu/packages/crypto.scm | 59 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 3f0b508d3c..f167f3320c 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016 Lukas Gradl ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,8 +21,14 @@ (define-module (gnu packages crypto) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages pkg-config) #:use-module (gnu packages libbsd) + #:use-module (gnu packages nettle) + #:use-module (gnu packages password-utils) + #:use-module (gnu packages readline) + #:use-module (gnu packages serialization) + #:use-module (gnu packages tls) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -88,3 +95,55 @@ OpenBSD tool of the same name.") (non-copyleft "file://base64.c" "See base64.c in the distribution for the license from IBM."))))) + + +(define-public opendht + (package + (name "opendht") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri + (string-append + "https://github.com/savoirfairelinux/" name + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "src/argon2") + (substitute* "src/Makefile.am" + (("./argon2/libargon2.la") "") + (("SUBDIRS = argon2") "")) + (substitute* "src/crypto.cpp" + (("argon2/argon2.h") "argon2.h")) + (substitute* "configure.ac" + (("src/argon2/Makefile") "")))) + (sha256 + (base32 + "09yvkmbqbym3b5md4n96qc1s9sf2n8ji404hagih45rmsj49599x")))) + (build-system gnu-build-system) + (inputs + `(("gnutls" ,gnutls) + ("nettle" ,nettle) + ("msgpack" ,msgpack) + ("readline" ,readline) + ("argon2" ,argon2))) + (native-inputs + `(("autoconf" ,autoconf) + ("pkg-config" ,pkg-config) + ("automake" ,automake) + ("libtool" ,libtool))) + (arguments + `(#:configure-flags '("--disable-tools" "--disable-python") + #:phases (modify-phases %standard-phases + (add-before 'configure 'autoconf + (lambda _ + (zero? (system* "autoreconf" "-vfi"))))))) + (home-page "https://github.com/savoirfairelinux/opendht/") + (synopsis "Distributed Hash Table (DHT) library") + (description "OpenDHT is a Distributed Hash Table (DHT) library. It may +be used to manage peer-to-peer network connections as needed for real time +communication.") + (license gpl3))) From 18c658f966dd9af23496bd591b5863a30dbcd6ad Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 25 Jun 2016 13:12:12 -0400 Subject: [PATCH 101/435] gnu: linux-libre-4.4: Update to 4.4.14. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.14. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 4d298b6737..bfe78b677c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -340,13 +340,13 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-4.4 (package (inherit linux-libre) - (version "4.4.13") + (version "4.4.14") (source (origin (method url-fetch) (uri (linux-libre-urls version)) (sha256 (base32 - "1qcgnprgl9hy4g51bkx4bjs1cdsyy9kpwqymxggwghrzdid41x9l")))) + "1yfmzrjrkj8mn2dfd7p98w13afchrkpz26gwfcm2fhsmla16n1my")))) (native-inputs (let ((conf (kernel-config (or (%current-target-system) (%current-system)) From 36c6919c93e2894b44a50cfed8f50506ae5be5cc Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 25 Jun 2016 13:13:36 -0400 Subject: [PATCH 102/435] gnu: linux-libre: Update to 4.6.3. * gnu/packages/linux.scm (linux-libre): Update to 4.6.3. --- 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 bfe78b677c..a0c21d8d2c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -225,7 +225,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration." (search-path %load-path file))) (define-public linux-libre - (let* ((version "4.6.2") + (let* ((version "4.6.3") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Avoid introducing timestamps @@ -303,7 +303,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration." (uri (linux-libre-urls version)) (sha256 (base32 - "1sq75sbs85kwngq8l0n5v5v1z973l71by98k3wbw1mfq3g0s323b")))) + "1ajhdk9jq0pfxlhvzwarbxc23418yqav1v0z0mnfs575y5lq2gmp")))) (build-system gnu-build-system) (supported-systems '("x86_64-linux" "i686-linux")) (native-inputs `(("perl" ,perl) From c2e575185b995cc4dca6dae27eceee802fde5ec9 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sun, 26 Jun 2016 12:43:39 +1000 Subject: [PATCH 103/435] gnu: vsearch: Update to 2.0.0. * gnu/packages/bioinformatics.scm (vsearch): Update to 2.0.0. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fa45d901bf..f5e7285193 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3869,7 +3869,7 @@ data types as well.") (define-public vsearch (package (name "vsearch") - (version "1.11.2") + (version "2.0.0") (source (origin (method url-fetch) @@ -3879,7 +3879,7 @@ data types as well.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0vnjcws9rdf5r14y9f10iq46yvrwsg0h502v954rd9nd50ras01m")) + "1sd57abgx077icqrbj36jq9q7pdpzc6dbics2pn1555kisq2jhfh")) (modules '((guix build utils))) (snippet '(begin From 66fd9858f39f44d07a89b8648b0329be5c347e32 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 07:21:07 +0300 Subject: [PATCH 104/435] gnu: mpv: Update to 0.18.0. * gnu/packages/video.scm (mpv): Update to 0.18.0. [arguments]: Remove disabled '--enable-gpl3' configure flag. --- gnu/packages/video.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 78b277bc3f..5d1141b205 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -755,7 +755,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public mpv (package (name "mpv") - (version "0.17.0") + (version "0.18.0") (source (origin (method url-fetch) (uri (string-append @@ -763,7 +763,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ".tar.gz")) (sha256 (base32 - "0vms3viwqcwl1mrgmf2yy4c69fvv7xpbkyrl693l6zpwynqd4b30")) + "0az0zqb2rakak51zsvfqzj9a8jiqpvc61jxap8hjdkkb9y6n6mmn")) (file-name (string-append name "-" version ".tar.gz")))) (build-system waf-build-system) (native-inputs @@ -818,7 +818,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (lambda* (#:key inputs #:allow-other-keys) (copy-file (assoc-ref inputs "waf") "waf") (setenv "CC" "gcc")))) - #:configure-flags (list "--enable-gpl3" "--enable-zsh-comp") + #:configure-flags (list "--enable-zsh-comp") ;; No check function defined. #:tests? #f)) (home-page "https://mpv.io/") From 4b670539623ce8d2578ede76d2587a5642630c08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 26 Jun 2016 20:31:21 +0800 Subject: [PATCH 105/435] gnu: Add starfighter. * gnu/packages/games.scm (starfighter): New variable. --- gnu/packages/games.scm | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 4141d5eedd..39fc6f2666 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2447,3 +2447,48 @@ tactics.") license:expat license:gpl2+ license:lgpl2.1+)))) + +(define-public starfighter + (package + (name "starfighter") + (version "1.5.1.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://savannah/starfighter/" + (version-major+minor version) "/" + name "-" version "-src.tar.gz")) + (sha256 + (base32 + "1qc0hhw9m8sy3n9fips52c7aph3w8a8pdl4n45yaasgxzbvpn9xg")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no check target + #:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "PREFIX=" out) + (string-append "BINDIR=" out "/bin/"))) + #:phases + (modify-phases %standard-phases + ;; no configure script + (delete 'configure)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("sdl2" ,sdl2) + ("sdl2-image" ,sdl2-image) + ("sdl2-mixer" ,sdl2-mixer))) + (home-page "http://starfighter.nongnu.org/") + (synopsis "2D scrolling shooter game") + (description + "In the year 2579, the intergalactic weapons corporation, WEAPCO, has +dominated the galaxy. Guide Chris Bainfield and his friend Sid Wilson on +their quest to liberate the galaxy from the clutches of WEAPCO. Along the +way, you will encounter new foes, make new allies, and assist local rebels +in strikes against the evil corporation.") + ;; gfx and music are under CC-BY 3.0, CC-BY-SA 3.0, CC0 or Public Domain. + (license (list license:gpl3+ + license:cc-by3.0 + license:cc-by-sa3.0 + license:cc0 + license:public-domain)))) From eca69fc0d69585b6c261c621599e5d7e10034306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 26 Jun 2016 12:16:07 +0200 Subject: [PATCH 106/435] doc: Clarify /dev/kvm setup. Reported by myglc2 . * doc/guix.texi (Build Environment Setup): Mention the "kvm" group. (Invoking guix system): Use "@quotation Note" for the note about KVM; make it clear that KVM is optional. --- doc/guix.texi | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index d6d16b4d45..9e3806c845 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -708,8 +708,13 @@ Bash syntax and the @code{shadow} commands): @noindent The number of build users determines how many build jobs may run in parallel, as specified by the @option{--max-jobs} option -(@pxref{Invoking guix-daemon, @option{--max-jobs}}). The -@code{guix-daemon} program may then be run as @code{root} with the +(@pxref{Invoking guix-daemon, @option{--max-jobs}}). To use +@command{guix system vm} and related commands, you may need to add the +build users to the @code{kvm} group so they can access @file{/dev/kvm}, +using @code{-G guixbuild,kvm} instead of @code{-G guixbuild} +(@pxref{Invoking guix system}). + +The @code{guix-daemon} program may then be run as @code{root} with the following command@footnote{If your machine uses the systemd init system, dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} file in @file{/etc/systemd/system} will ensure that @@ -10224,12 +10229,14 @@ a list of available debugging commands. @end table @end table -Note that all the actions above, except @code{build} and @code{init}, -rely on KVM support in the Linux-Libre kernel. Specifically, the -machine should have hardware virtualization support, the corresponding +@quotation Note +All the actions above, except @code{build} and @code{init}, +can use KVM support in the Linux-libre kernel. Specifically, if the +machine has hardware virtualization support, the corresponding KVM kernel module should be loaded, and the @file{/dev/kvm} device node must exist and be readable and writable by the user and by the -build users of the daemon. +build users of the daemon (@pxref{Build Environment Setup}). +@end quotation Once you have built, configured, re-configured, and re-re-configured your GuixSD installation, you may find it useful to list the operating From c9a03e65b8558d10669cc5a844cd1f83f3651828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 26 Jun 2016 12:22:04 +0200 Subject: [PATCH 107/435] nls: Update 'fr' translation. --- po/guix/fr.po | 2266 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 1790 insertions(+), 476 deletions(-) diff --git a/po/guix/fr.po b/po/guix/fr.po index d1a49077e2..b5b566a93b 100644 --- a/po/guix/fr.po +++ b/po/guix/fr.po @@ -5,11 +5,11 @@ # msgid "" msgstr "" -"Project-Id-Version: guix 0.8\n" +"Project-Id-Version: guix 0.9.1\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" -"POT-Creation-Date: 2014-11-09 22:32+0100\n" -"PO-Revision-Date: 2014-12-09 09:42+0100\n" -"Last-Translator: Rémy Chevalier \n" +"POT-Creation-Date: 2016-03-04 16:52+0100\n" +"PO-Revision-Date: 2016-06-26 02:43+0200\n" +"Last-Translator: Stéphane Aulery \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -17,174 +17,132 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: gnu/packages.scm:120 +#: gnu/packages.scm:73 +#, scheme-format +msgid "~a: patch not found" +msgstr "~a: paquet introuvable" + +#: gnu/packages.scm:84 +#, scheme-format +msgid "could not find bootstrap binary '~a' for system '~a'" +msgstr "" + +#: gnu/packages.scm:136 #, scheme-format msgid "cannot access `~a': ~a~%" msgstr "impossible d'accéder à \"~a\": ~a~%" -#: gnu/packages.scm:350 -#, scheme-format -msgid "looking for the latest release of GNU ~a..." -msgstr "recherche de la dernière version de GNU ~a..." - -#: gnu/packages.scm:354 -#, scheme-format -msgid "~a: note: using ~a but ~a is available upstream~%" -msgstr "~a: note: utilisation de ~a mais ~a est disponible en amont" - -#: gnu/packages.scm:376 guix/scripts/package.scm:305 +#: gnu/packages.scm:289 #, scheme-format msgid "ambiguous package specification `~a'~%" msgstr "spécification du paquet \"~a\" ambiguë~%" -#: gnu/packages.scm:377 guix/scripts/package.scm:307 +#: gnu/packages.scm:290 #, scheme-format msgid "choosing ~a from ~a~%" msgstr "choix de ~a parmi ~a~%" -#: gnu/packages.scm:383 +#: gnu/packages.scm:294 +#, scheme-format +msgid "deprecated NAME-VERSION syntax.~%" +msgstr "" + +#: gnu/packages.scm:298 #, scheme-format msgid "~A: package not found for version ~a~%" msgstr "~A: paquet introuvable pour la version ~a~%" -#: gnu/packages.scm:385 +#: gnu/packages.scm:305 #, scheme-format msgid "~A: unknown package~%" msgstr "~A: paquet inconnu~%" -#: guix/scripts/build.scm:65 +#: gnu/packages.scm:333 +#, scheme-format +msgid "package `~a' lacks output `~a'~%" +msgstr "le paquet \"~a\" requiert la sortie \"~a\"~%" + +#: gnu/services.scm:527 +#, scheme-format +msgid "no target of type '~a' for service ~s" +msgstr "" + +#: gnu/services.scm:538 gnu/services.scm:599 +#, scheme-format +msgid "more than one target service of type '~a'" +msgstr "" + +#: gnu/services.scm:589 +#, scheme-format +msgid "service of type '~a' not found" +msgstr "" + +#: gnu/system.scm:546 +#, scheme-format +msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%" +msgstr "" + +#: gnu/system.scm:562 +#, scheme-format +msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%" +msgstr "" + +#: gnu/system.scm:679 +#, fuzzy, scheme-format +#| msgid "~a: invalid checker" +msgid "~a: invalid locale name" +msgstr "~a: vérificateur non valide" + +#: gnu/system.scm:798 +#, scheme-format +msgid "unrecognized boot parameters for '~a'~%" +msgstr "paramètres de démarrage non reconus pour \"~a\"~%" + +#: gnu/services/shepherd.scm:166 +#, scheme-format +msgid "service '~a' provided more than once" +msgstr "" + +#: gnu/services/shepherd.scm:181 +#, scheme-format +msgid "service '~a' requires '~a', which is undefined" +msgstr "" + +#: gnu/system/shadow.scm:213 +#, scheme-format +msgid "supplementary group '~a' of user '~a' is undeclared" +msgstr "" + +#: gnu/system/shadow.scm:223 +#, scheme-format +msgid "primary group '~a' of user '~a' is undeclared" +msgstr "" + +#: guix/scripts.scm:52 +#, scheme-format +msgid "invalid argument: ~a~%" +msgstr "argument non valide: ~a~%" + +#: guix/scripts.scm:78 guix/scripts/download.scm:97 guix/scripts/gc.scm:157 +#: guix/scripts/import/cran.scm:78 guix/scripts/import/elpa.scm:77 +#: guix/scripts/pull.scm:219 guix/scripts/lint.scm:874 +#: guix/scripts/publish.scm:354 guix/scripts/graph.scm:346 +#, scheme-format +msgid "~A: unrecognized option~%" +msgstr "~A: option non reconnue~%" + +#: guix/scripts/build.scm:112 #, scheme-format msgid "failed to create GC root `~a': ~a~%" msgstr "impossible de créer la racine du GC \"~a\": ~a~%" -#: guix/scripts/build.scm:102 -msgid "" -"\n" -" -L, --load-path=DIR prepend DIR to the package module search path" -msgstr "" -"\n" -" -L, --load-path=REP préfixer le chemin de recherche par REP " +#: guix/scripts/build.scm:189 +#, fuzzy, scheme-format +#| msgid "ambiguous package specification `~a'~%" +msgid "invalid replacement specification: ~s~%" +msgstr "spécification du paquet \"~a\" ambiguë~%" -#: guix/scripts/build.scm:104 -msgid "" -"\n" -" -K, --keep-failed keep build tree of failed builds" -msgstr "" -"\n" -" -K, --keep-failed garder l'arbre de compilation pour les compilations ayant échoué" - -#: guix/scripts/build.scm:106 -msgid "" -"\n" -" -n, --dry-run do not build the derivations" -msgstr "" -"\n" -" -n, --dry-run ne pas compiler les dérivations" - -#: guix/scripts/build.scm:108 -msgid "" -"\n" -" --fallback fall back to building when the substituter fails" -msgstr "" -"\n" -" --fallback revenir à la compilation quand le substitut échoue" - -#: guix/scripts/build.scm:110 -msgid "" -"\n" -" --no-substitutes build instead of resorting to pre-built substitutes" -msgstr "" -"\n" -" --no-substitutes compiler plutot que recourir à des substituts pré-compilés" - -#: guix/scripts/build.scm:112 -msgid "" -"\n" -" --no-build-hook do not attempt to offload builds via the build hook" -msgstr "" -"\n" -" --no-build-hook ne pas essayer de décharger les compilations via le hook de compilation" - -#: guix/scripts/build.scm:114 -msgid "" -"\n" -" --max-silent-time=SECONDS\n" -" mark the build as failed after SECONDS of silence" -msgstr "" -"\n" -" --max-silent-time=N\n" -" marquer la compilation comme ayant échouée après N secondes de silence" - -#: guix/scripts/build.scm:117 -msgid "" -"\n" -" --timeout=SECONDS mark the build as failed after SECONDS of activity" -msgstr "" -"\n" -" --timeout=N marquer la compilation comme ayant échouée après N secondes d'activité" - -#: guix/scripts/build.scm:119 -msgid "" -"\n" -" --verbosity=LEVEL use the given verbosity LEVEL" -msgstr "" -"\n" -" --verbosity=NIVEAU utiliser le NIVEAU de verbosité donné" - -#: guix/scripts/build.scm:121 -msgid "" -"\n" -" -c, --cores=N allow the use of up to N CPU cores for the build" -msgstr "" -"\n" -" -c, --cores=N utiliser jusqu'à N coeurs CPU pour la compilation" - -#: guix/scripts/build.scm:195 -#, scheme-format -msgid "~a: not a number~%" -msgstr "~a: pas un nombre~%" - -#: guix/scripts/build.scm:213 -msgid "" -"Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" -"Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" -msgstr "" -"Usage: guix build [OPTION]... PAQUET-OU-DERIVATION...\n" -"Compiler le PAQUET-OU-DERIVATION donné et retourner leur chemin de sortie.\n" - -#: guix/scripts/build.scm:215 -msgid "" -"\n" -" -e, --expression=EXPR build the package or derivation EXPR evaluates to" -msgstr "" -"\n" -" -e, --expression=EXPR compiler le paquet ou la dérivation évalué par EXPR" - -#: guix/scripts/build.scm:217 -msgid "" -"\n" -" -S, --source build the packages' source derivations" -msgstr "" -"\n" -" -S, --source compiler les dérivations de source du paquet" - -#: guix/scripts/build.scm:219 -msgid "" -"\n" -" -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" -msgstr "" -"\n" -" -s, --system=SYSTEME essayer de compiler pour le SYSTEME donné, par exemple \"i686-linux\"" - -#: guix/scripts/build.scm:221 -msgid "" -"\n" -" --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" -msgstr "" -"\n" -" --target=TRIPLET effectuer une compilation croisée pour TRIPLET, par exemple \"armel-linux-gnu\"" - -#: guix/scripts/build.scm:223 +#: guix/scripts/build.scm:237 msgid "" "\n" " --with-source=SOURCE\n" @@ -194,7 +152,78 @@ msgstr "" " --with-source=SOURCE\n" " utiliser la SOURCE donnée pour compiler le paquet correspondant" -#: guix/scripts/build.scm:226 +#: guix/scripts/build.scm:240 +msgid "" +"\n" +" --with-input=PACKAGE=REPLACEMENT\n" +" replace dependency PACKAGE by REPLACEMENT" +msgstr "" + +#: guix/scripts/build.scm:265 +#, scheme-format +msgid "transformation '~a' had no effect on ~a~%" +msgstr "" + +#: guix/scripts/build.scm:283 +msgid "" +"\n" +" -L, --load-path=DIR prepend DIR to the package module search path" +msgstr "" +"\n" +" -L, --load-path=REP préfixer le chemin de recherche par REP " + +#: guix/scripts/build.scm:285 +msgid "" +"\n" +" -K, --keep-failed keep build tree of failed builds" +msgstr "" +"\n" +" -K, --keep-failed garder l'arbre de compilation pour les compilations ayant échoué" + +#: guix/scripts/build.scm:287 +#, fuzzy +#| msgid "" +#| "\n" +#| " -n, --dry-run do not build the derivations" +msgid "" +"\n" +" -k, --keep-going keep going when some of the derivations fail" +msgstr "" +"\n" +" -n, --dry-run ne pas compiler les dérivations" + +#: guix/scripts/build.scm:289 +msgid "" +"\n" +" -n, --dry-run do not build the derivations" +msgstr "" +"\n" +" -n, --dry-run ne pas compiler les dérivations" + +#: guix/scripts/build.scm:291 +msgid "" +"\n" +" --fallback fall back to building when the substituter fails" +msgstr "" +"\n" +" --fallback revenir à la compilation quand le substitut échoue" + +#: guix/scripts/build.scm:293 +msgid "" +"\n" +" --no-substitutes build instead of resorting to pre-built substitutes" +msgstr "" +"\n" +" --no-substitutes compiler plutot que recourir à des substituts pré-compilés" + +#: guix/scripts/build.scm:295 guix/scripts/size.scm:215 +msgid "" +"\n" +" --substitute-urls=URLS\n" +" fetch substitute from URLS if they are authorized" +msgstr "" + +#: guix/scripts/build.scm:298 msgid "" "\n" " --no-grafts do not graft packages" @@ -202,7 +231,127 @@ msgstr "" "\n" " --no-grafts ne pas greffer kes paquets" -#: guix/scripts/build.scm:228 +#: guix/scripts/build.scm:300 +msgid "" +"\n" +" --no-build-hook do not attempt to offload builds via the build hook" +msgstr "" +"\n" +" --no-build-hook ne pas essayer de décharger les compilations via le hook de compilation" + +#: guix/scripts/build.scm:302 +msgid "" +"\n" +" --max-silent-time=SECONDS\n" +" mark the build as failed after SECONDS of silence" +msgstr "" +"\n" +" --max-silent-time=N\n" +" marquer la compilation comme ayant échouée après N secondes de silence" + +#: guix/scripts/build.scm:305 +msgid "" +"\n" +" --timeout=SECONDS mark the build as failed after SECONDS of activity" +msgstr "" +"\n" +" --timeout=N marquer la compilation comme ayant échouée après N secondes d'activité" + +#: guix/scripts/build.scm:307 +msgid "" +"\n" +" --verbosity=LEVEL use the given verbosity LEVEL" +msgstr "" +"\n" +" --verbosity=NIVEAU utiliser le NIVEAU de verbosité donné" + +#: guix/scripts/build.scm:309 +msgid "" +"\n" +" --rounds=N build N times in a row to detect non-determinism" +msgstr "" + +#: guix/scripts/build.scm:311 +msgid "" +"\n" +" -c, --cores=N allow the use of up to N CPU cores for the build" +msgstr "" +"\n" +" -c, --cores=N utiliser jusqu'à N coeurs CPU pour la compilation" + +#: guix/scripts/build.scm:313 +msgid "" +"\n" +" -M, --max-jobs=N allow at most N build jobs" +msgstr "" + +#: guix/scripts/build.scm:419 guix/scripts/build.scm:426 +#, fuzzy, scheme-format +#| msgid "wrong number of arguments~%" +msgid "not a number: '~a' option argument: ~a~%" +msgstr "nombre d'arguments incorrect~%" + +#: guix/scripts/build.scm:446 +msgid "" +"Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" +"Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" +msgstr "" +"Usage: guix build [OPTION]... PAQUET-OU-DERIVATION...\n" +"Compiler le PAQUET-OU-DERIVATION donné et retourner leur chemin de sortie.\n" + +#: guix/scripts/build.scm:448 +msgid "" +"\n" +" -e, --expression=EXPR build the package or derivation EXPR evaluates to" +msgstr "" +"\n" +" -e, --expression=EXPR compiler le paquet ou la dérivation évalué par EXPR" + +#: guix/scripts/build.scm:450 +#, fuzzy +#| msgid "" +#| "\n" +#| " -e, --expression=EXPR build the package or derivation EXPR evaluates to" +msgid "" +"\n" +" -f, --file=FILE build the package or derivation that the code within\n" +" FILE evaluates to" +msgstr "" +"\n" +" -e, --expression=EXPR compiler le paquet ou la dérivation évalué par EXPR" + +#: guix/scripts/build.scm:453 +msgid "" +"\n" +" -S, --source build the packages' source derivations" +msgstr "" +"\n" +" -S, --source compiler les dérivations de source du paquet" + +#: guix/scripts/build.scm:455 +msgid "" +"\n" +" --sources[=TYPE] build source derivations; TYPE may optionally be one\n" +" of \"package\", \"all\" (default), or \"transitive\"" +msgstr "" + +#: guix/scripts/build.scm:458 +msgid "" +"\n" +" -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" +msgstr "" +"\n" +" -s, --system=SYSTEME essayer de compiler pour le SYSTEME donné, par exemple \"i686-linux\"" + +#: guix/scripts/build.scm:460 +msgid "" +"\n" +" --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" +msgstr "" +"\n" +" --target=TRIPLET effectuer une compilation croisée pour TRIPLET, par exemple \"armel-linux-gnu\"" + +#: guix/scripts/build.scm:462 msgid "" "\n" " -d, --derivations return the derivation paths of the given packages" @@ -210,7 +359,13 @@ msgstr "" "\n" " -d, --derivations retourner les chemins de dérivation pour les paquets donnés" -#: guix/scripts/build.scm:230 +#: guix/scripts/build.scm:464 +msgid "" +"\n" +" --check rebuild items to check for non-determinism issues" +msgstr "" + +#: guix/scripts/build.scm:466 msgid "" "\n" " -r, --root=FILE make FILE a symlink to the result, and register it\n" @@ -220,7 +375,7 @@ msgstr "" " -r, --root=FICHIER faire de FICHIER un lien symbolique pointant sur le résultat\n" " et l'enregistrer en tant que racine du garbage collector" -#: guix/scripts/build.scm:233 +#: guix/scripts/build.scm:469 msgid "" "\n" " --log-file return the log file names for the given derivations" @@ -228,11 +383,15 @@ msgstr "" "\n" " --log-file retourner les fichiers de journalisation pour les dérivations données" -#: guix/scripts/build.scm:238 guix/scripts/download.scm:53 -#: guix/scripts/package.scm:451 guix/scripts/gc.scm:58 -#: guix/scripts/hash.scm:55 guix/scripts/pull.scm:81 -#: guix/scripts/substitute-binary.scm:560 guix/scripts/system.scm:371 -#: guix/scripts/lint.scm:262 +#: guix/scripts/build.scm:476 guix/scripts/download.scm:54 +#: guix/scripts/package.scm:386 guix/scripts/gc.scm:70 +#: guix/scripts/hash.scm:56 guix/scripts/import.scm:91 +#: guix/scripts/import/cran.scm:46 guix/scripts/pull.scm:83 +#: guix/scripts/substitute.scm:758 guix/scripts/system.scm:631 +#: guix/scripts/lint.scm:823 guix/scripts/publish.scm:63 +#: guix/scripts/edit.scm:44 guix/scripts/size.scm:223 +#: guix/scripts/graph.scm:327 guix/scripts/challenge.scm:181 +#: guix/scripts/container.scm:33 guix/scripts/container/exec.scm:43 msgid "" "\n" " -h, --help display this help and exit" @@ -240,11 +399,15 @@ msgstr "" "\n" " -h, --help afficher cette aide et quitter" -#: guix/scripts/build.scm:240 guix/scripts/download.scm:55 -#: guix/scripts/package.scm:453 guix/scripts/gc.scm:60 -#: guix/scripts/hash.scm:57 guix/scripts/pull.scm:83 -#: guix/scripts/substitute-binary.scm:562 guix/scripts/system.scm:373 -#: guix/scripts/lint.scm:266 +#: guix/scripts/build.scm:478 guix/scripts/download.scm:56 +#: guix/scripts/package.scm:388 guix/scripts/gc.scm:72 +#: guix/scripts/hash.scm:58 guix/scripts/import.scm:93 +#: guix/scripts/import/cran.scm:48 guix/scripts/pull.scm:85 +#: guix/scripts/substitute.scm:760 guix/scripts/system.scm:633 +#: guix/scripts/lint.scm:827 guix/scripts/publish.scm:65 +#: guix/scripts/edit.scm:46 guix/scripts/size.scm:225 +#: guix/scripts/graph.scm:329 guix/scripts/challenge.scm:183 +#: guix/scripts/container.scm:35 guix/scripts/container/exec.scm:45 msgid "" "\n" " -V, --version display version information and exit" @@ -252,25 +415,24 @@ msgstr "" "\n" " -V, --version afficher les informations sur la version et quitter" -#: guix/scripts/build.scm:366 +#: guix/scripts/build.scm:505 #, scheme-format -msgid "sources do not match any package:~{ ~a~}~%" -msgstr "les sources ne correspondent à aucun paquet:~{ ~a~}~%" +msgid "" +"invalid argument: '~a' option argument: ~a, ~\n" +"must be one of 'package', 'all', or 'transitive'~%" +msgstr "" -#: guix/scripts/build.scm:395 guix/scripts/download.scm:96 -#: guix/scripts/package.scm:673 guix/scripts/gc.scm:122 -#: guix/scripts/pull.scm:213 guix/scripts/system.scm:426 -#: guix/scripts/lint.scm:313 +#: guix/scripts/build.scm:549 #, scheme-format -msgid "~A: unrecognized option~%" -msgstr "~A: option non reconnue~%" +msgid "~s: not something we can build~%" +msgstr "" -#: guix/scripts/build.scm:423 +#: guix/scripts/build.scm:629 #, scheme-format msgid "no build log for '~a'~%" msgstr "aucun journal de compilation pour \"~a\"~%" -#: guix/scripts/download.scm:44 +#: guix/scripts/download.scm:45 msgid "" "Usage: guix download [OPTION] URL\n" "Download the file at URL, add it to the store, and print its store path\n" @@ -286,7 +448,7 @@ msgstr "" "Formats supportés: 'nix-base32' (défaut), 'base32', et 'base16'\n" "('hex' et 'hexadecimal' peuvent aussi être utilisés).\n" -#: guix/scripts/download.scm:50 guix/scripts/hash.scm:50 +#: guix/scripts/download.scm:51 guix/scripts/hash.scm:51 msgid "" "\n" " -f, --format=FMT write the hash in the given format" @@ -294,73 +456,118 @@ msgstr "" "\n" " -f, --format=FORMAT écrire l'empreinte dans le FORMAT donné" -#: guix/scripts/download.scm:73 guix/scripts/hash.scm:75 +#: guix/scripts/download.scm:74 guix/scripts/hash.scm:76 #, scheme-format msgid "unsupported hash format: ~a~%" msgstr "format d'empreinte non supporté: ~a~%" -#: guix/scripts/download.scm:106 +#: guix/scripts/download.scm:100 guix/scripts/package.scm:836 +#: guix/scripts/publish.scm:356 +#, scheme-format +msgid "~A: extraneous argument~%" +msgstr "~A: argument superflu~%" + +#: guix/scripts/download.scm:109 +#, fuzzy, scheme-format +#| msgid "~a: download failed~%" +msgid "no download URI was specified~%" +msgstr "~a: le téléchargement a échoué~%" + +#: guix/scripts/download.scm:111 #, scheme-format msgid "~a: failed to parse URI~%" msgstr "~a: impossible d'évaluer l'URI~%" -#: guix/scripts/download.scm:117 +#: guix/scripts/download.scm:122 #, scheme-format msgid "~a: download failed~%" msgstr "~a: le téléchargement a échoué~%" -#: guix/scripts/package.scm:97 +#: guix/scripts/package.scm:103 #, scheme-format -msgid "failed to build the empty profile~%" -msgstr "échec de la compilation du profil vide~%" +msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%" +msgstr "Essayez \"info '(guix) Invoking guix package'\" pour plus d'information.~%" -#: guix/scripts/package.scm:113 +#: guix/scripts/package.scm:125 #, scheme-format -msgid "switching from generation ~a to ~a~%" -msgstr "passage de la génération ~a à ~a~%" +msgid "error: while creating directory `~a': ~a~%" +msgstr "erreur: pendant la création du répertoire \"~a\": ~a~%" -#: guix/scripts/package.scm:132 +#: guix/scripts/package.scm:129 #, scheme-format -msgid "nothing to do: already at the empty profile~%" -msgstr "aucune action à faire: profil courant vide" +msgid "Please create the `~a' directory, with you as the owner.~%" +msgstr "Veuillez créer un répertoire \"~a\" dont vous êtes le propriétaire.~%" -#: guix/scripts/package.scm:144 +#: guix/scripts/package.scm:136 #, scheme-format -msgid "deleting ~a~%" -msgstr "suppression de ~a~%" +msgid "error: directory `~a' is not owned by you~%" +msgstr "erreur: vous de possédez pas le répertoire \"~a\"" -#: guix/scripts/package.scm:295 +#: guix/scripts/package.scm:139 #, scheme-format -msgid "package `~a' lacks output `~a'~%" -msgstr "le paquet \"~a\" requiert la sortie \"~a\"~%" +msgid "Please change the owner of `~a' to user ~s.~%" +msgstr "Veuillez définir ~s comme propriétaire de \"~a\".~%" -#: guix/scripts/package.scm:312 +#: guix/scripts/package.scm:174 #, scheme-format -msgid "~a: package not found~%" -msgstr "~a: paquet introuvable~%" +msgid "not removing generation ~a, which is current~%" +msgstr "" -#: guix/scripts/package.scm:390 +#: guix/scripts/package.scm:181 +#, fuzzy, scheme-format +#| msgid "cannot switch to generation '~a'~%" +msgid "no matching generation~%" +msgstr "impossible de passer à la génération \"~a\"~%" + +#: guix/scripts/package.scm:184 guix/scripts/package.scm:657 +#: guix/scripts/system.scm:459 +#, scheme-format +msgid "invalid syntax: ~a~%" +msgstr "syntaxe non valide: ~a~%" + +#: guix/scripts/package.scm:209 +#, scheme-format +msgid "nothing to be done~%" +msgstr "aucune action à faire~%" + +#: guix/scripts/package.scm:223 +#, scheme-format +msgid "~a package in profile~%" +msgid_plural "~a packages in profile~%" +msgstr[0] "~a paquet dans le profile~%" +msgstr[1] "~a paquets dans le profile~%" + +#: guix/scripts/package.scm:311 #, scheme-format msgid "The following environment variable definitions may be needed:~%" msgstr "Il pourrait être nécessaire de définir les variables d'environnement suivantes:~%" -#: guix/scripts/package.scm:406 +#: guix/scripts/package.scm:327 +#, fuzzy +#| msgid "" +#| "Usage: guix package [OPTION]... PACKAGES...\n" +#| "Install, remove, or upgrade PACKAGES in a single transaction.\n" msgid "" -"Usage: guix package [OPTION]... PACKAGES...\n" -"Install, remove, or upgrade PACKAGES in a single transaction.\n" +"Usage: guix package [OPTION]...\n" +"Install, remove, or upgrade packages in a single transaction.\n" msgstr "" "Usage: guix package [OPTION]... PAQUETS...\n" "Installer, supprimer ou mettre à jour les PAQUETS spécifiés en une seule transaction.\n" -#: guix/scripts/package.scm:408 +#: guix/scripts/package.scm:329 +#, fuzzy +#| msgid "" +#| "\n" +#| " -i, --install=PACKAGE install PACKAGE" msgid "" "\n" -" -i, --install=PACKAGE install PACKAGE" +" -i, --install PACKAGE ...\n" +" install PACKAGEs" msgstr "" "\n" " -i, --install=PAQUET installer PAQUET" -#: guix/scripts/package.scm:410 +#: guix/scripts/package.scm:332 msgid "" "\n" " -e, --install-from-expression=EXP\n" @@ -370,15 +577,36 @@ msgstr "" " -e, --install-from-expression=EXP\n" " installer le paquet évalué par EXP" -#: guix/scripts/package.scm:413 +#: guix/scripts/package.scm:335 +#, fuzzy +#| msgid "" +#| "\n" +#| " -e, --install-from-expression=EXP\n" +#| " install the package EXP evaluates to" msgid "" "\n" -" -r, --remove=PACKAGE remove PACKAGE" +" -f, --install-from-file=FILE\n" +" install the package that the code within FILE\n" +" evaluates to" +msgstr "" +"\n" +" -e, --install-from-expression=EXP\n" +" installer le paquet évalué par EXP" + +#: guix/scripts/package.scm:339 +#, fuzzy +#| msgid "" +#| "\n" +#| " -r, --remove=PACKAGE remove PACKAGE" +msgid "" +"\n" +" -r, --remove PACKAGE ...\n" +" remove PACKAGEs" msgstr "" "\n" " -r, --remove=PAQUET supprimer PAQUET" -#: guix/scripts/package.scm:415 +#: guix/scripts/package.scm:342 msgid "" "\n" " -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" @@ -386,7 +614,26 @@ msgstr "" "\n" " -u, --upgrade[=REGEXP] mettre à jour tous les paquets installés correspondant à REGEXP" -#: guix/scripts/package.scm:417 +#: guix/scripts/package.scm:344 +msgid "" +"\n" +" -m, --manifest=FILE create a new profile generation with the manifest\n" +" from FILE" +msgstr "" + +#: guix/scripts/package.scm:347 +#, fuzzy +#| msgid "" +#| "\n" +#| " -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" +msgid "" +"\n" +" --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP" +msgstr "" +"\n" +" -u, --upgrade[=REGEXP] mettre à jour tous les paquets installés correspondant à REGEXP" + +#: guix/scripts/package.scm:349 msgid "" "\n" " --roll-back roll back to the previous generation" @@ -394,15 +641,20 @@ msgstr "" "\n" " --roll-back revenir à la génération antérieure" -#: guix/scripts/package.scm:419 +#: guix/scripts/package.scm:351 +#, fuzzy +#| msgid "" +#| "\n" +#| " --search-paths display needed environment variable definitions" msgid "" "\n" -" --search-paths display needed environment variable definitions" +" --search-paths[=KIND]\n" +" display needed environment variable definitions" msgstr "" "\n" " --search-paths afficher les définitions de variable d'environnement requises" -#: guix/scripts/package.scm:421 +#: guix/scripts/package.scm:354 msgid "" "\n" " -l, --list-generations[=PATTERN]\n" @@ -412,7 +664,7 @@ msgstr "" " -l, --list-generations[=PATTERN]\n" " lister les générations correspondant à PATTERN" -#: guix/scripts/package.scm:424 +#: guix/scripts/package.scm:357 msgid "" "\n" " -d, --delete-generations[=PATTERN]\n" @@ -422,7 +674,7 @@ msgstr "" " -d, --delete-generations[=PATTERN]\n" " supprimer les générations correspondant à PATTERN" -#: guix/scripts/package.scm:427 +#: guix/scripts/package.scm:360 msgid "" "\n" " -S, --switch-generation=PATTERN\n" @@ -432,7 +684,7 @@ msgstr "" " -d, --delete-generations[=PATTERN]\n" " basculer vers une génération correspondant à PATTERN" -#: guix/scripts/package.scm:430 +#: guix/scripts/package.scm:363 msgid "" "\n" " -p, --profile=PROFILE use PROFILE instead of the user's default profile" @@ -440,7 +692,7 @@ msgstr "" "\n" " -p, --profile=PROFIL utiliser PROFIL au lieu du profil par défaut de l'utilisateur" -#: guix/scripts/package.scm:433 +#: guix/scripts/package.scm:366 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the profile" @@ -448,7 +700,7 @@ msgstr "" "\n" " --bootstrap utiliser le programme d'amorçage Guile pour compiler le profil" -#: guix/scripts/package.scm:435 guix/scripts/pull.scm:74 +#: guix/scripts/package.scm:368 guix/scripts/pull.scm:76 msgid "" "\n" " --verbose produce verbose output" @@ -456,7 +708,7 @@ msgstr "" "\n" " --verbose utiliser le mode verbeux" -#: guix/scripts/package.scm:438 +#: guix/scripts/package.scm:371 msgid "" "\n" " -s, --search=REGEXP search in synopsis and description using REGEXP" @@ -464,7 +716,7 @@ msgstr "" "\n" " -s, --search=REGEXP chercher dans le synopsis et la description en utilisant REGEXP" -#: guix/scripts/package.scm:440 +#: guix/scripts/package.scm:373 msgid "" "\n" " -I, --list-installed[=REGEXP]\n" @@ -474,7 +726,7 @@ msgstr "" " -I, --list-installed[=REGEXP]\n" " lister les paquets installés correspondant à REGEXP" -#: guix/scripts/package.scm:443 +#: guix/scripts/package.scm:376 msgid "" "\n" " -A, --list-available[=REGEXP]\n" @@ -484,77 +736,39 @@ msgstr "" " -A, --list-available[=REGEXP]\n" " lister les paquets disponibles correspondant à REGEXP" -#: guix/scripts/package.scm:446 +#: guix/scripts/package.scm:379 +#, fuzzy +#| msgid "" +#| "\n" +#| " --show=PACKAGE show details about PACKAGE" msgid "" "\n" -" --show=PACKAGE show details about PACKAGE" +" --show=PACKAGE show details about PACKAGE" msgstr "" "\n" " --show=PAQUET montrer des détails sur le PAQUET" -#: guix/scripts/package.scm:677 +#: guix/scripts/package.scm:474 #, scheme-format -msgid "~A: extraneous argument~%" -msgstr "~A: argument superflu~%" +msgid "~a: unsupported kind of search path~%" +msgstr "" -#: guix/scripts/package.scm:687 -#, scheme-format -msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%" -msgstr "Essayez \"info '(guix) Invoking guix package'\" pour plus d'information.~%" - -#: guix/scripts/package.scm:709 -#, scheme-format -msgid "error: while creating directory `~a': ~a~%" -msgstr "erreur: pendant la création du répertoire \"~a\": ~a~%" - -#: guix/scripts/package.scm:713 -#, scheme-format -msgid "Please create the `~a' directory, with you as the owner.~%" -msgstr "Veuillez créer un répertoire \"~a\" dont vous êtes le propriétaire.~%" - -#: guix/scripts/package.scm:720 -#, scheme-format -msgid "error: directory `~a' is not owned by you~%" -msgstr "erreur: vous de possédez pas le répertoire \"~a\"" - -#: guix/scripts/package.scm:723 -#, scheme-format -msgid "Please change the owner of `~a' to user ~s.~%" -msgstr "Veuillez définir ~s comme propriétaire de \"~a\".~%" - -#: guix/scripts/package.scm:756 +#: guix/scripts/package.scm:753 #, scheme-format msgid "cannot switch to generation '~a'~%" msgstr "impossible de passer à la génération \"~a\"~%" -#: guix/scripts/package.scm:788 guix/scripts/package.scm:889 +#: guix/scripts/package.scm:769 #, scheme-format -msgid "invalid syntax: ~a~%" -msgstr "syntaxe non valide: ~a~%" +msgid "would install new manifest from '~a' with ~d entries~%" +msgstr "" -#: guix/scripts/package.scm:825 +#: guix/scripts/package.scm:771 #, scheme-format -msgid "nothing to be done~%" -msgstr "aucune action à faire~%" +msgid "installing new manifest from '~a' with ~d entries~%" +msgstr "" -#: guix/scripts/package.scm:840 -#, scheme-format -msgid "~a package in profile~%" -msgid_plural "~a packages in profile~%" -msgstr[0] "~a paquet dans le profile~%" -msgstr[1] "~a paquets dans le profile~%" - -#: guix/scripts/package.scm:855 -#, scheme-format -msgid "Generation ~a\t~a" -msgstr "Génération ~a\t~a" - -#: guix/scripts/package.scm:862 -#, scheme-format -msgid "~a\t(current)~%" -msgstr "~a\t(actuel)~%" - -#: guix/scripts/gc.scm:39 +#: guix/scripts/gc.scm:40 msgid "" "Usage: guix gc [OPTION]... PATHS...\n" "Invoke the garbage collector.\n" @@ -562,7 +776,7 @@ msgstr "" "Usage: guix gc [OPTION]... CHEMINS...\n" "Appeller le garbage collector.\n" -#: guix/scripts/gc.scm:41 +#: guix/scripts/gc.scm:42 msgid "" "\n" " -C, --collect-garbage[=MIN]\n" @@ -572,7 +786,7 @@ msgstr "" " -C, --collect-garbage[=MIN]\n" " collecter au moins MIN octets dans le garbage-collector" -#: guix/scripts/gc.scm:44 +#: guix/scripts/gc.scm:45 msgid "" "\n" " -d, --delete attempt to delete PATHS" @@ -580,7 +794,13 @@ msgstr "" "\n" " -d, --delete supprimer les CHEMINS" -#: guix/scripts/gc.scm:46 +#: guix/scripts/gc.scm:47 +msgid "" +"\n" +" --optimize optimize the store by deduplicating identical files" +msgstr "" + +#: guix/scripts/gc.scm:49 msgid "" "\n" " --list-dead list dead paths" @@ -588,7 +808,7 @@ msgstr "" "\n" " --list-dead lister les chemins non valides" -#: guix/scripts/gc.scm:48 +#: guix/scripts/gc.scm:51 msgid "" "\n" " --list-live list live paths" @@ -596,7 +816,7 @@ msgstr "" "\n" " --list-live lister les chemins valides" -#: guix/scripts/gc.scm:51 +#: guix/scripts/gc.scm:54 msgid "" "\n" " --references list the references of PATHS" @@ -604,7 +824,7 @@ msgstr "" "\n" " --references lister les références de CHEMINS" -#: guix/scripts/gc.scm:53 +#: guix/scripts/gc.scm:56 msgid "" "\n" " -R, --requisites list the requisites of PATHS" @@ -612,7 +832,7 @@ msgstr "" "\n" " -R, --requisites lister les prérequis de CHEMINS" -#: guix/scripts/gc.scm:55 +#: guix/scripts/gc.scm:58 msgid "" "\n" " --referrers list the referrers of PATHS" @@ -620,12 +840,44 @@ msgstr "" "\n" " --referrers lister les référents de CHEMINS" -#: guix/scripts/gc.scm:84 +#: guix/scripts/gc.scm:61 +msgid "" +"\n" +" --verify[=OPTS] verify the integrity of the store; OPTS is a\n" +" comma-separated combination of 'repair' and\n" +" 'contents'" +msgstr "" + +#: guix/scripts/gc.scm:65 +#, fuzzy +#| msgid "" +#| "\n" +#| " --list-dead list dead paths" +msgid "" +"\n" +" --list-failures list cached build failures" +msgstr "" +"\n" +" --list-dead lister les chemins non valides" + +#: guix/scripts/gc.scm:67 +msgid "" +"\n" +" --clear-failures remove PATHS from the set of cached failures" +msgstr "" + +#: guix/scripts/gc.scm:96 #, scheme-format msgid "invalid amount of storage: ~a~%" msgstr "quantité de stockage non valide: ~a~%" -#: guix/scripts/hash.scm:45 +#: guix/scripts/gc.scm:187 +#, fuzzy, scheme-format +#| msgid "~A: extraneous argument~%" +msgid "extraneous arguments: ~{~a ~}~%" +msgstr "~A: argument superflu~%" + +#: guix/scripts/hash.scm:46 msgid "" "Usage: guix hash [OPTION] FILE\n" "Return the cryptographic hash of FILE.\n" @@ -639,7 +891,7 @@ msgstr "" "Formats supportés: 'nix-base32' (défaut), 'base32', et 'base16' ('hex'\n" "et 'hexadecimal' peuvent également être utilisés).\n" -#: guix/scripts/hash.scm:52 +#: guix/scripts/hash.scm:53 msgid "" "\n" " -r, --recursive compute the hash on FILE recursively" @@ -647,22 +899,123 @@ msgstr "" "\n" " -r, --recursive calculer l'empreinte de FICHIER de manière récursive" -#: guix/scripts/hash.scm:103 +#: guix/scripts/hash.scm:104 #, scheme-format msgid "unrecognized option: ~a~%" msgstr "option non reconnue: ~a~%" -#: guix/scripts/hash.scm:134 guix/ui.scm:252 +#: guix/scripts/hash.scm:135 guix/ui.scm:460 #, scheme-format msgid "~a~%" msgstr "~a~%" -#: guix/scripts/hash.scm:137 +#: guix/scripts/hash.scm:138 guix/scripts/system.scm:761 #, scheme-format msgid "wrong number of arguments~%" msgstr "nombre d'arguments incorrect~%" -#: guix/scripts/pull.scm:72 +#: guix/scripts/import.scm:85 +#, fuzzy +#| msgid "" +#| "Usage: guix COMMAND ARGS...\n" +#| "Run COMMAND with ARGS.\n" +msgid "" +"Usage: guix import IMPORTER ARGS ...\n" +"Run IMPORTER with ARGS.\n" +msgstr "" +"Usage: guix COMMANDE ARGS...\n" +"Lance la COMMANDE avec les arguments ARGS.\n" + +#: guix/scripts/import.scm:88 +#, fuzzy +#| msgid "COMMAND must be one of the sub-commands listed below:\n" +msgid "IMPORTER must be one of the importers listed below:\n" +msgstr "COMMANDE doit être une des sous-commandes listées ci-dessous:\n" + +#: guix/scripts/import.scm:102 +#, fuzzy, scheme-format +#| msgid "guix: missing command name~%" +msgid "guix import: missing importer name~%" +msgstr "guix: nom de commande manquant~%" + +#: guix/scripts/import.scm:113 +#, scheme-format +msgid "guix import: invalid importer~%" +msgstr "" + +#: guix/scripts/import/cran.scm:42 +msgid "" +"Usage: guix import cran PACKAGE-NAME\n" +"Import and convert the CRAN package for PACKAGE-NAME.\n" +msgstr "" + +#: guix/scripts/import/cran.scm:44 +msgid "" +"\n" +" -a, --archive=ARCHIVE specify the archive repository" +msgstr "" + +#: guix/scripts/import/cran.scm:94 +#, fuzzy, scheme-format +#| msgid "failed to load operating system file '~a': ~s~%" +msgid "failed to download description for package '~a'~%" +msgstr "impossible de charger le fichier du système d'exploitation \"~a\": ~s~%" + +#: guix/scripts/import/cran.scm:98 guix/scripts/import/elpa.scm:95 +#, fuzzy, scheme-format +#| msgid "wrong number of arguments~%" +msgid "too few arguments~%" +msgstr "nombre d'arguments incorrect~%" + +#: guix/scripts/import/cran.scm:100 guix/scripts/import/elpa.scm:97 +#, fuzzy, scheme-format +#| msgid "wrong arguments" +msgid "too many arguments~%" +msgstr "arguments non valides" + +#: guix/scripts/import/elpa.scm:41 +msgid "" +"Usage: guix import elpa PACKAGE-NAME\n" +"Import the latest package named PACKAGE-NAME from an ELPA repository.\n" +msgstr "" + +#: guix/scripts/import/elpa.scm:43 +msgid "" +"\n" +" -a, --archive=ARCHIVE specify the archive repository" +msgstr "" + +#: guix/scripts/import/elpa.scm:45 +#, fuzzy +#| msgid "" +#| "\n" +#| " -h, --help display this help and exit" +msgid "" +"\n" +" -h, --help display this help and exit" +msgstr "" +"\n" +" -h, --help afficher cette aide et quitter" + +#: guix/scripts/import/elpa.scm:47 +#, fuzzy +#| msgid "" +#| "\n" +#| " -V, --version display version information and exit" +msgid "" +"\n" +" -V, --version display version information and exit" +msgstr "" +"\n" +" -V, --version afficher les informations sur la version et quitter" + +#: guix/scripts/import/elpa.scm:92 +#, fuzzy, scheme-format +#| msgid "failed to install locale: ~a~%" +msgid "failed to download package '~a'~%" +msgstr "impossible d'installer la locale: ~a~%" + +#: guix/scripts/pull.scm:74 msgid "" "Usage: guix pull [OPTION]...\n" "Download and deploy the latest version of Guix.\n" @@ -670,7 +1023,7 @@ msgstr "" "Usage: guix pull [OPTION]...\n" "Télécharger et déployer la dernière version de Guix.\n" -#: guix/scripts/pull.scm:76 +#: guix/scripts/pull.scm:78 msgid "" "\n" " --url=URL download the Guix tarball from URL" @@ -678,7 +1031,7 @@ msgstr "" "\n" " --url=URL télécharger le tarball de Guix depuis URL" -#: guix/scripts/pull.scm:78 +#: guix/scripts/pull.scm:80 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the new Guix" @@ -686,131 +1039,142 @@ msgstr "" "\n" " --bootstrap utiliser le programme d'amorçage Guile pour compiler le nouveau Guix" -#: guix/scripts/pull.scm:132 +#: guix/scripts/pull.scm:134 msgid "tarball did not produce a single source directory" msgstr "la tarball n'a produit aucun répertoire source" -#: guix/scripts/pull.scm:150 +#: guix/scripts/pull.scm:152 #, scheme-format msgid "unpacking '~a'...~%" msgstr "dépaquetage \"~a\"...~%" -#: guix/scripts/pull.scm:159 +#: guix/scripts/pull.scm:161 msgid "failed to unpack source code" msgstr "échec du dépaquetage du code source" -#: guix/scripts/pull.scm:200 +#: guix/scripts/pull.scm:204 +msgid "Guix already up to date\n" +msgstr "Guix est déja à jour\n" + +#: guix/scripts/pull.scm:209 #, scheme-format msgid "updated ~a successfully deployed under `~a'~%" msgstr "~a a été mis à jour et déployé avec succès sous \"~a\"~%" -#: guix/scripts/pull.scm:203 +#: guix/scripts/pull.scm:212 #, scheme-format msgid "failed to update Guix, check the build log~%" msgstr "échec de la mise à jour de Guix; consultez le journal de compilation~%" -#: guix/scripts/pull.scm:205 -msgid "Guix already up to date\n" -msgstr "Guix est déja à jour\n" - -#: guix/scripts/pull.scm:215 +#: guix/scripts/pull.scm:221 #, scheme-format msgid "~A: unexpected argument~%" msgstr "~A: argument inattendu~%" -#: guix/scripts/pull.scm:224 +#: guix/scripts/pull.scm:230 msgid "failed to download up-to-date source, exiting\n" msgstr "impossible de télécharger une source à jour; fin\n" -#: guix/scripts/substitute-binary.scm:80 +#: guix/scripts/substitute.scm:103 #, scheme-format msgid "authentication and authorization of substitutes disabled!~%" msgstr "authentification et autorisation des substituts désactivées !~%" -#: guix/scripts/substitute-binary.scm:163 +#: guix/scripts/substitute.scm:179 #, scheme-format msgid "download from '~a' failed: ~a, ~s~%" msgstr "le téléchargement depuis '~a' a échoué: ~a, ~s~%" -#: guix/scripts/substitute-binary.scm:178 -#, scheme-format -msgid "while fetching ~a: server is unresponsive~%" +#: guix/scripts/substitute.scm:191 +#, fuzzy, scheme-format +#| msgid "while fetching ~a: server is unresponsive~%" +msgid "while fetching ~a: server is somewhat slow~%" msgstr "pendant la recherche de ~a: le serveur ne répond pas~%" -#: guix/scripts/substitute-binary.scm:180 +#: guix/scripts/substitute.scm:193 #, scheme-format msgid "try `--no-substitutes' if the problem persists~%" msgstr "essayez l'option \"--no-substitutes\" si le problème persiste~%" -#: guix/scripts/substitute-binary.scm:244 -#, scheme-format -msgid "signature version must be a number: ~a~%" +#: guix/scripts/substitute.scm:266 +#, fuzzy, scheme-format +#| msgid "signature version must be a number: ~a~%" +msgid "signature version must be a number: ~s~%" msgstr "la version de la signature doit être un nombre: ~a~%" -#: guix/scripts/substitute-binary.scm:248 +#: guix/scripts/substitute.scm:270 #, scheme-format msgid "unsupported signature version: ~a~%" msgstr "version de signature non supportée: ~a~%" -#: guix/scripts/substitute-binary.scm:256 +#: guix/scripts/substitute.scm:278 #, scheme-format msgid "signature is not a valid s-expression: ~s~%" msgstr "la signature n'est pas une s-expression valide: ~s~%" -#: guix/scripts/substitute-binary.scm:260 +#: guix/scripts/substitute.scm:282 #, scheme-format msgid "invalid format of the signature field: ~a~%" msgstr "signature non valide pour \"~a\"~%" -#: guix/scripts/substitute-binary.scm:295 +#: guix/scripts/substitute.scm:317 #, scheme-format msgid "invalid signature for '~a'~%" msgstr "signature non valide pour \"~a\"~%" -#: guix/scripts/substitute-binary.scm:297 +#: guix/scripts/substitute.scm:319 #, scheme-format msgid "hash mismatch for '~a'~%" msgstr "empreinte non valide pour \"~a\"~%" -#: guix/scripts/substitute-binary.scm:299 +#: guix/scripts/substitute.scm:321 #, scheme-format msgid "'~a' is signed with an unauthorized key~%" msgstr "\"~a\" est signé avec une clé non autorisée~%" -#: guix/scripts/substitute-binary.scm:301 +#: guix/scripts/substitute.scm:323 #, scheme-format msgid "signature on '~a' is corrupt~%" msgstr "la signature de \"~a\" est corrompue~%" -#: guix/scripts/substitute-binary.scm:338 +#: guix/scripts/substitute.scm:361 #, scheme-format msgid "substitute at '~a' lacks a signature~%" msgstr "le substitut à \"~a\" requiert une signature~%" -#: guix/scripts/substitute-binary.scm:526 +#: guix/scripts/substitute.scm:537 #, scheme-format -msgid "Downloading, please wait...~%" -msgstr "Téléchargement en cours..." +msgid "updating list of substitutes from '~a'... ~5,1f%" +msgstr "" -#: guix/scripts/substitute-binary.scm:528 +#: guix/scripts/substitute.scm:585 #, scheme-format -msgid "(Please consider upgrading Guile to get proper progress report.)~%" -msgstr "(Veuillez mettre Guile à jour pour obtenir le rapport de progression approprié.)~%" +msgid "~s: unsupported server URI scheme~%" +msgstr "" -#: guix/scripts/substitute-binary.scm:541 +#: guix/scripts/substitute.scm:596 +#, scheme-format +msgid "'~a' uses different store '~a'; ignoring it~%" +msgstr "" + +#: guix/scripts/substitute.scm:739 #, scheme-format msgid "host name lookup error: ~a~%" msgstr "erreur lors de la consultation du nom d'hôte: ~a~%" -#: guix/scripts/substitute-binary.scm:550 +#: guix/scripts/substitute.scm:748 +#, fuzzy +#| msgid "" +#| "Usage: guix substitute-binary [OPTION]...\n" +#| "Internal tool to substitute a pre-built binary to a local build.\n" msgid "" -"Usage: guix substitute-binary [OPTION]...\n" +"Usage: guix substitute [OPTION]...\n" "Internal tool to substitute a pre-built binary to a local build.\n" msgstr "" "Usage: guix substitute-binary [OPTION]...\n" "Outil interne pour substituer un binaire pré-compilé à une compilation locale.\n" -#: guix/scripts/substitute-binary.scm:552 +#: guix/scripts/substitute.scm:750 msgid "" "\n" " --query report on the availability of substitutes for the\n" @@ -821,7 +1185,7 @@ msgstr "" " noms de fichier de dépôt passés sur l'entrée\n" " standard" -#: guix/scripts/substitute-binary.scm:555 +#: guix/scripts/substitute.scm:753 msgid "" "\n" " --substitute STORE-FILE DESTINATION\n" @@ -833,21 +1197,11 @@ msgstr "" " télécharger FICHIER-DEPOT et l'enregistrer comme un Nar\n" " dans le fichier DESTINATION" -#: guix/scripts/substitute-binary.scm:600 +#: guix/scripts/substitute.scm:878 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n" msgstr "l'ACL pour l'import d'archives ne semble pas initialisée ; les substituts pourraient être indisponibles\n" -#: guix/scripts/substitute-binary.scm:634 -#, scheme-format -msgid "these substitute URLs will not be used:~{ ~a~}~%" -msgstr "ces URL de substitution ne seront pas utilisées:~{ ~a~}~%" - -#: guix/scripts/substitute-binary.scm:660 -#, scheme-format -msgid "failed to look up host '~a' (~a), substituter disabled~%" -msgstr "impossible de trouver l'hôte \"~a\" (~a), substitution désactivée~%" - -#: guix/scripts/substitute-binary.scm:767 +#: guix/scripts/substitute.scm:960 #, scheme-format msgid "~a: unrecognized options~%" msgstr "~a: options non reconnues~%" @@ -872,7 +1226,7 @@ msgstr "error: clé publique non autorisée: ~a~%" msgid "error: corrupt signature data: ~a~%" msgstr "erreur: signature corrompue: ~a~%" -#: guix/scripts/authenticate.scm:126 +#: guix/scripts/authenticate.scm:120 msgid "" "Usage: guix authenticate OPTION...\n" "Sign or verify the signature on the given file. This tool is meant to\n" @@ -882,92 +1236,190 @@ msgstr "" "Signer ou vérifier la signature du fichier donné. Cet outil est destiné\n" "à être utilisé en interne par \"guix-daemon\".\n" -#: guix/scripts/authenticate.scm:132 +#: guix/scripts/authenticate.scm:126 msgid "wrong arguments" msgstr "arguments non valides" -#: guix/scripts/system.scm:74 -#, scheme-format -msgid "failed to open operating system file '~a': ~a~%" -msgstr "impossible d'ouvrir le fichier du système d'exploitation \"~a\": ~a~%" - -#: guix/scripts/system.scm:78 guix/ui.scm:258 -#, scheme-format -msgid "~a: ~a~%" -msgstr "~a: ~a~%" - -#: guix/scripts/system.scm:81 -#, scheme-format -msgid "failed to load operating system file '~a': ~s~%" -msgstr "impossible de charger le fichier du système d'exploitation \"~a\": ~s~%" - -#: guix/scripts/system.scm:116 +#: guix/scripts/system.scm:111 #, scheme-format msgid "failed to register '~a' under '~a'~%" msgstr "impossible d'enregistrer \"~a\" sous \"~a\"~%" -#: guix/scripts/system.scm:144 -#, scheme-format -msgid "initializing the current root file system~%" -msgstr "initialisation du système de fichier racine courant~%" - -#: guix/scripts/system.scm:162 guix/scripts/system.scm:325 +#: guix/scripts/system.scm:143 #, scheme-format msgid "failed to install GRUB on device '~a'~%" msgstr "échec de l'installation de GRUB sur le périphérique \"~a\"~%" -#: guix/scripts/system.scm:197 +#: guix/scripts/system.scm:161 +#, scheme-format +msgid "initializing the current root file system~%" +msgstr "initialisation du système de fichier racine courant~%" + +#: guix/scripts/system.scm:175 +#, scheme-format +msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%" +msgstr "" + +#: guix/scripts/system.scm:233 +#, scheme-format +msgid "while talking to shepherd: ~a~%" +msgstr "" + +#: guix/scripts/system.scm:279 +#, fuzzy, scheme-format +#| msgid "unpacking '~a'...~%" +msgid "unloading service '~a'...~%" +msgstr "dépaquetage \"~a\"...~%" + +#: guix/scripts/system.scm:287 +#, scheme-format +msgid "loading new services:~{ ~a~}...~%" +msgstr "" + +#: guix/scripts/system.scm:311 #, scheme-format msgid "activating system...~%" msgstr "activation du système...~%" -#: guix/scripts/system.scm:239 -#, scheme-format -msgid "unrecognized boot parameters for '~a'~%" -msgstr "paramètres de démarrage non reconus pour \"~a\"~%" +#: guix/scripts/system.scm:402 +msgid "the DAG of services" +msgstr "" -#: guix/scripts/system.scm:330 +#: guix/scripts/system.scm:415 +msgid "the dependency graph of shepherd services" +msgstr "" + +#: guix/scripts/system.scm:436 +#, fuzzy, scheme-format +#| msgid "invalid number: ~a~%" +msgid " file name: ~a~%" +msgstr "nombre non valide: ~a~%" + +#: guix/scripts/system.scm:437 +#, scheme-format +msgid " canonical file name: ~a~%" +msgstr "" + +#. TRANSLATORS: Please preserve the two-space indentation. +#: guix/scripts/system.scm:439 +#, fuzzy, scheme-format +#| msgid "~a: ~a~%" +msgid " label: ~a~%" +msgstr "~a: ~a~%" + +#: guix/scripts/system.scm:440 +#, scheme-format +msgid " root device: ~a~%" +msgstr "" + +#: guix/scripts/system.scm:441 +#, scheme-format +msgid " kernel: ~a~%" +msgstr "" + +#: guix/scripts/system.scm:549 #, scheme-format msgid "initializing operating system under '~a'...~%" msgstr "initialisation du système d'exploitation sous \"~a\"...~%" -#: guix/scripts/system.scm:346 +#: guix/scripts/system.scm:588 +#, fuzzy +#| msgid "" +#| "Usage: guix system [OPTION] ACTION FILE\n" +#| "Build the operating system declared in FILE according to ACTION.\n" msgid "" -"Usage: guix system [OPTION] ACTION FILE\n" +"Usage: guix system [OPTION] ACTION [FILE]\n" "Build the operating system declared in FILE according to ACTION.\n" msgstr "" "Usage: guix system [OPTION] ACTION FICHIER\n" "Compiler le système d'exploitation déclaré dans FICHER en suivant ACTION.\n" -#: guix/scripts/system.scm:349 +#: guix/scripts/system.scm:591 guix/scripts/container.scm:28 msgid "The valid values for ACTION are:\n" msgstr "Les valeurs possibles pour ACTION sont: \n" -#: guix/scripts/system.scm:350 -msgid " - 'reconfigure', switch to a new operating system configuration\n" +#: guix/scripts/system.scm:593 +#, fuzzy +#| msgid " - 'reconfigure', switch to a new operating system configuration\n" +msgid " reconfigure switch to a new operating system configuration\n" msgstr " - 'reconfigure', changer la configuration du système d'exploitation\n" -#: guix/scripts/system.scm:352 -msgid " - 'build', build the operating system without installing anything\n" +#: guix/scripts/system.scm:595 +msgid " list-generations list the system generations\n" +msgstr "" + +#: guix/scripts/system.scm:597 +#, fuzzy +#| msgid " - 'build', build the operating system without installing anything\n" +msgid " build build the operating system without installing anything\n" msgstr " - 'build', compiler le système d'exploitation sans rien installer\n" -#: guix/scripts/system.scm:354 -msgid " - 'vm', build a virtual machine image that shares the host's store\n" +#: guix/scripts/system.scm:599 +#, fuzzy +#| msgid " - 'vm', build a virtual machine image that shares the host's store\n" +msgid " container build a container that shares the host's store\n" msgstr " - 'vm', compiler une machine virtuelle partageant le dépôt de l'hôte\n" -#: guix/scripts/system.scm:356 -msgid " - 'vm-image', build a freestanding virtual machine image\n" +#: guix/scripts/system.scm:601 +#, fuzzy +#| msgid " - 'vm', build a virtual machine image that shares the host's store\n" +msgid " vm build a virtual machine image that shares the host's store\n" +msgstr " - 'vm', compiler une machine virtuelle partageant le dépôt de l'hôte\n" + +#: guix/scripts/system.scm:603 +#, fuzzy +#| msgid " - 'vm-image', build a freestanding virtual machine image\n" +msgid " vm-image build a freestanding virtual machine image\n" msgstr " - 'vm-image', compiler une image autonome de machine virtuelle\n" -#: guix/scripts/system.scm:358 -msgid " - 'disk-image', build a disk image, suitable for a USB stick\n" +#: guix/scripts/system.scm:605 +#, fuzzy +#| msgid " - 'disk-image', build a disk image, suitable for a USB stick\n" +msgid " disk-image build a disk image, suitable for a USB stick\n" msgstr " - 'disk-image', compiler une image disque adaptée pour une clé USB\n" -#: guix/scripts/system.scm:360 -msgid " - 'init', initialize a root file system to run GNU.\n" +#: guix/scripts/system.scm:607 +#, fuzzy +#| msgid " - 'init', initialize a root file system to run GNU.\n" +msgid " init initialize a root file system to run GNU\n" msgstr " - 'init', initialiser un système de fichier racine pour lancer GNU.\n" -#: guix/scripts/system.scm:364 +#: guix/scripts/system.scm:609 +msgid " extension-graph emit the service extension graph in Dot format\n" +msgstr "" + +#: guix/scripts/system.scm:611 +msgid " shepherd-graph emit the graph of shepherd services in Dot format\n" +msgstr "" + +#: guix/scripts/system.scm:615 +#, fuzzy +#| msgid "" +#| "\n" +#| " -d, --derivations return the derivation paths of the given packages" +msgid "" +"\n" +" -d, --derivation return the derivation of the given system" +msgstr "" +"\n" +" -d, --derivations retourner les chemins de dérivation pour les paquets donnés" + +#: guix/scripts/system.scm:617 +#, fuzzy +#| msgid "" +#| "\n" +#| " --with-source=SOURCE\n" +#| " use SOURCE when building the corresponding package" +msgid "" +"\n" +" --on-error=STRATEGY\n" +" apply STRATEGY when an error occurs while reading FILE" +msgstr "" +"\n" +" --with-source=SOURCE\n" +" utiliser la SOURCE donnée pour compiler le paquet correspondant" + +#: guix/scripts/system.scm:620 msgid "" "\n" " --image-size=SIZE for 'vm-image', produce an image of SIZE" @@ -975,7 +1427,7 @@ msgstr "" "\n" " --image-size=TAILLE pour 'vm-image', produire une image de TAILLE" -#: guix/scripts/system.scm:366 +#: guix/scripts/system.scm:622 msgid "" "\n" " --no-grub for 'init', do not install GRUB" @@ -983,7 +1435,19 @@ msgstr "" "\n" " --no-grub pour 'init', ne pas installer GRUB" -#: guix/scripts/system.scm:368 +#: guix/scripts/system.scm:624 +msgid "" +"\n" +" --share=SPEC for 'vm', share host file system according to SPEC" +msgstr "" + +#: guix/scripts/system.scm:626 +msgid "" +"\n" +" --expose=SPEC for 'vm', expose host file system according to SPEC" +msgstr "" + +#: guix/scripts/system.scm:628 msgid "" "\n" " --full-boot for 'vm', make a full boot sequence" @@ -991,66 +1455,285 @@ msgstr "" "\n" " --full-boot pour 'vm', accomplire une séquence complète de démarrage" -#: guix/scripts/system.scm:434 -#, scheme-format -msgid "~a: unknown action~%" -msgstr "~a: action inconnue~%" - -#: guix/scripts/system.scm:451 -#, scheme-format -msgid "wrong number of arguments for action '~a'~%" -msgstr "nombre d'arguments incorrect pour l'action \"~a\"~%" - -#: guix/scripts/system.scm:471 +#: guix/scripts/system.scm:713 #, scheme-format msgid "no configuration file specified~%" msgstr "aucun fichier de configuration spécifié~%" -#: guix/scripts/lint.scm:51 +#: guix/scripts/system.scm:776 #, scheme-format -msgid "~a: ~a: ~a~%" -msgstr "~a: ~a: ~a~%" +msgid "~a: unknown action~%" +msgstr "~a: action inconnue~%" -#: guix/scripts/lint.scm:72 +#: guix/scripts/system.scm:791 +#, scheme-format +msgid "wrong number of arguments for action '~a'~%" +msgstr "nombre d'arguments incorrect pour l'action \"~a\"~%" + +#: guix/scripts/system.scm:796 +#, fuzzy, scheme-format +#| msgid "guix: missing command name~%" +msgid "guix system: missing command name~%" +msgstr "guix: nom de commande manquant~%" + +#: guix/scripts/system.scm:798 +#, fuzzy, scheme-format +#| msgid "Try `guix --help' for more information.~%" +msgid "Try 'guix system --help' for more information.~%" +msgstr "Essayez \"guix --help\" pour plus d'informations.~%" + +#: guix/scripts/lint.scm:127 #, scheme-format msgid "Available checkers:~%" msgstr "Vérificateurs disponibles:~%" -#: guix/scripts/lint.scm:226 +#: guix/scripts/lint.scm:147 +msgid "description should not be empty" +msgstr "" + +#: guix/scripts/lint.scm:157 +msgid "Texinfo markup in description is invalid" +msgstr "" + +#: guix/scripts/lint.scm:165 +msgid "description should start with an upper-case letter or digit" +msgstr "" + +#: guix/scripts/lint.scm:181 +#, scheme-format +msgid "" +"sentences in description should be followed ~\n" +"by two spaces; possible infraction~p at ~{~a~^, ~}" +msgstr "" + +#: guix/scripts/lint.scm:205 +msgid "pkg-config should probably be a native input" +msgstr "" + +#: guix/scripts/lint.scm:220 +msgid "synopsis should not be empty" +msgstr "" + +#: guix/scripts/lint.scm:228 +msgid "no period allowed at the end of the synopsis" +msgstr "" + +#: guix/scripts/lint.scm:240 +msgid "no article allowed at the beginning of the synopsis" +msgstr "" + +#: guix/scripts/lint.scm:247 +msgid "synopsis should be less than 80 characters long" +msgstr "" + +#: guix/scripts/lint.scm:253 +msgid "synopsis should start with an upper-case letter or digit" +msgstr "" + +#: guix/scripts/lint.scm:260 +msgid "synopsis should not start with the package name" +msgstr "" + +#: guix/scripts/lint.scm:354 guix/scripts/lint.scm:366 +#, scheme-format +msgid "URI ~a not reachable: ~a (~s)" +msgstr "" + +#: guix/scripts/lint.scm:373 +#, fuzzy, scheme-format +#| msgid "guix: ~a: command not found~%" +msgid "URI ~a domain not found: ~a" +msgstr "guix: ~a: commande introuvable~%" + +#: guix/scripts/lint.scm:381 +#, scheme-format +msgid "URI ~a unreachable: ~a" +msgstr "" + +#: guix/scripts/lint.scm:407 +#, fuzzy +#| msgid "The valid values for ACTION are:\n" +msgid "invalid value for home page" +msgstr "Les valeurs possibles pour ACTION sont: \n" + +#: guix/scripts/lint.scm:410 +#, fuzzy, scheme-format +#| msgid "" +#| "\n" +#| "~a home page: <~a>" +msgid "invalid home page URL: ~s" +msgstr "" +"\n" +"~a page d'accueil: <~a>" + +#: guix/scripts/lint.scm:430 +msgid "file names of patches should start with the package name" +msgstr "" + +#: guix/scripts/lint.scm:467 +#, scheme-format +msgid "~a: ~a: proposed synopsis: ~s~%" +msgstr "" + +#: guix/scripts/lint.scm:479 +#, scheme-format +msgid "~a: ~a: proposed description:~% \"~a\"~%" +msgstr "" + +#: guix/scripts/lint.scm:516 +msgid "all the source URIs are unreachable:" +msgstr "" + +#: guix/scripts/lint.scm:539 +msgid "the source file name should contain the package name" +msgstr "" + +#: guix/scripts/lint.scm:548 guix/scripts/lint.scm:552 +#, fuzzy, scheme-format +#| msgid "failed to create GC root `~a': ~a~%" +msgid "failed to create derivation: ~a" +msgstr "impossible de créer la racine du GC \"~a\": ~a~%" + +#: guix/scripts/lint.scm:566 +#, fuzzy, scheme-format +#| msgid "failed to read expression ~s: ~s~%" +msgid "failed to create derivation: ~s~%" +msgstr "impossible de lire l'expression ~s: ~s~%" + +#: guix/scripts/lint.scm:576 +msgid "invalid license field" +msgstr "" + +#: guix/scripts/lint.scm:602 +#, scheme-format +msgid "failed to retrieve CVE vulnerabilities from ~s: ~a (~s)~%" +msgstr "" + +#: guix/scripts/lint.scm:607 guix/scripts/lint.scm:615 +#, scheme-format +msgid "assuming no CVE vulnerabilities~%" +msgstr "" + +#: guix/scripts/lint.scm:613 +#, fuzzy, scheme-format +#| msgid "failed to install locale: ~a~%" +msgid "failed to lookup NIST host: ~a~%" +msgstr "impossible d'installer la locale: ~a~%" + +#: guix/scripts/lint.scm:644 +#, scheme-format +msgid "probably vulnerable to ~a" +msgstr "" + +#: guix/scripts/lint.scm:659 +#, scheme-format +msgid "tabulation on line ~a, column ~a" +msgstr "" + +#: guix/scripts/lint.scm:668 +#, scheme-format +msgid "trailing white space on line ~a" +msgstr "" + +#: guix/scripts/lint.scm:678 +#, scheme-format +msgid "line ~a is way too long (~a characters)" +msgstr "" + +#: guix/scripts/lint.scm:689 +#, scheme-format +msgid "line ~a: parentheses feel lonely, move to the previous or next line" +msgstr "" + +#: guix/scripts/lint.scm:744 msgid "Validate package descriptions" msgstr "Validers des descriptions de paquets" -#: guix/scripts/lint.scm:230 +#: guix/scripts/lint.scm:748 +#, fuzzy +#| msgid "Validate package descriptions" +msgid "Validate synopsis & description of GNU packages" +msgstr "Validers des descriptions de paquets" + +#: guix/scripts/lint.scm:752 msgid "Identify inputs that should be native inputs" msgstr "Identifier les entrées qui devraient être natives" -#: guix/scripts/lint.scm:234 -msgid "Validate filenames of patches" +#: guix/scripts/lint.scm:756 +#, fuzzy +#| msgid "Validate filenames of patches" +msgid "Validate file names and availability of patches" msgstr "Valider les noms de patches" -#: guix/scripts/lint.scm:238 -msgid "Validate package synopsis" +#: guix/scripts/lint.scm:760 +#, fuzzy +#| msgid "Validate package synopsis" +msgid "Validate home-page URLs" msgstr "Valider les synopsis de paquets" -#: guix/scripts/lint.scm:257 +#. TRANSLATORS: is the name of a data type and must not be +#. translated. +#: guix/scripts/lint.scm:766 +msgid "Make sure the 'license' field is a or a list thereof" +msgstr "" + +#: guix/scripts/lint.scm:771 +msgid "Validate source URLs" +msgstr "" + +#: guix/scripts/lint.scm:775 +#, fuzzy +#| msgid "Validate filenames of patches" +msgid "Validate file names of sources" +msgstr "Valider les noms de patches" + +#: guix/scripts/lint.scm:779 +msgid "Report failure to compile a package to a derivation" +msgstr "" + +#: guix/scripts/lint.scm:783 +#, fuzzy +#| msgid "Validate package synopsis" +msgid "Validate package synopses" +msgstr "Valider les synopsis de paquets" + +#: guix/scripts/lint.scm:787 +msgid "Check the Common Vulnerabilities and Exposures (CVE) database" +msgstr "" + +#: guix/scripts/lint.scm:792 +msgid "Look for formatting issues in the source" +msgstr "" + +#: guix/scripts/lint.scm:817 +#, fuzzy +#| msgid "" +#| "Usage: guix lint [OPTION]... [PACKAGE]...\n" +#| "Run a set of checkers on the specified package; if none is specified, run the checkers on all packages.\n" msgid "" "Usage: guix lint [OPTION]... [PACKAGE]...\n" -"Run a set of checkers on the specified package; if none is specified, run the checkers on all packages.\n" +"Run a set of checkers on the specified package; if none is specified,\n" +"run the checkers on all packages.\n" msgstr "" "Usage: guix lint [OPTION]... [PAQUET]...\n" "Lancer un ensemble de vérificateurs sur le paquet spécifié; si aucun n'est spécifié, lancer les vérificateurs sur tous les paquets.\n" -#: guix/scripts/lint.scm:259 +#: guix/scripts/lint.scm:820 +#, fuzzy +#| msgid "" +#| "\n" +#| " -c, --checkers=CHECKER1,CHECKER2...\n" +#| " only run the specificed checkers" msgid "" "\n" " -c, --checkers=CHECKER1,CHECKER2...\n" -" only run the specificed checkers" +" only run the specified checkers" msgstr "" "\n" " -c, --checkers=CHECKER1,CHECKER2...\n" " lancer uniquement les vérificateurs spécifiés" -#: guix/scripts/lint.scm:264 +#: guix/scripts/lint.scm:825 msgid "" "\n" " -l, --list-checkers display the list of available lint checkers" @@ -1058,39 +1741,445 @@ msgstr "" "\n" " -l, --list-checkers affiche la liste des vérificateurs disponibles" -#: guix/scripts/lint.scm:283 -#, scheme-format -msgid "~a: invalid checker" +#: guix/scripts/lint.scm:845 +#, fuzzy, scheme-format +#| msgid "~a: invalid checker" +msgid "~a: invalid checker~%" msgstr "~a: vérificateur non valide" -#: guix/gnu-maintenance.scm:373 +#: guix/scripts/publish.scm:52 +#, scheme-format +msgid "" +"Usage: guix publish [OPTION]...\n" +"Publish ~a over HTTP.\n" +msgstr "" + +#: guix/scripts/publish.scm:54 +msgid "" +"\n" +" -p, --port=PORT listen on PORT" +msgstr "" + +#: guix/scripts/publish.scm:56 +#, fuzzy +#| msgid "" +#| "\n" +#| " --references list the references of PATHS" +msgid "" +"\n" +" --listen=HOST listen on the network interface for HOST" +msgstr "" +"\n" +" --references lister les références de CHEMINS" + +#: guix/scripts/publish.scm:58 +msgid "" +"\n" +" -u, --user=USER change privileges to USER as soon as possible" +msgstr "" + +#: guix/scripts/publish.scm:60 +msgid "" +"\n" +" -r, --repl[=PORT] spawn REPL server on PORT" +msgstr "" + +#: guix/scripts/publish.scm:76 +#, fuzzy, scheme-format +#| msgid "download from '~a' failed: ~a, ~s~%" +msgid "lookup of host '~a' failed: ~a~%" +msgstr "le téléchargement depuis '~a' a échoué: ~a, ~s~%" + +#: guix/scripts/publish.scm:100 +#, scheme-format +msgid "lookup of host '~a' returned nothing" +msgstr "" + +#: guix/scripts/publish.scm:342 +#, scheme-format +msgid "user '~a' not found: ~a~%" +msgstr "" + +#: guix/scripts/publish.scm:377 +#, scheme-format +msgid "server running as root; consider using the '--user' option!~%" +msgstr "" + +#: guix/scripts/publish.scm:379 +#, scheme-format +msgid "publishing ~a on ~a, port ~d~%" +msgstr "" + +#: guix/scripts/edit.scm:41 +msgid "" +"Usage: guix edit PACKAGE...\n" +"Start $VISUAL or $EDITOR to edit the definitions of PACKAGE...\n" +msgstr "" + +#: guix/scripts/edit.scm:62 +#, scheme-format +msgid "file '~a' not found in search path ~s~%" +msgstr "" + +#: guix/scripts/edit.scm:83 +#, scheme-format +msgid "source location of package '~a' is unknown~%" +msgstr "" + +#: guix/scripts/edit.scm:96 +#, fuzzy, scheme-format +#| msgid "failed to connect to `~a': ~a~%" +msgid "failed to launch '~a': ~a~%" +msgstr "impossible de se connecter à \"~a\": ~a~%" + +#: guix/scripts/size.scm:75 +#, scheme-format +msgid "no available substitute information for '~a'~%" +msgstr "" + +#: guix/scripts/size.scm:83 +msgid "store item" +msgstr "" + +#: guix/scripts/size.scm:83 +msgid "total" +msgstr "" + +#: guix/scripts/size.scm:83 +msgid "self" +msgstr "" + +#. TRANSLATORS: This is the title of a graph, meaning that the graph +#. represents a profile of the store (the "store" being the place where +#. packages are stored.) +#: guix/scripts/size.scm:204 +msgid "store profile" +msgstr "" + +#: guix/scripts/size.scm:213 +#, fuzzy +#| msgid "" +#| "Usage: guix package [OPTION]... PACKAGES...\n" +#| "Install, remove, or upgrade PACKAGES in a single transaction.\n" +msgid "" +"Usage: guix size [OPTION]... PACKAGE\n" +"Report the size of PACKAGE and its dependencies.\n" +msgstr "" +"Usage: guix package [OPTION]... PAQUETS...\n" +"Installer, supprimer ou mettre à jour les PAQUETS spécifiés en une seule transaction.\n" + +#: guix/scripts/size.scm:218 +#, fuzzy +#| msgid "" +#| "\n" +#| " -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" +msgid "" +"\n" +" -s, --system=SYSTEM consider packages for SYSTEM--e.g., \"i686-linux\"" +msgstr "" +"\n" +" -s, --system=SYSTEME essayer de compiler pour le SYSTEME donné, par exemple \"i686-linux\"" + +#: guix/scripts/size.scm:220 +msgid "" +"\n" +" -m, --map-file=FILE write to FILE a graphical map of disk usage" +msgstr "" + +#: guix/scripts/size.scm:274 +msgid "missing store item argument\n" +msgstr "" + +#: guix/scripts/size.scm:292 +#, fuzzy +#| msgid "wrong arguments" +msgid "too many arguments\n" +msgstr "arguments non valides" + +#: guix/scripts/graph.scm:77 +msgid "the DAG of packages, excluding implicit inputs" +msgstr "" + +#: guix/scripts/graph.scm:133 +msgid "the DAG of packages, including implicit inputs" +msgstr "" + +#: guix/scripts/graph.scm:142 +msgid "the DAG of packages and origins, including implicit inputs" +msgstr "" + +#: guix/scripts/graph.scm:172 +msgid "same as 'bag', but without the bootstrap nodes" +msgstr "" + +#: guix/scripts/graph.scm:217 +msgid "the DAG of derivations" +msgstr "" + +#: guix/scripts/graph.scm:241 +#, scheme-format +msgid "references for '~a' are not known~%" +msgstr "" + +#: guix/scripts/graph.scm:248 +msgid "the DAG of run-time dependencies (store references)" +msgstr "" + +#: guix/scripts/graph.scm:278 +#, fuzzy, scheme-format +#| msgid "~a: unknown action~%" +msgid "~a: unknown node type~%" +msgstr "~a: action inconnue~%" + +#: guix/scripts/graph.scm:282 +#, fuzzy +#| msgid "The valid values for ACTION are:\n" +msgid "The available node types are:\n" +msgstr "Les valeurs possibles pour ACTION sont: \n" + +#. TRANSLATORS: Here 'dot' is the name of a program; it must not be +#. translated. +#: guix/scripts/graph.scm:318 +msgid "" +"Usage: guix graph PACKAGE...\n" +"Emit a Graphviz (dot) representation of the dependencies of PACKAGE...\n" +msgstr "" + +#: guix/scripts/graph.scm:320 +msgid "" +"\n" +" -t, --type=TYPE represent nodes of the given TYPE" +msgstr "" + +#: guix/scripts/graph.scm:322 +#, fuzzy +#| msgid "" +#| "\n" +#| " --list-dead list dead paths" +msgid "" +"\n" +" --list-types list the available graph types" +msgstr "" +"\n" +" --list-dead lister les chemins non valides" + +#: guix/scripts/graph.scm:324 +#, fuzzy +#| msgid "" +#| "\n" +#| " -e, --expression=EXPR build the package or derivation EXPR evaluates to" +msgid "" +"\n" +" -e, --expression=EXPR consider the package EXPR evaluates to" +msgstr "" +"\n" +" -e, --expression=EXPR compiler le paquet ou la dérivation évalué par EXPR" + +#: guix/scripts/challenge.scm:104 +#, fuzzy, scheme-format +#| msgid "substitute at '~a' lacks a signature~%" +msgid "~a: no substitute at '~a'~%" +msgstr "le substitut à \"~a\" requiert une signature~%" + +#: guix/scripts/challenge.scm:120 +#, fuzzy, scheme-format +#| msgid "invalid signature for '~a'~%" +msgid "no substitutes for '~a'~%" +msgstr "signature non valide pour \"~a\"~%" + +#: guix/scripts/challenge.scm:137 guix/scripts/challenge.scm:157 +#, fuzzy, scheme-format +#| msgid "no build log for '~a'~%" +msgid "no local build for '~a'~%" +msgstr "aucun journal de compilation pour \"~a\"~%" + +#: guix/scripts/challenge.scm:154 +#, scheme-format +msgid "~a contents differ:~%" +msgstr "" + +#: guix/scripts/challenge.scm:156 +#, fuzzy, scheme-format +#| msgid "~a: ~a: ~a~%" +msgid " local hash: ~a~%" +msgstr "~a: ~a: ~a~%" + +#: guix/scripts/challenge.scm:161 +#, fuzzy, scheme-format +#| msgid "~a: ~a~%" +msgid " ~50a: ~a~%" +msgstr "~a: ~a~%" + +#: guix/scripts/challenge.scm:165 +#, scheme-format +msgid " ~50a: unavailable~%" +msgstr "" + +#: guix/scripts/challenge.scm:175 +msgid "" +"Usage: guix challenge [PACKAGE...]\n" +"Challenge the substitutes for PACKAGE... provided by one or more servers.\n" +msgstr "" + +#: guix/scripts/challenge.scm:177 +#, fuzzy +#| msgid "" +#| "\n" +#| " --max-silent-time=SECONDS\n" +#| " mark the build as failed after SECONDS of silence" +msgid "" +"\n" +" --substitute-urls=URLS\n" +" compare build results with those at URLS" +msgstr "" +"\n" +" --max-silent-time=N\n" +" marquer la compilation comme ayant échouée après N secondes de silence" + +#: guix/gnu-maintenance.scm:542 +msgid "Updater for GNU packages" +msgstr "" + +#: guix/gnu-maintenance.scm:549 +msgid "Updater for GNOME packages" +msgstr "" + +#: guix/gnu-maintenance.scm:556 +msgid "Updater for X.org packages" +msgstr "" + +#: guix/scripts/container.scm:25 +msgid "" +"Usage: guix container ACTION ARGS...\n" +"Build and manipulate Linux containers.\n" +msgstr "" + +#: guix/scripts/container.scm:30 +msgid " exec execute a command inside of an existing container\n" +msgstr "" + +#: guix/scripts/container.scm:53 +#, fuzzy, scheme-format +#| msgid "guix: missing command name~%" +msgid "guix container: missing action~%" +msgstr "guix: nom de commande manquant~%" + +#: guix/scripts/container.scm:63 +#, scheme-format +msgid "guix container: invalid action~%" +msgstr "" + +#: guix/scripts/container/exec.scm:40 +msgid "" +"Usage: guix container exec PID COMMAND [ARGS...]\n" +"Execute COMMMAND within the container process PID.\n" +msgstr "" + +#: guix/scripts/container/exec.scm:69 +#, fuzzy, scheme-format +#| msgid "~A: extraneous argument~%" +msgid "~a: extraneous argument~%" +msgstr "~A: argument superflu~%" + +#: guix/scripts/container/exec.scm:80 +#, fuzzy, scheme-format +#| msgid "no configuration file specified~%" +msgid "no pid specified~%" +msgstr "aucun fichier de configuration spécifié~%" + +#: guix/scripts/container/exec.scm:83 +#, fuzzy, scheme-format +#| msgid "no configuration file specified~%" +msgid "no command specified~%" +msgstr "aucun fichier de configuration spécifié~%" + +#: guix/scripts/container/exec.scm:86 +#, scheme-format +msgid "no such process ~d~%" +msgstr "" + +#: guix/scripts/container/exec.scm:94 +#, scheme-format +msgid "exec failed with status ~d~%" +msgstr "" + +#: guix/upstream.scm:158 #, scheme-format msgid "signature verification failed for `~a'~%" msgstr "la vérification de la signature a échoué pour \"~a\"~%" -#: guix/gnu-maintenance.scm:375 +#: guix/upstream.scm:160 #, scheme-format msgid "(could be because the public key is not in your keyring)~%" msgstr "(il est possible que la clé publique ne soit pas dans dans votre trousseau)~%" -#: guix/gnu-maintenance.scm:450 +#: guix/upstream.scm:192 +msgid "gz" +msgstr "" + +#: guix/upstream.scm:255 #, scheme-format msgid "~a: could not locate source file" msgstr "~a: le fichier source est introuvable" -#: guix/gnu-maintenance.scm:455 +#: guix/upstream.scm:260 #, scheme-format msgid "~a: ~a: no `version' field in source; skipping~%" msgstr "~a: ~a: aucun champ \"version\" dans la source; ignoré~%" -#: guix/ui.scm:135 +#: guix/ui.scm:236 +msgid "entering debugger; type ',bt' for a backtrace\n" +msgstr "" + +#: guix/ui.scm:252 guix/ui.scm:269 +#, fuzzy, scheme-format +#| msgid "failed to connect to `~a': ~a~%" +msgid "failed to load '~a': ~a~%" +msgstr "impossible de se connecter à \"~a\": ~a~%" + +#: guix/ui.scm:255 +#, fuzzy, scheme-format +#| msgid "~a: ~a: ~a~%" +msgid "~a: error: ~a~%" +msgstr "~a: ~a: ~a~%" + +#: guix/ui.scm:258 guix/ui.scm:512 +#, scheme-format +msgid "exception thrown: ~s~%" +msgstr "" + +#: guix/ui.scm:260 guix/ui.scm:278 +#, fuzzy, scheme-format +#| msgid "failed to install locale: ~a~%" +msgid "failed to load '~a':~%" +msgstr "impossible d'installer la locale: ~a~%" + +#: guix/ui.scm:272 +#, fuzzy, scheme-format +#| msgid "~a: ~a: ~a~%" +msgid "~a: warning: ~a~%" +msgstr "~a: ~a: ~a~%" + +#: guix/ui.scm:275 +#, fuzzy, scheme-format +#| msgid "failed to read expression ~s: ~s~%" +msgid "failed to load '~a': exception thrown: ~s~%" +msgstr "impossible de lire l'expression ~s: ~s~%" + +#: guix/ui.scm:287 #, scheme-format msgid "failed to install locale: ~a~%" msgstr "impossible d'installer la locale: ~a~%" -#: guix/ui.scm:154 +#: guix/ui.scm:306 +#, fuzzy +#| msgid "" +#| "Copyright (C) 2014 the Guix authors\n" +#| "License GPLv3+: GNU GPL version 3 or later \n" +#| "This is free software: you are free to change and redistribute it.\n" +#| "There is NO WARRANTY, to the extent permitted by law.\n" msgid "" -"Copyright (C) 2014 the Guix authors\n" +"Copyright (C) 2016 the Guix authors\n" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -1100,7 +2189,7 @@ msgstr "" "Ceci est un logiciel libre: vous êtes libre de le modifier et de le redistribuer.\n" "Il n'y a AUCUNE GARANTIE, dans la limite de ce qui est autorisé par la loi.\n" -#: guix/ui.scm:162 +#: guix/ui.scm:314 #, scheme-format msgid "" "\n" @@ -1109,7 +2198,7 @@ msgstr "" "\n" "Signalez toute anomalie à : ~a." -#: guix/ui.scm:164 +#: guix/ui.scm:316 #, scheme-format msgid "" "\n" @@ -1118,7 +2207,7 @@ msgstr "" "\n" "~a page d'accueil: <~a>" -#: guix/ui.scm:166 +#: guix/ui.scm:318 msgid "" "\n" "General help using GNU software: " @@ -1126,160 +2215,228 @@ msgstr "" "\n" "Aide générale sur l'utilisation des logiciels GNU: " -#: guix/ui.scm:173 +#: guix/ui.scm:363 +#, fuzzy, scheme-format +#| msgid "signature is not a valid s-expression: ~s~%" +msgid "'~a' is not a valid regular expression: ~a~%" +msgstr "la signature n'est pas une s-expression valide: ~s~%" + +#: guix/ui.scm:369 #, scheme-format msgid "~a: invalid number~%" msgstr "~a: nombre non valide~%" -#: guix/ui.scm:190 +#: guix/ui.scm:386 #, scheme-format msgid "invalid number: ~a~%" msgstr "nombre non valide: ~a~%" -#: guix/ui.scm:213 +#: guix/ui.scm:409 #, scheme-format msgid "unknown unit: ~a~%" msgstr "unité inconnue: ~a~%" -#: guix/ui.scm:224 +#: guix/ui.scm:420 #, scheme-format msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%" msgstr "~a:~a:~a: le paquet \"~a\" a une entrée non valide: ~s~%" -#: guix/ui.scm:231 +#: guix/ui.scm:427 #, scheme-format msgid "~a: ~a: build system `~a' does not support cross builds~%" msgstr "~a: ~a: le système de compilation \"~a\" ne supporte pas la compilation croisée~%" -#: guix/ui.scm:236 +#: guix/ui.scm:432 #, scheme-format msgid "profile '~a' does not exist~%" msgstr "le profile \"~a\" n'existe pas~%" -#: guix/ui.scm:239 +#: guix/ui.scm:435 #, scheme-format msgid "generation ~a of profile '~a' does not exist~%" msgstr "la génération ~a du profile \"~a\" n'existe pas~%" -#: guix/ui.scm:243 +#: guix/ui.scm:442 +#, scheme-format +msgid "corrupt input while restoring '~a' from ~s~%" +msgstr "" + +#: guix/ui.scm:444 +#, fuzzy, scheme-format +#| msgid "corrupt file set archive" +msgid "corrupt input while restoring archive from ~s~%" +msgstr "archive corrompue" + +#: guix/ui.scm:447 #, scheme-format msgid "failed to connect to `~a': ~a~%" msgstr "impossible de se connecter à \"~a\": ~a~%" -#: guix/ui.scm:248 +#: guix/ui.scm:452 #, scheme-format msgid "build failed: ~a~%" msgstr "la compilation a échoué: ~a~%" -#: guix/ui.scm:277 +#: guix/ui.scm:455 +#, scheme-format +msgid "reference to invalid output '~a' of derivation '~a'~%" +msgstr "" + +#: guix/ui.scm:466 +#, scheme-format +msgid "~a: ~a~%" +msgstr "~a: ~a~%" + +#: guix/ui.scm:501 #, scheme-format msgid "failed to read expression ~s: ~s~%" msgstr "impossible de lire l'expression ~s: ~s~%" -#: guix/ui.scm:283 -#, scheme-format -msgid "failed to evaluate expression `~a': ~s~%" +#: guix/ui.scm:507 +#, fuzzy, scheme-format +#| msgid "failed to evaluate expression `~a': ~s~%" +msgid "failed to evaluate expression '~a':~%" msgstr "impossible d'évaluer l'expression `~a': ~s~%" -#: guix/ui.scm:292 +#: guix/ui.scm:510 +#, fuzzy, scheme-format +#| msgid "host name lookup error: ~a~%" +msgid "syntax error: ~a~%" +msgstr "erreur lors de la consultation du nom d'hôte: ~a~%" + +#: guix/ui.scm:524 #, scheme-format msgid "expression ~s does not evaluate to a package~%" msgstr "l'expression ~s ne correspond à aucun paquet~%" -#: guix/ui.scm:339 +#: guix/ui.scm:586 #, scheme-format msgid "~:[The following derivation would be built:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following derivations would be built:~%~{ ~a~%~}~;~]" msgstr[0] "~:[La dérivation suivante serait compilée:~%~{ ~a~%~}~;~]" msgstr[1] "~:[Les dérivations suivantes seraient compilées:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:344 +#: guix/ui.scm:591 #, scheme-format msgid "~:[The following file would be downloaded:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following files would be downloaded:~%~{ ~a~%~}~;~]" msgstr[0] "~:[Le fichier suivant serait téléchargé:~%~{ ~a~%~}~;~]" msgstr[1] "~:[Les fichiers suivants seraient téléchargés:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:350 +#: guix/ui.scm:597 #, scheme-format msgid "~:[The following derivation will be built:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following derivations will be built:~%~{ ~a~%~}~;~]" msgstr[0] "~:[La dérivation suivante sera compilée:~%~{ ~a~%~}~;~]" msgstr[1] "~:[Les dérivations suivantes seront compilées:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:355 +#: guix/ui.scm:602 #, scheme-format msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" msgstr[0] "~:[Le fichier suivant sera téléchargé:~%~{ ~a~%~}~;~]" msgstr[1] "~:[Les fichiers suivants seront téléchargés:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:407 +#: guix/ui.scm:657 #, scheme-format msgid "The following package would be removed:~%~{~a~%~}~%" msgid_plural "The following packages would be removed:~%~{~a~%~}~%" msgstr[0] "Le paquet suivant serait supprimé:~%~{~a~%~}~%" msgstr[1] "Les paquets suivants seraient supprimés:~%~{~a~%~}~%" -#: guix/ui.scm:412 +#: guix/ui.scm:662 #, scheme-format msgid "The following package will be removed:~%~{~a~%~}~%" msgid_plural "The following packages will be removed:~%~{~a~%~}~%" msgstr[0] "Le paquet suivant sera supprimé:~%~{~a~%~}~%" msgstr[1] "Les paquets suivants seront supprimés:~%~{~a~%~}~%" -#: guix/ui.scm:425 +#: guix/ui.scm:675 +#, fuzzy, scheme-format +#| msgid "The following package would be upgraded:~%~{~a~%~}~%" +#| msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" +msgid "The following package would be downgraded:~%~{~a~%~}~%" +msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%" +msgstr[0] "Le paquet suivant serait mis à jour:~%~{~a~%~}~%" +msgstr[1] "Les paquets suivants seraient mis à jour:~%~{~a~%~}~%" + +#: guix/ui.scm:680 +#, fuzzy, scheme-format +#| msgid "The following package will be upgraded:~%~{~a~%~}~%" +#| msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" +msgid "The following package will be downgraded:~%~{~a~%~}~%" +msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%" +msgstr[0] "Le paquet suivant sera mis à jour:~%~{~a~%~}~%" +msgstr[1] "Les paquets suivants seront mis à jour:~%~{~a~%~}~%" + +#: guix/ui.scm:693 #, scheme-format msgid "The following package would be upgraded:~%~{~a~%~}~%" msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" msgstr[0] "Le paquet suivant serait mis à jour:~%~{~a~%~}~%" msgstr[1] "Les paquets suivants seraient mis à jour:~%~{~a~%~}~%" -#: guix/ui.scm:430 +#: guix/ui.scm:698 #, scheme-format msgid "The following package will be upgraded:~%~{~a~%~}~%" msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" msgstr[0] "Le paquet suivant sera mis à jour:~%~{~a~%~}~%" msgstr[1] "Les paquets suivants seront mis à jour:~%~{~a~%~}~%" -#: guix/ui.scm:441 +#: guix/ui.scm:709 #, scheme-format msgid "The following package would be installed:~%~{~a~%~}~%" msgid_plural "The following packages would be installed:~%~{~a~%~}~%" msgstr[0] "Le paquet suivant serait installé:~%~{~a~%~}~%" msgstr[1] "Les paquets suivants seraient installés:~%~{~a~%~}~%" -#: guix/ui.scm:446 +#: guix/ui.scm:714 #, scheme-format msgid "The following package will be installed:~%~{~a~%~}~%" msgid_plural "The following packages will be installed:~%~{~a~%~}~%" msgstr[0] "Le paquet suivant sera installé:~%~{~a~%~}~%" msgstr[1] "Les paquets suivants seront installés:~%~{~a~%~}~%" -#: guix/ui.scm:463 +#: guix/ui.scm:731 msgid "" msgstr "" -#: guix/ui.scm:489 +#: guix/ui.scm:750 #, scheme-format msgid "failed to create configuration directory `~a': ~a~%" msgstr "impossible de créer le répertoire de configuration \"~a\": ~a~%" -#: guix/ui.scm:589 guix/ui.scm:603 +#: guix/ui.scm:869 guix/ui.scm:883 msgid "unknown" msgstr "inconnu" -#: guix/ui.scm:712 +#: guix/ui.scm:1033 #, scheme-format -msgid "invalid argument: ~a~%" -msgstr "argument non valide: ~a~%" +msgid "Generation ~a\t~a" +msgstr "Génération ~a\t~a" -#: guix/ui.scm:717 +#: guix/ui.scm:1040 +#, scheme-format +msgid "~a\t(current)~%" +msgstr "~a\t(actuel)~%" + +#: guix/ui.scm:1057 +#, fuzzy, scheme-format +#| msgid "switching from generation ~a to ~a~%" +msgid "switched from generation ~a to ~a~%" +msgstr "passage de la génération ~a à ~a~%" + +#: guix/ui.scm:1073 +#, scheme-format +msgid "deleting ~a~%" +msgstr "suppression de ~a~%" + +#: guix/ui.scm:1121 #, scheme-format msgid "Try `guix --help' for more information.~%" msgstr "Essayez \"guix --help\" pour plus d'informations.~%" -#: guix/ui.scm:747 +#: guix/ui.scm:1148 msgid "" "Usage: guix COMMAND ARGS...\n" "Run COMMAND with ARGS.\n" @@ -1287,41 +2444,31 @@ msgstr "" "Usage: guix COMMANDE ARGS...\n" "Lance la COMMANDE avec les arguments ARGS.\n" -#: guix/ui.scm:750 +#: guix/ui.scm:1151 msgid "COMMAND must be one of the sub-commands listed below:\n" msgstr "COMMANDE doit être une des sous-commandes listées ci-dessous:\n" -#: guix/ui.scm:770 +#: guix/ui.scm:1171 #, scheme-format msgid "guix: ~a: command not found~%" msgstr "guix: ~a: commande introuvable~%" -#: guix/ui.scm:788 +#: guix/ui.scm:1188 #, scheme-format msgid "guix: missing command name~%" msgstr "guix: nom de commande manquant~%" -#: guix/ui.scm:796 +#: guix/ui.scm:1196 #, scheme-format msgid "guix: unrecognized option '~a'~%" msgstr "guix: option \"~a\" non reconnue ~%" -#: guix/http-client.scm:217 -#, scheme-format -msgid "using Guile ~a, which does not support ~s encoding~%" -msgstr "utilisation de Guile ~a, qui ne supporte pas l'encodage ~s~%" - -#: guix/http-client.scm:220 -#, scheme-format -msgid "download failed; use a newer Guile~%" -msgstr "le téléchargement a échoué; veuillez utiliser une version plus récente de Guile~%" - -#: guix/http-client.scm:232 +#: guix/http-client.scm:261 #, scheme-format msgid "following redirection to `~a'...~%" msgstr "redirection vers \"~a\"...~%" -#: guix/http-client.scm:241 +#: guix/http-client.scm:270 msgid "download failed" msgstr "le téléchargement a échoué" @@ -1354,15 +2501,182 @@ msgstr "archive corrompue" msgid "importing file or directory '~a'...~%" msgstr "import du fichier ou répertoire \"~a\"...~%" -#: guix/nar.scm:220 +#: guix/nar.scm:222 #, scheme-format msgid "found valid signature for '~a'~%" msgstr "signature valide trouvée pour \"~a\"~%" -#: guix/nar.scm:227 +#: guix/nar.scm:229 msgid "imported file lacks a signature" msgstr "les fichiers importés requièrent une signature" -#: guix/nar.scm:266 +#: guix/nar.scm:268 msgid "invalid inter-file archive mark" msgstr "marque d'archive inter-fichier non valide" + +#: nix/nix-daemon/guix-daemon.cc:61 +msgid "guix-daemon -- perform derivation builds and store accesses" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:63 +msgid "This program is a daemon meant to run in the background. It serves requests sent over a Unix-domain socket. It accesses the store, and builds derivations on behalf of its clients." +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:87 +msgid "SYSTEM" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:88 +msgid "assume SYSTEM as the current system type" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:89 nix/nix-daemon/guix-daemon.cc:92 +msgid "N" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:90 +msgid "use N CPU cores to build each derivation; 0 means as many as available" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:93 +msgid "allow at most N build jobs" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:95 +msgid "disable chroot builds" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:96 +msgid "DIR" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:97 +msgid "add DIR to the build chroot" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:98 +msgid "GROUP" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:99 +msgid "perform builds as a user of GROUP" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:101 +msgid "do not use substitutes" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:102 +msgid "URLS" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:103 +msgid "use URLS as the default list of substitute providers" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:105 +msgid "do not use the 'build hook'" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:107 +msgid "cache build failures" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:109 +msgid "build each derivation N times in a row" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:111 +msgid "do not keep build logs" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:113 +msgid "disable compression of the build logs" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:118 +msgid "disable automatic file \"deduplication\" in the store" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:128 +msgid "impersonate Linux 2.6" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:132 +msgid "tell whether the GC must keep outputs of live derivations" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:135 +msgid "tell whether the GC must keep derivations corresponding to live outputs" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:138 +msgid "SOCKET" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:139 +msgid "listen for connections on SOCKET" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:141 +msgid "produce debugging output" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:201 +#, c-format +msgid "error: %s: invalid number of rounds\n" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:220 nix/nix-daemon/guix-daemon.cc:396 +#, c-format +msgid "error: %s\n" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:281 +#, c-format +msgid "error: libgcrypt version mismatch\n" +msgstr "" + +#: nix/nix-daemon/guix-daemon.cc:372 +#, c-format +msgid "warning: daemon is running as root, so using `--build-users-group' is highly recommended\n" +msgstr "" + +#~ msgid "looking for the latest release of GNU ~a..." +#~ msgstr "recherche de la dernière version de GNU ~a..." + +#~ msgid "~a: note: using ~a but ~a is available upstream~%" +#~ msgstr "~a: note: utilisation de ~a mais ~a est disponible en amont" + +#~ msgid "~a: not a number~%" +#~ msgstr "~a: pas un nombre~%" + +#~ msgid "sources do not match any package:~{ ~a~}~%" +#~ msgstr "les sources ne correspondent à aucun paquet:~{ ~a~}~%" + +#~ msgid "failed to build the empty profile~%" +#~ msgstr "échec de la compilation du profil vide~%" + +#~ msgid "nothing to do: already at the empty profile~%" +#~ msgstr "aucune action à faire: profil courant vide" + +#~ msgid "Downloading, please wait...~%" +#~ msgstr "Téléchargement en cours..." + +#~ msgid "(Please consider upgrading Guile to get proper progress report.)~%" +#~ msgstr "(Veuillez mettre Guile à jour pour obtenir le rapport de progression approprié.)~%" + +#~ msgid "these substitute URLs will not be used:~{ ~a~}~%" +#~ msgstr "ces URL de substitution ne seront pas utilisées:~{ ~a~}~%" + +#~ msgid "failed to look up host '~a' (~a), substituter disabled~%" +#~ msgstr "impossible de trouver l'hôte \"~a\" (~a), substitution désactivée~%" + +#~ msgid "failed to open operating system file '~a': ~a~%" +#~ msgstr "impossible d'ouvrir le fichier du système d'exploitation \"~a\": ~a~%" + +#~ msgid "using Guile ~a, which does not support ~s encoding~%" +#~ msgstr "utilisation de Guile ~a, qui ne supporte pas l'encodage ~s~%" + +#~ msgid "download failed; use a newer Guile~%" +#~ msgstr "le téléchargement a échoué; veuillez utiliser une version plus récente de Guile~%" From 8ac6282c4b97ece43b922a8c1a99a0a8e753c765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 26 Jun 2016 15:27:34 +0200 Subject: [PATCH 108/435] doc: Augment mcron example. Suggested by Danny Milosavljevic. * doc/guix.texi (Scheduled Job Execution): Add unprivileged job example, and show the use of thunks as job actions and gexps. --- doc/guix.texi | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 9e3806c845..7204f2e939 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7507,27 +7507,45 @@ Unix @command{cron} daemon; the main difference is that it is implemented in Guile Scheme, which provides a lot of flexibility when specifying the scheduling of jobs and their actions. -For example, to define an operating system that runs the +The example below defines an operating system that runs the @command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files}) -and the @command{guix gc} commands (@pxref{Invoking guix gc}) daily: +and the @command{guix gc} commands (@pxref{Invoking guix gc}) daily, as +well as the @command{mkid} command on behalf of an unprivileged user +(@pxref{mkid invocation,,, idutils, ID Database Utilities}). It uses +gexps to introduce job definitions that are passed to mcron +(@pxref{G-Expressions}). @lisp (use-modules (guix) (gnu) (gnu services mcron)) +(use-package-modules base idutils) (define updatedb-job - ;; Run 'updatedb' at 3 AM every day. + ;; Run 'updatedb' at 3AM every day. Here we write the + ;; job's action as a Scheme procedure. #~(job '(next-hour '(3)) - "updatedb --prunepaths='/tmp /var/tmp /gnu/store'")) + (lambda () + (execl (string-append #$findutils "/bin/updatedb") + "updatedb" + "--prunepaths=/tmp /var/tmp /gnu/store")))) (define garbage-collector-job ;; Collect garbage 5 minutes after midnight every day. + ;; The job's action is a shell command. #~(job "5 0 * * *" ;Vixie cron syntax "guix gc -F 1G")) +(define idutils-jobs + ;; Update the index database as user "charlie" at 12:15PM + ;; and 19:15PM. This runs from the user's home directory. + #~(job '(next-minute-from (next-hour '(12 19)) '(15)) + (string-append #$idutils "/bin/mkid src") + #:user "charlie")) + (operating-system ;; @dots{} (services (cons (mcron-service (list garbage-collector-job - updatedb-job)) + updatedb-job + idutils-job)) %base-services))) @end lisp From 9dd674db017dbdc451cfd35da2dc3ce08db0726a Mon Sep 17 00:00:00 2001 From: David Craven Date: Thu, 23 Jun 2016 19:44:38 +0200 Subject: [PATCH 109/435] daemon: Rename 'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Partly fixes . Reported by Jeff Mickey and David Craven . * nix/libstore/globals.cc (Settings::processEnvironment()): Change 'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'. * nix/local.mk (libstore_a_CPPFLAGS): Likewise. * guix/config.scm.in (%config-directory): Likewise. * build-aux/test-env.in: Likewise. * gnu/packages/patches/hydra-automake-1.15.patch: Likewise. Signed-off-by: Ludovic Courtès --- build-aux/test-env.in | 12 ++++++------ gnu/packages/patches/hydra-automake-1.15.patch | 4 ++-- guix/config.scm.in | 4 ++-- nix/libstore/globals.cc | 2 +- nix/local.mk | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/build-aux/test-env.in b/build-aux/test-env.in index c153763a56..1657556b19 100644 --- a/build-aux/test-env.in +++ b/build-aux/test-env.in @@ -69,16 +69,16 @@ then fi # The configuration directory, for import/export signing keys. - NIX_CONF_DIR="@GUIX_TEST_ROOT@/etc" - if [ ! -d "$NIX_CONF_DIR" ] + GUIX_CONFIGURATION_DIRECTORY="@GUIX_TEST_ROOT@/etc" + if [ ! -d "$GUIX_CONFIGURATION_DIRECTORY" ] then # Copy the keys so that the secret key has the right permissions (the # daemon errors out when this is not the case.) - mkdir -p "$NIX_CONF_DIR" + mkdir -p "$GUIX_CONFIGURATION_DIRECTORY" cp "@abs_top_srcdir@/tests/signing-key.sec" \ "@abs_top_srcdir@/tests/signing-key.pub" \ - "$NIX_CONF_DIR" - chmod 400 "$NIX_CONF_DIR/signing-key.sec" + "$GUIX_CONFIGURATION_DIRECTORY" + chmod 400 "$GUIX_CONFIGURATION_DIRECTORY/signing-key.sec" fi # A place to store data of the substituter. @@ -100,7 +100,7 @@ then NIX_LOCALSTATE_DIR NIX_LOG_DIR NIX_STATE_DIR NIX_DB_DIR \ NIX_ROOT_FINDER GUIX_BINARY_SUBSTITUTE_URL \ GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \ - NIX_CONF_DIR XDG_CACHE_HOME NIXPKGS + GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME NIXPKGS # Launch the daemon without chroot support because is may be # unavailable, for instance if we're not running as root. diff --git a/gnu/packages/patches/hydra-automake-1.15.patch b/gnu/packages/patches/hydra-automake-1.15.patch index 0d8fa98519..91c7b9202b 100644 --- a/gnu/packages/patches/hydra-automake-1.15.patch +++ b/gnu/packages/patches/hydra-automake-1.15.patch @@ -23,7 +23,7 @@ Automake's parallel test harness. - HYDRA_HOME="$(top_srcdir)/src" \ - HYDRA_CONFIG= \ - NIX_REMOTE= \ -- NIX_CONF_DIR="$(abs_builddir)/nix/etc/nix" \ +- GUIX_CONFIGURATION_DIRECTORY="$(abs_builddir)/nix/etc/nix" \ - NIX_STATE_DIR="$(abs_builddir)/nix/var/nix" \ - NIX_MANIFESTS_DIR="$(abs_builddir)/nix/var/nix/manifests" \ - NIX_STORE_DIR="$(abs_builddir)/nix/store" \ @@ -39,7 +39,7 @@ Automake's parallel test harness. + HYDRA_HOME="$(top_srcdir)/src"; export HYDRA_HOME; \ + HYDRA_CONFIG=; export HYDRA_CONFIG; \ + NIX_REMOTE=; export NIX_REMOTE; \ -+ NIX_CONF_DIR="$(abs_builddir)/nix/etc/nix"; export NIX_CONF_DIR; \ ++ GUIX_CONFIGURATION_DIRECTORY="$(abs_builddir)/nix/etc/nix"; export GUIX_CONFIGURATION_DIRECTORY; \ + NIX_STATE_DIR="$(abs_builddir)/nix/var/nix"; export NIX_STATE_DIR; \ + NIX_MANIFESTS_DIR="$(abs_builddir)/nix/var/nix/manifests"; export NIX_MANIFESTS_DIR; \ + NIX_STORE_DIR="$(abs_builddir)/nix/store"; export NIX_STORE_DIR; \ diff --git a/guix/config.scm.in b/guix/config.scm.in index d7df9f7d2b..adffa0cfec 100644 --- a/guix/config.scm.in +++ b/guix/config.scm.in @@ -59,8 +59,8 @@ (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix")) (define %config-directory - ;; This must match `NIX_CONF_DIR' as defined in `nix/local.mk'. - (or (getenv "NIX_CONF_DIR") "@guix_sysconfdir@/guix")) + ;; This must match `GUIX_CONFIGURATION_DIRECTORY' as defined in `nix/local.mk'. + (or (getenv "GUIX_CONFIGURATION_DIRECTORY") "@guix_sysconfdir@/guix")) (define %guix-register-program ;; The 'guix-register' program. diff --git a/nix/libstore/globals.cc b/nix/libstore/globals.cc index 84fc885eba..65dad24d91 100644 --- a/nix/libstore/globals.cc +++ b/nix/libstore/globals.cc @@ -67,7 +67,7 @@ void Settings::processEnvironment() nixLogDir = canonPath(getEnv("NIX_LOG_DIR", NIX_LOG_DIR)); nixStateDir = canonPath(getEnv("NIX_STATE_DIR", NIX_STATE_DIR)); nixDBPath = getEnv("NIX_DB_DIR", nixStateDir + "/db"); - nixConfDir = canonPath(getEnv("NIX_CONF_DIR", NIX_CONF_DIR)); + nixConfDir = canonPath(getEnv("GUIX_CONFIGURATION_DIRECTORY", GUIX_CONFIGURATION_DIRECTORY)); nixLibexecDir = canonPath(getEnv("NIX_LIBEXEC_DIR", NIX_LIBEXEC_DIR)); nixBinDir = canonPath(getEnv("NIX_BIN_DIR", NIX_BIN_DIR)); nixDaemonSocketFile = canonPath(nixStateDir + DEFAULT_SOCKET_PATH); diff --git a/nix/local.mk b/nix/local.mk index 07a92f74ea..b0e9bc1a2b 100644 --- a/nix/local.mk +++ b/nix/local.mk @@ -106,7 +106,7 @@ libstore_a_CPPFLAGS = \ -DNIX_DATA_DIR=\"$(datadir)\" \ -DNIX_STATE_DIR=\"$(localstatedir)/guix\" \ -DNIX_LOG_DIR=\"$(localstatedir)/log/guix\" \ - -DNIX_CONF_DIR=\"$(sysconfdir)/guix\" \ + -DGUIX_CONFIGURATION_DIRECTORY=\"$(sysconfdir)/guix\" \ -DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \ -DNIX_BIN_DIR=\"$(bindir)\" \ -DOPENSSL_PATH="\"guix-authenticate\"" \ From 763a8e6e235cf464306214349dad21979f2645f0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:46:25 +0300 Subject: [PATCH 110/435] gnu: qtbase: Don't propagate mesa. * gnu/packages/qt.scm (qtbase)[propagated-inputs]: Move mesa ... [inputs]: ... to here. (qtsvg)[propagated-inputs]: No need to clear propagated-inputs. --- gnu/packages/qt.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index cab1f30db5..2187b5be1e 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -322,8 +322,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") ;; passing "-system-sqlite". (delete-file-recursively "src/3rdparty/sqlite"))))) (build-system gnu-build-system) - (propagated-inputs - `(("mesa" ,mesa))) (inputs `(("alsa-lib" ,alsa-lib) ("cups" ,cups) @@ -349,6 +347,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("libxrender" ,libxrender) ("libxslt" ,libxslt) ("libxtst" ,libxtst) + ("mesa" ,mesa) ("mtdev" ,mtdev) ("mysql" ,mysql) ("nss" ,nss) @@ -445,7 +444,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") (sha256 (base32 "08ca5g46g75acy27jfnvnalmcias5hxmjp7491v3y4k9y7a4ybpi")))) - (propagated-inputs `()) (native-inputs `(("perl" ,perl))) (inputs `(("mesa" ,mesa) From f66970a7ed8d1c32cd0b4e3d8134919b219c2f42 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 19:54:59 +0300 Subject: [PATCH 111/435] gnu: qtbase: Add eudev and libinput support. * gnu/packages/qt.scm (qtbase)[inputs]: Add eudev, libinput. --- gnu/packages/qt.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 2187b5be1e..f7b72bcde8 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -326,12 +326,14 @@ developers using C++ or QML, a CSS & JavaScript like language.") `(("alsa-lib" ,alsa-lib) ("cups" ,cups) ("dbus" ,dbus) + ("eudev" ,eudev) ("expat" ,expat) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glib" ,glib) ("harfbuzz" ,harfbuzz) ("icu4c" ,icu4c) + ("libinput" ,libinput) ("libjpeg" ,libjpeg) ("libmng" ,libmng) ("libpng" ,libpng) From c7386f4e0cd079ea401b2dce64b82f55ace6f337 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:47:23 +0300 Subject: [PATCH 112/435] gnu: qtbase: Update to 5.6.1-1. * gnu/packages/qt.scm (qtbase): Update to 5.6.1-1. --- gnu/packages/qt.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index f7b72bcde8..90017d857a 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -302,7 +302,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtbase (package (name "qtbase") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -310,8 +310,8 @@ developers using C++ or QML, a CSS & JavaScript like language.") "/submodules/" name "-opensource-src-" version ".tar.xz")) (sha256 - (base32 - "0r3jrqymnnxrig4f11xvs33c26f0kzfakbp3kcbdpv795gpc276h")) + (base32 + "0fbwprlhqmdyhh2wb9122fcpq7pbil530iak482b9sy5gqs7i5ij")) (modules '((guix build utils))) (snippet '(begin From 7de7d8a6397fa7fed8d3816edbdd6baff72188d7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:48:15 +0300 Subject: [PATCH 113/435] gnu: qtsvg: Update to 5.6.1-1. * gnu/packages/qt.scm (qtsvg): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 90017d857a..fd95eee1ef 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -436,7 +436,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtsvg (package (inherit qtbase) (name "qtsvg") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -445,7 +445,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "08ca5g46g75acy27jfnvnalmcias5hxmjp7491v3y4k9y7a4ybpi")))) + "1w0jvhgaiddafcms2nv8wl1klg07lncmjwm1zhdw3l6rxi9071sw")))) (native-inputs `(("perl" ,perl))) (inputs `(("mesa" ,mesa) From 1c16029b7fa55475815a3ab647886b5095adee59 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:49:05 +0300 Subject: [PATCH 114/435] gnu: qtimageformats: Update to 5.6.1-1. * gnu/packages/qt.scm (qtimageformats): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index fd95eee1ef..992e72c02e 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -469,7 +469,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtimageformats (package (inherit qtsvg) (name "qtimageformats") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -478,7 +478,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "020v1148433zx4g87z2r8fgff32n0laajxqqsja1l3yzz7jbrwvl")))) + "1p98acvsm3azka2by1ph4gdb31qbnndrr5k5wns4xk2d760y8ifc")))) (native-inputs `()) (inputs `(("libmng" ,libmng) From 0835e228164b36f517261a55698aad5032a2c4bf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:49:59 +0300 Subject: [PATCH 115/435] gnu: qtx11extras: Update to 5.6.1-1. * gnu/packages/qt.scm (qtx11extras): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 992e72c02e..4089872303 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -491,7 +491,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtx11extras (package (inherit qtsvg) (name "qtx11extras") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -500,7 +500,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "0l736qiz8adrnh267xz63hv4sph6nhy90h836qfnnmv3p78ipsz8")))) + "0yj5yg2dqkrwbgbicmk2rpqsagmi8dsffkrprpsj0fmkx4awhv5y")))) (native-inputs `(("perl" ,perl))) (inputs `(("mesa" ,mesa) From d547a1970d0aefffa1114909d1ac746ace5ac3c4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:50:49 +0300 Subject: [PATCH 116/435] gnu: qtxmlpatterns: Update to 5.6.1-1. * gnu/packages/qt.scm (qtxmlpatterns): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 4089872303..5c7d7bf924 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -509,7 +509,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtxmlpatterns (package (inherit qtsvg) (name "qtxmlpatterns") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -518,7 +518,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "0q412jv3xbg7v05b8pbahifwx17gzlp96s90akh6zwhpm8i6xx34")))) + "1966rrk7f6c55k57j33rffdjs77kk4mawrnnl8yv1ckcirxc3np1")))) (native-inputs `(("perl" ,perl))) (inputs `(("qtbase" ,qtbase))))) From f3a3210cfd6d39f49bd56edc61b8cc8279b415b7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:51:52 +0300 Subject: [PATCH 117/435] gnu: qtdeclarative: Update to 5.6.1-1. * gnu/packages/qt.scm (qtdeclarative): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 5c7d7bf924..8516abdd8c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -525,7 +525,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtdeclarative (package (inherit qtsvg) (name "qtdeclarative") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -534,7 +534,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "1d2217kxk85kpi7ls08b41hqzy26hvch8m4cgzq6km5sqi5zvz0j")))) + "094gx5mzqzcga97y7ihf052b6i5iv512lh7m0702m5q94nsn1pqw")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) From 4254b206b464b7b1e940eb19163ae2df90321b14 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:53:13 +0300 Subject: [PATCH 118/435] gnu: qtconnectivity: Update to 5.6.1-1. * gnu/packages/qt.scm (qtconnectivity): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 8516abdd8c..ce576e3bf7 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -548,7 +548,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtconnectivity (package (inherit qtsvg) (name "qtconnectivity") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -557,7 +557,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "06fr9321f52kf0nda9zjjfzp5694hbnx0y0v315iw28mnpvandas")))) + "0sr6sxp0q45pacs25knr28139xdrphcjgrwlksdhdpsryfw19mzi")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) From fb767debee3857af0a69c667f955fd6bdbbc79e3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:54:32 +0300 Subject: [PATCH 119/435] gnu: qtwebsockets: Update to 5.6.1-1. * gnu/packages/qt.scm (qtwebsockets): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ce576e3bf7..3c0c69b058 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -569,7 +569,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtwebsockets (package (inherit qtsvg) (name "qtwebsockets") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -578,7 +578,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "0fkj52i4yi6gmq4jfjgdij08cspxspac6mbpf0fknnllimmkl7jm")))) + "1fz0x8570zxc00a22skd848svma3p2g3xyxj14jq10559jihqqil")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative))) From 2743daffabf0065fd3ba4dca0d566ad4d0b0deaa Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:55:24 +0300 Subject: [PATCH 120/435] gnu: qtsensors: Update to 5.6.1-1. * gnu/packages/qt.scm (qtsensors): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 3c0c69b058..02f9dc52a6 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -587,7 +587,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtsensors (package (inherit qtsvg) (name "qtsensors") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -596,7 +596,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "0bll7ll6s5g8w89knyrc0famjwqyfzwpn512m1f96bf6xwacs967")))) + "0kcrvf6vzn6g2v2m70f9r3raalzmfp48rwjlqhss3w84jfz3y04r")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative))) From 99f6f56f4f8d1be9b8aaf28299a303e9b7f2488b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:56:08 +0300 Subject: [PATCH 121/435] gnu: qtmultimedia: Update to 5.6.1-1. * gnu/packages/qt.scm (qtmultimedia): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 02f9dc52a6..6f592c0b90 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -605,7 +605,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtmultimedia (package (inherit qtsvg) (name "qtmultimedia") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -614,7 +614,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "058523c2qra3d8fq46ygcndnkrbwlh316zy28s2cr5pjr5gmnjyj")))) + "0paffx0614ivjbf87lr9klpbqik6r1pzbc14l41np6d9jv3dqa2f")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) From 66f26a35f1fbe2192a7e523922be723a45189d3a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:56:53 +0300 Subject: [PATCH 122/435] gnu: qtwayland: Update to 5.6.1-1. * gnu/packages/qt.scm (qtwayland): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 6f592c0b90..1962bb966e 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -629,7 +629,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtwayland (package (inherit qtsvg) (name "qtwayland") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -638,7 +638,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "1jgghjfrg0wwyfzfwgwhagwxz9k936ylv3w2l9bwlpql8rgm8d11")))) + "1fnvgpi49ilds3ah9iizxj9qhhb5rnwqd9h03bhkwf0ydywv52c4")))) (native-inputs `(("glib" ,glib) ("perl" ,perl) From 33741e16f4472e39a1e521d8971b354a696ad422 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:57:51 +0300 Subject: [PATCH 123/435] gnu: qtserialport: Update to 5.6.1-1. * gnu/packages/qt.scm (qtserialport): Update to 5.6.1-1. [inputs]: Add eudev. --- gnu/packages/qt.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 1962bb966e..5e427ca552 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -660,7 +660,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtserialport (package (inherit qtsvg) (name "qtserialport") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -669,9 +669,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "1hp63cgqhps6y1k041lzhcb2b0rcpcmszabnn293q5ilbvla4x0b")))) + "135cbgghxk0c6dblmyyrw6znfb9m8sac9hhyc2dm6vq7vzy8id52")))) (native-inputs `(("perl" ,perl))) - (inputs `(("qtbase" ,qtbase))))) + (inputs + `(("qtbase" ,qtbase) + ("eudev" ,eudev))))) (define-public qtwebchannel (package (inherit qtsvg) From a2a256562f2f7998c6fec35d79133b163e33d65a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:58:42 +0300 Subject: [PATCH 124/435] gnu: qtwebchannel: Update to 5.6.1-1. * gnu/packages/qt.scm (qtwebchannel): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 5e427ca552..ea7db622c1 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -678,7 +678,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtwebchannel (package (inherit qtsvg) (name "qtwebchannel") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -687,7 +687,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "01q80917a1048hdhaii4v50dqs84h16lc9w3v99r9xvspk8vab7q")))) + "10kys3ppjkj60fs1s335fdcpdsbxsjn6ibvm6zph9gqbncabd2l7")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) From 677b98ae68e6eb3ee89de3675b8ef03fd40c7f79 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 17:59:28 +0300 Subject: [PATCH 125/435] gnu: qtlocation: Update to 5.6.1-1. * gnu/packages/qt.scm (qtlocation): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ea7db622c1..167af77938 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -697,7 +697,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtlocation (package (inherit qtsvg) (name "qtlocation") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -706,7 +706,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "0qahs7a2n3l4h0bl8bnwci9mzy1vra3zncnzr40csic9ys67ddfk")))) + "0my4pbcxa58yzvdh65l5qx99ln03chjr5c3ml5v37wfk7nx23k69")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) From 095b7fea444465a881d8127aeab9ae5c252d6a9e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2016 18:00:10 +0300 Subject: [PATCH 126/435] gnu: qttools: Update to 5.6.1-1. * gnu/packages/qt.scm (qttools): Update to 5.6.1-1. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 167af77938..7c9f6db213 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -717,7 +717,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qttools (package (inherit qtsvg) (name "qttools") - (version "5.6.1") + (version "5.6.1-1") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -726,7 +726,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "0wbzq60d7lkvlb7b5lqcw87qgy6kyjz1npjavz8f4grdxsaqi8vp")))) + "0haic027a2d7p7k8xz83fbvci4a4dln34360rlwgy7hlyy5m4nip")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative))) From 9ded1457172d38960258c8a2b695ffb0d33ad8c9 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 14 Jun 2016 15:53:33 +1000 Subject: [PATCH 127/435] gnu: Add python-screed. * gnu/packages/bioinformatics.scm (python-screed, python2-screed): New variables. --- gnu/packages/bioinformatics.scm | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f5e7285193..22eba0f6a3 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3359,6 +3359,44 @@ optimize the sequencing depth, or to screen multiple libraries to avoid low complexity samples.") (license license:gpl3+))) +(define-public python-screed + (package + (name "python-screed") + (version "0.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "screed" version)) + (sha256 + (base32 + "18czszp9fkx3j6jr7y5kp6dfialscgddk05mw1zkhh2zhn0jd8i0")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append (getenv "PYTHONPATH") ":.")) + (zero? (system* "nosetests" "--attr" "!known_failing"))))))) + (native-inputs + `(("python-nose" ,python-nose))) + (inputs + `(("python-bz2file" ,python-bz2file))) + (home-page "http://github.com/dib-lab/screed/") + (synopsis "Short read sequence database utilities") + (description "Screed parses FASTA and FASTQ files and generates databases. +Values such as sequence name, sequence description, sequence quality and the +sequence itself can be retrieved from these databases.") + (license license:bsd-3))) + +(define-public python2-screed + (let ((base (package-with-python2 (strip-python2-variant python-screed)))) + (package + (inherit base) + (native-inputs `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) + (define-public sra-tools (package (name "sra-tools") From 94ff31572d37e9e49813b2e1fddd323cde0103e4 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 15 Jun 2016 12:21:20 +1000 Subject: [PATCH 128/435] gnu: Add khmer. * gnu/packages/bioinformatics.scm (khmer): New variable. * gnu/packages/patches/khmer-use-libraries.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/bioinformatics.scm | 78 +++++++++++++++++++ .../patches/khmer-use-libraries.patch | 16 ++++ 3 files changed, 95 insertions(+) create mode 100644 gnu/packages/patches/khmer-use-libraries.patch diff --git a/gnu/local.mk b/gnu/local.mk index 956be9b4b5..f6aa2564a3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -593,6 +593,7 @@ dist_patch_DATA = \ %D%/packages/patches/jasper-CVE-2016-2089.patch \ %D%/packages/patches/jasper-CVE-2016-2116.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ + %D%/packages/patches/khmer-use-libraries.patch \ %D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/ldc-disable-tests.patch \ %D%/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 22eba0f6a3..b34e7ba357 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2301,6 +2301,84 @@ command, or queried for specific k-mers with @code{jellyfish query}.") ;; files such as lib/jsoncpp.cpp are released under the Expat license. (license (list license:gpl3+ license:expat)))) +(define-public khmer + (package + (name "khmer") + (version "2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "khmer" version)) + (sha256 + (base32 + "0wb05shqh77v00256qlm68vbbx3kl76fyzihszbz5nhanl4ni33a")) + (patches (search-patches "khmer-use-libraries.patch")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Delete bundled libraries. + (delete-file-recursively "third-party/zlib") + (delete-file-recursively "third-party/bzip2") + ;; Replace bundled seqan. + (let* ((seqan-all "third-party/seqan") + (seqan-include (string-append + seqan-all "/core/include"))) + (delete-file-recursively seqan-all) + (copy-recursively (string-append (assoc-ref inputs "seqan") + "/include/seqan") + (string-append seqan-include "/seqan"))) + ;; We do not replace the bundled MurmurHash as the canonical + ;; repository for this code 'SMHasher' is unsuitable for + ;; providing a library. See + ;; https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00977.html + #t)) + (add-after 'unpack 'set-cc + (lambda _ + (setenv "CC" "gcc") + #t)) + ;; It is simpler to test after installation. + (delete 'check) + (add-after 'install 'post-install-check + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "PATH" + (string-append + (getenv "PATH") + ":" + (assoc-ref outputs "out") + "/bin")) + (setenv "PYTHONPATH" + (string-append + (getenv "PYTHONPATH") + ":" + out + "/lib/python" + (string-take (string-take-right + (assoc-ref inputs "python") 5) 3) + "/site-packages")) + (with-directory-excursion "build" + (zero? (system* "nosetests" "khmer" "--attr" + "!known_failing"))))))))) + (native-inputs + `(("seqan" ,seqan) + ("python-nose" ,python-nose))) + (inputs + `(("zlib" ,zlib) + ("bzip2" ,bzip2) + ("python-screed" ,python-screed) + ("python-bz2file" ,python-bz2file))) + (home-page "https://khmer.readthedocs.org/") + (synopsis "K-mer counting, filtering and graph traversal library") + (description "The khmer software is a set of command-line tools for +working with DNA shotgun sequencing data from genomes, transcriptomes, +metagenomes and single cells. Khmer can make de novo assemblies faster, and +sometimes better. Khmer can also identify and fix problems with shotgun +data.") + (license license:bsd-3))) + (define-public macs (package (name "macs") diff --git a/gnu/packages/patches/khmer-use-libraries.patch b/gnu/packages/patches/khmer-use-libraries.patch new file mode 100644 index 0000000000..47d163a99a --- /dev/null +++ b/gnu/packages/patches/khmer-use-libraries.patch @@ -0,0 +1,16 @@ +Change setup.cfg so that the bundled zlib and bzip2 are not used. This cannot +currently be achieved using "--library z,bz2" as instructed in the setup.py. + +diff --git a/setup.cfg b/setup.cfg +index c054092..080992e 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -1,7 +1,7 @@ + [build_ext] + define = SEQAN_HAS_BZIP2,SEQAN_HAS_ZLIB + undef = NO_UNIQUE_RC +-# libraries = z,bz2 ++libraries = z,bz2 + ## if using system libraries + include-dirs = lib:third-party/zlib:third-party/bzip2:third-party/seqan/core/include:third-party/smhasher + # include-dirs = lib From 7a2941a83ee8ecac9ca7a3a076b1231805b39bbd Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Thu, 26 May 2016 08:57:16 -0400 Subject: [PATCH 129/435] gnu: Add Go 1.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/local.mk: Modified file. * gnu/packages/golang.scm: New file. Co-authored-by: Efraim Flashner Co-authored-by: Andy Wingo Co-authored-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/golang.scm | 185 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 186 insertions(+) create mode 100644 gnu/packages/golang.scm diff --git a/gnu/local.mk b/gnu/local.mk index f6aa2564a3..fa6c277be1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -150,6 +150,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/gnustep.scm \ %D%/packages/gnuzilla.scm \ %D%/packages/gnu-pw-mgr.scm \ + %D%/packages/golang.scm \ %D%/packages/gperf.scm \ %D%/packages/gprolog.scm \ %D%/packages/gps.scm \ diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm new file mode 100644 index 0000000000..cc1b66f0ae --- /dev/null +++ b/gnu/packages/golang.scm @@ -0,0 +1,185 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Matthew Jordan +;;; Copyright © 2016 Andy Wingo +;;; +;;; This file is an addendum GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages golang) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (gnu packages admin) + #:use-module (gnu packages gcc) + #:use-module (gnu packages base) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pcre) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1)) + +;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a +;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2 +;; implementation, and gccgo-5 a complete implementation of go-1.4. Ultimately +;; we hope to build go-1.5+ with a bootstrap process using gccgo-5. As of +;; go-1.5, go cannot be bootstrapped without go-1.4, so we need to use go-1.4 or +;; gccgo-5. Mips is not officially supported, but it should work if it is +;; bootstrapped. + +(define-public go-1.4 + (package + (name "go") + (version "1.4.3") + (source (origin + (method url-fetch) + (uri (string-append "https://storage.googleapis.com/golang/" + name version ".src.tar.gz")) + (sha256 + (base32 + "0na9yqilzpvq0bjndbibfp07wr796gf252y471cip10bbdqgqiwr")))) + (build-system gnu-build-system) + (outputs '("out" + "doc" + "tests")) + (arguments + `(#:modules ((ice-9 match) + (guix build gnu-build-system) + (guix build utils)) + #:tests? #f ; Tests are run by the all.bash script. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'patch-generated-file-shebangs 'chdir + (lambda _ + (chdir "src"))) + (add-before 'build 'prebuild + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) + (ld (string-append (assoc-ref inputs "libc") "/lib")) + (loader (car (find-files ld "^ld-linux.+"))) + (net-base (assoc-ref inputs "net-base")) + (tzdata-path + (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) + (output (assoc-ref outputs "out"))) + + ;; Removing net/ tests, which fail when attempting to access + ;; network resources not present in the build container. + (for-each delete-file + '("net/multicast_test.go" "net/parse_test.go" + "net/port_test.go")) + + ;; Add libgcc to the RUNPATH. + (substitute* "cmd/go/build.go" + (("cgoldflags := \\[\\]string\\{\\}") + (string-append "cgoldflags := []string{" + "\"-rpath=" gcclib "\"}")) + (("ldflags := buildLdflags") + (string-append + "ldflags := buildLdflags\n" + "ldflags = append(ldflags, \"-r\")\n" + "ldflags = append(ldflags, \"" gcclib "\")\n"))) + + (substitute* "os/os_test.go" + (("/usr/bin") (getcwd)) + (("/bin/pwd") (which "pwd"))) + + ;; Disable failing tests: these tests attempt to access + ;; commands or network resources which are neither available or + ;; necessary for the build to succeed. + (for-each + (match-lambda + ((file regex) + (substitute* file + ((regex all before test_name) + (string-append before "Disabled" test_name))))) + '(("net/net_test.go" "(.+)(TestShutdownUnix.+)") + ("net/dial_test.go" "(.+)(TestDialTimeout.+)") + ("os/os_test.go" "(.+)(TestHostname.+)") + ("time/format_test.go" "(.+)(TestParseInSydney.+)") + ("os/exec/exec_test.go" "(.+)(TestEcho.+)") + ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") + ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") + ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)") + ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)") + ("os/exec/exec_test.go" "(.+)(TestPipes.+)") + ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)") + ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)"))) + + (substitute* "net/lookup_unix.go" + (("/etc/protocols") (string-append net-base "/etc/protocols"))) + (substitute* "time/zoneinfo_unix.go" + (("/usr/share/zoneinfo/") tzdata-path)) + (substitute* (find-files "cmd" "asm.c") + (("/lib/ld-linux.*\\.so\\.[0-9]") loader)) + #t))) + + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; FIXME: Some of the .a files are not bit-reproducible. + (let* ((output (assoc-ref outputs "out"))) + (setenv "CC" (which "gcc")) + (setenv "GOOS" "linux") + (setenv "GOROOT" (dirname (getcwd))) + (setenv "GOROOT_FINAL" output) + (setenv "CGO_ENABLED" "1") + (zero? (system* "sh" "all.bash"))))) + + (replace 'install + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((output (assoc-ref outputs "out")) + (doc_out (assoc-ref outputs "doc")) + (bash (string-append (assoc-ref inputs "bash") "bin/bash")) + (docs (string-append doc_out "/share/doc/" ,name "-" ,version)) + (tests (string-append + (assoc-ref outputs "tests") "/share/" ,name "-" ,version))) + (mkdir-p tests) + (copy-recursively "../test" (string-append tests "/test")) + (delete-file-recursively "../test") + (mkdir-p docs) + (copy-recursively "../api" (string-append docs "/api")) + (delete-file-recursively "../api") + (copy-recursively "../doc" (string-append docs "/doc")) + (delete-file-recursively "../doc") + + (for-each (lambda (file) + (let ((file (string-append "../" file))) + (install-file file docs) + (delete-file file))) + '("README" "CONTRIBUTORS" "AUTHORS" "PATENTS" + "LICENSE" "VERSION" "robots.txt")) + (copy-recursively "../" output) + #t)))))) + (inputs + `(("tzdata" ,tzdata) + ("pcre" ,pcre) + ("gcc:lib" ,gcc "lib"))) + (native-inputs + `(("pkg-config" ,%pkg-config) + ("which" ,which) + ("net-base" ,net-base) + ("perl" ,perl))) + + (home-page "https://golang.org/") + (synopsis "Compiler and libraries for Go, a statically-typed language") + (description "Go, also commonly referred to as golang, is an imperative +programming language. Designed primarily for systems programming, it is a +compiled, statically typed language in the tradition of C and C++, with +garbage collection, various safety features and in the style of communicating +sequential processes (CSP) concurrent programming features added.") + (license license:bsd-3))) From 4591217058c306ed9c8dc79a8feebfe6a97da751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 20:18:12 +0800 Subject: [PATCH 130/435] gnu: python-twisted: Rearrange inputs. * gnu/packages/python.scm (python-twisted)[native-inputs]: Move python-zope-interface ... [propagated-inputs]: to here. --- gnu/packages/python.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 549bd347c1..888e1c30ed 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9104,8 +9104,9 @@ to provide a high-level synchronous API on top of the libev event loop.") "0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450")))) (build-system python-build-system) (native-inputs - `(("python-setuptools" ,python-setuptools) - ("python-zope-interface" ,python-zope-interface))) + `(("python-setuptools" ,python-setuptools))) + (propagated-inputs + `(("python-zope-interface" ,python-zope-interface))) (home-page "https://twistedmatrix.com/") (synopsis "Asynchronous networking framework written in Python") (description From c18899e8cfa7dc3b5a9c0ff7d7f903e2c30a75f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 20:32:36 +0800 Subject: [PATCH 131/435] gnu: python-kazoo: Rearrange inputs. * gnu/packages/python.scm (python-kazoo)[native-inputs]: Move six ... [propagated-inputs]: to here. --- gnu/packages/python.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 888e1c30ed..e30166c133 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9191,8 +9191,9 @@ data in Python.") (build-system python-build-system) (arguments '(#:tests? #f)) ; XXX: needs zookeeper (native-inputs - `(("python-setuptools" ,python-setuptools) - ("python-six" ,python-six))) + `(("python-setuptools" ,python-setuptools))) + (propagated-inputs + `(("python-six" ,python-six))) (home-page "https://kazoo.readthedocs.org") (synopsis "High-level Zookeeper client library") (description From c8fa3d9b73e6cdeaecda5bfdd508656a4bbb0f3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 20:36:38 +0800 Subject: [PATCH 132/435] gnu: python-pykafka: Rearrange inputs. * gnu/packages/python.scm (python-pykafka)[native-inputs]: Move python-gevent, python-kazoo, python-tabulate ... [propagated-inputs]: to here. --- 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 e30166c133..9558dcc9f4 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9221,9 +9221,10 @@ programming errors.") (build-system python-build-system) (arguments '(#:tests? #f)) ; XXX: needs zookeeper, kafka, etc. (native-inputs + `(("python-setuptools" ,python-setuptools))) + (propagated-inputs `(("python-gevent" ,python-gevent) ("python-kazoo" ,python-kazoo) - ("python-setuptools" ,python-setuptools) ("python-tabulate" ,python-tabulate))) (inputs `(("librdkafka" ,librdkafka))) From 36aed73648eeaa84bf5bd00a72f3db3f35d1defb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 20:38:05 +0800 Subject: [PATCH 133/435] gnu: python-arrow: Rearrange inputs. * gnu/packages/python.scm (python-arrow)[native-inputs]: Move python-dateutil-2 ... [propagated-inputs]: to here. --- 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 9558dcc9f4..964e81bbac 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9332,10 +9332,11 @@ objects, patterned after the Mocha library for Ruby.") (build-system python-build-system) (native-inputs `(("python-setuptools" ,python-setuptools) - ("python-dateutil" ,python-dateutil-2) ;; For testing ("python-chai" ,python-chai) ("python-simplejson" ,python-simplejson))) + (propagated-inputs + `(("python-dateutil" ,python-dateutil-2))) (home-page "https://github.com/crsmithdev/arrow/") (synopsis "Dates and times for Python") (description From 9403150a96b768ae57f6fc7dbb0ba330136dd9f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 20:39:25 +0800 Subject: [PATCH 134/435] gnu: python-cleo: Rearrange inputs. * gnu/packages/python.scm (python-cleo)[native-inputs]: Move python-psutil, python-pylev ... [propagated-inputs]: to here. --- gnu/packages/python.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 964e81bbac..aac703c355 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9407,12 +9407,13 @@ Wikipedia code samples at "1k2dcl6mqpn5bljyl6w42rqyd9mb3y9kh2mg7m2x3kfjwvg0rpva")))) (build-system python-build-system) (native-inputs - `(("python-psutil" ,python-psutil) - ("python-pylev" ,python-pylev) - ("python-setuptools" ,python-setuptools) + `(("python-setuptools" ,python-setuptools) ;; For testing ("python-mock" ,python-mock) ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-psutil" ,python-psutil) + ("python-pylev" ,python-pylev))) (home-page "https://github.com/sdispater/cleo") (synopsis "Command-line arguments library for Python") (description From d42560bdfa8a415b04c2b8c1e6475140733e36f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 20:40:34 +0800 Subject: [PATCH 135/435] gnu: python-email-validator: Rearrange inputs. * gnu/packages/python.scm (python-email-validator)[native-inputs]: Move python-dnspython, python-idna ... [propagated-inputs]: to here. --- gnu/packages/python.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index aac703c355..7db8a8f8e4 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9493,9 +9493,10 @@ It supports TSIG authenticated messages and EDNS0.") (("dnspython3") "dnspython")) #t))))) (native-inputs + `(("python-setuptools" ,python-setuptools))) + (propagated-inputs `(("python-dnspython" ,python-dnspython) - ("python-idna" ,python-idna) - ("python-setuptools" ,python-setuptools))) + ("python-idna" ,python-idna))) (home-page "https://github.com/JoshData/python-email-validator") (synopsis "Email address validation library for Python") (description From bbcd729791eebe3dc3888eaf2b054d8a62842ef9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 20:41:52 +0800 Subject: [PATCH 136/435] gnu: python-fake-factory: Rearrange inputs. * gnu/packages/python.scm (python-fake-factory)[native-inputs]: Move python-dateutil-2, python-six ... [propagated-inputs]: to here. --- gnu/packages/python.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7db8a8f8e4..8decf9a3b6 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9551,13 +9551,14 @@ parsing UK postcodes.") (delete-file "faker/tests/ne_np/__init__.py") #t))))) (native-inputs - `(("python-dateutil" ,python-dateutil-2) - ("python-setuptools" ,python-setuptools) - ("python-six" ,python-six) + `(("python-setuptools" ,python-setuptools) ;; For testing ("python-email-validator" ,python-email-validator) ("python-mock" ,python-mock) ("python-ukpostcodeparser" ,python-ukpostcodeparser))) + (propagated-inputs + `(("python-dateutil" ,python-dateutil-2) + ("python-six" ,python-six))) (home-page "http://github.com/joke2k/faker") (synopsis "Python package that generates fake data") (description From 24c9aa18108639f46ceb96fc51a9050f004df240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 20:43:25 +0800 Subject: [PATCH 137/435] gnu: python2-fake-factory: Rearrange inputs. * gnu/packages/python.scm (python2-fake-factory)[native-inputs]: Move python2-ipaddress ... [propagated-inputs]: to here. --- 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 8decf9a3b6..e0fe77dfc8 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9572,9 +9572,9 @@ addresses, and phone numbers.") python-fake-factory)))) (package (inherit base) - (native-inputs + (propagated-inputs `(("python2-ipaddress" ,python2-ipaddress) - ,@(package-native-inputs base)))))) + ,@(package-propagated-inputs base)))))) (define-public python-pyaml (package From b26760302a456a8cfe71e596469f98944726543a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 21:10:49 +0800 Subject: [PATCH 138/435] gnu: python-orator: Rearrange inputs. * gnu/packages/python.scm (python-orator)[native-inputs]: Move python-arrow, python-blinker, python-cleo, python-fake-factory, python-inflection, python-lazy-object-proxy, python-pyaml, python-simplejson, python-wrapt ... [propagated-inputs]: to here. --- 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 e0fe77dfc8..865fe425f6 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9637,6 +9637,8 @@ mocks, stubs and fakes.") (build-system python-build-system) (arguments '(#:tests? #f)) ; no tests (native-inputs + `(("python-setuptools" ,python-setuptools))) + (propagated-inputs `(("python-arrow" ,python-arrow) ("python-blinker" ,python-blinker) ("python-cleo" ,python-cleo) @@ -9644,7 +9646,6 @@ mocks, stubs and fakes.") ("python-inflection" ,python-inflection) ("python-lazy-object-proxy" ,python-lazy-object-proxy) ("python-pyaml" ,python-pyaml) - ("python-setuptools" ,python-setuptools) ("python-simplejson" ,python-simplejson) ("python-wrapt" ,python-wrapt))) (home-page "https://orator-orm.com/") From 06961617a1f926a2e0a0c96c32d36724a2c7feb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 27 Jun 2016 21:13:12 +0800 Subject: [PATCH 139/435] gnu: python2-orator: Rearrange inputs. * gnu/packages/python.scm (python2-orator)[native-inputs]: Move python2-ipaddress ... [propagated-inputs]: to here. --- 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 865fe425f6..d29546749d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9660,6 +9660,6 @@ implementation for Python.") (let ((base (package-with-python2 (strip-python2-variant python-orator)))) (package (inherit base) - (native-inputs + (propagated-inputs `(("python2-ipaddress" ,python2-ipaddress) - ,@(package-native-inputs base)))))) + ,@(package-propagated-inputs base)))))) From aea7d1d516400c35377acb2dc5525c266340844f Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 27 Jun 2016 12:58:06 -0400 Subject: [PATCH 140/435] gnu: Add orage. * gnu/packages/xfce.scm (orage): New variable. --- gnu/packages/xfce.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index c201f03ab5..5639f1daa3 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -28,6 +28,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages calendar) #:use-module (gnu packages pkg-config) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) @@ -43,6 +44,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages photo) #:use-module (gnu packages pcre) + #:use-module (gnu packages popt) #:use-module (gnu packages pulseaudio)) (define-public gtk-xfce-engine @@ -815,3 +817,35 @@ the desktop wallpaper.") "This is a task manager for the Xfce desktop. It displays the CPU and memory usage graphically, and it can display processes as a tree.") (license gpl2+))) + +(define-public orage + (package + (name "orage") + (version "4.12.1") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/src/apps/" + name "/" (version-major+minor version) "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w")))) + (build-system gnu-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+-2) + ("libical" ,libical) + ("libnotify" ,libnotify) + ("popt" ,popt) + ("xfce4-panel" ,xfce4-panel))) + (home-page "http://www.xfce.org/projects/") + (synopsis "Simple calendar application with reminders") + (description + "This is a simple calendar application for the Xfce desktop. Orage has +alarms and uses the iCalendar format, making it compatible with many other +calendar applications. It also includes a panel clock plugin and an +international clock application capable of simultaneously showing clocks from +several different time zones.") + (license gpl2+))) From b6683f15073d89e4d0cbde2b4f0f00e17777a917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Jun 2016 19:09:04 +0200 Subject: [PATCH 141/435] doc: Fix typo for 'static-networking-service'. * doc/guix.texi (Networking Services): Change #:name-services to #:name-servers. --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 7204f2e939..379c9f699b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7602,7 +7602,7 @@ Protocol (DHCP) client, on all the non-loopback network interfaces. @end deffn @deffn {Scheme Procedure} static-networking-service @var{interface} @var{ip} @ - [#:gateway #f] [#:name-services @code{'()}] + [#:gateway #f] [#:name-servers @code{'()}] Return a service that starts @var{interface} with address @var{ip}. If @var{gateway} is true, it must be a string specifying the default network gateway. From 04101d99eeaad0867ed886e52049af1b6a5ec487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Jun 2016 20:57:35 +0200 Subject: [PATCH 142/435] services: nscd: Wait for the PID file. * gnu/services/base.scm (nscd-shepherd-service): Pass #:pid-file. --- gnu/services/base.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 2780d124c7..274ff100e8 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -790,6 +790,11 @@ the tty to run, among other things." "/sbin/nscd") "-f" #$nscd.conf "--foreground") + ;; Wait for the PID file. However, the PID file is + ;; written before nscd is actually listening on its + ;; socket (XXX). + #:pid-file "/var/run/nscd/nscd.pid" + #:environment-variables (list (string-append "LD_LIBRARY_PATH=" (string-join From 9009538d84d20447372c4b9ad608fae0d578815f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Jun 2016 20:59:56 +0200 Subject: [PATCH 143/435] services: Export more service types. * gnu/services/base.scm (syslog-service-type): Export. (urandom-seed-service-type): Export. --- gnu/services/base.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 274ff100e8..f304bf89a3 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -81,6 +81,7 @@ nscd-service-type nscd-service syslog-service + syslog-service-type %default-syslog.conf guix-configuration @@ -94,6 +95,7 @@ gpm-service-type gpm-service + urandom-seed-service-type urandom-seed-service %base-services)) From 858d372c982594bf851d2b9cf82a9fa547c9651c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Jun 2016 21:03:28 +0200 Subject: [PATCH 144/435] tests: base: Add host name resolution tests. * gnu/tests/base.scm (run-basic-test)["host name resolution", "host not found"]: New tests. --- gnu/tests/base.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 4fe779802b..5786da512c 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -150,6 +150,27 @@ info --version") get-string-all) marionette))) + (test-assert "host name resolution" + (match (marionette-eval + '(begin + ;; Wait for nscd or our requests go through it. + (use-modules (gnu services herd)) + (start-service 'nscd) + + (list (getaddrinfo "localhost") + (getaddrinfo #$(operating-system-host-name os)))) + marionette) + ((((? vector?) ..1) ((? vector?) ..1)) + #t) + (x + (pk 'failure x #f)))) + + (test-equal "host not found" + #f + (marionette-eval + '(false-if-exception (getaddrinfo "does-not-exist")) + marionette)) + (test-assert "screendump" (begin (marionette-control (string-append "screendump " #$output From 037f9e07cd03d6894a6b5fc9a252c34d3b163962 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Jun 2016 21:09:08 +0200 Subject: [PATCH 145/435] tests: 'marionette-service-type' nows takes a . * gnu/tests.scm (): New record type. (marionette-shepherd-service): Argument now is a . (marionette-operating-system): Adjust accordingly. Add #:requirements parameter and honor it. --- gnu/tests.scm | 171 +++++++++++++++++++++++++++++--------------------- 1 file changed, 98 insertions(+), 73 deletions(-) diff --git a/gnu/tests.scm b/gnu/tests.scm index ea779ed6f0..1821ac45c5 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -27,7 +27,13 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-9 gnu) #:use-module (ice-9 match) - #:export (marionette-service-type + #:export (marionette-configuration + marionette-configuration? + marionette-configuration-device + marionette-configuration-imported-modules + marionette-configuration-requirements + + marionette-service-type marionette-operating-system define-os-with-source @@ -50,81 +56,93 @@ ;;; ;;; Code: -(define (marionette-shepherd-service imported-modules) +(define-record-type* + marionette-configuration make-marionette-configuration + marionette-configuration? + (device marionette-configuration-device ;string + (default "/dev/hvc0")) + (imported-modules marionette-configuration-imported-modules + (default '())) + (requirements marionette-configuration-requirements ;list of symbols + (default '()))) + +(define (marionette-shepherd-service config) "Return the Shepherd service for the marionette REPL" - (define device - "/dev/hvc0") + (match config + (($ device imported-modules requirement) + (list (shepherd-service + (provision '(marionette)) - (list (shepherd-service - (provision '(marionette)) - (requirement '(udev)) ;so that DEVICE is available - (modules '((ice-9 match) - (srfi srfi-9 gnu) - (guix build syscalls) - (rnrs bytevectors))) - (imported-modules `((guix build syscalls) - ,@imported-modules)) - (start - #~(lambda () - (define (clear-echo termios) - (set-field termios (termios-local-flags) - (logand (lognot (local-flags ECHO)) - (termios-local-flags termios)))) + ;; Always depend on UDEV so that DEVICE is available. + (requirement `(udev ,@requirement)) - (define (self-quoting? x) - (letrec-syntax ((one-of (syntax-rules () - ((_) #f) - ((_ pred rest ...) - (or (pred x) - (one-of rest ...)))))) - (one-of symbol? string? pair? null? vector? - bytevector? number? boolean?))) + (modules '((ice-9 match) + (srfi srfi-9 gnu) + (guix build syscalls) + (rnrs bytevectors))) + (imported-modules `((guix build syscalls) + ,@imported-modules)) + (start + #~(lambda () + (define (clear-echo termios) + (set-field termios (termios-local-flags) + (logand (lognot (local-flags ECHO)) + (termios-local-flags termios)))) - (match (primitive-fork) - (0 - (dynamic-wind - (const #t) - (lambda () - (let* ((repl (open-file #$device "r+0")) - (termios (tcgetattr (fileno repl))) - (console (open-file "/dev/console" "r+0"))) - ;; Don't echo input back. - (tcsetattr (fileno repl) (tcsetattr-action TCSANOW) - (clear-echo termios)) + (define (self-quoting? x) + (letrec-syntax ((one-of (syntax-rules () + ((_) #f) + ((_ pred rest ...) + (or (pred x) + (one-of rest ...)))))) + (one-of symbol? string? pair? null? vector? + bytevector? number? boolean?))) - ;; Redirect output to the console. - (close-fdes 1) - (close-fdes 2) - (dup2 (fileno console) 1) - (dup2 (fileno console) 2) - (close-port console) + (match (primitive-fork) + (0 + (dynamic-wind + (const #t) + (lambda () + (let* ((repl (open-file #$device "r+0")) + (termios (tcgetattr (fileno repl))) + (console (open-file "/dev/console" "r+0"))) + ;; Don't echo input back. + (tcsetattr (fileno repl) (tcsetattr-action TCSANOW) + (clear-echo termios)) - (display 'ready repl) - (let loop () - (newline repl) + ;; Redirect output to the console. + (close-fdes 1) + (close-fdes 2) + (dup2 (fileno console) 1) + (dup2 (fileno console) 2) + (close-port console) - (match (read repl) - ((? eof-object?) - (primitive-exit 0)) - (expr - (catch #t - (lambda () - (let ((result (primitive-eval expr))) - (write (if (self-quoting? result) - result - (object->string result)) - repl))) - (lambda (key . args) - (print-exception (current-error-port) - (stack-ref (make-stack #t) 1) - key args) - (write #f repl))))) - (loop)))) - (lambda () - (primitive-exit 1)))) - (pid - pid)))) - (stop #~(make-kill-destructor))))) + (display 'ready repl) + (let loop () + (newline repl) + + (match (read repl) + ((? eof-object?) + (primitive-exit 0)) + (expr + (catch #t + (lambda () + (let ((result (primitive-eval expr))) + (write (if (self-quoting? result) + result + (object->string result)) + repl))) + (lambda (key . args) + (print-exception (current-error-port) + (stack-ref (make-stack #t) 1) + key args) + (write #f repl))))) + (loop)))) + (lambda () + (primitive-exit 1)))) + (pid + pid)))) + (stop #~(make-kill-destructor))))))) (define marionette-service-type ;; This is the type of the "marionette" service, allowing a guest system to @@ -136,12 +154,19 @@ marionette-shepherd-service))))) (define* (marionette-operating-system os - #:key (imported-modules '())) - "Return a marionetteed variant of OS such that OS can be used as a marionette -in a virtual machine--i.e., controlled from the host system." + #:key + (imported-modules '()) + (requirements '())) + "Return a marionetteed variant of OS such that OS can be used as a +marionette in a virtual machine--i.e., controlled from the host system. The +marionette service in the guest is started after the Shepherd services listed +in REQUIREMENTS." (operating-system (inherit os) - (services (cons (service marionette-service-type imported-modules) + (services (cons (service marionette-service-type + (marionette-configuration + (requirements requirements) + (imported-modules imported-modules))) (operating-system-user-services os))))) (define-syntax define-os-with-source From 194ccecf778faf28be0bce31c629211feb6f1a0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Jun 2016 21:17:05 +0200 Subject: [PATCH 146/435] services: avahi: Pass --daemonize and check for the PID file. This makes sure the service's 'start' finishes when avahi-daemon is ready to process requests. * gnu/services/avahi.scm (avahi-shepherd-service): Use --daemonize instead of --syslog and add #:pid-file. --- gnu/services/avahi.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm index 8005b066ed..7c3bdabff6 100644 --- a/gnu/services/avahi.scm +++ b/gnu/services/avahi.scm @@ -104,7 +104,8 @@ (start #~(make-forkexec-constructor (list (string-append #$avahi "/sbin/avahi-daemon") - "--syslog" "-f" #$config))) + "--daemonize" "-f" #$config) + #:pid-file "/var/run/avahi-daemon/pid")) (stop #~(make-kill-destructor)))))) (define avahi-service-type From c8695f325dc96fb54b3a99711533ca8503c677e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Jun 2016 21:35:46 +0200 Subject: [PATCH 147/435] services: avahi: Add #:debug? parameter. * gnu/services/avahi.scm ()[debug?]: New field. (avahi-shepherd-service): Honor it. (avahi-service): Add #:debug? and honor it. * doc/guix.texi (Networking Services): Adjust accordingly. --- doc/guix.texi | 2 +- gnu/services/avahi.scm | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 379c9f699b..62c0d34805 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7767,7 +7767,7 @@ The @code{(gnu services avahi)} provides the following definition. @deffn {Scheme Procedure} avahi-service [#:avahi @var{avahi}] @ [#:host-name #f] [#:publish? #t] [#:ipv4? #t] @ [#:ipv6? #t] [#:wide-area? #f] @ - [#:domains-to-browse '()] + [#:domains-to-browse '()] [#:debug? #f] Return a service that runs @command{avahi-daemon}, a system-wide mDNS/DNS-SD responder that allows for service discovery and "zero-configuration" host name lookups (see @uref{http://avahi.org/}), and diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm index 7c3bdabff6..562005c22c 100644 --- a/gnu/services/avahi.scm +++ b/gnu/services/avahi.scm @@ -42,6 +42,8 @@ avahi-configuration? (avahi avahi-configuration-avahi ; (default avahi)) + (debug? avahi-configuration-debug? ;Boolean + (default #f)) (host-name avahi-configuration-host-name) ;string (publish? avahi-configuration-publish?) ;Boolean (ipv4? avahi-configuration-ipv4?) ;Boolean @@ -96,6 +98,7 @@ (define (avahi-shepherd-service config) "Return a list of for CONFIG." (let ((config (configuration-file config)) + (debug? (avahi-configuration-debug? config)) (avahi (avahi-configuration-avahi config))) (list (shepherd-service (documentation "Run the Avahi mDNS/DNS-SD responder.") @@ -104,7 +107,9 @@ (start #~(make-forkexec-constructor (list (string-append #$avahi "/sbin/avahi-daemon") - "--daemonize" "-f" #$config) + "--daemonize" + #$@(if debug? #~("--debug") #~()) + "-f" #$config) #:pid-file "/var/run/avahi-daemon/pid")) (stop #~(make-kill-destructor)))))) @@ -128,7 +133,7 @@ (service-extension profile-service-type avahi-package)))))) -(define* (avahi-service #:key (avahi avahi) +(define* (avahi-service #:key (avahi avahi) debug? host-name (publish? #t) (ipv4? #t) (ipv6? #t) @@ -156,7 +161,7 @@ Boolean values @var{ipv4?} and @var{ipv6?} determine whether to use IPv4/IPv6 sockets." (service avahi-service-type (avahi-configuration - (avahi avahi) (host-name host-name) + (avahi avahi) (debug? debug?) (host-name host-name) (publish? publish?) (ipv4? ipv4?) (ipv6? ipv6?) (wide-area? wide-area?) (domains-to-browse domains-to-browse)))) From d2fa61bc35cd6958b5e74d4418931a584a4e6edd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 27 Jun 2016 21:40:28 +0200 Subject: [PATCH 148/435] tests: Add Avahi and NSS-mDNS test. * gnu/tests/base.scm (%avahi-os): New variable. (run-nss-mdns-test): New procedure. (%test-nss-mdns): New variable. --- gnu/tests/base.scm | 145 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 144 insertions(+), 1 deletion(-) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 5786da512c..0013b465b4 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -22,10 +22,15 @@ #:use-module (gnu system grub) #:use-module (gnu system file-systems) #:use-module (gnu system shadow) + #:use-module (gnu system nss) #:use-module (gnu system vm) #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu services dbus) + #:use-module (gnu services avahi) #:use-module (gnu services mcron) #:use-module (gnu services shepherd) + #:use-module (gnu services networking) #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix monads) @@ -33,7 +38,8 @@ #:use-module (srfi srfi-1) #:export (run-basic-test %test-basic-os - %test-mcron)) + %test-mcron + %test-nss-mdns)) (define %simple-os (operating-system @@ -304,3 +310,140 @@ functionality tests.") (name "mcron") (description "Make sure the mcron service works as advertised.") (value (run-mcron-test name)))) + + +;;; +;;; Avahi and NSS-mDNS. +;;; + +(define %avahi-os + (operating-system + (inherit %simple-os) + (name-service-switch %mdns-host-lookup-nss) + (services (cons* (avahi-service #:debug? #t) + (dbus-service) + (dhcp-client-service) ;needed for multicast + + ;; Enable heavyweight debugging output. + (modify-services (operating-system-user-services + %simple-os) + (nscd-service-type config + => (nscd-configuration + (inherit config) + (debug-level 3) + (log-file "/dev/console"))) + (syslog-service-type config + => + (plain-file + "syslog.conf" + "*.* /dev/console\n"))))))) + +(define (run-nss-mdns-test) + ;; Test resolution of '.local' names via libc. Start the marionette service + ;; *after* nscd. Failing to do that, libc will try to connect to nscd, + ;; fail, then never try again (see '__nss_not_use_nscd_hosts' in libc), + ;; leading to '.local' resolution failures. + (mlet* %store-monad ((os -> (marionette-operating-system + %avahi-os + #:requirements '(nscd) + #:imported-modules '((gnu services herd) + (guix combinators)))) + (run (system-qemu-image/shared-store-script + os #:graphic? #f))) + (define mdns-host-name + (string-append (operating-system-host-name os) + ".local")) + + (define test + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-1) + (srfi srfi-64) + (ice-9 match)) + + (define marionette + (make-marionette (list #$run))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "avahi") + + (test-assert "wait for services" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + + (start-service 'nscd) + + ;; XXX: Work around a race condition in nscd: nscd creates its + ;; PID file before it is listening on its socket. + (let ((sock (socket PF_UNIX SOCK_STREAM 0))) + (let try () + (catch 'system-error + (lambda () + (connect sock AF_UNIX "/var/run/nscd/socket") + (close-port sock) + (format #t "nscd is ready~%")) + (lambda args + (format #t "waiting for nscd...~%") + (usleep 500000) + (try))))) + + ;; Wait for the other useful things. + (start-service 'avahi-daemon) + (start-service 'networking) + + #t) + marionette)) + + (test-equal "avahi-resolve-host-name" + 0 + (marionette-eval + '(system* + "/run/current-system/profile/bin/avahi-resolve-host-name" + "-v" #$mdns-host-name) + marionette)) + + (test-equal "avahi-browse" + 0 + (marionette-eval + '(system* "avahi-browse" "-avt") + marionette)) + + (test-assert "getaddrinfo .local" + ;; Wait for the 'avahi-daemon' service and perform a resolution. + (match (marionette-eval + '(getaddrinfo #$mdns-host-name) + marionette) + (((? vector? addrinfos) ..1) + (pk 'getaddrinfo addrinfos) + (and (any (lambda (ai) + (= AF_INET (addrinfo:fam ai))) + addrinfos) + (any (lambda (ai) + (= AF_INET6 (addrinfo:fam ai))) + addrinfos))))) + + (test-assert "gethostbyname .local" + (match (pk 'gethostbyname + (marionette-eval '(gethostbyname #$mdns-host-name) + marionette)) + ((? vector? result) + (and (string=? (hostent:name result) #$mdns-host-name) + (= (hostent:addrtype result) AF_INET))))) + + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0)))) + + (gexp->derivation "nss-mdns" test + #:modules '((gnu build marionette))))) + +(define %test-nss-mdns + (system-test + (name "nss-mdns") + (description + "Test Avahi's multicast-DNS implementation, and in particular, test its +glibc name service switch (NSS) module.") + (value (run-nss-mdns-test)))) From 05e9f30f1e2e63c33e4872b870baab96183a6fbb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Jun 2016 12:13:12 +0200 Subject: [PATCH 149/435] gnu: r: Add pango to inputs. * gnu/packages/statistics.scm (r)[inputs]: Remove cairo, add pango. --- gnu/packages/statistics.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c84845dd29..f0373920e9 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -165,7 +165,9 @@ be output in text, PostScript, PDF or HTML.") ("which" ,which) ; for tests/Examples/base-Ex.R ("xz" ,xz))) (inputs - `(("cairo" ,cairo) + `(;; We need not only cairo here, but pango to ensure that tests for the + ;; "cairo" bitmapType plotting backend succeed. + ("pango" ,pango) ("curl" ,curl) ("tzdata" ,tzdata) ("gfortran" ,gfortran) From af45244e3662d324f37923c7fa120e49673b3ad2 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 28 Jun 2016 19:31:25 +1000 Subject: [PATCH 150/435] gnu: diamond: Update to 0.8.9. * gnu/packages/bioinformatics.scm (diamond): Update to 0.8.9. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b34e7ba357..7ae3593181 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1482,7 +1482,7 @@ identify enrichments with functional annotations of the genome.") (define-public diamond (package (name "diamond") - (version "0.8.7") + (version "0.8.9") (source (origin (method url-fetch) (uri (string-append @@ -1491,7 +1491,7 @@ identify enrichments with functional annotations of the genome.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15r7gcrqc4pv5d4kvv530zc3xnni92c74y63zrxzidriss7591yx")))) + "1g0j24qcx48mp04hbk0hpbvh0gbw5wmifpliyaq95zp4qwwcs5x4")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target From 45469ebe528df81e6c3a7b4aa5a42f914dc28acd Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 28 Jun 2016 21:28:06 +1000 Subject: [PATCH 151/435] gnu: metabat: Update to 0.26.3. * gnu/packages/bioinformatics.scm (metabat): Update to 0.26.3. [arguments]: Update include and linking paths accordingly. --- gnu/packages/bioinformatics.scm | 57 +++++++++++++++++---------------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 7ae3593181..fa0979bcea 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2486,7 +2486,7 @@ sequences).") (define-public metabat (package (name "metabat") - (version "0.26.1") + (version "0.26.3") (source (origin (method url-fetch) (uri (string-append @@ -2495,31 +2495,40 @@ sequences).") (file-name (string-append name "-" version ".tar.bz2")) (sha256 (base32 - "0vgrhbaxg4dkxyax2kbigak7w0arhqvw0szwp6gd9wmyilc44kfa")))) + "1vpfvgsn8wdsv1g7z73zxcncskx7dy7bw5msg1hhibk25ay11pyg")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-includes - (lambda _ - (substitute* "SConstruct" - (("/include/bam/bam.h") - "/include/samtools/bam.h")) - (substitute* "src/BamUtils.h" - (("^#include \"bam/bam\\.h\"") - "#include \"samtools/bam.h\"") - (("^#include \"bam/sam\\.h\"") - "#include \"samtools/sam.h\"")) - (substitute* "src/KseqReader.h" - (("^#include \"bam/kseq\\.h\"") - "#include \"samtools/kseq.h\"")) - #t)) + (lambda _ + (substitute* "src/BamUtils.h" + (("^#include \"bam/bam\\.h\"") + "#include \"samtools/bam.h\"") + (("^#include \"bam/sam\\.h\"") + "#include \"samtools/sam.h\"")) + (substitute* "src/KseqReader.h" + (("^#include \"bam/kseq\\.h\"") + "#include \"htslib/kseq.h\"")) + #t)) (add-after 'unpack 'fix-scons - (lambda _ - (substitute* "SConstruct" ; Do not distribute README - (("^env\\.Install\\(idir_prefix, 'README\\.md'\\)") - "")) - #t)) + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "SConstruct" + (("^htslib_dir = 'samtools'") + (string-append "hitslib_dir = '" + (assoc-ref inputs "htslib") + "'")) + (("^samtools_dir = 'samtools'") + (string-append "samtools_dir = '" + (assoc-ref inputs "htslib") + "'")) + (("^findStaticOrShared\\('bam', hts_lib") + (string-append "findStaticOrShared('bam', '" + (assoc-ref inputs "samtools") + "/lib'")) + ;; Do not distribute README. + (("^env\\.Install\\(idir_prefix, 'README\\.md'\\)") "")) + #t)) (delete 'configure) (replace 'build (lambda* (#:key inputs outputs #:allow-other-keys) @@ -2528,17 +2537,11 @@ sequences).") (string-append "PREFIX=" (assoc-ref outputs "out")) - (string-append - "HTSLIB_DIR=" - (assoc-ref inputs "htslib")) - (string-append - "SAMTOOLS_DIR=" - (assoc-ref inputs "samtools")) (string-append "BOOST_ROOT=" (assoc-ref inputs "boost")) "install")))) - ;; check and install carried out during build phase + ;; Check and install are carried out during build phase. (delete 'check) (delete 'install)))) (inputs From 48d4ce6ea3eea430d4091ad44ecad3748d4c0d22 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 28 Jun 2016 09:17:54 +0300 Subject: [PATCH 152/435] Revert "gnu: qtbase: Don't propagate mesa." This reverts commit 763a8e6e235cf464306214349dad21979f2645f0. --- gnu/packages/qt.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 7c9f6db213..55218e652a 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -322,6 +322,8 @@ developers using C++ or QML, a CSS & JavaScript like language.") ;; passing "-system-sqlite". (delete-file-recursively "src/3rdparty/sqlite"))))) (build-system gnu-build-system) + (propagated-inputs + `(("mesa" ,mesa))) (inputs `(("alsa-lib" ,alsa-lib) ("cups" ,cups) @@ -349,7 +351,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("libxrender" ,libxrender) ("libxslt" ,libxslt) ("libxtst" ,libxtst) - ("mesa" ,mesa) ("mtdev" ,mtdev) ("mysql" ,mysql) ("nss" ,nss) @@ -446,6 +447,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (sha256 (base32 "1w0jvhgaiddafcms2nv8wl1klg07lncmjwm1zhdw3l6rxi9071sw")))) + (propagated-inputs `()) (native-inputs `(("perl" ,perl))) (inputs `(("mesa" ,mesa) From d6e374a0d9a71fac7f3946aaa56205d25d99916d Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 28 Jun 2016 21:40:08 +1000 Subject: [PATCH 153/435] gnu: mafft: Update to 7.299. * gnu/packages/bioinformatics.scm (mafft): Update to 7.299. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fa0979bcea..499025e29b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2411,7 +2411,7 @@ sequencing tag position and orientation.") (define-public mafft (package (name "mafft") - (version "7.267") + (version "7.299") (source (origin (method url-fetch) (uri (string-append @@ -2420,7 +2420,7 @@ sequencing tag position and orientation.") (file-name (string-append name "-" version ".tgz")) (sha256 (base32 - "1xl6xq1rfxkws0svrlhyqxhhwbv6r77jwblsdpcyiwzsscw6wlk0")))) + "1pwwdy5a17ggx8h9v9y712ilswj27dc3d23r65l56jgjz67y5zc0")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no automated tests, though there are tests in the read me From ec9466388ed03976714d3d9706bced9a288f11a6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Jun 2016 15:31:40 +0200 Subject: [PATCH 154/435] gnu: Add SEEK. * gnu/packages/bioinformatics.scm (seek): New variable. --- gnu/packages/bioinformatics.scm | 72 +++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 499025e29b..f944c7bbcd 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -27,6 +27,7 @@ #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix hg-download) #:use-module (guix build-system ant) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -51,6 +52,7 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages java) #:use-module (gnu packages linux) + #:use-module (gnu packages logging) #:use-module (gnu packages machine-learning) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) @@ -61,6 +63,7 @@ #:use-module (gnu packages popt) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages readline) #:use-module (gnu packages ruby) #:use-module (gnu packages statistics) #:use-module (gnu packages tbb) @@ -3000,6 +3003,75 @@ while RNA-seq specific modules evaluate sequencing saturation, mapped reads distribution, coverage uniformity, strand specificity, etc.") (license license:gpl3+))) +(define-public seek + ;; There are no release tarballs. According to the installation + ;; instructions at http://seek.princeton.edu/installation.jsp, the latest + ;; stable release is identified by this changeset ID. + (let ((changeset "2329130") + (revision "1")) + (package + (name "seek") + (version (string-append "0-" revision "." changeset)) + (source (origin + (method hg-fetch) + (uri (hg-reference + (url "https://bitbucket.org/libsleipnir/sleipnir") + (changeset changeset))) + (sha256 + (base32 + "0qrvilwh18dpbhkf92qvxbmay0j75ra3jg2wrhz67gf538zzphsx")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((srfi srfi-1) + (guix build gnu-build-system) + (guix build utils)) + #:phases + (let ((dirs '("SeekMiner" + "SeekEvaluator" + "SeekPrep" + "Distancer" + "Data2DB" + "PCL2Bin"))) + (modify-phases %standard-phases + (add-before 'configure 'bootstrap + (lambda _ + (zero? (system* "bash" "gen_auto")))) + (add-after 'build 'build-additional-tools + (lambda* (#:key make-flags #:allow-other-keys) + (every (lambda (dir) + (with-directory-excursion (string-append "tools/" dir) + (zero? (apply system* "make" make-flags)))) + dirs))) + (add-after 'install 'install-additional-tools + (lambda* (#:key make-flags #:allow-other-keys) + (fold (lambda (dir result) + (with-directory-excursion (string-append "tools/" dir) + (and result + (zero? (apply system* + `("make" ,@make-flags "install")))))) + #t dirs))))))) + (inputs + `(("gsl" ,gsl) + ("boost" ,boost) + ("libsvm" ,libsvm) + ("readline" ,readline) + ("gengetopt" ,gengetopt) + ("log4cpp" ,log4cpp))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("perl" ,perl))) + (home-page "http://seek.princeton.edu") + (synopsis "Gene co-expression search engine") + (description + "SEEK is a computational gene co-expression search engine. SEEK provides +biologists with a way to navigate the massive human expression compendium that +now contains thousands of expression datasets. SEEK returns a robust ranking +of co-expressed genes in the biological area of interest defined by the user's +query genes. It also prioritizes thousands of expression datasets according +to the user's query of interest.") + (license license:cc-by3.0)))) + (define-public samtools (package (name "samtools") From 6c737963f6accdba18df1a648d0372e526e8f937 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 29 Jun 2016 09:47:15 +1000 Subject: [PATCH 155/435] gnu: htslib: Update to 1.3.1. * gnu/packages/bioinformatics.scm (htslib): Update to 1.3.1. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f944c7bbcd..c1cc1c723f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2173,7 +2173,7 @@ manipulating HTS data.") (define-public htslib (package (name "htslib") - (version "1.2.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -2181,7 +2181,7 @@ manipulating HTS data.") version "/htslib-" version ".tar.bz2")) (sha256 (base32 - "1c32ssscbnjwfw3dra140fq7riarp2x990qxybh34nr1p5r17nxx")))) + "1rja282fwdc25ql6izkhdyh8ppw8x2fs0w0js78zgkmqjlikmma9")))) (build-system gnu-build-system) (arguments `(#:phases From 3bce0f14b2deca678c5339cb41422dd4e4b465fa Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 29 Jun 2016 10:13:22 +1000 Subject: [PATCH 156/435] gnu: star: Update to 2.5.2a. * gnu/packages/bioinformatics.scm (star): Update to 2.5.2a. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c1cc1c723f..b2e4756234 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3791,7 +3791,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.") (define-public star (package (name "star") - (version "2.5.1b") + (version "2.5.2a") (source (origin (method url-fetch) (uri (string-append "https://github.com/alexdobin/STAR/archive/" @@ -3799,7 +3799,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0wzcfhkg10apnh0y73xlarfa79xxwxdizicbdl11wb48awk44iq4")) + "0xjlsm4p9flln111hv4xx7xy94c2nl53zvdvbk9winmiradjsdra")) (modules '((guix build utils))) (snippet '(begin From b0069a6777121e3f52a5a9bc07c19e054d9d082b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 25 Jun 2016 09:16:23 +0200 Subject: [PATCH 157/435] gnu: avrdude: Use libusb-compat. * gnu/packages/patches/avrdude-fix-libusb.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/flashing-tools.scm (avrdude)[source]: Remove patch. [inputs]: Replace "libusb" with "libusb-compat". --- gnu/local.mk | 1 - gnu/packages/flashing-tools.scm | 5 +- gnu/packages/patches/avrdude-fix-libusb.patch | 256 ------------------ 3 files changed, 2 insertions(+), 260 deletions(-) delete mode 100644 gnu/packages/patches/avrdude-fix-libusb.patch diff --git a/gnu/local.mk b/gnu/local.mk index fa6c277be1..7dfda9b808 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -441,7 +441,6 @@ dist_patch_DATA = \ %D%/packages/patches/automake-regexp-syntax.patch \ %D%/packages/patches/avahi-localstatedir.patch \ %D%/packages/patches/avidemux-install-to-lib.patch \ - %D%/packages/patches/avrdude-fix-libusb.patch \ %D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/beets-image-test-failure.patch \ diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 0ab8bc57ee..e3f8d80c02 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -90,12 +90,11 @@ programmer devices.") version ".tar.gz")) (sha256 (base32 - "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y")) - (patches (search-patches "avrdude-fix-libusb.patch")))) + "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y")))) (build-system gnu-build-system) (inputs `(("libelf" ,libelf) - ("libusb" ,libusb) + ("libusb" ,libusb-compat) ("libftdi" ,libftdi))) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/patches/avrdude-fix-libusb.patch b/gnu/packages/patches/avrdude-fix-libusb.patch deleted file mode 100644 index 13d0eca91c..0000000000 --- a/gnu/packages/patches/avrdude-fix-libusb.patch +++ /dev/null @@ -1,256 +0,0 @@ -Avrdude cannot build with our version of libusb. This patch fixes that. -See http://savannah.nongnu.org/bugs/?41854 - -diff --git a/dfu.c b/dfu.c -index 7d349bc..0f80440 100644 ---- a/dfu.c -+++ b/dfu.c -@@ -36,13 +36,14 @@ - - #ifndef HAVE_LIBUSB - --int dfu_open(struct dfu_dev *dfu, char *port_name) { -+struct dfu_dev * dfu_open(char *port_spec) { - fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n", - progname); -- return -1; -+ return NULL; - } - --int dfu_init(struct dfu_dev *dfu, unsigned short usb_pid) { -+int dfu_init(struct dfu_dev *dfu, -+ unsigned short vid, unsigned short pid) { - return -1; - } - -diff --git a/flip1.c b/flip1.c -index b891d80..0959996 100644 ---- a/flip1.c -+++ b/flip1.c -@@ -164,6 +164,8 @@ static void flip1_setup(PROGRAMMER * pgm); - static void flip1_teardown(PROGRAMMER * pgm); - - /* INTERNAL PROGRAMMER FUNCTION PROTOTYPES */ -+#ifdef HAVE_LIBUSB -+// The internal ones are made conditional, as they're not defined further down #ifndef HAVE_LIBUSB - - static void flip1_show_info(struct flip1 *flip1); - -@@ -177,6 +179,8 @@ static const char * flip1_mem_unit_str(enum flip1_mem_unit mem_unit); - static int flip1_set_mem_page(struct dfu_dev *dfu, unsigned short page_addr); - static enum flip1_mem_unit flip1_mem_unit(const char *name); - -+#endif /* HAVE_LIBUSB */ -+ - /* THE INITPGM FUNCTION DEFINITIONS */ - - void flip1_initpgm(PROGRAMMER *pgm) -@@ -201,6 +205,7 @@ void flip1_initpgm(PROGRAMMER *pgm) - pgm->teardown = flip1_teardown; - } - -+#ifdef HAVE_LIBUSB - /* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */ - - int flip1_open(PROGRAMMER *pgm, char *port_spec) -@@ -876,3 +881,82 @@ enum flip1_mem_unit flip1_mem_unit(const char *name) { - return FLIP1_MEM_UNIT_EEPROM; - return FLIP1_MEM_UNIT_UNKNOWN; - } -+#else /* HAVE_LIBUSB */ -+// Dummy functions -+int flip1_open(PROGRAMMER *pgm, char *port_spec) -+{ -+ fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n", -+ progname); -+ return NULL; -+} -+ -+int flip1_initialize(PROGRAMMER* pgm, AVRPART *part) -+{ -+ return -1; -+} -+ -+void flip1_close(PROGRAMMER* pgm) -+{ -+} -+ -+void flip1_enable(PROGRAMMER* pgm) -+{ -+} -+ -+void flip1_disable(PROGRAMMER* pgm) -+{ -+} -+ -+void flip1_display(PROGRAMMER* pgm, const char *prefix) -+{ -+} -+ -+int flip1_program_enable(PROGRAMMER* pgm, AVRPART *part) -+{ -+ return -1; -+} -+ -+int flip1_chip_erase(PROGRAMMER* pgm, AVRPART *part) -+{ -+ return -1; -+} -+ -+int flip1_read_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, -+ unsigned long addr, unsigned char *value) -+{ -+ return -1; -+} -+ -+int flip1_write_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, -+ unsigned long addr, unsigned char value) -+{ -+ return -1; -+} -+ -+int flip1_paged_load(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, -+ unsigned int page_size, unsigned int addr, unsigned int n_bytes) -+{ -+ return -1; -+} -+ -+int flip1_paged_write(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, -+ unsigned int page_size, unsigned int addr, unsigned int n_bytes) -+{ -+ return -1; -+} -+ -+int flip1_read_sig_bytes(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem) -+{ -+ return -1; -+} -+ -+void flip1_setup(PROGRAMMER * pgm) -+{ -+} -+ -+void flip1_teardown(PROGRAMMER * pgm) -+{ -+} -+ -+ -+#endif /* HAVE_LIBUSB */ -\ No newline at end of file - -diff --git a/flip2.c b/flip2.c -index ed8e996..16c4bf8 100644 ---- a/flip2.c -+++ b/flip2.c -@@ -151,6 +151,8 @@ static void flip2_setup(PROGRAMMER * pgm); - static void flip2_teardown(PROGRAMMER * pgm); - - /* INTERNAL PROGRAMMER FUNCTION PROTOTYPES */ -+#ifdef HAVE_LIBUSB -+// The internal ones are made conditional, as they're not defined further down #ifndef HAVE_LIBUSB - - static void flip2_show_info(struct flip2 *flip2); - -@@ -171,6 +173,8 @@ static const char * flip2_status_str(const struct dfu_status *status); - static const char * flip2_mem_unit_str(enum flip2_mem_unit mem_unit); - static enum flip2_mem_unit flip2_mem_unit(const char *name); - -+#endif /* HAVE_LIBUSB */ -+ - /* THE INITPGM FUNCTION DEFINITIONS */ - - void flip2_initpgm(PROGRAMMER *pgm) -@@ -195,6 +199,7 @@ void flip2_initpgm(PROGRAMMER *pgm) - pgm->teardown = flip2_teardown; - } - -+#ifdef HAVE_LIBUSB - /* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */ - - int flip2_open(PROGRAMMER *pgm, char *port_spec) -@@ -922,3 +927,85 @@ enum flip2_mem_unit flip2_mem_unit(const char *name) { - return FLIP2_MEM_UNIT_SIGNATURE; - return FLIP2_MEM_UNIT_UNKNOWN; - } -+ -+#else /* HAVE_LIBUSB */ -+ -+/* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */ -+ -+int flip2_open(PROGRAMMER *pgm, char *port_spec) -+{ -+ fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n", -+ progname); -+ return NULL; -+} -+ -+int flip2_initialize(PROGRAMMER* pgm, AVRPART *part) -+{ -+ return -1; -+} -+ -+void flip2_close(PROGRAMMER* pgm) -+{ -+} -+ -+void flip2_enable(PROGRAMMER* pgm) -+{ -+} -+ -+void flip2_disable(PROGRAMMER* pgm) -+{ -+} -+ -+void flip2_display(PROGRAMMER* pgm, const char *prefix) -+{ -+} -+ -+int flip2_program_enable(PROGRAMMER* pgm, AVRPART *part) -+{ -+ return -1; -+} -+ -+int flip2_chip_erase(PROGRAMMER* pgm, AVRPART *part) -+{ -+ return -1; -+} -+ -+int flip2_read_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, -+ unsigned long addr, unsigned char *value) -+{ -+ return -1; -+} -+ -+int flip2_write_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, -+ unsigned long addr, unsigned char value) -+{ -+ return -1; -+} -+ -+int flip2_paged_load(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, -+ unsigned int page_size, unsigned int addr, unsigned int n_bytes) -+{ -+ return -1; -+} -+ -+int flip2_paged_write(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, -+ unsigned int page_size, unsigned int addr, unsigned int n_bytes) -+{ -+ return -1; -+} -+ -+int flip2_read_sig_bytes(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem) -+{ -+ return -1; -+} -+ -+void flip2_setup(PROGRAMMER * pgm) -+{ -+} -+ -+void flip2_teardown(PROGRAMMER * pgm) -+{ -+} -+ -+ -+#endif /* HAVE_LIBUSB */ From c2c36f5fab31d7c79ea510d61cb158ee15dda310 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 28 Jun 2016 14:35:47 +0200 Subject: [PATCH 158/435] gnu: openexr: Install 'ImfStdIO.h'. * gnu/packages/graphics.scm (openexr)[source](snippet): Modify IlmImf/Makefile.in so that it installs 'ImfStdIO.h'. --- gnu/packages/graphics.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index ca99cd0302..0ca2e84ee6 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -211,9 +211,17 @@ exception-handling library.") "0ca2j526n4wlamrxb85y2jrgcv0gf21b3a19rr0gh4rjqkv1581n")) (modules '((guix build utils))) (snippet - '(substitute* (find-files "." "tmpDir\\.h") - (("\"/var/tmp/\"") - "\"/tmp/\""))) + '(begin + (substitute* (find-files "." "tmpDir\\.h") + (("\"/var/tmp/\"") + "\"/tmp/\"")) + + ;; Install 'ImfStdIO.h'. Reported at + ;; + ;; and . + (substitute* "IlmImf/Makefile.in" + (("ImfIO\\.h") + "ImfIO.h ImfStdIO.h")))) (patches (search-patches "openexr-missing-samples.patch")))) (build-system gnu-build-system) (arguments From 2de091f0c8ee143b1dd07483b3b86a31870342c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 29 Jun 2016 10:02:58 +0200 Subject: [PATCH 159/435] gnu: node: Make sure 'npm' remains a symlink after 'patch-shebangs'. Fixes . Reported by Jovany Leandro G.C and Jelle Licht . * gnu/packages/node.scm (node)[arguments]: Replace 'patch-shebangs' phase. --- gnu/packages/node.scm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 2f269d08b1..887ef930ff 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Cyrill Schenkel ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015, 2016 David Thompson +;;; Copyright © 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -99,7 +100,23 @@ (zero? (apply system* (string-append (assoc-ref inputs "python") "/bin/python") - "configure" flags)))))))) + "configure" flags))))) + (replace 'patch-shebangs + (lambda* (#:key outputs #:allow-other-keys #:rest all) + ;; Work around . + (let* ((patch (assoc-ref %standard-phases 'patch-shebangs)) + (npm (string-append (assoc-ref outputs "out") + "/bin/npm")) + (target (readlink npm))) + (and (apply patch all) + (with-directory-excursion (dirname npm) + ;; Turn NPM into a symlink to TARGET again, which 'npm' + ;; relies on for the resolution of relative file names + ;; in JS files. + (delete-file target) + (rename-file npm target) + (symlink target npm) + #t)))))))) (native-inputs `(("python" ,python-2) ("perl" ,perl) From 53d159f8434360d4ff2e379676c2098553b96bf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 29 Jun 2016 11:13:03 +0200 Subject: [PATCH 160/435] gnu: Add glog. * gnu/packages/logging.scm (glog): New variable. --- gnu/packages/logging.scm | 45 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 68af09e08c..c40d6ebbaf 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,8 +22,10 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) - #:use-module (gnu packages)) + #:use-module (gnu packages perl) + #:use-module (gnu packages autotools)) (define-public log4cpp (package @@ -45,3 +48,43 @@ IDSA and other destinations. It is modeled after the Log4j Java library, staying as close to their API as is reasonable.") (home-page "http://log4cpp.sourceforge.net/") (license license:lgpl2.1+))) + +(define-public glog + (package + (name "glog") + (version "0.3.4") + (home-page "https://github.com/google/glog") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 + "0ym5g15m7c8kjfr2c3zq6bz08ghin2d1r1nb6v2vnkfh1vn945x1")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl) ;for tests + ("autoconf" ,(autoconf-wrapper)) + ("automake" ,automake) + ("libtool" ,libtool))) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'configure 'add-automake-files + (lambda _ + ;; The 'test-driver' file is a dangling symlink to + ;; /usr/share/automake; replace it. We can't just run + ;; 'automake -ac' because it complains about version + ;; mismatch, so run the whole thing. + (delete-file "test-driver") + (delete-file "configure") ;it's read-only + (zero? (system* "autoreconf" "-vfi"))))))) + (synopsis "C++ logging library") + (description + "Google glog is a library that implements application-level logging. +This library provides logging APIs based on C++-style streams and various +helper macros. You can log a message by simply streaming things to log at a +particular severity level. It allows logging to be controlled from the +command line.") + (license license:bsd-3))) From bc3a2e3503b5bc18d988b3cd516bea0f91237384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 29 Jun 2016 12:01:05 +0200 Subject: [PATCH 161/435] gnu: ceres-solver: Depend on glog. * gnu/packages/maths.scm (ceres)[arguments]: Remove -DMINIGLOG=ON. [inputs]: Add GLOG. --- gnu/packages/maths.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 3b860a957f..4be534274a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -63,6 +63,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages less) #:use-module (gnu packages lisp) + #:use-module (gnu packages logging) #:use-module (gnu packages gnome) #:use-module (gnu packages guile) #:use-module (gnu packages xorg) @@ -644,10 +645,7 @@ interfaces.") (build-system cmake-build-system) (arguments ;; TODO: Build HTML user documentation and install separately. - ;; XXX: Use the embedded "miniglog" as a replacement for - ;; . TODO: Use Glog when it's available. - '(#:configure-flags '("-DMINIGLOG=ON" - "-DBUILD_EXAMPLES=OFF" + '(#:configure-flags '("-DBUILD_EXAMPLES=OFF" "-DBUILD_SHARED_LIBS=ON") #:phases (modify-phases %standard-phases @@ -665,6 +663,7 @@ interfaces.") ("blas" ,openblas) ("lapack" ,lapack) ("suitesparse" ,suitesparse) + ("glog" ,glog) ("gflags" ,gflags))) (synopsis "C++ library for solving large optimization problems") (description From 8dec2229a2ac97e2bf340e9b7ddefdbf60dbb95d Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 29 Jun 2016 17:17:23 +1000 Subject: [PATCH 162/435] gnu: blast+: Update to 2.4.0. * gnu/packages/bioinformatics.scm (blast+): Update to 2.4.0. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b2e4756234..4b544a302f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -424,7 +424,7 @@ into separate processes; and more.") (define-public blast+ (package (name "blast+") - (version "2.2.31") + (version "2.4.0") (source (origin (method url-fetch) (uri (string-append @@ -432,7 +432,7 @@ into separate processes; and more.") version "/ncbi-blast-" version "+-src.tar.gz")) (sha256 (base32 - "19gq6as4k1jrgsd26158ads6h7v4jca3h4r5dzg1y0m6ya50x5ph")) + "14n9jik6vhiwjd3m7bach4xj1pzfn0szbsbyfxybd9l9cc43b6mb")) (modules '((guix build utils))) (snippet '(begin From 242ad41c0129eabfdc6678ae9eebd1c887ece55e Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 28 Jun 2016 09:36:34 -0400 Subject: [PATCH 163/435] download: Use basic authentication when userinfo is present in URI. * guix/download.scm (url-fetch): Include (guix base64) module on the build-side. * guix/build/download.scm (http-fetch): Add "Authorization" header when userinfo is present in the URI. --- guix/build/download.scm | 14 ++++++++++++-- guix/download.scm | 3 ++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index bd011ce878..103e784bb1 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -23,9 +23,11 @@ #:use-module (web http) #:use-module ((web client) #:hide (open-socket-for-uri)) #:use-module (web response) + #:use-module (guix base64) #:use-module (guix ftp-client) #:use-module (guix build utils) #:use-module (rnrs io ports) + #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-19) @@ -598,14 +600,22 @@ FILE on success." (string>? (version) "2.0.7"))) (define headers - '(;; Some web sites, such as http://dist.schmorp.de, would block you if + `(;; Some web sites, such as http://dist.schmorp.de, would block you if ;; there's no 'User-Agent' header, presumably on the assumption that ;; you're a spammer. So work around that. (User-Agent . "GNU Guile") ;; Some servers, such as https://alioth.debian.org, return "406 Not ;; Acceptable" when not explicitly told that everything is accepted. - (Accept . "*/*"))) + (Accept . "*/*") + + ;; Basic authentication, if needed. + ,@(match (uri-userinfo uri) + ((? string? str) + `((Authorization . ,(string-append "Basic " + (base64-encode + (string->utf8 str)))))) + (_ '())))) (let*-values (((connection) (open-connection-for-uri uri #:timeout timeout)) diff --git a/guix/download.scm b/guix/download.scm index 9b238dcbdf..c3f34f5520 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -328,7 +328,8 @@ in the store." #:modules '((guix build download) (guix build utils) (guix ftp-client) - (guix base32)) + (guix base32) + (guix base64)) ;; Use environment variables and a fixed script ;; name so there's only one script in store for From ad85791265ba5ae135f6c6aa90a0766620b2f3d0 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 16 Jun 2016 09:50:32 +0200 Subject: [PATCH 164/435] gnu: linux-initrd: Support NVMe devices. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/system/linux-initrd.scm (base-initrd): Add nvme to linux-modules. Signed-off-by: Ludovic Courtès --- gnu/system/linux-initrd.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 484bce71c4..8339fae7ed 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Mark H Weaver +;;; Copyright © 2016 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -183,6 +184,7 @@ loaded at boot time in the order in which they appear." "usb-storage" "uas" ;for the installation image etc. "usbhid" "hid-generic" "hid-apple" ;keyboards during early boot "dm-crypt" "xts" "serpent_generic" "wp512" ;for encrypted root partitions + "nvme" ;for new SSD NVMe devices ,@(if (string-match "^(x86_64|i[3-6]86)-" (%current-system)) '("pata_acpi" "pata_atiixp" ;for ATA controllers "isci") ;for SAS controllers like Intel C602 From 468e0b18d1eff7c8aedfe84edc00feca320e95a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 29 Jun 2016 16:07:48 +0200 Subject: [PATCH 165/435] gnu: ceres-solver: Propagate GLOG. * gnu/packages/maths.scm (ceres)[inputs]: Move GLOG to... [propagated-inputs]: ... here. New field. --- gnu/packages/maths.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4be534274a..d3b10d57aa 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -658,12 +658,13 @@ interfaces.") #t))))) (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("glog" ,glog))) ;for #include (inputs `(("eigen" ,eigen) ("blas" ,openblas) ("lapack" ,lapack) ("suitesparse" ,suitesparse) - ("glog" ,glog) ("gflags" ,gflags))) (synopsis "C++ library for solving large optimization problems") (description From e4875826d8b31ef8529ac2b7ec65db35d0423a46 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 29 Jun 2016 22:17:26 -0400 Subject: [PATCH 166/435] gnu: python-wcwidth: Add missing 'properties' field. This is a followup to commit a44fd439dcef88b33c00db94fb3419e097401fee. * gnu/packages/python.scm (python-wcwidth)[properties]: New field. --- 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 d29546749d..2134c1034a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9261,7 +9261,8 @@ wide-character codes. It is useful for those implementing a terminal emulator, or programs that carefully produce output to be interpreted by one. It is a Python implementation of the @code{wcwidth} and @code{wcswidth} C functions specified in POSIX.1-2001 and POSIX.1-2008.") - (license license:expat))) + (license license:expat) + (properties `((python2-variant . ,(delay python2-wcwidth)))))) (define-public python2-wcwidth (package From f4155188c3d35fac67967e2bf64467183cd970f4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 29 Jun 2016 09:40:40 +0200 Subject: [PATCH 167/435] gnu: Add python-prompt-toolkit. * gnu/packages/python.scm (python-prompt-toolkit, python2-prompt-toolkit): New variables. Signed-off-by: Leo Famulari --- gnu/packages/python.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2134c1034a..684c372e82 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9664,3 +9664,40 @@ implementation for Python.") (propagated-inputs `(("python2-ipaddress" ,python2-ipaddress) ,@(package-propagated-inputs base)))))) + +(define-public python-prompt-toolkit + (package + (name "python-prompt-toolkit") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/" + "8d/de/412f23919929c01e6b55183e124623f705e4b91796d3d2dce2cb53d595ad/" + "prompt_toolkit-" version ".tar.gz")) + (sha256 + (base32 + "18lbmmkyjf509klc3217lq0x863pfzix779zx5kp9lms1iph4pl0")))) + (build-system python-build-system) + (inputs `(("python-wcwidth" ,python-wcwidth) + ("python-pygments" ,python-pygments))) + (native-inputs `(("python-six" ,python-six))) + (home-page "https://github.com/jonathanslenders/python-prompt-toolkit") + (synopsis "Library for building command line interfaces in Python") + (description + "Prompt-Toolkit is a library for building interactive command line +interfaces in Python. It's like GNU Readline but it also features syntax +highlighting while typing, out-of-the-box multi-line input editing, advanced +code completion, incremental search, support for Chinese double-width +characters, mouse support, and auto suggestions.") + (license bsd-3) + (properties `((python2-variant . ,(delay python2-prompt-toolkit)))))) + +(define-public python2-prompt-toolkit + (let ((base (package-with-python2 (strip-python2-variant python-prompt-toolkit)))) + (package + (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) From 9b1c1ea12962a9442c452ed2b9ab2e771ea60b18 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 30 Jun 2016 09:55:18 +0300 Subject: [PATCH 168/435] gnu: owncloud-client: Update to 2.2.2. * gnu/packages/owncloud.scm (owncloud-client): Update to 2.2.2. --- gnu/packages/owncloud.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/owncloud.scm b/gnu/packages/owncloud.scm index 4969d31c01..cfb5e2c149 100644 --- a/gnu/packages/owncloud.scm +++ b/gnu/packages/owncloud.scm @@ -34,14 +34,14 @@ (define-public owncloud-client (package (name "owncloud-client") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (string-append "https://download.owncloud.com/desktop/stable/" "owncloudclient-" version ".tar.xz")) (sha256 - (base32 "1wis62jk4y4mbr25y39y6af57pi6vp2mbryazmvn6zgnygf69m3h")))) + (base32 "0m0pxv12w72qqgxim9fh8w3bgkgnhpjyay8ldll3nnzq1jmhk09n")))) (build-system cmake-build-system) (arguments `(#:phases From 5fc4df0cb5a33a426ef629870ee7b59341079bc5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 30 Jun 2016 10:56:57 +0300 Subject: [PATCH 169/435] gnu: owncloud-client: Remove some bundled libs. * gnu/packages/owncloud.scm (owncloud-client)[source]: Add a snippet removing some of the 3rd party projects. --- gnu/packages/owncloud.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/owncloud.scm b/gnu/packages/owncloud.scm index cfb5e2c149..f755df4f0b 100644 --- a/gnu/packages/owncloud.scm +++ b/gnu/packages/owncloud.scm @@ -41,7 +41,20 @@ (uri (string-append "https://download.owncloud.com/desktop/stable/" "owncloudclient-" version ".tar.xz")) (sha256 - (base32 "0m0pxv12w72qqgxim9fh8w3bgkgnhpjyay8ldll3nnzq1jmhk09n")))) + (base32 "0m0pxv12w72qqgxim9fh8w3bgkgnhpjyay8ldll3nnzq1jmhk09n")) + (modules '((guix build utils))) + (snippet + '(begin + ;; only allows bundled libcrashreporter-qt + (delete-file-recursively "src/3rdparty/libcrashreporter-qt") + ;; we already package qtkeychain and sqlite + (delete-file-recursively "src/3rdparty/qtkeychain") + (delete-file-recursively "src/3rdparty/sqlite3") + ;; qjson is packaged, qprogessindicator, qlockedfile, qtokenizer and + ;; qtsingleapplication have not yet been packaged, but all are + ;; explicitly used from the 3rdparty folder during build. + ;; We can also remove the macgoodies folder + (delete-file-recursively "src/3rdparty/qtmacgoodies"))))) (build-system cmake-build-system) (arguments `(#:phases From 2e5505e5eac3bd0170af5e62b95fadcc9aa42794 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 30 Jun 2016 19:04:08 +0300 Subject: [PATCH 170/435] gnu: busybox: Update to 1.25.0. * gnu/packages/busybox.scm (busybox): Update to 1.25.0. [native-inputs]: Add which. --- gnu/packages/busybox.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index e2d6cf8f9e..eab2bef0c7 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 John Darrington +;;; Copyright © 2014 John Darrington +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,15 +30,15 @@ (define-public busybox (package (name "busybox") - (version "1.22.1") + (version "1.25.0") (source (origin (method url-fetch) (uri (string-append - "http://www.busybox.net/downloads/" name "-" + "https://www.busybox.net/downloads/" name "-" version ".tar.bz2")) (sha256 (base32 - "12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf")))) + "1z52mh6prhd6v47qryz4rvng5r1z0am6masrnigq06zfhmlf03ss")))) (build-system gnu-build-system) (arguments `(#:phases @@ -96,11 +97,12 @@ (native-inputs `(("perl" ,perl) ; needed to generate the man pages (pod2man) ;; The following are needed by the tests. ("inetutils" ,inetutils) + ("which" ,(@ (gnu packages base) which)) ("zip" ,zip))) (synopsis "Many common UNIX utilities in a single executable") (description "BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides a fairly complete environment for any small or embedded system.") - (home-page "http://www.busybox.net") + (home-page "https://www.busybox.net") ;; Some files are gplv2+ (license gpl2))) From 84d08af653987f43987a5113e31b8704e24a47f2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 30 Jun 2016 19:09:40 +0300 Subject: [PATCH 171/435] gnu: busybox: Use 'modify-phases'. * gnu/packages/busybox.scm (busybox)[arguments]: Use 'modify-phases'. --- gnu/packages/busybox.scm | 55 +++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index eab2bef0c7..ecbdd6f939 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -42,37 +42,36 @@ (build-system gnu-build-system) (arguments `(#:phases - (alist-replace - 'configure - (lambda _ (zero? (system* "make" "defconfig"))) - (alist-replace - 'check - (lambda _ + (modify-phases %standard-phases + (replace 'configure + (lambda _ (zero? (system* "make" "defconfig")))) + (replace 'check + (lambda _ (substitute* '("testsuite/du/du-s-works" - "testsuite/du/du-works") - (("/bin") "/etc")) ; there is no /bin but there is a /etc + "testsuite/du/du-works") + (("/bin") "/etc")) ; there is no /bin but there is a /etc ;; There is no /usr/bin or /bin - replace it with /gnu/store (substitute* "testsuite/cpio.tests" - (("/usr/bin") (%store-directory)) - (("usr") (car (filter (negate string-null?) - (string-split (%store-directory) #\/))))) + (("/usr/bin") (%store-directory)) + (("usr") (car (filter (negate string-null?) + (string-split (%store-directory) #\/))))) (substitute* "testsuite/date/date-works-1" - (("/bin/date") (which "date"))) + (("/bin/date") (which "date"))) ;; The pidof tests assume that pid 1 is called "init" but that is not ;; true in guix build environment (substitute* "testsuite/pidof.tests" - (("-s init") "-s $(cat /proc/1/comm)")) + (("-s init") "-s $(cat /proc/1/comm)")) (substitute* "testsuite/grep.tests" - ;; The subject of this test is buggy. It is known by upstream (fixed in git) - ;; So mark it with SKIP_KNOWN_BUGS like the others. - ;; Presumably it wasn't known at the time of release ... - ;; (It is strange that they release software which they know to have bugs) - (("testing \"grep -w \\^str doesn't match str not at the beginning\"") - "test x\"$SKIP_KNOWN_BUGS\" = x\"\" && testing \"grep -w ^str doesn't match str not at the beginning\"")) + ;; The subject of this test is buggy. It is known by upstream (fixed in git) + ;; So mark it with SKIP_KNOWN_BUGS like the others. + ;; Presumably it wasn't known at the time of release ... + ;; (It is strange that they release software which they know to have bugs) + (("testing \"grep -w \\^str doesn't match str not at the beginning\"") + "test x\"$SKIP_KNOWN_BUGS\" = x\"\" && testing \"grep -w ^str doesn't match str not at the beginning\"")) ;; This test cannot possibly pass. ;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set. @@ -84,16 +83,14 @@ ;; "V=1" "SKIP_KNOWN_BUGS=1" "SKIP_INTERNET_TESTS=1" - "check"))) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (zero? - (system* "make" - (string-append "CONFIG_PREFIX=" out) - "install")))) - %standard-phases))))) + "check")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (zero? + (system* "make" + (string-append "CONFIG_PREFIX=" out) + "install")))))))) (native-inputs `(("perl" ,perl) ; needed to generate the man pages (pod2man) ;; The following are needed by the tests. ("inetutils" ,inetutils) From c7f04517a6795933c2adafa037fe6c79c90d4cc4 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 30 Jun 2016 11:19:15 +1000 Subject: [PATCH 172/435] gnu: Add r-glmnet. * gnu/packages/statistics.scm (r-glmnet): New variable. --- gnu/packages/statistics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index f0373920e9..73c30ae080 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2244,6 +2244,32 @@ singular and eigenvalue decompositions, as well as for principal component analysis of large sparse or dense matrices.") (license (list license:gpl2+ license:gpl3+)))) +(define-public r-glmnet + (package + (name "r-glmnet") + (version "2.0-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "glmnet" version)) + (sha256 + (base32 + "1cbpzmbv837fvq88rgn6mgzgr9f1wqp9fg8gh2kkmngvr1957a9c")))) + (build-system r-build-system) + (inputs + `(("gfortran" ,gfortran))) + (propagated-inputs + `(("r-foreach" ,r-foreach))) + (home-page "http://www.jstatsoft.org/v33/i01") + (synopsis "Lasso and elastic-net regularized generalized linear models") + (description + "The glmnet package provides efficient procedures for fitting the entire +lasso or elastic-net regularization path for linear and Poisson regression, as +well as logistic, multinomial, Cox, multiple-response Gaussian and grouped +multinomial models. The algorithm uses cyclical coordinate descent in a +path-wise fashion.") + (license license:gpl2+))) + (define-public r-pkgmaker (package (name "r-pkgmaker") From 71830f0e494692a8e2163f599e28438dc9df7d87 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 1 Jul 2016 08:59:14 +1000 Subject: [PATCH 173/435] gnu: vsearch: Update to 2.0.1. * gnu/packages/bioinformatics.scm (vsearch): Update to 2.0.1. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4b544a302f..caab01ddd1 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4060,7 +4060,7 @@ data types as well.") (define-public vsearch (package (name "vsearch") - (version "2.0.0") + (version "2.0.1") (source (origin (method url-fetch) @@ -4070,7 +4070,7 @@ data types as well.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1sd57abgx077icqrbj36jq9q7pdpzc6dbics2pn1555kisq2jhfh")) + "0q7szwbf7r29yxkhb415a8i51vj87kvl5ap7h09w7k9ycb2ywvzw")) (modules '((guix build utils))) (snippet '(begin From 2638ec61e04fb6d70cb6316ce90340cee20cf097 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 30 Jun 2016 21:25:03 +0300 Subject: [PATCH 174/435] gnu: orcus: Update to 0.9.2. * gnu/packages/libreoffice.scm (orcus): Update to 0.9.2. --- gnu/packages/libreoffice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 60a6d7df73..9cf4c1363c 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -94,14 +94,14 @@ their dependencies automatically upon calculation.") (define-public orcus (package (name "orcus") - (version "0.7.1") + (version "0.9.2") (source (origin (method url-fetch) (uri (string-append "http://kohei.us/files/" name "/src/lib" name "-" version ".tar.xz")) (sha256 (base32 - "0hva4qalg3dk6n1118ncr5fy8cqnj2f7fwldw7aa04124rj6p104")))) + "170racjz7s7yxza722hxsqc12788w57qnp6x6j2692pzp3qzjjfx")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 5bf834225af12156fc722fbef54214eb54132cc2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 30 Jun 2016 21:19:15 +0300 Subject: [PATCH 175/435] gnu: libreoffice: Update to 5.1.4.2 [fixes CVE-2016-4324]. * gnu/packages/libreoffice.scm (libreoffice): Update to 5.1.4.2. [native-inputs]: Switch python to python-wrapper. [arguments]: Add '--without-doxygen' and '--disable-gtk3'. --- gnu/packages/libreoffice.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 9cf4c1363c..18606f96a1 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -709,7 +709,7 @@ and to return information on pronunciations, meanings and synonyms.") (define-public libreoffice (package (name "libreoffice") - (version "5.0.5.2") + (version "5.1.4.2") (source (origin (method url-fetch) @@ -718,7 +718,7 @@ and to return information on pronunciations, meanings and synonyms.") "http://download.documentfoundation.org/libreoffice/src/" (version-prefix version 3) "/libreoffice-" version ".tar.xz")) (sha256 (base32 - "120vcxpxzs0za76fyfry281ysv6d1ianb37d1yq8py8chkdjkrqy")))) + "11c30y9gvsy5h3nh9pnciq57gi99plrmr6qp8hhdk2l5xmwlmrfa")))) (build-system gnu-build-system) (native-inputs `(;; autoreconf is run by the LibreOffice build system, since after @@ -730,7 +730,7 @@ and to return information on pronunciations, meanings and synonyms.") ("cppunit" ,cppunit) ("flex" ,flex) ("pkg-config" ,pkg-config) - ("python" ,python) + ("python" ,python-wrapper) ("which" ,which))) (inputs `(("bluez" ,bluez) @@ -851,6 +851,8 @@ and to return information on pronunciations, meanings and synonyms.") "--disable-coinmp" "--disable-firebird-sdbc" ; embedded firebird "--disable-gltf" + "--without-doxygen" + "--disable-gtk3" "--disable-liblangtag"))) (home-page "https://www.libreoffice.org/") (synopsis "Office suite") From d5da7ee4183f0afd8b27d3b6625916ccf267f077 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 1 Jul 2016 17:30:16 +0300 Subject: [PATCH 176/435] gnu: rofi: Update to 1.1.0. * gnu/packages/xdisorg.scm (rofi): Update to 1.1.0. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 1ece2e164b..5bd6cc7853 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -914,7 +914,7 @@ demos. It also acts as a nice screen locker.") (define-public rofi (package (name "rofi") - (version "1.0.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/DaveDavenport/rofi/" @@ -922,7 +922,7 @@ demos. It also acts as a nice screen locker.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "01jxml9vk4cw7pngpan7dipmb98s6ibh6f0023lw3hbgxy650637")))) + "1l8vl0mh7i0b1ycifqpg6392f5i4qxlv003m126skfk6fnlfq8hn")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) From 9c509ca9a6babf4e7a0886bda283338b7ac134c5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 1 Jul 2016 19:57:25 -0400 Subject: [PATCH 177/435] gnu: python-cryptography, python-cryptography-vectors: Update to 1.3.4. * gnu/packages/python.scm (python-cryptography, python2-cryptography): Update to 1.3.4. [source]: Use pypi-uri. (python-cryptography-vectors, python2-cryptography-vectors): Update to 1.3.4. [source]: Use pypi-uri. --- gnu/packages/python.scm | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 684c372e82..f0383ad969 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5942,18 +5942,14 @@ responses, rather than doing any computation.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "1.3.2") + (version "1.3.4") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/" - "3f/fd/" - "5883a7fdfcdf6edec55c58605be99d8c36ce97a9b729763ea9cf30e761b7" - "/cryptography_vectors-" version ".tar.gz")) + (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "0ss682bpgzdfy2vam8yhhrx7p5gnw89ydlvaswqp52za8sd8nsh0")))) + "15h1iz2klnpb4f8djxy7cpbnyn3wbjp7bnj4pz6s7w6plghbq524")))) (build-system python-build-system) (native-inputs `(("python-setuptools" ,python-setuptools))) @@ -5970,18 +5966,14 @@ responses, rather than doing any computation.") (define-public python-cryptography (package (name "python-cryptography") - (version "1.3.2") + (version "1.3.4") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/" - "04/da/" - "35f9a1d34dab5d777f65fb87731288f338ab0ae46a525ffdf0405b573dd0" - "/cryptography-" version ".tar.gz")) + (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "121067qdbzd0ir0nxjdf0kgai7qlsc9yh2xhrj4cavcn4y4gmapv")))) + "1a85l548w5vvq3yhz0az7ajg2ijixzp6gagapw6wgrqvq28ghgs2")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) From 07abcc2e73e326aab17f014379e1b7d0070886b9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 30 Jun 2016 03:38:14 -0400 Subject: [PATCH 178/435] gnu: imagemagick: Update to 6.9.5-0. * gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.5-0. --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 4497150db7..038ca00c79 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -41,14 +41,14 @@ (define-public imagemagick (package (name "imagemagick") - (version "6.9.4-10") + (version "6.9.5-0") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "0bbac9zdjl2g8x127jx5jisih9r49980w7ar6m8xj3nyh3m83jd2")))) + "1d1hmmnks071zfkpv971b3q56qlml0wv1xlw8yvq6cnybc2cwc3q")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths") From 328ae34112955a4651fab0ff4a9e783943ca7c70 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 1 Jul 2016 19:48:23 -0400 Subject: [PATCH 179/435] gnu: python-sphinx-repoze-autointerface: Update to 0.8. * gnu/packages/python.scm (python-sphinx-repoze-autointerface, python2-sphinx-repoze-autointerface): Update to 0.8. --- 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 f0383ad969..597ca6a033 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8308,13 +8308,13 @@ commands into documents, helping you to keep your command examples up to date.") (define-public python-sphinx-repoze-autointerface (package (name "python-sphinx-repoze-autointerface") - (version "0.7.1") + (version "0.8") (source (origin (method url-fetch) (uri (pypi-uri "repoze.sphinx.autointerface" version)) (sha256 (base32 - "016mv3wbylw278wl7z33y2liyra8ljp08zq1g0anzadh1an5zvwp")))) + "08ycivzf7bh4a1zcyp31hbyqs1b2c9r26raa3vxjwwmbfqr3iw4f")))) (build-system python-build-system) (propagated-inputs `(("python-docutils" ,python-docutils) From a4bbf41b255bc55fac32669e8359bfe0b037b2d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 2 Jul 2016 12:33:52 +0200 Subject: [PATCH 180/435] tests: install: Adjust to new 'marionette-service-type' interface. This is a followup to 037f9e07cd03d6894a6b5fc9a252c34d3b163962. Reported by Mark H Weaver. * gnu/tests/install.scm (%minimal-os): Pass a object as the value for the MARIONETTE-SERVICE-TYPE. --- gnu/tests/install.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 5d893deb4c..2c0db41d69 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -66,8 +66,9 @@ (home-directory "/home/alice")) %base-user-accounts)) (services (cons (service marionette-service-type - '((gnu services herd) - (guix combinators))) + (marionette-configuration + (imported-modules '((gnu services herd) + (guix combinators))))) %base-services)))) (define (operating-system-with-current-guix os) From 9996ab16e6c31e95a8485f1226e9301a2ecdb14f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 1 Jul 2016 16:05:40 -0400 Subject: [PATCH 181/435] gnu: gimp: Fix CVE-2016-4994. * gnu/packages/patches/gimp-CVE-2016-4994.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gimp.scm (gimp): Use it. --- gnu/local.mk | 1 + gnu/packages/gimp.scm | 1 + gnu/packages/patches/gimp-CVE-2016-4994.patch | 96 +++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 gnu/packages/patches/gimp-CVE-2016-4994.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7dfda9b808..829693af76 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -515,6 +515,7 @@ dist_patch_DATA = \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghostscript-CVE-2015-3228.patch \ %D%/packages/patches/ghostscript-runpath.patch \ + %D%/packages/patches/gimp-CVE-2016-4994.patch \ %D%/packages/patches/glib-networking-ssl-cert-file.patch \ %D%/packages/patches/glib-tests-timer.patch \ %D%/packages/patches/glibc-CVE-2015-7547.patch \ diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 1cd779a9b0..d5c58e26ba 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -130,6 +130,7 @@ buffers.") (uri (string-append "http://download.gimp.org/pub/gimp/v" (version-major+minor version) "/gimp-" version ".tar.bz2")) + (patches (search-patches "gimp-CVE-2016-4994.patch")) (sha256 (base32 "1dsgazia9hmab8cw3iis7s69dvqyfj5wga7ds7w2q5mms1xqbqwm")))) diff --git a/gnu/packages/patches/gimp-CVE-2016-4994.patch b/gnu/packages/patches/gimp-CVE-2016-4994.patch new file mode 100644 index 0000000000..6c81c63386 --- /dev/null +++ b/gnu/packages/patches/gimp-CVE-2016-4994.patch @@ -0,0 +1,96 @@ +Fix CVE-2016-4994: +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4994 + +Copied from upstream repository: +https://git.gnome.org/browse/gimp/patch/?id=e82aaa4b4ee0703c879e35ea9321fff6be3e9b6f + +From e82aaa4b4ee0703c879e35ea9321fff6be3e9b6f Mon Sep 17 00:00:00 2001 +From: Shmuel H +Date: Mon, 20 Jun 2016 17:14:41 +0300 +Subject: Bug 767873 - (CVE-2016-4994) Multiple Use-After-Free when parsing... + +...XCF channel and layer properties + +The properties PROP_ACTIVE_LAYER, PROP_FLOATING_SELECTION, +PROP_ACTIVE_CHANNEL saves the current object pointer the @info +structure. Others like PROP_SELECTION (for channel) and +PROP_GROUP_ITEM (for layer) will delete the current object and create +a new object, leaving the pointers in @info invalid (dangling). + +Therefore, if a property from the first type will come before the +second, the result will be an UaF in the last lines of xcf_load_image +(when it actually using the pointers from @info). + +I wasn't able to exploit this bug because that +g_object_instance->c_class gets cleared by the last g_object_unref and +GIMP_IS_{LAYER,CHANNEL} detects that and return FALSE. + +(cherry picked from commit 6d804bf9ae77bc86a0a97f9b944a129844df9395) +--- + app/xcf/xcf-load.c | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +diff --git a/app/xcf/xcf-load.c b/app/xcf/xcf-load.c +index b180377..67cc6d4 100644 +--- a/app/xcf/xcf-load.c ++++ b/app/xcf/xcf-load.c +@@ -904,6 +904,18 @@ xcf_load_layer_props (XcfInfo *info, + case PROP_GROUP_ITEM: + { + GimpLayer *group; ++ gboolean is_active_layer; ++ ++ /* We're going to delete *layer, Don't leave its pointers ++ * in @info. After that, we'll restore them back with the ++ * new pointer. See bug #767873. ++ */ ++ is_active_layer = (*layer == info->active_layer); ++ if (is_active_layer) ++ info->active_layer = NULL; ++ ++ if (*layer == info->floating_sel) ++ info->floating_sel = NULL; + + group = gimp_group_layer_new (image); + +@@ -916,6 +928,13 @@ xcf_load_layer_props (XcfInfo *info, + g_object_ref_sink (*layer); + g_object_unref (*layer); + *layer = group; ++ ++ if (is_active_layer) ++ info->active_layer = *layer; ++ ++ /* Don't restore info->floating_sel because group layers ++ * can't be floating selections ++ */ + } + break; + +@@ -986,6 +1005,12 @@ xcf_load_channel_props (XcfInfo *info, + { + GimpChannel *mask; + ++ /* We're going to delete *channel, Don't leave its pointer ++ * in @info. See bug #767873. ++ */ ++ if (*channel == info->active_channel) ++ info->active_channel = NULL; ++ + mask = + gimp_selection_new (image, + gimp_item_get_width (GIMP_ITEM (*channel)), +@@ -1000,6 +1025,10 @@ xcf_load_channel_props (XcfInfo *info, + *channel = mask; + (*channel)->boundary_known = FALSE; + (*channel)->bounds_known = FALSE; ++ ++ /* Don't restore info->active_channel because the ++ * selection can't be the active channel ++ */ + } + break; + +-- +cgit v0.12 + From 6d3ef286b1945a36317a371789765cde632b8453 Mon Sep 17 00:00:00 2001 From: "John J. Foerch" Date: Fri, 1 Jul 2016 21:26:55 -0400 Subject: [PATCH 182/435] gnu: Add midicsv. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/music.scm (midicsv): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/music.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index dfc21cc95f..69143b892d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Kei Kebreau +;;; Copyright © 2016 John J. Foerch ;;; ;;; This file is part of GNU Guix. ;;; @@ -1594,3 +1595,30 @@ for improved Amiga ProTracker 2/3 compatibility.") formats, including most audio formats recognized by FFMpeg.") (home-page "http://moc.daper.net") (license license:gpl2+))) + +(define-public midicsv + (package + (name "midicsv") + (version "1.1") + (source (origin + (method url-fetch) + (uri (string-append "http://www.fourmilab.ch/webtools/midicsv/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1vvhk2nf9ilfw0wchmxy8l13hbw9cnpz079nsx5srsy4nnd78nkw")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases (delete 'configure)) + #:make-flags (list "CC=gcc" (string-append "INSTALL_DEST=" %output)))) + (synopsis "Convert MIDI files to and from CSV") + (description + "Midicsv reads a standard MIDI file and decodes it into a comma-separated +value file (CSV), which preserves all the information in the MIDI file. The +ASCII CSV file may be loaded into a spreadsheet or database application, or +processed by a program to transform the MIDI data (for example, to key +transpose a composition or extract a track from a multi-track sequence). A +CSV file in the format created by midicsv may be converted back into a +standard MIDI file with the csvmidi program.") + (home-page "http://www.fourmilab.ch/webtools/midicsv/") + (license license:public-domain))) From e957060ccbbff2ed579f5073d75c7bfdc718bfb1 Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 29 Jun 2016 14:11:07 +0200 Subject: [PATCH 183/435] gnu: perl-text-diff: Update perl-text-diff. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-text-diff): Correct URL, update to 1.44. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 386155d075..926631d741 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -5632,15 +5632,15 @@ can combine fields into a CSV string and parse a CSV string into fields.") (define-public perl-text-diff (package (name "perl-text-diff") - (version "1.41") + (version "1.44") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/O/OV/OVID/" + (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Text-Diff-" version ".tar.gz")) (sha256 (base32 - "1ynjsa4sr1yvyh65sdfvahaafglibz70j8b6rj01cg1iisj50zx6")))) + "041v92zla2acdc433f47giridf6p820sdczs7x5d71fhsyza1xsp")))) (build-system perl-build-system) (propagated-inputs `(("perl-algorithm-diff" ,perl-algorithm-diff))) From d2d6cd67c2bf6a914cffbd69398d4123c92b743a Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 29 Jun 2016 15:23:42 +0200 Subject: [PATCH 184/435] gnu: Add perl-test-class. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-test-class): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 926631d741..6530e3f9a5 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Jochem Raat ;;; Copyright © 2016 Efraim Flashner ;;; Coypright © 2016 ng0 +;;; Copyright © 2016 Alex Sassmannshausen ;;; ;;; This file is part of GNU Guix. ;;; @@ -4920,6 +4921,37 @@ framework base class. It concentrates on offering reusable data driven patterns, so that you can write tests with a minimum of code.") (license (package-license perl)))) +(define-public perl-test-class + (package + (name "perl-test-class") + (version "0.50") + (source + (origin + (method url-fetch) + (uri (string-append + "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Class-" + version + ".tar.gz")) + (sha256 + (base32 + "0l0kk5jvxjkic2jkf1r7v41irb344aasnzr3f5ygjgxgiknm9489")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (inputs + `(("perl-module-runtime" ,perl-module-runtime) + ("perl-mro-compat" ,perl-mro-compat) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/Test-Class") + (synopsis "Easily create test classes in an xUnit/JUnit style") + (description "@code{Test::Class} provides a simple way of creating classes +and objects to test your code in an xUnit style. + +Built using @code{Test::Builder}, it was designed to work with other +@code{Test::Builder} based modules (@code{Test::More}, +@code{Test::Differences}, @code{Test::Exception}, etc.).") + (license (package-license perl)))) + (define-public perl-test-cleannamespaces (package (name "perl-test-cleannamespaces") From a65d0fdb7cc8c517ea9ef70f83d7c89d3b60fb69 Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 29 Jun 2016 15:23:43 +0200 Subject: [PATCH 185/435] gnu: Add perl-test-class-most. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-test-class-most): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 6530e3f9a5..777fd37bdc 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4952,6 +4952,35 @@ Built using @code{Test::Builder}, it was designed to work with other @code{Test::Differences}, @code{Test::Exception}, etc.).") (license (package-license perl)))) +(define-public perl-test-class-most + (package + (name "perl-test-class-most") + (version "0.08") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-" + version + ".tar.gz")) + (sha256 + (base32 + "1zvx9hil0mg0pnb8xfa4m0xgjpvh8s5gnbyprq3xwpdsdgcdwk33")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (inputs + `(("perl-test-class" ,perl-test-class) + ("perl-test-most" ,perl-test-most) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-try-tiny" ,perl-try-tiny) + ("perl-mro-compat" ,perl-mro-compat))) + (home-page "http://search.cpan.org/dist/Test-Class-Most") + (synopsis "Test classes the easy way") + (description "@code{Test::Class::Most} provides some more convenience when +using @code{Test::Class}.") + (license (package-license perl)))) + (define-public perl-test-cleannamespaces (package (name "perl-test-cleannamespaces") From 77ff12c98738aedcb7f54a8ba8bfd3ddacc0b83f Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 29 Jun 2016 15:51:23 +0200 Subject: [PATCH 186/435] gnu: Add perl-perlio-utf8-strict. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-perlio-utf8_strict): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 777fd37bdc..c62c79acaa 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4136,6 +4136,29 @@ up inheritance from those modules at the same time.") directory specifications in a cross-platform manner.") (license (package-license perl)))) +(define-public perl-perlio-utf8_strict + (package + (name "perl-perlio-utf8-strict") + (version "0.006") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-" + version ".tar.gz")) + (sha256 + (base32 + "0qnmiflirfq10jkmrxyy81ch6hzyndfzxqf8maif0fy44kk1004q")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (home-page + "http://search.cpan.org/dist/PerlIO-utf8_strict") + (synopsis "Fast and correct UTF-8 IO") + (description "@code{PerlIO::utf8_strict} provides a fast and correct UTF-8 +PerlIO layer. Unlike Perl's default @code{:utf8} layer it checks the input +for correctness.") + (license (package-license perl)))) + (define-public perl-pod-coverage (package (name "perl-pod-coverage") From 4ca06e4c87ad35a3b4b03c381a97171c37201b6e Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 29 Jun 2016 15:51:24 +0200 Subject: [PATCH 187/435] gnu: Add perl-mixin-linewise. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-mixin-linewise): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c62c79acaa..7389b5e1eb 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2979,6 +2979,31 @@ from various sources. For instance, it contains all IANA types and the knowledge of Apache.") (license (package-license perl)))) +(define-public perl-mixin-linewise + (package + (name "perl-mixin-linewise") + (version "0.108") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Mixin-Linewise-" + version ".tar.gz")) + (sha256 + (base32 + "1wmfr19w9y8qys7b32mnj1vmps7qwdahqas71a9p62ac8xw0dwkx")))) + (build-system perl-build-system) + (inputs + `(("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict) + ("perl-sub-exporter" ,perl-sub-exporter))) + (home-page "http://search.cpan.org/dist/Mixin-Linewise") + (synopsis "Write your linewise code for handles; this does the rest") + (description "It's boring to deal with opening files for IO, converting +strings to handle-like objects, and all that. With +@code{Mixin::Linewise::Readers} and @code{Mixin::Linewise::Writers}, you can +just write a method to handle handles, and methods for handling strings and +file names are added for you.") + (license (package-license perl)))) + (define-public perl-module-build-tiny (package (name "perl-module-build-tiny") From d209710bd4a1ec621e4ea5ecda158dfa389e9e85 Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 29 Jun 2016 15:51:25 +0200 Subject: [PATCH 188/435] gnu: Add perl-config-ini. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-config-ini): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7389b5e1eb..6a991975de 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -984,6 +984,32 @@ some enhancements such as here-documents, C-style comments, and multiline options.") (license (package-license perl)))) +(define-public perl-config-ini + (package + (name "perl-config-ini") + (version "0.025") + (source + (origin + (method url-fetch) + (uri (string-append + "https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Config-INI-" + version + ".tar.gz")) + (sha256 + (base32 + "0clphq6a17chvb663fvjnxqvyvh26g03x0fl4bg9vy4ibdnzg2v2")))) + (build-system perl-build-system) + (inputs + `(("perl-mixin-linewise" ,perl-mixin-linewise) + ("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict) + ("perl-sub-exporter" ,perl-sub-exporter))) + (home-page + "http://search.cpan.org/dist/Config-INI") + (synopsis "Simple .ini-file format reader and writer") + (description "Config::INI provides a module that facilates the reading and +writing of .ini style configuration files.") + (license (package-license perl)))) + (define-public perl-context-preserve (package (name "perl-context-preserve") From 7640c62dd2863fdc04115ccb9d7c30c079b26ea8 Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 29 Jun 2016 16:43:15 +0200 Subject: [PATCH 189/435] gnu: Add perl-file-zglob. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-file-zglob): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 45 +++++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 6a991975de..1a0c8783d1 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -988,26 +988,23 @@ options.") (package (name "perl-config-ini") (version "0.025") - (source - (origin - (method url-fetch) - (uri (string-append - "https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Config-INI-" - version - ".tar.gz")) - (sha256 - (base32 - "0clphq6a17chvb663fvjnxqvyvh26g03x0fl4bg9vy4ibdnzg2v2")))) + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Config-INI-" + version ".tar.gz")) + (sha256 + (base32 + "0clphq6a17chvb663fvjnxqvyvh26g03x0fl4bg9vy4ibdnzg2v2")))) (build-system perl-build-system) (inputs `(("perl-mixin-linewise" ,perl-mixin-linewise) ("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict) ("perl-sub-exporter" ,perl-sub-exporter))) - (home-page - "http://search.cpan.org/dist/Config-INI") + (home-page "http://search.cpan.org/dist/Config-INI") (synopsis "Simple .ini-file format reader and writer") - (description "Config::INI provides a module that facilates the reading and -writing of .ini style configuration files.") + (description "@code{Config::INI} is a module that facilates the reading +and writing of @code{.ini}-style configuration files.") (license (package-license perl)))) (define-public perl-context-preserve @@ -2466,6 +2463,26 @@ shell.") "File-Which-" version)) (license (package-license perl)))) +(define-public perl-file-zglob + (package + (name "perl-file-zglob") + (version "0.11") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/T/TO/TOKUHIROM/File-Zglob-" + version ".tar.gz")) + (sha256 + (base32 + "16v61rn0yimpv5kp6b20z2f1c93n5kpsyjvr0gq4w2dc43gfvc8w")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/File-Zglob") + (synopsis "Extended Unix style glob functionality") + (description "@code{File::Zglob} provides a traditional Unix @code{glob} +functionality; it returns a list of file names that match the given pattern. +For instance, it supports the @code{**/*.pm} form.") + (license (package-license perl)))) + (define-public perl-getopt-long-descriptive (package (name "perl-getopt-long-descriptive") From 2dca669e45a233ec1391897b65faf51e347ace05 Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 29 Jun 2016 16:43:16 +0200 Subject: [PATCH 190/435] gnu: Add perl-guard. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-guard): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 1a0c8783d1..ae6ad8f18e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2530,6 +2530,29 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.") "Getopt-Tabular-" version)) (license (package-license perl)))) +(define-public perl-guard + (package + (name "perl-guard") + (version "1.023") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/Guard-" + version ".tar.gz")) + (sha256 + (base32 + "1p6i9mfmbs9cw40jqdv71ihv2xfi0vvlv8bdv2810gf93zwxvi1l")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Guard") + (synopsis "Safe cleanup blocks implemented as guards") + (description "@code{Guard} implements so-called @dfn{guards}. A guard is +something (usually an object) that \"guards\" a resource, ensuring that it is +cleaned up when expected. + +Specifically, this module supports two different types of guards: guard +objects, which execute a given code block when destroyed, and scoped guards, +which are tied to the scope exit.") + (license (package-license perl)))) + (define-public perl-hash-merge (package (name "perl-hash-merge") From abf18075ca2669cdfa923a43f22f36a5bfc34a19 Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Wed, 29 Jun 2016 16:43:17 +0200 Subject: [PATCH 191/435] gnu: Add perl-ipc-system-simple. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-ipc-system-simple): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ae6ad8f18e..74a47b4b4c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2792,6 +2792,30 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") allowing data to be efficiently communicated between processes.") (license (package-license perl)))) +(define-public perl-ipc-system-simple + (package + (name "perl-ipc-system-simple") + (version "1.25") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/P/PJ/PJF/IPC-System-Simple-" + version ".tar.gz")) + (sha256 + (base32 + "0fsdb81shjj4hifyyzvj7vpkhq5jrfhlcpw2xbjfi1mqz8fsmdpi")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/IPC-System-Simple") + (synopsis "Run commands simply, with detailed diagnostics") + (description "Calling Perl's in-built @code{system} function is easy, +determining if it was successful is hard. Let's face it, @code{$?} isn't the +nicest variable in the world to play with, and even if you do check it, +producing a well-formatted error string takes a lot of work. + +@code{IPC::System::Simple} takes the hard work out of calling external +commands.") + (license (package-license perl)))) + (define-public perl-json (package (name "perl-json") From 8aa5e15ebd535019523b35f85b3f772afa008608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 2 Jul 2016 16:23:40 +0200 Subject: [PATCH 192/435] download: Update CPAN mirrors. * guix/download.scm (%mirrors)[cpan]: Remove enstimac.fr, which seems dead; add ibcp.fr. --- guix/download.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/download.scm b/guix/download.scm index c3f34f5520..c75a655925 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -168,7 +168,7 @@ "http://x.cs.pu.edu.tw/" "ftp://ftp.is.co.za/pub/x.org") ; South Africa (cpan ; from http://www.cpan.org/SITES.html - "http://cpan.enstimac.fr/" + "http://mirror.ibcp.fr/pub/CPAN/" "ftp://ftp.ciril.fr/pub/cpan/" "ftp://artfiles.org/cpan.org/" "http://www.cpan.org/" From c5795adf61a3a7bd113f7b4637ea95aec460d898 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 2 Jul 2016 22:15:32 +0300 Subject: [PATCH 193/435] gnu: enlightenment: Update to 0.21.0. * gnu/packages/enlightenment.scm (enlightenment): Update to 0.21.0. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 2a606ebd7e..d4b45e31e0 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -273,7 +273,7 @@ Libraries with some extra bells and whistles.") (define-public enlightenment (package (name "enlightenment") - (version "0.20.9") + (version "0.21.0") (source (origin (method url-fetch) (uri @@ -281,7 +281,7 @@ Libraries with some extra bells and whistles.") name "/" name "-" version ".tar.xz")) (sha256 (base32 - "1gniy7i3mg3q9cgqf004lvnv397yncdr2b7w1gzj69bvv7a2lyfv")))) + "0p85dmk9ysbf9y7vlc92z7495mh9l860xj3s8pspy9mscv3dnwg9")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-mount-eeze"))) From 8ffa5a5798bca342ea3f5981c1f3161f2ae1b96d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 2 Jul 2016 23:14:06 +0300 Subject: [PATCH 194/435] gnu: ffmpeg: Update to 3.1.1. * gnu/packages/video.scm (ffmpeg): Update to 3.1.1. --- 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 5d1141b205..0ded364132 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -373,14 +373,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (define-public ffmpeg (package (name "ffmpeg") - (version "3.0.2") + (version "3.1.1") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "08sjp4dxgcinmv9ly7nm24swmn2cnbbhvph44ihlplf4n33kr542")))) + "1nris3flwqd4v4b65yrrv9aqhsab7cb9lfp4wpxz6bi0m3r13g3i")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) From cb764dc8389966cedb238b8bab70843c523c9a4b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 00:39:21 +0300 Subject: [PATCH 195/435] gnu: xorriso: Update to 1.4.4. * gnu/packages/cdrom.scm (xorriso): Update to 1.4.4. [home-page]: Use https. --- gnu/packages/cdrom.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 70772bf157..2dd84a2a17 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -130,14 +130,14 @@ libcdio.") (define-public xorriso (package (name "xorriso") - (version "1.4.2") + (version "1.4.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/xorriso/xorriso-" version ".tar.gz")) (sha256 (base32 - "1cq4a0904lnz6nygbgarnlq49cz4qnfdyvz90s3nfk5as7gbwhr8")))) + "1izv8dvwacyh432vv1rm6lyjrq0v205kyakfra6iwa146c9m9fgr")))) (build-system gnu-build-system) (inputs `(("acl" ,acl) @@ -145,7 +145,7 @@ libcdio.") ("bzip2" ,bzip2) ("zlib" ,zlib) ("libcdio" ,libcdio))) - (home-page "http://www.gnu.org/software/xorriso/") + (home-page "https://www.gnu.org/software/xorriso/") (synopsis "Create, manipulate, burn ISO-9660 filesystems") (description "GNU Xorriso is a tool for copying files to and from ISO 9660 Rock From fbb060fec81b3a353a6136c23709b87dd106fa08 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 00:40:24 +0300 Subject: [PATCH 196/435] gnu: ffmpeg-2.8: Update to 2.8.7. * gnu/packages/video.scm (ffmpeg): Update to 2.8.7. --- 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 0ded364132..2332a0d509 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -539,14 +539,14 @@ audio/video codec library.") (define-public ffmpeg-2.8 (package (inherit ffmpeg) - (version "2.8.6") + (version "2.8.7") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1yh7dvm7zwdlsspdaq524s5qaggma5md9h95qc4kvb5dmyyyvg15")))) + "0z0mcj2q3ysp9qdn1ks03g5sn2zxyr06vxs4al0m4b5b3in8mglp")))) (arguments (substitute-keyword-arguments (package-arguments ffmpeg) ((#:configure-flags flags) From 0a7fc756fe9676036f55aebe5634bc5a3b1402b3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 03:28:03 +0300 Subject: [PATCH 197/435] gnu: cgal: Update to 4.8.1. * gnu/packages/graphics.scm (cgal): Update to 4.8.1. [source]: Release tarballs now at Github. --- gnu/packages/graphics.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 0ca2e84ee6..3ba59288d4 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Tomáš Čech ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -139,15 +140,15 @@ application can be customized via its API for Python scripting.") (define-public cgal (package (name "cgal") - (version "4.6.3") + (version "4.8.1") (source (origin (method url-fetch) (uri (string-append - "http://gforge.inria.fr/frs/download.php/file/" - "35139/CGAL-4.6.3.tar.xz")) + "https://github.com/CGAL/cgal/releases/download/releases/" + "CGAL-" version "/CGAL-" version ".tar.xz")) (sha256 (base32 - "08gwjjh0qz3fakj1y2nsl2qvb0qv5lc7k1pxwjkagh37hxxh4f73")))) + "1c41yzl2jg3d6zx5k0iccwqwibp950q7dr7z7pp4xi9wlph3c87s")))) (build-system cmake-build-system) (arguments '(;; "RelWithDebInfo" is not supported. From 6a628e8ba712b688c67743ea8a148d5057ab5cba Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 06:44:49 +0300 Subject: [PATCH 198/435] gnu: openimageio: Update to 1.6.15. * gnu/packages/graphics.scm (openimageio): Update to 1.6.15. [source]: Remove patch. * gnu/packages/patches/openimageio-boost-1.60.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/graphics.scm | 5 +- .../patches/openimageio-boost-1.60.patch | 47 ------------------- 3 files changed, 2 insertions(+), 51 deletions(-) delete mode 100644 gnu/packages/patches/openimageio-boost-1.60.patch diff --git a/gnu/local.mk b/gnu/local.mk index 829693af76..3a0d5c2557 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -688,7 +688,6 @@ dist_patch_DATA = \ %D%/packages/patches/ocaml-CVE-2015-8869.patch \ %D%/packages/patches/ocaml-findlib-make-install.patch \ %D%/packages/patches/openexr-missing-samples.patch \ - %D%/packages/patches/openimageio-boost-1.60.patch \ %D%/packages/patches/openjpeg-CVE-2015-6581.patch \ %D%/packages/patches/openjpeg-use-after-free-fix.patch \ %D%/packages/patches/openssh-CVE-2015-8325.patch \ diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 3ba59288d4..f6298ce394 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -255,7 +255,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (define-public openimageio (package (name "openimageio") - (version "1.5.18") + (version "1.6.15") (source (origin (method url-fetch) (uri (string-append "https://github.com/OpenImageIO/oiio/" @@ -263,8 +263,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0mn7cz19mn8dcrhkq15h25gl20ammr1wz0j2j3c2vxs6ph7zn8jy")) - (patches (search-patches "openimageio-boost-1.60.patch")))) + "144crq0205d0w5aq4iglh2rhzf54a8rv3pksy6d533b75w5d7rq7")))) (build-system cmake-build-system) ;; FIXME: To run all tests successfully, test image sets from multiple ;; third party sources have to be present. For details see diff --git a/gnu/packages/patches/openimageio-boost-1.60.patch b/gnu/packages/patches/openimageio-boost-1.60.patch deleted file mode 100644 index 92fc3237bb..0000000000 --- a/gnu/packages/patches/openimageio-boost-1.60.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 875fbbd92695397bfc83d1cd5fdd4094e1d50199 Mon Sep 17 00:00:00 2001 -From: Larry Gritz -Date: Mon, 28 Dec 2015 11:46:07 -0800 -Subject: [PATCH] Python ImageCache binding fixes -- disable broken calls - -Some of these calls (thankfully undocumented and presumably unused) -are horribly broken. They compiled before, but with new Boost 1.60 -they don't even compile properly. So just comment them out on this -obsolete branch. They are fully fixed in RB-1.6 and beyond. - ---- a/src/python/py_imagecache.cpp -+++ b/src/python/py_imagecache.cpp -@@ -199,23 +199,24 @@ void declare_imagecache() - .def("destroy", &ImageCacheWrap::destroy) - .staticmethod("destroy") - .def("clear", &ImageCacheWrap::clear) -- .def("attribute", &ImageCacheWrap::attribute) -+ // .def("attribute", &ImageCacheWrap::attribute) - .def("attribute", &ImageCacheWrap::attribute_int) - .def("attribute", &ImageCacheWrap::attribute_float) -- .def("attribute", &ImageCacheWrap::attribute_double) -- .def("attribute", &ImageCacheWrap::attribute_char) -+ // .def("attribute", &ImageCacheWrap::attribute_double) -+ // .def("attribute", &ImageCacheWrap::attribute_char) - .def("attribute", &ImageCacheWrap::attribute_string) -- .def("getattribute", &ImageCacheWrap::attribute) -+ // .def("getattribute", &ImageCacheWrap::attribute) - .def("getattribute", &ImageCacheWrap::getattribute_int) - .def("getattribute", &ImageCacheWrap::getattribute_float) -- .def("getattribute", &ImageCacheWrap::getattribute_double) -- .def("getattribute", &ImageCacheWrap::getattribute_char) -+ // .def("getattribute", &ImageCacheWrap::getattribute_double) -+ // .def("getattribute", &ImageCacheWrap::getattribute_char) - .def("getattribute", &ImageCacheWrap::getattribute_string) -- .def("resolve_filename", &ImageCacheWrap::resolve_filename) -- .def("get_image_info", &ImageCacheWrap::get_image_info) -- .def("get_image_info", &ImageCacheWrap::get_image_info_old) -+ // .def("get_image_info", &ImageCacheWrap::get_image_info) -+ // .def("get_image_info", &ImageCacheWrap::get_image_info_old) - .def("get_imagespec", &ImageCacheWrap::get_imagespec) -- .def("get_pixels", &ImageCacheWrap::get_pixels) -+ // .def("get_pixels", &ImageCacheWrap::get_pixels) -+ .def("resolve_filename", &ImageCacheWrap::resolve_filename) -+ - // .def("get_tile", &ImageCacheWrap::get_tile) - // .def("release_tile", &ImageCacheWrap::release_tile) - // .def("tile_pixels", &ImageCacheWrap::tile_pixels) From c17489124e39a2f8ec502e97ff3efc1d512684f1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 07:21:56 +0300 Subject: [PATCH 199/435] gnu: libetpan: Update to 1.7.2. * gnu/packages/mail.scm (libetpan): Update to 1.7.2. [inputs]: Add zlib. --- gnu/packages/mail.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index c3baa728ec..58b46d8f67 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -546,14 +546,14 @@ useful features.") (define-public libetpan (package (name "libetpan") - (version "1.6") + (version "1.7.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/dinhviethoa/" name "/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "05qyqx2c1ppb1jnrs3m52i60f9xlxfxdmb9dnwg4vqjv8kwv2qkr")))) + (base32 "081ixgj3skglq9i7v0jb835lmfx21zi4i5b7997igwr0lj174y9j")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,(autoconf-wrapper)) ("automake" ,automake) @@ -566,7 +566,8 @@ useful features.") ("openssl" ,openssl))) (inputs `(("curl" ,curl) - ("expat" ,expat))) + ("expat" ,expat) + ("zlib" ,zlib))) (arguments '(#:phases (alist-cons-after 'unpack 'autogen From 0562a81eae87b0ffe759535017d5283bfdebc918 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 08:28:51 +0300 Subject: [PATCH 200/435] gnu: pugixml: Update to 1.7. * gnu/packages/xml.scm (pugixml): Update to 1.7. --- gnu/packages/xml.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 812539f397..6d91e1a1a7 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -569,16 +569,15 @@ server, collect the answer, and finally decoding the XML to Perl.") (define-public pugixml (package (name "pugixml") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) - (uri (string-append "https://github.com/zeux/pugixml/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append "https://github.com/zeux/pugixml/releases/download/v" + version "/pugixml-" version ".tar.gz")) (sha256 (base32 - "0czbcv9aqf2rw3s9cljz2wb1f4zbhd07wnj7ykklklccl0ipfnwi")))) + "1jpml475kbhs1aqwa48g2cbfxlrb9qp115m2j9yryxhxyr30vqgv")))) (build-system cmake-build-system) (arguments `(#:tests? #f From d7d7f99c486f9354bd9cfc7af12c7d2f5fbffda9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 09:56:45 +0300 Subject: [PATCH 201/435] gnu: librecad: Update to 2.1.1. * gnu/packages/engineering.scm (librecad): Update to 2.1.1. --- gnu/packages/engineering.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 7b21c11ad3..a045bf2a55 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -58,7 +58,7 @@ (define-public librecad (package (name "librecad") - (version "2.0.11") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append @@ -67,7 +67,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0jda23qspziph6fwgq1q3nmnllbgn9kwfpjylv1f0wa7c5l85gh5")))) + "132vv9pzbx64zmbnikyg06d4j47yzlmwi4mywxnd9gkaik4yd2kb")))) (build-system gnu-build-system) (arguments '(#:phases From 26f6e565a9abe5ce0f8a28714117b6bb6514a5b7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 10:07:17 +0300 Subject: [PATCH 202/435] gnu: openlibm: Update to 0.5.1. * gnu/packages/maths.scm (openlibm): Update to 0.5.1. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index d3b10d57aa..e8a5c6d9d5 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1874,7 +1874,7 @@ constant parts of it.") (define-public openlibm (package (name "openlibm") - (version "0.4.1") + (version "0.5.1") (source (origin (method url-fetch) @@ -1883,7 +1883,7 @@ constant parts of it.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0cwqqqlblj3kzp9aq1wnpfs1fl0qd1wp1xzm5shb09w06i4rh9nn")))) + "11czx2z7nh6dfpz45s3xl7v38hw36jxzxfvny454bk3if14pfakq")))) (build-system gnu-build-system) (arguments `(#:make-flags From 49f54a7454f1ad90dedc5c291c696d18b33e203a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 10:14:16 +0300 Subject: [PATCH 203/435] gnu: openspecfun: Update to 0.5.2. * gnu/packages/maths.scm (openspecfun): Update to 0.5.2. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e8a5c6d9d5..c0ee0011d8 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1911,7 +1911,7 @@ environments.") (define-public openspecfun (package (name "openspecfun") - (version "0.4") + (version "0.5.2") (source (origin (method url-fetch) @@ -1920,7 +1920,7 @@ environments.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0nsa3jjmlhcqkw5ba5ypbn3n0c8b6lc22zzlxnmxkxi9shhdx65z")))) + "1y5b2h6f2k72536kym3vzy3li3bhpd23x463g7hdmjdi3cncavz1")))) (build-system gnu-build-system) (arguments '(#:tests? #f ;no "check" target From afb6fdaa5de2607261015372f31b1c19fd503a61 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 11:10:28 +0300 Subject: [PATCH 204/435] gnu: flycheck: Update to 28. * gnu/packages/emacs.scm (flycheck): Update to 28. --- 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 0c0182db31..e5b240d18e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -672,7 +672,7 @@ the body are let-bound and this search is done at compile time.") (define-public flycheck (package (name "emacs-flycheck") - (version "0.23") + (version "28") (source (origin (method url-fetch) (uri (string-append @@ -680,7 +680,7 @@ the body are let-bound and this search is done at compile time.") version "/flycheck-" version ".tar")) (sha256 (base32 - "1n2cifzsl5dbv42l82bi3y1vk6q33msi8dd4bj7b9nvnl9jfjj5b")))) + "1yjxivk11d7w39zfhj2xr4h6xhwx1aj6yhyzd63rjrad7xpjfl86")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) From 54055e9ff99cb48f2d9faa92715daac88e7bee06 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 11:12:43 +0300 Subject: [PATCH 205/435] gnu: emacs-slime: Update to 2.18. * gnu/packages/emacs.scm (emacs-slime): Update to 2.18. --- 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 e5b240d18e..fb50b41069 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1493,7 +1493,7 @@ constants and units into an Emacs buffer.") (define-public emacs-slime (package (name "emacs-slime") - (version "2.15") + (version "2.18") (source (origin (file-name (string-append name "-" version ".tar.gz")) @@ -1503,7 +1503,7 @@ constants and units into an Emacs buffer.") version ".tar.gz")) (sha256 (base32 - "0l2z6l2xm78mhh0nczkrmzh2ddb1n911ij9xb6q40zwvx4f8blds")))) + "146avwbwr6mw0nmgyihx8gkr0mv6al7a73igzxvysj62000cqvlj")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) From fa6a082ea85fea38da40644aaacb622b69e54a33 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 11:15:15 +0300 Subject: [PATCH 206/435] gnu: emacs-helm: Update to 1.9.8. * gnu/packages/emacs.scm (emacs-helm): Update to 1.9.8. --- 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 fb50b41069..ff7d80877d 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2281,7 +2281,7 @@ Dust.js, React/JSX, Angularjs, ejs, etc.") (define-public emacs-helm (package (name "emacs-helm") - (version "1.9.6") + (version "1.9.8") (source (origin (method url-fetch) (uri (string-append @@ -2290,7 +2290,7 @@ Dust.js, React/JSX, Angularjs, ejs, etc.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0fc897rwf1fm2m7jrsikkgcyzhngfcysxfmzchpwzfj6v9sb5rl9")))) + "019dpzr6l83k1fgxn40aqxjvrpz4dl5d9vi7fc5wjnifmxaqxia6")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) From dbd6bc5cc61773395a96f771a0d950a9670a8268 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 12:00:25 +0300 Subject: [PATCH 207/435] gnu: ninja: Update to 1.7.1. * gnu/packages/ninja.scm (ninja): Update to 1.7.1. * gnu/packages/patches/ninja-tests.patch: Update patch. --- gnu/packages/ninja.scm | 7 +++--- gnu/packages/patches/ninja-tests.patch | 34 ++++++++++++++------------ 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm index cfcc6d5a51..8f18eb3560 100644 --- a/gnu/packages/ninja.scm +++ b/gnu/packages/ninja.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,7 +29,7 @@ (define-public ninja (package (name "ninja") - (version "1.5.3") + (version "1.7.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/martine/ninja/" @@ -36,7 +37,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw")) + "06dy2dc1aafm61ynw9gzig88la3km9dsh53bxf4mnw7l7kjisn2i")) (patches (search-patches "ninja-zero-mtime.patch" "ninja-tests.patch")))) (build-system gnu-build-system) @@ -69,7 +70,7 @@ (install-file "ninja" bin) (install-file "doc/manual.asciidoc" doc) #t)))))) - (home-page "http://martine.github.io/ninja/") + (home-page "https://ninja-build.org/") (synopsis "Small build system") (description "Ninja is a small build system with a focus on speed. It differs from diff --git a/gnu/packages/patches/ninja-tests.patch b/gnu/packages/patches/ninja-tests.patch index 3436b6314d..f9b0d9f910 100644 --- a/gnu/packages/patches/ninja-tests.patch +++ b/gnu/packages/patches/ninja-tests.patch @@ -1,16 +1,17 @@ -SubprocessTest.SetWithLots fails with: - Raise [ulimit -n] well above 1025 to make this test go. -Skip it. +From 67d6b9262efad99f8aad63ab81efc8e689748766 Mon Sep 17 00:00:00 2001 +From: Efraim Flashner +Date: Sun, 3 Jul 2016 11:55:43 +0300 +Subject: [PATCH] patch -SubprocessTest.InterruptChild fails when using 'system*': - *** Failure in src/subprocess_test.cc:83 - ExitInterrupted == subproc->Finish() -I can pass it by using 'system' instead of 'system*' when building locally, -but it still failed on Hydra. Skip it. +--- + src/subprocess_test.cc | 4 ++++ + 1 file changed, 4 insertions(+) ---- ninja-1.5.3.orig/src/subprocess_test.cc 2015-01-15 10:34:28.859522176 +0800 -+++ ninja-1.5.3/src/subprocess_test.cc 2015-01-15 10:37:52.969572075 +0800 -@@ -72,6 +72,7 @@ +diff --git a/src/subprocess_test.cc b/src/subprocess_test.cc +index ee16190..a537c11 100644 +--- a/src/subprocess_test.cc ++++ b/src/subprocess_test.cc +@@ -72,6 +72,7 @@ TEST_F(SubprocessTest, NoSuchCommand) { #ifndef _WIN32 @@ -18,7 +19,7 @@ but it still failed on Hydra. Skip it. TEST_F(SubprocessTest, InterruptChild) { Subprocess* subproc = subprocs_.Add("kill -INT $$"); ASSERT_NE((Subprocess *) 0, subproc); -@@ -82,6 +83,7 @@ +@@ -82,6 +83,7 @@ TEST_F(SubprocessTest, InterruptChild) { EXPECT_EQ(ExitInterrupted, subproc->Finish()); } @@ -26,7 +27,7 @@ but it still failed on Hydra. Skip it. TEST_F(SubprocessTest, InterruptParent) { Subprocess* subproc = subprocs_.Add("kill -INT $PPID ; sleep 1"); -@@ -169,6 +171,7 @@ +@@ -217,6 +219,7 @@ TEST_F(SubprocessTest, SetWithMulti) { // OS X's process limit is less than 1025 by default // (|sysctl kern.maxprocperuid| is 709 on 10.7 and 10.8 and less prior to that). #if !defined(__APPLE__) && !defined(_WIN32) @@ -34,11 +35,14 @@ but it still failed on Hydra. Skip it. TEST_F(SubprocessTest, SetWithLots) { // Arbitrary big number; needs to be over 1024 to confirm we're no longer // hostage to pselect. -@@ -196,6 +199,7 @@ +@@ -245,6 +248,7 @@ TEST_F(SubprocessTest, SetWithLots) { } ASSERT_EQ(kNumProcs, subprocs_.finished_.size()); } +#endif - #endif // !__APPLE__ && !_WIN32 + #endif // !__APPLE__ && !_WIN32 // TODO: this test could work on Windows, just not sure how to simply +-- +2.9.0 + From da6383b3eaa1d6ed6b1ab05a4f34886b88f44546 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 12:32:50 +0300 Subject: [PATCH 208/435] gnu: geeqie: Update to 1.3. * gnu/packages/geeqie.scm (geeqie): Update to 1.3. [arguments]: Add autogen phase. [native-inputs]: Add autoconf, automake, glib. --- gnu/packages/geeqie.scm | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/gnu/packages/geeqie.scm b/gnu/packages/geeqie.scm index 7ea75aa3a0..4d9d491ee8 100644 --- a/gnu/packages/geeqie.scm +++ b/gnu/packages/geeqie.scm @@ -22,12 +22,13 @@ #:use-module (guix download) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix build-system gnu) - #:use-module (gnu packages pkg-config) + #:use-module (gnu packages autotools) + #:use-module (gnu packages compression) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages image) - #:use-module (gnu packages ghostscript) - #:use-module (gnu packages compression) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) (define-public exiv2 ; XXX: move elsewhere? @@ -61,16 +62,23 @@ and XMP metadata of images in various formats.") (define-public geeqie (package (name "geeqie") - (version "1.1") + (version "1.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/BestImageViewer/geeqie/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + "releases/download/v" version "/geeqie-" + version ".tar.xz")) (sha256 (base32 - "1kzy39z9505xkayyx7rjj2wda76xy3ch1s5z35zn8yli54ffhi2m")))) + "0gzc82sy66pbsmq7lnmq4y37zqad1zfwfls3ik3dmfm8s5nmcvsb")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (setenv "NOCONFIGURE" "true") + (zero? (system* "sh" "autogen.sh"))))))) (inputs `(;; ("libchamplain" ,libchamplain) ("lcms" ,lcms) @@ -78,7 +86,10 @@ and XMP metadata of images in various formats.") ("libpng" ,libpng) ("gtk+" ,gtk+-2))) (native-inputs - `(("intltool" ,intltool) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("glib" ,glib "bin") ; glib-gettextize + ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (home-page "http://www.geeqie.org/") (synopsis "Lightweight GTK+ based image viewer") From 4dc9dcc272eb43dce57b3b153641c7bdc58010a1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 12:55:02 +0300 Subject: [PATCH 209/435] gnu: exiv2: Update to 0.25. * gnu/packages/geeqie.scm (exiv2): Update to 0.25. [native-inputs]: Add intltool. --- gnu/packages/geeqie.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/geeqie.scm b/gnu/packages/geeqie.scm index 4d9d491ee8..110fb68ea0 100644 --- a/gnu/packages/geeqie.scm +++ b/gnu/packages/geeqie.scm @@ -34,18 +34,21 @@ (define-public exiv2 ; XXX: move elsewhere? (package (name "exiv2") - (version "0.23") + (version "0.25") (source (origin (method url-fetch) (uri (string-append "http://www.exiv2.org/exiv2-" version ".tar.gz")) (sha256 (base32 - "04bbg2cg6mgcyz435zamx37sp5zw44n2alb59ki1daz71f851yl1")))) + "197g6vgcpyf9p2cwn5p5hb1r714xsk1v4p96f5pv1z8mi9vzq2y8")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no `check' target (propagated-inputs - `(("expat" ,expat) ("zlib" ,zlib))) + `(("expat" ,expat) + ("zlib" ,zlib))) + (native-inputs + `(("intltool" ,intltool))) (home-page "http://www.exiv2.org/") (synopsis "Library and command-line utility to manage image metadata") (description From 94d8726bfb842bb59048c37d279e12dbcd787085 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 14:08:26 +0300 Subject: [PATCH 210/435] gnu: mercurial: Update to 3.8.4. * gnu/packages/version-control.scm (mercurial): Update to 3.8.4. --- gnu/packages/version-control.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 2b2076c484..a7e61a4a34 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -606,14 +606,14 @@ control to Git repositories.") (define-public mercurial (package (name "mercurial") - (version "3.8.1") + (version "3.8.4") (source (origin (method url-fetch) (uri (string-append "https://www.mercurial-scm.org/" "release/mercurial-" version ".tar.gz")) (sha256 (base32 - "156m6269xdqq7mpw01c6b065k29xnb8b9lyzn1b0nlz5il2izkps")))) + "19ixvxgifx48lxp9vdmsf88nnjsxl035ahmp3iw1vyilkpqkwbjb")))) (build-system python-build-system) (arguments `(;; Restrict to Python 2, as Python 3 would require From 569d9efe3a9caf67579779ca1874204c9a6225a9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 14:15:08 +0300 Subject: [PATCH 211/435] gnu: cgit: Update to 1.0. * gnu/packages/version-control.scm (cgit): Update to 1.0. --- gnu/packages/version-control.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index a7e61a4a34..48a1bbc8af 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -367,7 +367,7 @@ write native speed custom Git applications in any language with bindings.") (define-public cgit (package (name "cgit") - (version "0.12") + (version "1.0") (source (origin (method url-fetch) (uri (string-append @@ -375,7 +375,7 @@ write native speed custom Git applications in any language with bindings.") version ".tar.xz")) (sha256 (base32 - "1dx54hgfyabmg9nm5qp6d01f54nlbqbbdwhwl0llb9imjf237qif")))) + "0kbh835p7dl4h88qv55fyfh1za09cgnqh63rii325w9215hm95x8")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; XXX: fail to build the in-source git. From 0c9df45755477bb02c77a7b7f92a065643fed2b0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 14:56:12 +0300 Subject: [PATCH 212/435] gnu: smalltalk: Don't use bundled libraries. * gnu/packages/smalltalk.scm (smalltalk)[native-inputs]: Add libffi, libltdl, libsigsegv, pkg-config. [home-page]: Update to new home-page. --- gnu/packages/smalltalk.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm index c9d733d505..77e033f847 100644 --- a/gnu/packages/smalltalk.scm +++ b/gnu/packages/smalltalk.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +22,10 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages autotools) + #:use-module (gnu packages libffi) + #:use-module (gnu packages libsigsegv) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages zip)) (define-public smalltalk @@ -36,7 +41,13 @@ (base32 "1k2ssrapfzhngc7bg1zrnd9n2vyxp9c9m70byvsma6wapbvib6l1")))) (build-system gnu-build-system) - (inputs `(("zip" ,zip))) + (native-inputs + `(("libffi" ,libffi) + ("libltdl" ,libltdl) + ("libsigsegv" ,libsigsegv) + ("pkg-config" ,pkg-config))) + (inputs + `(("zip" ,zip))) (arguments `(#:phases (alist-cons-before 'configure 'fix-libc @@ -46,7 +57,7 @@ (("@LIBC_SO_NAME@") "libc.so") (("@LIBC_SO_DIR@") (string-append libc "/lib"))))) %standard-phases))) - (home-page "https://www.gnu.org/software/smalltalk/") + (home-page "http://smalltalk.gnu.org/") (synopsis "Smalltalk environment") (description "GNU Smalltalk is a free implementation of the Smalltalk language. It From d06d4d7b2ad2a4861d07925db901d8bde2db0be1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 29 Jun 2016 07:38:22 +0200 Subject: [PATCH 213/435] gnu: emms: Rename package to "emacs-emms". * gnu/packages/emacs.scm (emms): Rename to "emacs-emms". --- gnu/packages/emacs.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ff7d80877d..d5f8c300c9 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -829,7 +829,7 @@ provides an optional IDE-like error list.") (define-public emms (package - (name "emms") + (name "emacs-emms") (version "4.1") (source (origin (method url-fetch) From 1095bd1db0040d0617aa37d7b1accefc24a3dcf6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 29 Jun 2016 07:39:42 +0200 Subject: [PATCH 214/435] gnu: Add emacs-emms-player-mpv. * gnu/packages/emacs.scm (emacs-emms-player-mpv): 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 d5f8c300c9..f95e7b0e4f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -941,6 +941,29 @@ light user interface.") (home-page "http://www.gnu.org/software/emms/") (license license:gpl3+))) +(define-public emacs-emms-player-mpv + (package + (name "emacs-emms-player-mpv") + (version "0.0.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/dochang/emms-player-mpv/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01wj410dpx25b3i8781i2j9c6nlvzvvphy9qgh7zfpmyz6a3wsm4")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emms" ,emms))) + (home-page "https://github.com/dochang/emms-player-mpv/") + (synopsis "Mpv support for EMMS") + (description + "This package provides an EMMS player that uses mpv. It supports pause +and seeking.") + (license license:gpl3+))) + ;;; ;;; Miscellaneous. From 140dd8f82c4b513c182a71bbd61a9cfa1360782a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 30 Jun 2016 15:43:23 +0200 Subject: [PATCH 215/435] guix: Support authentication when fetching from SVN. * guix/svn-download.scm (): Add fields for optional credentials. (svn-fetch): Pass credentials to build-side "svn-fetch". * guix/build/svn.scm (svn-fetch): Pass optional credentials to svn command. --- guix/build/svn.scm | 21 ++++++++++++++------- guix/svn-download.scm | 10 +++++++--- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/guix/build/svn.scm b/guix/build/svn.scm index 74fe084da5..31c30edaf5 100644 --- a/guix/build/svn.scm +++ b/guix/build/svn.scm @@ -29,15 +29,22 @@ ;;; Code: (define* (svn-fetch url revision directory - #:key (svn-command "svn")) + #:key (svn-command "svn") + (user-name #f) + (password #f)) "Fetch REVISION from URL into DIRECTORY. REVISION must be an integer, and a valid Subversion revision. Return #t on success, #f otherwise." - (and (zero? (system* svn-command "checkout" "--non-interactive" - ;; Trust the server certificate. This is OK as we - ;; verify the checksum later. This can be removed when - ;; ca-certificates package is added. - "--trust-server-cert" "-r" (number->string revision) - url directory)) + (and (zero? (apply system* svn-command + "checkout" "--non-interactive" + ;; Trust the server certificate. This is OK as we + ;; verify the checksum later. This can be removed when + ;; ca-certificates package is added. + "--trust-server-cert" "-r" (number->string revision) + `(,@(if (and user-name password) + (list (string-append "--username=" user-name) + (string-append "--password=" password)) + '()) + ,url ,directory))) (with-directory-excursion directory (begin ;; The contents of '.svn' vary as a function of the current status diff --git a/guix/svn-download.scm b/guix/svn-download.scm index d6853ca861..dddf6485ce 100644 --- a/guix/svn-download.scm +++ b/guix/svn-download.scm @@ -41,8 +41,10 @@ (define-record-type* svn-reference make-svn-reference svn-reference? - (url svn-reference-url) ; string - (revision svn-reference-revision)) ; number + (url svn-reference-url) ; string + (revision svn-reference-revision) ; number + (user-name svn-reference-user-name (default #f)) + (password svn-reference-password (default #f))) (define (subversion-package) "Return the default Subversion package." @@ -62,7 +64,9 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (svn-fetch '#$(svn-reference-url ref) '#$(svn-reference-revision ref) #$output - #:svn-command (string-append #+svn "/bin/svn")))) + #:svn-command (string-append #+svn "/bin/svn") + #:user-name #$(svn-reference-user-name ref) + #:password #$(svn-reference-password ref)))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "svn-checkout") build From 2bb006121e7c39ac95960f8eaa9c1ff7fc54a843 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 18 Jun 2016 22:12:34 +0200 Subject: [PATCH 216/435] gnu: Add Amsynth. * gnu/packages/music.scm (amsynth): New variable. --- gnu/packages/music.scm | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 69143b892d..91ba4be97b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -716,6 +716,49 @@ Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.") oscillators and stereo effects.") (license license:gpl2+))) +(define-public amsynth + (package + (name "amsynth") + (version "1.6.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/amsynth/amsynth/releases/" + "download/release-" version + "/amsynth-" version ".tar.bz2")) + (sha256 + (base32 + "07dp9dl38g9krjqxxh89l2z42z08yzrl57cx95b1l67xnxwjp5k3")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'set-flags + (lambda _ + ;; Compile with C++11, required by gtkmm. + (setenv "CXXFLAGS" "-std=c++11") + #t))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("jack" ,jack-1) + ("lv2" ,lv2) + ("libsndfile" ,libsndfile) + ("gtk+" ,gtk+-2) + ("gtkmm" ,gtkmm-2))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://amsynth.github.io") + (synopsis "Analog modeling synthesizer") + (description + "amsynth is an easy-to-use software synthesizer with a classic +subtractive synthesizer topology. Its features include: dual +oscillators (sine, saw, square, noise) with hard sync; 12 and 24 dB/oct +resonant filters (low-pass, high-pass, band-pass, notch); mono, poly, legato +keyboard modes; dual ADSR envelope generators for filter and amplitude; LFO +which can modulate the oscillators, filter, and amplitude; distortion and +reverb effects.") + (license license:gpl2+))) + (define-public setbfree (package (name "setbfree") From 3fa3151f8c5fd73bfc9ba592b88066ac915358b1 Mon Sep 17 00:00:00 2001 From: John J Foerch Date: Sun, 3 Jul 2016 11:50:37 -0400 Subject: [PATCH 217/435] gnu: conkeror: Update to 1.0.3 * gnu/packages/conkeror.scm (conkeror): Update to 1.0.3. Signed-off-by: Efraim Flashner --- gnu/packages/conkeror.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/conkeror.scm b/gnu/packages/conkeror.scm index cfeb22e8c3..d9722a1906 100644 --- a/gnu/packages/conkeror.scm +++ b/gnu/packages/conkeror.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Cyrill Schenkel ;;; Copyright © 2014, 2015 Eric Bavier +;;; Copyright © 2016 John J. Foerch ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,16 +29,16 @@ (define-public conkeror (package (name "conkeror") - (version "1.0pre1.20150730") + (version "1.0.3") (source (origin (method url-fetch) (uri - (string-append "http://repo.or.cz/w/conkeror.git/snapshot/" - "a1f7e879b129df5cf14ea4ce80a9c1407380ed58" - ".tar.gz")) ; tag: debian-1.0--pre-1+git150730-1 + (string-append "http://repo.or.cz/conkeror.git/snapshot/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1q45hc30733gz3ca2ixvw0rzzcbi7rlay7gx7kvzjv17a030nyk0")))) + "0ybmincxw3msnrfpby9gnckbq2x94c7fra2m66zham54cjc7mav3")))) (build-system gnu-build-system) (inputs `(("icecat" ,icecat))) (arguments From df32099104836ab6ec47fa7f4dee868e06ffd9d6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 3 Jul 2016 12:44:36 -0400 Subject: [PATCH 218/435] gnu: font-gnu-unifont: Update to 9.0.01. * gnu/packages/fonts.scm (font-gnu-unifont): Update to 9.0.01. --- gnu/packages/fonts.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index fd3962dbc3..10e253d32e 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2016 Leo Famulari ;;; Copyright © 2016 Nils Gillmann ;;; Copyright © 2016 Jookia <166291@gmail.com> ;;; Copyright © 2016 Eric Bavier @@ -599,15 +600,15 @@ languages, plus Greek and Cyrillic.") (define-public font-gnu-unifont (package (name "font-gnu-unifont") - (version "8.0.01") + (version "9.0.01") (source (origin (method url-fetch) (uri (string-append - "mirror://gnu/unifont/unifont-8.0.01/unifont-" + "mirror://gnu/unifont/unifont-" version "/unifont-" version ".tar.gz")) (sha256 (base32 - "176bzc2y3i49xavrmbyyz5lkqp0qq3bkj7rjrl197kib873by82b")))) + "14z4lx6asa94i73m19lsdgzqjn9xzi8320h3dafvzq9ima94pm9b")))) (build-system gnu-build-system) (outputs '("out" ; TrueType version "pcf" ; PCF (bitmap) version From b58c1b2d9b8f6d2aaee92a55804d7aa75f5f3499 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Jul 2016 22:08:47 +0300 Subject: [PATCH 219/435] gnu: sshfs-fuse: Update to 2.8. * gnu/packages/linux.scm (sshfs-fuse): Update to 2.8. --- gnu/packages/linux.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a0c21d8d2c..1c9d6d40b3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1419,17 +1419,15 @@ UnionFS-FUSE additionally supports copy-on-write.") (define-public sshfs-fuse (package (name "sshfs-fuse") - (version "2.5") + (version "2.8") (source (origin (method url-fetch) - (uri (let ((version-with-underscores - (string-join (string-split version #\.) "_"))) - (string-append "https://github.com/libfuse/sshfs/releases/" - "download/sshfs_" version-with-underscores - "/sshfs-fuse-" version ".tar.gz"))) + (uri (string-append "https://github.com/libfuse/sshfs/releases/" + "download/sshfs_" version + "/sshfs-" version ".tar.gz")) (sha256 (base32 - "0gp6qr33l2p0964j0kds0dfmvyyf5lpgsn11daf0n5fhwm9185z9")))) + "08mdd4rs7yys7hmyig6i08qlid76p17xlvrh64k7wsrfs1s92s3z")))) (build-system gnu-build-system) (inputs `(("fuse" ,fuse) From 47d0b29269576e763e1fa84d34aa3a7cff3e27b0 Mon Sep 17 00:00:00 2001 From: Troy Sankey Date: Sat, 2 Jul 2016 14:27:41 -0400 Subject: [PATCH 220/435] gnu: Add python-urwidtrees. * gnu/packages/python.scm (python-urwidtrees, python2-urwidtrees): New variables. Signed-off-by: Leo Famulari --- gnu/packages/python.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 597ca6a033..8120012f77 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2016 Daniel Pimentel ;;; Copyright © 2016 Sou Bunnbu +;;; Copyright © 2016 Troy Sankey ;;; ;;; This file is part of GNU Guix. ;;; @@ -4488,6 +4489,30 @@ features useful for text console applications.") (define-public python2-urwid (package-with-python2 python-urwid)) +(define-public python-urwidtrees + (package + (name "python-urwidtrees") + (version "1.0.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "urwidtrees" version)) + (sha256 + (base32 + "1zcvy12s7h3fazf33d6y7b4v19p8hg95xqwhqlmw6jz9fq76v9h8")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; no tests + (inputs `(("python-urwid" ,python-urwid))) + (home-page "https://github.com/pazz/urwidtrees") + (synopsis "Tree widgets for urwid") + (description "Urwidtrees is a Widget Container API for the @code{urwid} +toolkit. Use it to build trees of widgets.") + (license gpl3+))) + +(define-public python2-urwidtrees + (package-with-python2 python-urwidtrees)) + (define-public python-dbus (package (name "python-dbus") From a2cb16b0c6bbb5558f6cce6a4c7c273126c9438f Mon Sep 17 00:00:00 2001 From: Troy Sankey Date: Sat, 2 Jul 2016 14:28:35 -0400 Subject: [PATCH 221/435] gnu: Add alot. * gnu/packages/mail.scm (alot): New variable. Signed-off-by: Leo Famulari --- gnu/packages/mail.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 58b46d8f67..24f8e3d02a 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016 Alex Kost +;;; Copyright © 2016 Troy Sankey ;;; ;;; This file is part of GNU Guix. ;;; @@ -397,6 +398,40 @@ messages you need; in addition, it allows you to view messages, extract attachments, create new maildirs, and so on.") (license gpl3+))) +(define-public alot + (package + (name "alot") + (version "0.3.7") + (source (origin + (method url-fetch) + ; v0.3.7 not on PyPi yet, so use github instead + (uri (string-append "https://github.com/pazz/alot/archive/" + version ".tar.gz")) + (file-name (string-append "alot-" version ".tar.gz")) + (sha256 + (base32 + "09md9llg38r6xby8l0y0zf8nhlh91cr4xs0r15b294hhp8hl2bgx")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no tests + ; python 3 is unsupported, more info: + ; https://github.com/pazz/alot/blob/0.3.7/docs/source/faq.rst + #:python ,python-2)) + (inputs + `(("python2-magic" ,python2-magic) + ("python2-configobj" ,python2-configobj) + ("python2-twisted" ,python2-twisted) + ("python2-urwid" ,python2-urwid) + ("python2-urwidtrees" ,python2-urwidtrees) + ("python2-pygpgme" ,python2-pygpgme) + ("python2-notmuch" ,python2-notmuch))) + (home-page "https://github.com/pazz/alot") + (synopsis "Commandline MUA using notmuch") + (description + "Alot is an experimental terminal mail user agent (MUA) based on +@code{notmuch} mail. It is written in Python using the @code{urwid} toolkit.") + (license gpl3+))) + (define-public notmuch (package (name "notmuch") From 75750abbbc66a8cdf10048ac846a57dab1eec801 Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 3 Jul 2016 04:05:39 +0200 Subject: [PATCH 222/435] gnu: Order module imports in (gnu packages linux) alphabetically. * gnu/packages/linux.scm: Order module imports alphabetically. Signed-off-by: Leo Famulari --- gnu/packages/linux.scm | 62 +++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 1c9d6d40b3..509727d7cb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -30,49 +30,49 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages linux) - #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) - #:use-module (gnu packages compression) - #:use-module (gnu packages gcc) - #:use-module (gnu packages flex) - #:use-module (gnu packages bison) #:use-module (gnu packages admin) - #:use-module (gnu packages gperf) - #:use-module (gnu packages libusb) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages pciutils) - #:use-module (gnu packages databases) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python) - #:use-module (gnu packages slang) #:use-module (gnu packages algebra) - #:use-module (gnu packages gettext) - #:use-module (gnu packages glib) - #:use-module (gnu packages pulseaudio) #:use-module (gnu packages attr) - #:use-module (gnu packages xml) #:use-module (gnu packages autotools) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages check) - #:use-module (gnu packages maths) #:use-module (gnu packages base) - #:use-module (gnu packages rrdtool) - #:use-module (gnu packages elf) - #:use-module (gnu packages gtk) + #:use-module (gnu packages bison) + #:use-module (gnu packages calendar) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) - #:use-module (gnu packages readline) - #:use-module (gnu packages calendar) - #:use-module (gnu packages tls) + #:use-module (gnu packages elf) + #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system gnu) + #:use-module (gnu packages gcc) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gperf) + #:use-module (gnu packages gtk) + #:use-module (gnu packages libusb) + #:use-module (gnu packages maths) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages pciutils) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages readline) + #:use-module (gnu packages rrdtool) + #:use-module (gnu packages slang) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages tls) + #:use-module (gnu packages xml) #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system trivial) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) #:use-module (srfi srfi-26) From 9b0942c1b0bfee6878f31411106751769cef2e3d Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 3 Jul 2016 04:26:28 +0200 Subject: [PATCH 223/435] gnu: Add rng-tools. * gnu/packages/linux.scm (rng-tools): New variable. Signed-off-by: Leo Famulari --- gnu/packages/linux.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 509727d7cb..0fd40ee982 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2016 Nicolas Goaziou ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2016 David Craven ;;; ;;; This file is part of GNU Guix. ;;; @@ -2724,3 +2725,25 @@ from userspace.") commonly found on Microsoft Windows. It is implemented as a FUSE file system. The package provides additional NTFS tools.") (license license:gpl2+))) + +(define-public rng-tools + (package + (name "rng-tools") + (version "5") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/sourceforge/gkernel/" + "rng-tools-" version ".tar.gz")) + (sha256 + (base32 + "13h7lc8wl9khhvkr0i3bl5j9bapf8anhqis1lcnwxg1vc2v058b0")))) + (build-system gnu-build-system) + (synopsis "Random number generator daemon") + (description + "Monitor a hardware random number generator, and supply entropy +from that to the system kernel's @file{/dev/random} machinery.") + (home-page "http://sourceforge.net/projects/gkernel") + ;; The source package is offered under the GPL2+, but the files + ;; 'rngd_rdrand.c' and 'rdrand_asm.S' are only available under the GPL2. + (license (list license:gpl2 license:gpl2+)))) From 679b535b03ff2c9408ebfaa3baae70736c8455ec Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 1 Jul 2016 15:22:50 +0000 Subject: [PATCH 224/435] Update name for ng0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ludovic Courtès --- .mailmap | 5 +++-- gnu/packages/databases.scm | 2 +- gnu/packages/emacs.scm | 1 - gnu/packages/fonts.scm | 2 +- gnu/packages/games.scm | 2 +- gnu/packages/gnunet.scm | 1 - gnu/packages/lisp.scm | 2 +- gnu/packages/tls.scm | 2 +- 8 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.mailmap b/.mailmap index 21841c1a0a..50b6e685bc 100644 --- a/.mailmap +++ b/.mailmap @@ -30,8 +30,9 @@ Ludovic Courtès Mathieu Lirzin Mathieu Lirzin Nikita Karetnikov -Nils Gillmann -Nils Gillmann +ng0 +ng0 +ng0 Pjotr Prins Pjotr Prins Raimon Grau diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index e99f1fb3a2..86cf8836b3 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2016 Efraim Flashner -;;; Copyright © 2016 Nils Gillmann +;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Roel Janssen ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f95e7b0e4f..579fb65850 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5,7 +5,6 @@ ;;; Copyright © 2014, 2015, 2016 Alex Kost ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015, 2016 Ricardo Wurmus -;;; Copyright © 2016 Nils Gillmann ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2015, 2016 Christopher Allan Webber ;;; Copyright © 2016 humanitiesNerd diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 10e253d32e..09fda2192a 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015, 2016 Leo Famulari -;;; Copyright © 2016 Nils Gillmann +;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Jookia <166291@gmail.com> ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 Dmitry Nikolaev diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 39fc6f2666..1fb8c71573 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2016 Rodger Fox ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis -;;; Copyright © 2016 Nils Gillmann +;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Albin Söderqvist ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Alex Griffin diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index c4e2a37955..bea05db1f1 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -3,7 +3,6 @@ ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2015 Efraim Flashner -;;; Copyright © 2016 Ni* Gillmann ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2016 ng0 diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index e349907f14..22f542ccc5 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Federico Beffa -;;; Copyright © 2016 Nils Gillmann +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 9a8a03b695..bdc1d7c997 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2016 Efraim Flashner -;;; Copyright © 2016 Nils Gillmann +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; From 5b8e564ccdc734cda20d151adc1d60d7119fff3b Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Sat, 2 Jul 2016 20:06:02 +0200 Subject: [PATCH 225/435] import: cpan: Use our mirrors for 'https' URLs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/import/cpan.scm (fix-source-url): New procedure. (cpan-module->sexp): Use it to construct our source-url. * tests/cpan.scm: Add tests for fix-source-url. Signed-off-by: Ludovic Courtès --- guix/import/cpan.scm | 13 +++++++++---- tests/cpan.scm | 11 +++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index ad61ee7916..213a155fd6 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2016 Alex Sassmannshausen ;;; ;;; This file is part of GNU Guix. ;;; @@ -99,6 +100,13 @@ or #f on failure. MODULE should be e.g. \"Test::Script\"" (define (cpan-home name) (string-append "http://search.cpan.org/dist/" name)) +(define (fix-source-url download-url) + "Return a new download URL based on DOWNLOAD-URL which now uses our mirrors, +if the original's domain was metacpan." + (regexp-substitute/global #f "http[s]?://cpan.metacpan.org" download-url + 'pre "mirror://cpan" 'post)) + + (define %corelist (delay (let* ((perl (with-store store @@ -183,10 +191,7 @@ META." (list (list guix-name (list 'quasiquote inputs)))))) - (define source-url - (regexp-substitute/global #f "http://cpan.metacpan.org" - (assoc-ref meta "download_url") - 'pre "mirror://cpan" 'post)) + (define source-url (fix-source-url (assoc-ref meta "download_url"))) (let ((tarball (with-store store (download-to-store store source-url)))) diff --git a/tests/cpan.scm b/tests/cpan.scm index 5d56f0bd2b..898081b3e5 100644 --- a/tests/cpan.scm +++ b/tests/cpan.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Eric Bavier +;;; Copyright © 2016 Alex Sassmannshausen ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,4 +98,14 @@ (x (pk 'fail x #f))))) +(test-equal "source-url-http" + ((@@ (guix import cpan) fix-source-url) + "http://cpan.metacpan.org/authors/id/T/TE/TEST/Foo-Bar-0.1.tar.gz") + "mirror://cpan/authors/id/T/TE/TEST/Foo-Bar-0.1.tar.gz") + +(test-equal "source-url-https" + ((@@ (guix import cpan) fix-source-url) + "https://cpan.metacpan.org/authors/id/T/TE/TEST/Foo-Bar-0.1.tar.gz") + "mirror://cpan/authors/id/T/TE/TEST/Foo-Bar-0.1.tar.gz") + (test-end "cpan") From 7012e2c7164bb8dcde42c61a7e29a428fc3e8c5e Mon Sep 17 00:00:00 2001 From: ng0 Date: Mon, 4 Jul 2016 00:24:58 +0000 Subject: [PATCH 226/435] gnurl: Update to 7.48.0. * gnu/packages/gnunet.scm (gnurl): Update to 7.48.0. Signed-off-by: Efraim Flashner --- gnu/packages/gnunet.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index bea05db1f1..f052eab40c 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -153,13 +153,16 @@ and support for SSL3 and TLS.") (define-public gnurl (package (name "gnurl") - (version "7.45.0") + (version "7.48.0") (source (origin (method url-fetch) - (uri (string-append "https://gnunet.org/sites/default/files/gnurl-" - version ".tar.bz2")) + (uri (let ((version-with-underscores + (string-join (string-split version #\.) "_"))) + (string-append "https://gnunet.org/sites/default/files/" + name "-" version-with-underscores ".tar.bz2"))) (sha256 - (base32 "0hd8w4wyjwagd4k6vm6srphqbmysz08rcwf8z7f4b2d6d2yrn3mm")))) + (base32 + "14gch4rdibrc8qs4mijsczxvl45dsclf234g17dk6c8nc2s4bm0a")))) (build-system gnu-build-system) (inputs `(("gnutls" ,gnutls) ("libidn" ,libidn) From c1562e3de145780f9eea3bffd7e9ceffc34d6ec7 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 2 Jul 2016 23:44:33 +0300 Subject: [PATCH 227/435] gnu: Add emacs-magit-popup. * gnu/packages/emacs.scm (emacs-magit-popup): New variable. --- gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 579fb65850..5796b97592 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -561,6 +561,31 @@ operations.") support for Git-SVN.") (license license:gpl3+))) +(define-public emacs-magit-popup + (package + (name "emacs-magit-popup") + (version (package-version magit)) + (source (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/magit/magit/" + version "/lisp/magit-popup.el")) + (file-name (string-append "magit-popup-" version ".el")) + (sha256 + (base32 + "144nl7j5mn86ccan6qxgg40bsxpkbc83vwnhd5y657gqki74972r")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/magit/magit") + (synopsis "Define prefix-infix-suffix command combos") + (description + "This library implements a generic interface for toggling switches and +setting options and then invoking an Emacs command which does something with +these arguments. The prototypical use is for the command to call an external +process, passing on the arguments as command line arguments.") + (license license:gpl3+))) + (define-public haskell-mode (package (name "haskell-mode") From e446182e38cd9aa7634304b13bdbcbd07d1b4c81 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 3 Jul 2016 10:06:33 +0300 Subject: [PATCH 228/435] gnu: guix: Add emacs-magit-popup to propagated-inputs. * gnu/packages/package-management.scm (guix-0.10.0): Add 'emacs-magit-popup' to make it possible to use "M-x guix" command. --- gnu/packages/package-management.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index f3a1cda149..c3035c3921 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -192,7 +192,8 @@ (propagated-inputs `(("gnutls" ,gnutls) ;for 'guix download' & co. ("guile-json" ,guile-json) - ("geiser" ,geiser))) ;for guix.el + ("geiser" ,geiser) ;for guix.el + ("emacs-magit-popup" ,emacs-magit-popup))) ;for "M-x guix" command (home-page "http://www.gnu.org/software/guix") (synopsis "Functional package manager for installed software packages and versions") From 7034791aa25db02e392495c44d68a5de937bdf7a Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Sun, 3 Jul 2016 18:53:33 +0200 Subject: [PATCH 229/435] gnu: Add emacs-eprime. * gnu/packages/emacs.scm (emacs-eprime): New variable. Signed-off-by: Alex Kost --- gnu/packages/emacs.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 5796b97592..db88df16a2 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2076,6 +2076,28 @@ Emacs default configuration in uncontroversial ways that nearly everyone can agree upon.") (license license:gpl3+))) +(define-public emacs-eprime + (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f")) + (package + (name "emacs-eprime") + (version (string-append "20140513-" (string-take commit 7))) + (source (origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com" + "/AndrewHynes/eprime-mode/" + commit "/eprime-mode.el")) + (file-name (string-append "eprime-" version ".el")) + (sha256 + (base32 + "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d")))) + (build-system emacs-build-system) + (home-page "https://github.com/AndrewHynes/eprime-mode") + (synopsis "E-prime checking mode for Emacs") + (description "This package provides an E-prime checking mode for Emacs +that highlights non-conforming text. The subset of the English language called +E-Prime forbids the use of the \"to be\" form to strengthen your writing.") + (license license:gpl3+)))) + (define-public emacs-smex (package (name "emacs-smex") From 7d4224d7942868d3cdcf2438dcb5a2f9e46f2f07 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Mon, 4 Jul 2016 14:39:16 +0200 Subject: [PATCH 230/435] gnu: Add r-limma. * gnu/packages/bioinformatics.scm (r-limma): New variable. --- gnu/packages/bioinformatics.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index caab01ddd1..05c3b7f7b9 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4469,6 +4469,25 @@ names in their natural, rather than lexicographic, order.") coding changes and predict coding outcomes.") (license license:artistic2.0))) +(define-public r-limma + (package + (name "r-limma") + (version "3.28.14") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "limma" version)) + (sha256 + (base32 + "1jgn66ajafhjlqpfcw2p85h6ah8mgmz66znmsw6pcapia7d34akw")))) + (build-system r-build-system) + (home-page "http://bioinf.wehi.edu.au/limma") + (synopsis "Package for linear models for microarray and RNA-seq data") + (description "This package can be used for the analysis of gene expression +studies, especially the use of linear models for analysing designed experiments +and the assessment of differential expression. The analysis methods apply to +different technologies, including microarrays, RNA-seq, and quantitative PCR.") + (license license:gpl2+))) + (define-public r-xvector (package (name "r-xvector") From 744004a31f5463a1fa3cd367fee7f4a242651da8 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Mon, 4 Jul 2016 14:49:07 +0200 Subject: [PATCH 231/435] gnu: Add r-edger. * gnu/packages/bioinformatics.scm (r-edger): New variable. --- gnu/packages/bioinformatics.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 05c3b7f7b9..030327dcf2 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4437,6 +4437,31 @@ translation between different chromosome sequence naming conventions (e.g., names in their natural, rather than lexicographic, order.") (license license:artistic2.0))) +(define-public r-edger + (package + (name "r-edger") + (version "3.14.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "edgeR" version)) + (sha256 + (base32 + "14vrygy7rz5ngaap4kgkvr3j18y5l6m742n79h68plk6iqgmsskn")))) + (properties `((upstream-name . "edgeR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-limma" ,r-limma))) + (home-page "http://bioinf.wehi.edu.au/edgeR") + (synopsis "EdgeR does empirical analysis of digital gene expression data") + (description "This package can do differential expression analysis of +RNA-seq expression profiles with biological replication. It implements a range +of statistical methodology based on the negative binomial distributions, +including empirical Bayes estimation, exact tests, generalized linear models +and quasi-likelihood tests. It be applied to differential signal analysis of +other types of genomic data that produce counts, including ChIP-seq, SAGE and +CAGE.") + (license license:gpl2+))) + (define-public r-variantannotation (package (name "r-variantannotation") From 35e2e495771ea93d26107fb4f35635922cfe299c Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 4 Jul 2016 11:35:14 -0400 Subject: [PATCH 232/435] gnu: Add chromium-bsu. * gnu/packages/games.scm (chromium-bsu): New variable. --- gnu/packages/games.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 1fb8c71573..608c567c5c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2492,3 +2492,39 @@ in strikes against the evil corporation.") license:cc-by-sa3.0 license:cc0 license:public-domain)))) + +(define-public chromium-bsu + (package + (name "chromium-bsu") + (version "0.9.15.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name + "/Chromium B.S.U. source code/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "01c4mki0rpz6wrqbf18fj4vd7axln5v0xqm80cyksbv63g04s6w6")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'set-paths 'set-sdl-paths + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl-union") + "/include/SDL")) + #t))))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("glu" ,glu) + ("quesoglc" ,quesoglc) + ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer))))) + (home-page "http://chromium-bsu.sourceforge.net/") + (synopsis "Fast-paced, arcade-style, top-scrolling space shooter") + (description + "In this game you are the captain of the cargo ship Chromium B.S.U. and +are responsible for delivering supplies to the troops on the front line. Your +ship has a small fleet of robotic fighters which you control from the relative +safety of the Chromium vessel.") + ;; Clarified Artistic License for everything but sound, which is covered + ;; by the Expat License. + (license (list license:clarified-artistic license:expat)))) From 42c4b24646a9387a7d64a5cc646810c7727585c8 Mon Sep 17 00:00:00 2001 From: ng0 Date: Mon, 4 Jul 2016 16:16:05 +0000 Subject: [PATCH 233/435] gnu: python2-pythondialog: Update to 3.4.0. * gnu/packages/python.scm (python2-pythondialog): Update to 3.4.0. [source]: Use pypi-uri. Co-authored-by: Leo Famulari --- gnu/packages/python.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8120012f77..49f0b88020 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2016 Daniel Pimentel ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2016 Troy Sankey +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -6664,16 +6665,14 @@ facilities for defining, registering and looking up components.") (define-public python2-pythondialog (package (name "python2-pythondialog") - (version "3.3.0") + (version "3.4.0") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/p/" - "python2-pythondialog/python2-pythondialog-" - version ".tar.gz")) + (uri (pypi-uri "python2-pythondialog" version)) (sha256 (base32 - "1yhkagsh99bfi592ymczf8rnw8rk6n9hdqy3dd98m3yrx8zmjvry")))) + "0d8k7lxk50imdyx85lv8j98i4c93a71iwpapnl1506rpkbm9qvd9")))) (build-system python-build-system) (arguments `(#:phases From fa8af53e99afd932b2e534a428ea6ac62581c89d Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Mon, 4 Jul 2016 21:32:31 +0200 Subject: [PATCH 234/435] gnu: Add scrollkeeper. * gnu/packages/documentation.scm (scrollkeeper): New variable. --- gnu/packages/documentation.scm | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 17a69e2c25..8302cc49cc 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Ludovic Courtès ;;; Copyright © 2014, 2016 Andreas Enge ;;; Copyright © 2016 Eric Bavier +;;; Copyright © 2016 Roel Janssen ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,9 +28,11 @@ #:use-module (gnu packages) #:use-module (gnu packages python) #:use-module (gnu packages bison) + #:use-module (gnu packages docbook) #:use-module (gnu packages flex) #:use-module (gnu packages graphviz) #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) #:use-module (gnu packages perl) #:use-module (gnu packages xml) #:autoload (gnu packages zip) (unzip)) @@ -115,3 +118,38 @@ generate both TeX output for high-quality hardcopies or HTML output for online brwosing. The documentation is extracted directly from the C/C++/IDL source or Java class files.") (license gpl2+))) + +(define-public scrollkeeper + (package + (name "scrollkeeper") + (version "0.3.14") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/scrollkeeper/scrollkeeper-" + version ".tar.gz")) + (sha256 + (base32 "1bfxwxc1ngh11v36z899sz9qam366r050fhkyb5adv65lb1x62sa")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-xml-catalog=" + (assoc-ref %build-inputs "docbook-xml") + "/xml/dtd/docbook/catalog.xml")))) + (inputs + `(("perl" ,perl) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ;; The configure script checks for either version 4.2 or 4.1.2. + ("docbook-xml" ,docbook-xml-4.2))) + (native-inputs + `(("intltool" ,intltool))) + (home-page "http://scrollkeeper.sourceforge.net/") + (synopsis "Open Documentation Cataloging Project") + (description "ScrollKeeper is a cataloging system for documentation on open +systems. It manages documentation metadata as specified by the Open Source +Metadata Framework and provides a simple API to allow help browsers to find, +sort, and search the document catalog. It will also be able to communicate +with catalog servers on the Net to search for documents which are not on the +local system.") + (license lgpl2.1+))) From 0adc21c2933fbe47ee37d90acdb4ad8cbc60ed69 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 4 Jul 2016 20:45:30 +0300 Subject: [PATCH 235/435] gnu: Add python2-pytest-cache. * gnu/packages/python.scm (python2-pytest-cache): New variable. (python-pytest-cache)[properties]: New field. --- gnu/packages/python.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 49f0b88020..3505f36b4c 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7091,7 +7091,17 @@ minimal and fast API targetting the following uses: (description "The pytest-cache plugin provides tools to rerun failures from the last py.test invocation.") (home-page "https://bitbucket.org/hpk42/pytest-cache/") - (license license:expat))) + (license license:expat) + (properties `((python2-variant . ,(delay python2-pytest-cache)))))) + +(define-public python2-pytest-cache + (let ((pytest-cache (package-with-python2 + (strip-python2-variant python-pytest-cache)))) + (package + (inherit pytest-cache) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs pytest-cache)))))) (define-public python-pytest-localserver (package From d6a08ec0c68223c7cb1eaef48f8525b5f10fac7d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 3 Jul 2016 18:23:22 +0200 Subject: [PATCH 236/435] gnu: testdisk: Add NTFS support. * gnu/packages/admin.scm (testdisk)[inputs]: Add ntfs-3g. --- gnu/packages/admin.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 415a35aab3..e96c163455 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1149,9 +1149,10 @@ characters can be replaced as well, as can UTF-8 characters.") "0v1jap83f5h99zv01v3qmqm160d36n4ysi0gyq7xzb3mqgmw75x5")))) (build-system gnu-build-system) (inputs - `(;; ("ntfs" ,ntfs) + `(("ntfs-3g" ,ntfs-3g) ("util-linux" ,util-linux) ("openssl" ,openssl) + ;; FIXME: add reiserfs ("zlib" ,zlib) ("e2fsprogs" ,e2fsprogs) ("libjpeg" ,libjpeg) From cf91cfc0c47bbe3c026e098729522feec6631311 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 3 Jul 2016 18:24:30 +0200 Subject: [PATCH 237/435] gnu: testdisk: Update to 7.0. * gnu/packages/admin.scm (testdisk): Update to 7.0. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e96c163455..9afe1f8ee0 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1139,14 +1139,14 @@ characters can be replaced as well, as can UTF-8 characters.") (define-public testdisk (package (name "testdisk") - (version "6.14") + (version "7.0") (source (origin (method url-fetch) (uri (string-append "http://www.cgsecurity.org/testdisk-" version ".tar.bz2")) (sha256 (base32 - "0v1jap83f5h99zv01v3qmqm160d36n4ysi0gyq7xzb3mqgmw75x5")))) + "0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0")))) (build-system gnu-build-system) (inputs `(("ntfs-3g" ,ntfs-3g) From b58cbf9ac507f58ef3031305ce8c13ea889de2d2 Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 3 Jul 2016 20:25:09 +0200 Subject: [PATCH 238/435] services: Add rngd-service. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/base.scm (): New record type. (rngd-service-type): New variable. (rngd-service): New procedure. * doc/guix.texi (Base Services): Document it. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 7 +++++++ gnu/services/base.scm | 47 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 62c0d34805..c9d9bd8977 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7494,6 +7494,13 @@ created by @command{guix archive --generate-key} (@pxref{Invoking guix archive}). If that is not the case, the service will fail to start. @end deffn +@anchor{rngd-service} +@deffn {Scheme Procedure} rngd-service [#:rng-tools @var{rng-tools}] @ + [#:device "/dev/hwrng"] +Return a service that runs the @command{rngd} program from @var{rng-tools} +to add @var{device} to the kernel's entropy pool. The service will fail if +@var{device} does not exist. +@end deffn @node Scheduled Job Execution @subsubsection Scheduled Job Execution diff --git a/gnu/services/base.scm b/gnu/services/base.scm index f304bf89a3..5eabfec423 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016 David Craven ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,7 +32,7 @@ #:use-module (gnu system mapped-devices) #:use-module (gnu packages admin) #:use-module ((gnu packages linux) - #:select (eudev kbd e2fsprogs lvm2 fuse alsa-utils crda gpm)) + #:select (alsa-utils crda eudev e2fsprogs fuse gpm kbd lvm2 rng-tools)) #:use-module ((gnu packages base) #:select (canonical-package glibc)) #:use-module (gnu packages package-management) @@ -97,6 +98,8 @@ urandom-seed-service-type urandom-seed-service + rngd-service-type + rngd-service %base-services)) @@ -486,7 +489,47 @@ stopped before 'kill' is called." (define (urandom-seed-service) (service urandom-seed-service-type #f)) - + +;;; +;;; Add hardware random number generator to entropy pool. +;;; + +(define-record-type* + rngd-configuration make-rngd-configuration + rngd-configuration? + (rng-tools rngd-configuration-rng-tools) ;package + (device rngd-configuration-device)) ;string + +(define rngd-service-type + (shepherd-service-type + 'rngd + (lambda (config) + (define rng-tools (rngd-configuration-rng-tools config)) + (define device (rngd-configuration-device config)) + + (define rngd-command + (list #~(string-append #$rng-tools "/sbin/rngd") + "-f" "-r" device)) + + (shepherd-service + (documentation "Add TRNG to entropy pool.") + (requirement '(udev)) + (provision '(trng)) + (start #~(make-forkexec-constructor #$@rngd-command)) + (stop #~(make-kill-destructor)))))) + +(define* (rngd-service #:key + (rng-tools rng-tools) + (device "/dev/hwrng")) + "Return a service that runs the @command{rngd} program from @var{rng-tools} +to add @var{device} to the kernel's entropy pool. The service will fail if +@var{device} does not exist." + (service rngd-service-type + (rngd-configuration + (rng-tools rng-tools) + (device device)))) + + ;;; ;;; System-wide environment variables. ;;; From 184497afecf86e8f2ea576a80df7b77c70751071 Mon Sep 17 00:00:00 2001 From: David Craven Date: Sun, 3 Jul 2016 20:25:10 +0200 Subject: [PATCH 239/435] build: Ignore texi2pdf temporary files. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * .gitignore: Modify. Signed-off-by: Ludovic Courtès --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 003412eeab..6e892ca687 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,7 @@ /doc/guix.ky /doc/guix.pg /doc/guix.toc +/doc/guix.t2p /doc/guix.tp /doc/guix.vr /doc/guix.vrs From 056575421e6714bb6d6276e025018fe7c84d5c73 Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Sat, 2 Jul 2016 20:34:52 +0200 Subject: [PATCH 240/435] gnu: Add perl-io-captureoutput. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-io-captureoutput): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 74a47b4b4c..8a39ba8cf0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -2640,6 +2640,31 @@ dependencies for CPAN distributions. These dependencies get bundled into the inc directory within a distribution and are used by Makefile.PL or Build.PL.") (license asl2.0))) +(define-public perl-io-captureoutput + (package + (name "perl-io-captureoutput") + (version "1.1104") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-" + version + ".tar.gz")) + (sha256 + (base32 + "0c437zvzpqi8f0h3nmblwdi2bvsb92b7g30fndr7my9qnky35izw")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/IO-CaptureOutput") + (synopsis "Capture STDOUT and STDERR from Perl code, subprocesses or XS") + (description "@code{IO::CaptureOutput} provides routines for capturing +@code{STDOUT} and @code{STDERR} from perl subroutines, forked system +calls (e.g. @code{system()}, @code{fork()}) and from XS or C modules. + +This module is no longer recommended by its maintainer. Users are advised to +try @code{Capture::Tiny} instead.") + (license (package-license perl)))) + (define-public perl-io-interactive (package (name "perl-io-interactive") From 8bcafb7440f0ba867c5d7549f9514221ec413e0e Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Sat, 2 Jul 2016 20:34:53 +0200 Subject: [PATCH 241/435] gnu: Add perl-list-compare. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-list-compare): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8a39ba8cf0..f169a13f17 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3010,6 +3010,30 @@ one: logging, exceptions, and translations.") List::Util or List::MoreUtils defines, with preference to List::Util.") (license (package-license perl)))) +(define-public perl-list-compare + (package + (name "perl-list-compare") + (version "0.53") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JK/JKEENAN/List-Compare-" + version + ".tar.gz")) + (sha256 + (base32 + "0l451yqhx1hlm7f2c3bjsl3n8w6l1jngrxzyfm2d8d9iggv4zgzx")))) + (build-system perl-build-system) + (native-inputs + `(("perl-io-captureoutput" ,perl-io-captureoutput))) + (home-page "http://search.cpan.org/dist/List-Compare") + (synopsis "Compare elements of two or more lists") + (description "@code{List::Compare} provides a module to perform +comparative operations on two or more lists. Provided operations include +intersections, unions, unique elements, complements and many more.") + (license (package-license perl)))) + (define-public perl-list-moreutils (package (name "perl-list-moreutils") From 5082eac9579f6b8abd11fd53383c54e81d32729d Mon Sep 17 00:00:00 2001 From: Alex Sassmannshausen Date: Sat, 2 Jul 2016 20:34:54 +0200 Subject: [PATCH 242/435] gnu: Add perl-list-someutils. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl-list-someutils): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/perl.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index f169a13f17..c171af482a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3059,6 +3059,39 @@ intersections, unions, unique elements, complements and many more.") functionality on lists which is not going to go into List::Util.") (license (package-license perl)))) +(define-public perl-list-someutils + (package + (name "perl-list-someutils") + (version "0.52") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-" + version + ".tar.gz")) + (sha256 + (base32 + "1b450jyxaa6q2yl0cdhknr3c2a5s7b9b18ccnwac625c681r130y")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-leaktrace" ,perl-test-leaktrace))) + (inputs + `(("perl-exporter-tiny" ,perl-exporter-tiny) + ("perl-module-implementation" + ,perl-module-implementation))) + (home-page "http://search.cpan.org/dist/List-SomeUtils") + (synopsis "Provide the stuff missing in List::Util") + (description "@code{List::SomeUtils} provides some trivial but commonly +needed functionality on lists which is not going to go into @code{List::Util}. + +All of the below functions are implementable in only a couple of lines of Perl +code. Using the functions from this module however should give slightly +better performance as everything is implemented in C. The pure-Perl +implementation of these functions only serves as a fallback in case the C +portions of this module couldn't be compiled on this machine.") + (license (package-license perl)))) + (define-public perl-memoize-expirelru (package (name "perl-memoize-expirelru") From aae8ba4746798201625a20288818b10ff58e5f1c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 4 Jul 2016 13:23:23 +0200 Subject: [PATCH 243/435] gnu: Add libharu. * gnu/packages/pdf.scm (libharu): New variable. --- gnu/packages/pdf.scm | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index d46bd1f8ba..36d39856b0 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015, 2016 Andreas Enge ;;; Copyright © 2014 Mark H Weaver -;;; Copyright © 2014, 2015 Ricardo Wurmus +;;; Copyright © 2014, 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2016 Roel Janssen ;;; @@ -28,6 +28,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system python) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages ghostscript) @@ -154,6 +155,45 @@ Poppler PDF rendering library.") (license license:lgpl2.1+))) +(define-public libharu + (package + (name "libharu") + (version "2.3.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/libharu/libharu/archive/" + "RELEASE_" + (string-join (string-split version #\.) "_") + ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lm4v539y9cb1lvbq387j57sy7yxda3yv8b1pk8m6zazbp66i7lg")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-zlib=" + (assoc-ref %build-inputs "zlib")) + (string-append "--with-png=" + (assoc-ref %build-inputs "libpng"))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'autogen + (lambda _ (zero? (system* "autoreconf" "-vif"))))))) + (inputs + `(("zlib" ,zlib) + ("libpng" ,libpng))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "http://libharu.org/") + (synopsis "Library for generating PDF files") + (description + "libHaru is a library for generating PDF files. libHaru does not support +reading and editing of existing PDF files.") + (license license:zlib))) + (define-public xpdf (package (name "xpdf") From 66e40e00654b8a637f0373d80f9ebc3f0c815022 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Jul 2016 12:32:12 +0200 Subject: [PATCH 244/435] gnu: Add EMBOSS. * gnu/packages/bioinformatics.scm (emboss): New variable. --- gnu/packages/bioinformatics.scm | 67 +++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 030327dcf2..152ee22225 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -50,6 +50,8 @@ #:use-module (gnu packages file) #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) + #:use-module (gnu packages gd) + #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages logging) @@ -58,6 +60,7 @@ #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) + #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) @@ -73,6 +76,7 @@ #:use-module (gnu packages vim) #:use-module (gnu packages web) #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) #:use-module (gnu packages zip) #:use-module (srfi srfi-1)) @@ -5472,6 +5476,69 @@ two-dimensional genome scans.") libraries for systems that do not have these available via other means.") (license license:artistic2.0))) +(define-public emboss + (package + (name "emboss") + (version "6.5.7") + (source (origin + (method url-fetch) + (uri (string-append "ftp://emboss.open-bio.org/pub/EMBOSS/old/" + (version-major+minor version) ".0/" + "EMBOSS-" version ".tar.gz")) + (sha256 + (base32 + "0vsmz96gc411yj2iyzdrsmg4l2n1nhgmp7vrgzlxx3xixv9xbf0q")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-hpdf=" + (assoc-ref %build-inputs "libharu"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-checks + (lambda _ + ;; The PNGDRIVER tests check for the presence of libgd, libpng + ;; and zlib, but assume that they are all found at the same + ;; prefix. + (substitute* "configure.in" + (("CHECK_PNGDRIVER") + "LIBS=\"$LIBS -lgd -lpng -lz -lm\" +AC_DEFINE([PLD_png], [1], [Define to 1 if PNG support is available]) +AM_CONDITIONAL(AMPNG, true)")) + #t)) + (add-after 'unpack 'disable-update-check + (lambda _ + ;; At build time there is no connection to the Internet, so + ;; looking for updates will not work. + (substitute* "Makefile.am" + (("\\$\\(bindir\\)/embossupdate") "")) + #t)) + (add-before 'configure 'autogen + (lambda _ (zero? (system* "autoreconf" "-vif"))))))) + (inputs + `(("perl" ,perl) + ("libpng" ,libpng) + ("gd" ,gd) + ("libx11" ,libx11) + ("libharu" ,libharu) + ("zlib" ,zlib))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "http://emboss.sourceforge.net") + (synopsis "Molecular biology analysis suite") + (description "EMBOSS is the \"European Molecular Biology Open Software +Suite\". EMBOSS is an analysis package specially developed for the needs of +the molecular biology (e.g. EMBnet) user community. The software +automatically copes with data in a variety of formats and even allows +transparent retrieval of sequence data from the web. It also provides a +number of libraries for the development of software in the field of molecular +biology. EMBOSS also integrates a range of currently available packages and +tools for sequence analysis into a seamless whole.") + (license license:gpl2+))) + (define-public piranha ;; There is no release tarball for the latest version. The latest commit is ;; older than one year at the time of this writing. From 1f1b20b8bec64b5297769d57db5cf4855b6b80e2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Jul 2016 15:43:36 +0200 Subject: [PATCH 245/435] gnu: Add bits. * gnu/packages/bioinformatics.scm (bits): New variable. --- gnu/packages/bioinformatics.scm | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 152ee22225..35bed0f76e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -5539,6 +5539,52 @@ biology. EMBOSS also integrates a range of currently available packages and tools for sequence analysis into a seamless whole.") (license license:gpl2+))) +(define-public bits + (let ((revision "1") + (commit "3cc4567896d9d6442923da944beb704750a08d2d")) + (package + (name "bits") + ;; The version is 2.13.0 even though no release archives have been + ;; published as yet. + (version (string-append "2.13.0-" revision "." (string-take commit 9))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arq5x/bits.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "17n2kffk4kmhivd8c98g2vr6y1s23vbg4sxlxs689wni66797hbs")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no tests included + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'remove-cuda + (lambda _ + (substitute* "Makefile" + ((".*_cuda") "") + (("(bits_test_intersections) \\\\" _ match) match)) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively + "bin" (string-append (assoc-ref outputs "out") "/bin")) + #t))))) + (inputs + `(("gsl" ,gsl) + ("zlib" ,zlib))) + (home-page "https://github.com/arq5x/bits") + (synopsis "Implementation of binary interval search algorithm") + (description "This package provides an implementation of the +BITS (Binary Interval Search) algorithm, an approach to interval set +intersection. It is especially suited for the comparison of diverse genomic +datasets and the exploration of large datasets of genome +intervals (e.g. genes, sequence alignments).") + (license license:gpl2)))) + (define-public piranha ;; There is no release tarball for the latest version. The latest commit is ;; older than one year at the time of this writing. From 091963c69b517a97aaf2cad62e700ecb6c855a93 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 5 Jul 2016 16:12:23 +0200 Subject: [PATCH 246/435] gnu: Add perltidy. * gnu/packages/perl.scm (perltidy): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index c171af482a..aed2a61320 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Coypright © 2016 ng0 ;;; Copyright © 2016 Alex Sassmannshausen +;;; Copyright © 2016 Roel Janssen ;;; ;;; This file is part of GNU Guix. ;;; @@ -6068,6 +6069,26 @@ system.") as exceptions to standard program flow.") (license (package-license perl)))) +(define-public perltidy + (package + (name "perltidy") + (version "20160302") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/perltidy/Perl-Tidy-" + version ".tar.gz")) + (sha256 + (base32 + "19yw63yh5s3pq7k3nkw6nsamg5b8vvwyhgbizslgxg0mqgc4xl3d")))) + (build-system perl-build-system) + (home-page "http://perltidy.sourceforge.net/") + (synopsis "Perl script tidier") + (description "This package contains a Perl script which indents and +reformats Perl scripts to make them easier to read. The formatting can be +controlled with command line parameters. The default parameter settings +approximately follow the suggestions in the Perl Style Guide.") + (license gpl2+))) + (define-public perl-tie-ixhash (package (name "perl-tie-ixhash") From 5fb5dffbd432e1b4dd645a5bedf40e1404fffc34 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Jul 2016 16:13:52 +0200 Subject: [PATCH 247/435] gnu: Add multiqc. * gnu/packages/bioinformatics.scm (multiqc): New variable. --- gnu/packages/bioinformatics.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 35bed0f76e..4cd90b9e81 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -5720,3 +5720,32 @@ group or two ChIP groups run under different conditions.") (description "This program compares version strings. It intends to be a replacement for strverscmp.") (license license:gpl3+)))) + +(define-public multiqc + (package + (name "multiqc") + (version "0.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "multiqc" version)) + (sha256 + (base32 + "0avw11h63ldpxy5pizc3wl1wa01ha7q10wb240nggsjz3jaqvyiy")))) + (build-system python-build-system) + (propagated-inputs + `(("python-jinja2" ,python-jinja2) + ("python-simplejson" ,python-simplejson) + ("python-pyyaml" ,python-pyyaml) + ("python-click" ,python-click) + ("python-matplotlib" ,python-matplotlib) + ("python-numpy" ,python-numpy))) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "http://multiqc.info") + (synopsis "Aggregate bioinformatics analysis reports") + (description + "MultiQC is a tool to aggregate bioinformatics results across many +samples into a single report. It contains modules for a large number of +common bioinformatics tools.") + (license license:gpl3))) From 2c2a9ef79eb5da4e8ada3b434485d236113a84f9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Jul 2016 22:27:11 +0300 Subject: [PATCH 248/435] gnu: lxappearance: Update to 0.6.2. * gnu/packages/lxde.scm (lxappearance): Update to 0.6.2. --- gnu/packages/lxde.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 7ce31ad36a..252556b02f 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Mathieu Lirzin +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,14 +72,14 @@ libFM file management library."))) (define-public lxappearance (package (name "lxappearance") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/project/lxde/" "LXAppearance/" name "-" version ".tar.xz")) (sha256 (base32 - "1phnv1b2jdj2vlibjyc9z01izcf3k5zxj8glsaf0i3vh77zqmqq9")))) + "07r0xbi6504zjnbpan7zrn7gi4j0kbsqqfpj8v2x94gr05p16qj4")))) (build-system gnu-build-system) (inputs `(("gtk+" ,gtk+-2))) (native-inputs `(("intltool" ,intltool) From d7ec759a7ac2b813f13cca6c144bcfcb83d964b4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Jul 2016 22:30:38 +0300 Subject: [PATCH 249/435] gnu: lxrandr: Update to 0.3.1. * gnu/packages/lxde.scm (lxrandr): Update to 0.3.1. --- gnu/packages/lxde.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 252556b02f..9942564c7d 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -93,7 +93,7 @@ able to change themes, icons, and fonts used by GTK+ applications.") (define-public lxrandr (package (name "lxrandr") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/project/lxde/LXRandR" @@ -102,7 +102,7 @@ able to change themes, icons, and fonts used by GTK+ applications.") name "-" version ".tar.xz")) (sha256 (base32 - "0xkbqv66hisbxkvnf7y5kwqbhrq26f49wd7w6ylhnjlccpnylg8q")))) + "0khqi42paqg82jllb2kza4arf3fafzgq90fhyr3rw3d9hn23763d")))) (build-system gnu-build-system) (inputs `(("gtk+" ,gtk+-2))) (native-inputs `(("intltool" ,intltool) From d78c952dfdfdfe8a7f3feb1424c729bbc7352ed0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Jul 2016 22:33:20 +0300 Subject: [PATCH 250/435] gnu: lxtask: Update to 0.1.7. * gnu/packages/lxde.scm (lxtask): Update to 0.1.7. --- gnu/packages/lxde.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 9942564c7d..9f19042191 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -119,7 +119,7 @@ or external monitor.") (define-public lxtask (package (name "lxtask") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/project/lxde/LXTask" @@ -128,7 +128,7 @@ or external monitor.") name "-" version ".tar.xz")) (sha256 (base32 - "0ia3i430lpwgl2kch6sl1za8qf96wc4fkcv91yhdzgnzafcnm3gp")))) + "1zihhvzsg9bl6k0gv7jwx6cgsi3rmcagvnmshc1h0mjq2immmdph")))) (build-system gnu-build-system) (inputs `(("gtk+" ,gtk+-2))) (native-inputs `(("intltool" ,intltool) From fda746b19803dadd6e7c097f41513b4c6784c8d1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Jul 2016 22:36:13 +0300 Subject: [PATCH 251/435] gnu: menu-cache: Update to 1.0.1. * gnu/packages/lxde.scm (menu-cache): Update to 1.0.1. --- gnu/packages/lxde.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 9f19042191..c00400ca70 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -168,7 +168,7 @@ performance, all instances of the terminal are sharing a single process.") (define-public menu-cache (package (name "menu-cache") - (version "1.0.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/project/lxde/" name "/" @@ -176,7 +176,7 @@ performance, all instances of the terminal are sharing a single process.") name "-" version ".tar.xz")) (sha256 (base32 - "1bws84fiwk3anp30hcr0lw1xw5cgp44x5ik2yv2ijcgxpcvz8zgz")))) + "0ngxvwfj9drabqi3lyzgpi0d0za6431sy2ijb010filrj54jdiqa")))) (build-system gnu-build-system) (inputs `(("glib" ,glib) ("libfm" ,libfm-extra))) From 6baa83d2838d11808ad0f317fbbd276f7c5904cb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 6 Jul 2016 07:28:09 +0300 Subject: [PATCH 252/435] gnu: sudo: Update to 1.8.17p1. * gnu/packages/admin.scm (sudo): Update to 1.8.17p1. [source]: Remove patch. * gnu/packages/patches/sudo-CVE-2015-5602.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/admin.scm | 9 +- gnu/packages/patches/sudo-CVE-2015-5602.patch | 372 ------------------ 3 files changed, 4 insertions(+), 378 deletions(-) delete mode 100644 gnu/packages/patches/sudo-CVE-2015-5602.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3a0d5c2557..947d1b0efc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -774,7 +774,6 @@ dist_patch_DATA = \ %D%/packages/patches/slim-sigusr1.patch \ %D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \ %D%/packages/patches/soprano-find-clucene.patch \ - %D%/packages/patches/sudo-CVE-2015-5602.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/synfig-build-fix.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 9afe1f8ee0..7ece6bdcb5 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -789,18 +789,17 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.8.15") + (version "1.8.17p1") (source (origin (method url-fetch) (uri - (list (string-append "http://www.sudo.ws/sudo/dist/sudo-" + (list (string-append "https://www.sudo.ws/sudo/dist/sudo-" version ".tar.gz") (string-append "ftp://ftp.sudo.ws/pub/sudo/OLD/sudo-" version ".tar.gz"))) (sha256 (base32 - "0263gi6i19fyzzc488n0qw3m518i39f6a7qmrfvahk9j10bkh5j3")) - (patches (search-patches "sudo-CVE-2015-5602.patch")))) + "1k2mn65l1kmsxm8wh0gjxy496xhbpiimbpm6yv6kw6snzc3xg466")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -849,7 +848,7 @@ system administrator.") `(("groff" ,groff) ("linux-pam" ,linux-pam) ("coreutils" ,coreutils))) - (home-page "http://www.sudo.ws/") + (home-page "https://www.sudo.ws/") (synopsis "Run commands as root") (description "Sudo (su \"do\") allows a system administrator to delegate authority to diff --git a/gnu/packages/patches/sudo-CVE-2015-5602.patch b/gnu/packages/patches/sudo-CVE-2015-5602.patch deleted file mode 100644 index 36c90fbee7..0000000000 --- a/gnu/packages/patches/sudo-CVE-2015-5602.patch +++ /dev/null @@ -1,372 +0,0 @@ -Based on the patch from https://www.sudo.ws/repos/sudo/raw-rev/c2e36a80a279 -Backported to 1.8.15 by Mark H Weaver - -# HG changeset patch -# User Todd C. Miller -# Date 1452475889 25200 -# Node ID c2e36a80a27927c32cba55afae78b8dc830cddc3 -# Parent 94ffd6b18431fa4b9ed0a0c3f0b7b9582a4f6bde -Rewritten sudoedit_checkdir support that checks all the dirs in the -path and refuses to follow symlinks in writable directories. -This is a better fix for CVE-2015-5602. -Adapted from a diff by Ben Hutchings. Bug #707 - -diff -r 94ffd6b18431 -r c2e36a80a279 doc/CONTRIBUTORS ---- a/doc/CONTRIBUTORS Mon Jan 04 10:47:11 2016 -0700 -+++ b/doc/CONTRIBUTORS Sun Jan 10 18:31:29 2016 -0700 -@@ -58,6 +58,7 @@ - Holloway, Nick - Hoover, Adam - Hunter, Michael T. -+ Hutchings, Ben - Irrgang, Eric - Jackson, Brian - Jackson, John R. -diff -r 94ffd6b18431 -r c2e36a80a279 doc/UPGRADE ---- a/doc/UPGRADE Mon Jan 04 10:47:11 2016 -0700 -+++ b/doc/UPGRADE Sun Jan 10 18:31:29 2016 -0700 -@@ -1,6 +1,15 @@ - Notes on upgrading from an older release - ======================================== - -+o Upgrading from a version prior to the post-1.8.15 fix for CVE-2015-5602. -+ -+ The meaning of the sudoedit_checkdir sudoers option has changed. -+ Previously, it would only check the parent directory -+ of the file to be edited. After the CVE fix, all directories -+ in the path to be edited are checked and sudoedit will refuse -+ to follow a symbolic link in a directory that is writable by -+ the invoking user. -+ - o Upgrading from a version prior to 1.8.15: - - Prior to version 1.8.15, when env_reset was enabled (the default) -diff -r 94ffd6b18431 -r c2e36a80a279 doc/sudoers.cat ---- a/doc/sudoers.cat Mon Jan 04 10:47:11 2016 -0700 -+++ b/doc/sudoers.cat Sun Jan 10 18:31:29 2016 -0700 -@@ -1275,12 +1275,15 @@ - system call. This flag is _o_f_f by default. - - sudoedit_checkdir -- If set, ssuuddooeeddiitt will refuse to edit files located in a -- directory that is writable by the invoking user unless -- it is run by root. On many systems, this option -- requires that the parent directory of the file to be -- edited be readable by the target user. This flag is -- _o_f_f by default. -+ If set, ssuuddooeeddiitt will check directories in the path to -+ be edited for writability by the invoking user. -+ Symbolic links will not be followed in writable -+ directories and ssuuddooeeddiitt will also refuse to edit a -+ file located in a writable directory. Theses -+ restrictions are not enforced when ssuuddooeeddiitt is invoked -+ as root. On many systems, this option requires that -+ all directories in the path to be edited be readable by -+ the target user. This flag is _o_f_f by default. - - sudoedit_follow By default, ssuuddooeeddiitt will not follow symbolic links - when opening files. The _s_u_d_o_e_d_i_t___f_o_l_l_o_w option can be -diff -r 94ffd6b18431 -r c2e36a80a279 doc/sudoers.man.in ---- a/doc/sudoers.man.in Mon Jan 04 10:47:11 2016 -0700 -+++ b/doc/sudoers.man.in Sun Jan 10 18:31:29 2016 -0700 -@@ -2715,10 +2715,16 @@ - .br - If set, - \fBsudoedit\fR --will refuse to edit files located in a directory that is writable --by the invoking user unless it is run by root. --On many systems, this option requires that the parent directory --of the file to be edited be readable by the target user. -+will check directories in the path to be edited for writability -+by the invoking user. -+Symbolic links will not be followed in writable directories and -+\fBsudoedit\fR -+will also refuse to edit a file located in a writable directory. -+Theses restrictions are not enforced when -+\fBsudoedit\fR -+is invoked as root. -+On many systems, this option requires that all directories -+in the path to be edited be readable by the target user. - This flag is - \fIoff\fR - by default. -diff -r 94ffd6b18431 -r c2e36a80a279 doc/sudoers.mdoc.in ---- a/doc/sudoers.mdoc.in Mon Jan 04 10:47:11 2016 -0700 -+++ b/doc/sudoers.mdoc.in Sun Jan 10 18:31:29 2016 -0700 -@@ -2549,10 +2549,16 @@ - .It sudoedit_checkdir - If set, - .Nm sudoedit --will refuse to edit files located in a directory that is writable --by the invoking user unless it is run by root. --On many systems, this option requires that the parent directory --of the file to be edited be readable by the target user. -+will check directories in the path to be edited for writability -+by the invoking user. -+Symbolic links will not be followed in writable directories and -+.Nm sudoedit -+will also refuse to edit a file located in a writable directory. -+Theses restrictions are not enforced when -+.Nm sudoedit -+is invoked as root. -+On many systems, this option requires that all directories -+in the path to be edited be readable by the target user. - This flag is - .Em off - by default. -diff -r 94ffd6b18431 -r c2e36a80a279 include/sudo_compat.h ---- a/include/sudo_compat.h Mon Jan 04 10:47:11 2016 -0700 -+++ b/include/sudo_compat.h Sun Jan 10 18:31:29 2016 -0700 -@@ -182,6 +182,8 @@ - # ifndef UTIME_NOW - # define UTIME_NOW -2L - # endif -+#endif -+#if !defined(HAVE_OPENAT) || (!defined(HAVE_FUTIMENS) && !defined(HAVE_UTIMENSAT)) - # ifndef AT_FDCWD - # define AT_FDCWD -100 - # endif -diff -r 94ffd6b18431 -r c2e36a80a279 src/sudo_edit.c ---- a/src/sudo_edit.c Mon Jan 04 10:47:11 2016 -0700 -+++ b/src/sudo_edit.c Sun Jan 10 18:31:29 2016 -0700 -@@ -179,13 +179,15 @@ - } - - #ifndef HAVE_OPENAT --/* This does not support AT_FDCWD... */ - static int - sudo_openat(int dfd, const char *path, int flags, mode_t mode) - { - int fd, odfd; - debug_decl(sudo_openat, SUDO_DEBUG_EDIT) - -+ if (dfd == AT_FDCWD) -+ debug_return_int(open(path, flags, mode)); -+ - /* Save cwd */ - if ((odfd = open(".", O_RDONLY)) == -1) - debug_return_int(-1); -@@ -207,6 +209,64 @@ - #define openat sudo_openat - #endif /* HAVE_OPENAT */ - -+#ifdef O_NOFOLLOW -+static int -+sudo_edit_openat_nofollow(int dfd, char *path, int oflags, mode_t mode) -+{ -+ debug_decl(sudo_edit_open_nofollow, SUDO_DEBUG_EDIT) -+ -+ debug_return_int(openat(dfd, path, oflags|O_NOFOLLOW, mode)); -+} -+#else -+/* -+ * Returns true if fd and path don't match or path is a symlink. -+ * Used on older systems without O_NOFOLLOW. -+ */ -+static bool -+sudo_edit_is_symlink(int fd, char *path) -+{ -+ struct stat sb1, sb2; -+ debug_decl(sudo_edit_is_symlink, SUDO_DEBUG_EDIT) -+ -+ /* -+ * Treat [fl]stat() failure like there was a symlink. -+ */ -+ if (fstat(fd, &sb1) == -1 || lstat(path, &sb2) == -1) -+ debug_return_bool(true); -+ -+ /* -+ * Make sure we did not open a link and that what we opened -+ * matches what is currently on the file system. -+ */ -+ if (S_ISLNK(sb2.st_mode) || -+ sb1.st_dev != sb2.st_dev || sb1.st_ino != sb2.st_ino) { -+ debug_return_bool(true); -+ } -+ -+ debug_return_bool(false); -+} -+ -+static int -+sudo_edit_openat_nofollow(char *path, int oflags, mode_t mode) -+{ -+ struct stat sb1, sb2; -+ int fd; -+ debug_decl(sudo_edit_openat_nofollow, SUDO_DEBUG_EDIT) -+ -+ fd = openat(dfd, path, oflags, mode); -+ if (fd == -1) -+ debug_return_int(-1); -+ -+ if (sudo_edit_is_symlink(fd, path)) { -+ close(fd); -+ fd = -1; -+ errno = ELOOP; -+ } -+ -+ debug_return_int(fd); -+} -+#endif /* O_NOFOLLOW */ -+ - /* - * Returns true if the directory described by sb is writable - * by the user. We treat directories with the sticky bit as -@@ -245,49 +305,94 @@ - debug_return_bool(false); - } - -+/* -+ * Directory open flags for use with openat(2) and fstat(2). -+ * Use O_PATH and O_DIRECTORY where possible. -+ */ -+#if defined(O_PATH) && defined(O_DIRECTORY) -+# define DIR_OPEN_FLAGS (O_PATH|O_DIRECTORY) -+#elif defined(O_PATH) && !defined(O_DIRECTORY) -+# define DIR_OPEN_FLAGS O_PATH -+#elif !defined(O_PATH) && defined(O_DIRECTORY) -+# define DIR_OPEN_FLAGS (O_RDONLY|O_DIRECTORY) -+#else -+# define DIR_OPEN_FLAGS (O_RDONLY|O_NONBLOCK) -+#endif -+ - static int - sudo_edit_open_nonwritable(char *path, int oflags, mode_t mode) - { -- char *base, *dir; -+ int dfd, fd, dflags = DIR_OPEN_FLAGS; -+#if defined(__linux__) && defined(O_PATH) -+ char *opath = path; -+#endif -+ bool is_writable; - struct stat sb; -- int dfd, fd; - debug_decl(sudo_edit_open_nonwritable, SUDO_DEBUG_EDIT) - -- base = strrchr(path, '/'); -- if (base != NULL) { -- *base++ = '\0'; -- dir = path; -+#if defined(__linux__) && defined(O_PATH) -+restart: -+#endif -+ if (path[0] == '/') { -+ dfd = open("/", dflags); -+ path++; - } else { -- base = path; -- dir = "."; -+ dfd = open(".", dflags); -+ if (path[0] == '.' && path[1] == '/') -+ path += 2; - } --#ifdef O_PATH -- if ((dfd = open(dir, O_PATH)) != -1) { -- /* Linux kernels < 3.6 can't do fstat on O_PATH fds. */ -- if (fstat(dfd, &sb) == -1) { -- close(dfd); -- dfd = open(dir, O_RDONLY); -- if (fstat(dfd, &sb) == -1) { -- close(dfd); -- dfd = -1; -- } -- } -- } --#else -- if ((dfd = open(dir, O_RDONLY)) != -1) { -- if (fstat(dfd, &sb) == -1) { -- close(dfd); -- dfd = -1; -- } -- } --#endif -- if (base != path) -- base[-1] = '/'; /* restore path */ - if (dfd == -1) - debug_return_int(-1); - -- if (dir_is_writable(&sb, user_details.uid, user_details.gid, -- user_details.ngroups, user_details.groups)) { -+ for (;;) { -+ char *slash; -+ int subdfd; -+ -+ /* -+ * Look up one component at a time, avoiding symbolic links in -+ * writable directories. -+ */ -+ if (fstat(dfd, &sb) == -1) { -+ close(dfd); -+#if defined(__linux__) && defined(O_PATH) -+ /* Linux prior to 3.6 can't fstat an O_PATH fd */ -+ if (ISSET(dflags, O_PATH)) { -+ CLR(dflags, O_PATH); -+ path = opath; -+ goto restart; -+ } -+#endif -+ debug_return_int(-1); -+ } -+#ifndef O_DIRECTORY -+ if (!S_ISDIR(sb.st_mode)) { -+ close(dfd); -+ errno = ENOTDIR; -+ debug_return_int(-1); -+ } -+#endif -+ is_writable = dir_is_writable(&sb, user_details.uid, user_details.gid, -+ user_details.ngroups, user_details.groups); -+ -+ while (path[0] == '/') -+ path++; -+ slash = strchr(path, '/'); -+ if (slash == NULL) -+ break; -+ *slash = '\0'; -+ if (is_writable) -+ subdfd = sudo_edit_openat_nofollow(dfd, path, dflags, 0); -+ else -+ subdfd = openat(dfd, path, dflags, 0); -+ *slash = '/'; /* restore path */ -+ close(dfd); -+ if (subdfd == -1) -+ debug_return_int(-1); -+ path = slash + 1; -+ dfd = subdfd; -+ } -+ -+ if (is_writable) { - close(dfd); - errno = EISDIR; - debug_return_int(-1); -@@ -332,27 +437,10 @@ - if (!ISSET(oflags, O_NONBLOCK)) - (void) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) & ~O_NONBLOCK); - -- /* -- * Treat [fl]stat() failure like an open() failure. -- */ -- if (fstat(fd, &sb1) == -1 || lstat(path, &sb2) == -1) { -- const int serrno = errno; -+ if (!ISSET(sflags, CD_SUDOEDIT_FOLLOW) && sudo_edit_is_symlink(fd, path)) { - close(fd); -- errno = serrno; -- debug_return_int(-1); -- } -- -- /* -- * Make sure we did not open a link and that what we opened -- * matches what is currently on the file system. -- */ -- if (!ISSET(sflags, CD_SUDOEDIT_FOLLOW)) { -- if (S_ISLNK(sb2.st_mode) || -- sb1.st_dev != sb2.st_dev || sb1.st_ino != sb2.st_ino) { -- close(fd); -- errno = ELOOP; -- debug_return_int(-1); -- } -+ fd = -1; -+ errno = ELOOP; - } - - debug_return_int(fd); - From c5940b157e149c9cb220a9f4af97b07d3ed21e59 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 5 Jul 2016 20:46:24 +0800 Subject: [PATCH 253/435] gnu: Add r-gdtools. * gnu/packages/statistics.scm (r-gdtools): New variable. --- gnu/packages/statistics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 73c30ae080..24fbabee9f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -610,6 +610,30 @@ multidimensional conditioning system and a consistent interface to map data to aesthetic attributes.") (license license:gpl2+))) +(define-public r-gdtools + (package + (name "r-gdtools") + (version "0.0.7") + (source + (origin + (method url-fetch) + (uri (cran-uri "gdtools" version)) + (sha256 + (base32 + "1bmnf9d677f2jy8jnb9ymjz1qzm4yrd0qp6k5qrrly06jfffyx7g")))) + (build-system r-build-system) + (native-inputs + `(("r-rcpp" ,r-rcpp) + ("pkg-config" ,pkg-config))) + (inputs + `(("cairo" ,cairo))) + (home-page "http://cran.r-project.org/web/packages/gdtools") + (synopsis "Utilities for graphical rendering") + (description + "The @code{gdtools} package provides functionalities to get font metrics +and to generate base64 encoded string from raster matrix.") + (license license:gpl3))) + (define-public r-assertthat (package (name "r-assertthat") From 3aebedcc021faf72f7a002ce29a4de427366304b Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 5 Jul 2016 20:50:27 +0800 Subject: [PATCH 254/435] gnu: Add r-svglite. * gnu/packages/statistics.scm (r-svglite): New variable. --- gnu/packages/statistics.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 24fbabee9f..d2f3bb0a9b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -634,6 +634,31 @@ aesthetic attributes.") and to generate base64 encoded string from raster matrix.") (license license:gpl3))) +(define-public r-svglite + (package + (name "r-svglite") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "svglite" version)) + (sha256 + (base32 + "11ryicjglfi6jvkk4jgg5kra42qbs5z2zid7jjhlslpjcljfwc70")))) + (build-system r-build-system) + (native-inputs `(("r-rcpp" ,r-rcpp))) + (propagated-inputs + `(("r-bh" ,r-bh) + ("r-gdtools" ,r-gdtools))) + (home-page "https://github.com/hadley/svglite") + (synopsis "SVG graphics device") + (description + "@code{svglite} is a graphics device that produces clean +@dfn{SVG} (Scalable Vector Graphics) output, suitable for use on the web, or +hand editing. Compared to the built-in @code{svg()}, @code{svglite} is +considerably faster, produces smaller files, and leaves text as is.") + (license license:gpl2+))) + (define-public r-assertthat (package (name "r-assertthat") From 975cd29a986a04aa6a77d5ad5131e4df4466cf41 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 5 Jul 2016 20:54:39 +0800 Subject: [PATCH 255/435] gnu: r-ggplot2: Add r-svglite to propagated-inputs. * gnu/packages/statistics.scm (r-ggplot2)[propagated-inputs]: Add r-svglite. --- gnu/packages/statistics.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d2f3bb0a9b..94ebe4d47b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -598,7 +598,8 @@ legends.") ("r-plyr" ,r-plyr) ("r-proto" ,r-proto) ("r-reshape2" ,r-reshape2) - ("r-scales" ,r-scales))) + ("r-scales" ,r-scales) + ("r-svglite" ,r-svglite))) (home-page "http://ggplot2.org") (synopsis "An implementation of the grammar of graphics") (description From 26112c0abbf010e079bbba4ca6a673c0f8d44e70 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 11:41:25 +0200 Subject: [PATCH 256/435] gnu: python-numexpr: Update to 2.6.0. * gnu/packages/python.scm (python-numexpr): Update to 2.6.0. --- gnu/packages/python.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3505f36b4c..eaac945919 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3266,15 +3266,14 @@ that client code uses to construct the grammar directly in Python code.") (define-public python-numexpr (package (name "python-numexpr") - (version "2.4.4") + (version "2.6.0") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/" - "n/numexpr/numexpr-" version ".tar.gz")) + (uri (pypi-uri "numexpr" version)) (sha256 (base32 - "0nsnff5312fm38w6dm34bw7ghfqqy8vl9gig0al963h4mz8zm8nz")))) + "0i6iagl2hhbr8q4qzbbjd859v5806vqylq87fq7pi914ps6d6cag")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; no tests included (propagated-inputs From 41184943ae77bdc097f375be5b946800b9825d64 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 6 Jul 2016 13:25:50 +0200 Subject: [PATCH 257/435] gnu: Add emacs-ess. * gnu/packages/emacs.scm (emacs-ess): New variable. --- gnu/packages/emacs.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index db88df16a2..78557e4693 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) #:use-module (gnu packages ncurses) + #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages pkg-config) @@ -67,6 +68,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pdf) #:use-module (gnu packages scheme) + #:use-module (gnu packages statistics) #:use-module (gnu packages xiph) #:use-module (gnu packages mp3) #:use-module (guix utils) @@ -2098,6 +2100,43 @@ that highlights non-conforming text. The subset of the English language called E-Prime forbids the use of the \"to be\" form to strengthen your writing.") (license license:gpl3+)))) +(define-public emacs-ess + (package + (name "emacs-ess") + (version "16.04") + (source (origin + (method url-fetch) + (uri (string-append "http://ess.r-project.org/downloads/ess/ess-" + version ".tgz")) + (sha256 + (base32 + "0w7mbbajn377gdmvnd21mpyr368b2ia46gq6cb99y4y5rspf9pcg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There is no test suite. + #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'more-shebang-patching + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Makeconf" + (("SHELL = /bin/sh") + (string-append "SHELL = " (which "sh"))))))))) + (inputs + `(("emacs" ,emacs-minimal) + ("r" ,r))) + (native-inputs + `(("perl" ,perl) + ("texinfo" ,texinfo) + ("texlive" ,texlive))) + (home-page "http://ess.r-project.org/") + (synopsis "Emacs mode for statistical analysis programs") + (description "Emacs Speaks Statistics (ESS) is an add-on package for GNU +Emacs. It is designed to support editing of scripts and interaction with +various statistical analysis programs such as R and OpenBUGS.") + (license license:gpl2+))) + (define-public emacs-smex (package (name "emacs-smex") From 8f82641ac97a126c799d4b807db9fb4a056f8227 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 6 Jul 2016 19:02:13 +0200 Subject: [PATCH 258/435] gnu: Add emacs-hl-todo. * gnu/packages/emacs.scm (emacs-hl-todo): New variable. --- gnu/packages/emacs.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 78557e4693..12414bd963 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1766,6 +1766,28 @@ features found in other packages it also brings many improvements as well as completely new features.") (license license:gpl3+))) +(define-public emacs-hl-todo + (package + (name "emacs-hl-todo") + (version "1.7.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/tarsius/hl-todo/" + version "/hl-todo.el")) + (sha256 + (base32 + "18zydm43zajlglhgr0bhdkd4pln27amd063k2ql6p1mvyam3j8ia")))) + (build-system emacs-build-system) + (home-page "https://github.com/tarsius/hl-todo") + (synopsis "Emacs mode to highlight TODO and similar keywords") + (description + "This package provides an Emacs mode to highlight TODO and similar +keywords in comments and strings. This package also provides commands for +moving to the next or previous keyword and to invoke @code{occur} with a +regexp that matches all known keywords.") + (license license:gpl3+))) + (define-public emacs-hydra (package (name "emacs-hydra") From 15ca556bbccb0e383e5066ec95dd8c6b2f656740 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 6 Jul 2016 19:57:37 +0300 Subject: [PATCH 259/435] gnu: pumpa: Remove extra input. * gnu/packages/pumpio.scm (pumpa)[inputs]: Remove qjson. --- gnu/packages/pumpio.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/pumpio.scm b/gnu/packages/pumpio.scm index 9d705ea3d5..a74d474368 100644 --- a/gnu/packages/pumpio.scm +++ b/gnu/packages/pumpio.scm @@ -61,7 +61,6 @@ (inputs `(("aspell" ,aspell) ("qtbase" ,qtbase) - ("qjson" ,qjson) ("tidy" ,tidy))) (synopsis "Qt-based pump.io client") (description "Pumpa is a simple pump.io client written in C++ and Qt.") From 25a814ceab7baba27efe10cf9964016a1424d99c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 6 Jul 2016 14:36:54 -0400 Subject: [PATCH 260/435] gnu: httpd: Update to 2.4.23. Fixes CVE-2016-4979. * gnu/packages/web.scm (httpd): Update to 2.4.23. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f796c135eb..5502a0fd3c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -76,14 +76,14 @@ (define-public httpd (package (name "httpd") - (version "2.4.16") + (version "2.4.23") (source (origin (method url-fetch) (uri (string-append "mirror://apache/httpd/httpd-" version ".tar.bz2")) (sha256 (base32 - "0hrpy6gjwma0kba7p7m61vwh82qcnkf08123lrwpg257m93hnrmc")))) + "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc")))) (build-system gnu-build-system) (inputs `(("apr" ,apr) ("apr-util" ,apr-util) From 8157af2e09fd3120bb13dd392e84b5c1011320e2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 06:33:28 +0300 Subject: [PATCH 261/435] gnu: khmer: Limit to x86_64 systems only. * gnu/packages/bioinformatics.scm (khmer)[supported-systems]: New field. --- gnu/packages/bioinformatics.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4cd90b9e81..c178390eda 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2384,6 +2384,9 @@ working with DNA shotgun sequencing data from genomes, transcriptomes, metagenomes and single cells. Khmer can make de novo assemblies faster, and sometimes better. Khmer can also identify and fix problems with shotgun data.") + ;; When building on i686, armhf and mips64el, we get the following error: + ;; error: ['khmer', 'khmer.tests', 'oxli'] require 64-bit operating system + (supported-systems '("x86_64-linux")) (license license:bsd-3))) (define-public macs From 939cf41c3f2af6516510737aaa74c718b06321b2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 06:54:06 +0300 Subject: [PATCH 262/435] gnu: python-oslosphinx: Update to 4.3.0. * gnu/packages/openstack.scm (python-oslosphinx): Update to 4.3.0. --- gnu/packages/openstack.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 780fb7f252..a316af9666 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -529,14 +529,14 @@ in transmittable and storable formats, such as JSON and MessagePack.") (define-public python-oslosphinx (package (name "python-oslosphinx") - (version "4.2.0") + (version "4.3.0") (source (origin (method url-fetch) (uri (pypi-uri "oslosphinx" version)) (sha256 (base32 - "178svff46pmynpsnw06gpxk0w13p1gwkqbsvyxphblxv9wl09ksz")))) + "0cz8ym4i1n4rgljlqhyhfkpgdmid7nkb909k8r8nk186m9cmpla2")))) (build-system python-build-system) (propagated-inputs `(("python-requests" ,python-requests))) From fdd0f7b2a397ddae10bbe59187ad276db6dc411d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 17:31:15 +0200 Subject: [PATCH 263/435] gnu: Add r-ade4. * gnu/packages/statistics.scm (r-ade4): New variable. --- gnu/packages/statistics.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 94ebe4d47b..813000eed2 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1405,6 +1405,25 @@ diagnostic tests of convergence to the equilibrium distribution of the Markov chain.") (license license:gpl2+))) +(define-public r-ade4 + (package + (name "r-ade4") + (version "1.7-4") + (source + (origin + (method url-fetch) + (uri (cran-uri "ade4" version)) + (sha256 + (base32 + "17sbicash7z4b63dlrbaf8xx2pbwh62vykzvhdjs43h8jkl881y7")))) + (build-system r-build-system) + (home-page "http://pbil.univ-lyon1.fr/ADE-4") + (synopsis "Multivariate data analysis and graphical display") + (description + "The ade4 package contains data analysis functions to analyze ecological +and environmental data in the framework of Euclidean exploratory methods.") + (license license:gpl2+))) + (define-public r-xml2 (package (name "r-xml2") From 274da826f93b471bf0808f6701c0fd94956bda38 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 17:31:16 +0200 Subject: [PATCH 264/435] gnu: Add r-seqinr. * gnu/packages/bioinformatics.scm (r-seqinr): 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 c178390eda..4d2a132556 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4389,6 +4389,30 @@ In addition, a few low-level concrete subclasses of general interest (e.g. S4Vectors package itself.") (license license:artistic2.0))) +(define-public r-seqinr + (package + (name "r-seqinr") + (version "3.1-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "seqinr" version)) + (sha256 + (base32 + "0bbjfwbqg74wsamb3iz01g0ssdpdpg65gh00y9xlnpk4wb990n4n")))) + (build-system r-build-system) + (propagated-inputs + `(("r-ade4" ,r-ade4))) + (inputs + `(("zlib" ,zlib))) + (home-page "http://seqinr.r-forge.r-project.org/") + (synopsis "Biological sequences retrieval and analysis") + (description + "This package provides tools for exploratory data analysis and data +visualization of biological sequence (DNA and protein) data. It also includes +utilities for sequence data management under the ACNUC system.") + (license license:gpl2+))) + (define-public r-iranges (package (name "r-iranges") From 9003957e53d0bf4cfaf6814746f57ce09e6eb9c3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 17:31:17 +0200 Subject: [PATCH 265/435] gnu: Add r-multitaper. * gnu/packages/statistics.scm (r-multitaper): New variable. --- gnu/packages/statistics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 813000eed2..6d5ee673d5 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1448,6 +1448,32 @@ and environmental data in the framework of Euclidean exploratory methods.") files in R. It is built on top of the libxml2 C library.") (license license:gpl2+))) +(define-public r-multitaper + (package + (name "r-multitaper") + (version "1.0-11") + (source + (origin + (method url-fetch) + (uri (cran-uri "multitaper" version)) + (sha256 + (base32 + "1s0lmjzpyd7zmc2p1ywv5fm7qkq357p70b76gw9wjlms6d81j1n4")))) + (build-system r-build-system) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "http://github.com/wesleyburr/multitaper/") + (synopsis "Multitaper spectral analysis tools") + (description + "This package implements multitaper spectral estimation +techniques using prolate spheroidal sequences (Slepians) and sine +tapers for time series analysis. It includes an adaptive weighted +multitaper spectral estimate, a coherence estimate, Thomson's Harmonic +F-test, and complex demodulation. The Slepians sequences are +generated efficiently using a tridiagonal matrix solution, and +jackknifed confidence intervals are available for most estimates.") + (license license:gpl2+))) + (define-public r-rversions (package (name "r-rversions") From 66cf0f054d7b963fcd9ac4f71e6dcb9e7943e2ea Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 17:31:18 +0200 Subject: [PATCH 266/435] gnu: Add r-domc. * gnu/packages/statistics.scm (r-domc): New variable. --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 6d5ee673d5..45e50b651c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2267,6 +2267,29 @@ parallel.") using the parallel package.") (license license:gpl2+))) +(define-public r-domc + (package + (name "r-domc") + (version "1.3.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "doMC" version)) + (sha256 + (base32 + "0y47jl6g4f83r14pj8bafdzq1phj7bxy5dwyz3k43d2rr8phk8bn")))) + (properties `((upstream-name . "doMC"))) + (build-system r-build-system) + (propagated-inputs + `(("r-foreach" ,r-foreach) + ("r-iterators" ,r-iterators))) + (home-page "http://cran.r-project.org/web/packages/doMC") + (synopsis "Foreach parallel adaptor for the 'parallel' package") + (description + "This package provides a parallel backend for the @code{%dopar%} function +using the multicore functionality of the parallel package.") + (license license:gpl2+))) + (define-public r-dt (package (name "r-dt") From 4742c4decc14bf871d0935831100555316b3d90e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 30 Jun 2016 12:22:30 +0300 Subject: [PATCH 267/435] gnu: Add qtscript. * gnu/packages/qt.scm (qtscript): New variable. --- gnu/packages/qt.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 55218e652a..6c1bbc33c3 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -736,6 +736,25 @@ developers using C++ or QML, a CSS & JavaScript like language.") `(("mesa" ,mesa) ("qtbase" ,qtbase))))) +(define-public qtscript + (package (inherit qtsvg) + (name "qtscript") + (version "5.6.1-1") + (source (origin + (method url-fetch) + (uri (string-append "https://download.qt.io/official_releases/qt/" + (version-major+minor version) "/" version + "/submodules/" name "-opensource-src-" + version ".tar.xz")) + (sha256 + (base32 + "1gini9483flqa9q4a4bl81bh7g5s408bycqykqhgbklmfd29y5lx")))) + (native-inputs + `(("perl" ,perl) + ("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase))))) + (define-public qjson (package (name "qjson") From 05b9c00e597e0597c5c3cef7a0082349d4282864 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 10:52:12 +0300 Subject: [PATCH 268/435] gnu: qca: Build with qtbase. * gnu/packages/kde.scm (qca)[inputs]: Remove qt, add qtbase. --- gnu/packages/kde.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index b74a6051ea..8b09c22a8e 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -44,7 +44,7 @@ `(("pkg-config" ,pkg-config))) (inputs `(("openssl" ,openssl) - ("qt" ,qt))) + ("qtbase" ,qtbase))) (home-page "http://delta.affinix.com/qca/") (synopsis "Libraries for the Qt Cryptographic Architecture") (description "The Qt Cryptographic Architecture (QCA) provides a From 5f2074ca66c682c54a1a5679b2e2c265d5feab1c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 10:53:21 +0300 Subject: [PATCH 269/435] gnu: snorenotify: Build with modular qt. * gnu/packages/kde.scm (snorenotify)[inputs]: Remove qt, add qtbase, qttools. --- gnu/packages/kde.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 8b09c22a8e..34a5046d20 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -70,7 +70,8 @@ cards.") `(#:tests? #f)) ; both tests fail, require display (inputs `(("extra-cmake-modules" ,extra-cmake-modules) - ("qt" ,qt))) + ("qtbase" ,qtbase) + ("qttools" ,qttools))) (home-page "https://techbase.kde.org/Projects/Snorenotify") (synopsis "Qt notification framework") (description "Snorenotify is a multi platform Qt notification framework. From 0b166a75595385e3dd32240e3cb594217b612a71 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 12:22:38 +0300 Subject: [PATCH 270/435] gnu: quassel: Build with modular qt. * gnu/packages/irc.scm (quassel)[inputs]: Remove qt, add qtbase, qttools, qtscript. [arguments]: Disable webkit. --- gnu/packages/irc.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index def16c939c..03f014aa4e 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -72,14 +72,16 @@ "-DUSE_QT5=ON" ; default is qt4 "-DWITH_KDE=OFF" ; no to integration "-DWITH_OXYGEN=ON" ; on=embed icons - "-DWITH_WEBKIT=ON") ; wants qtwebkit, in qt5 + "-DWITH_WEBKIT=OFF") ; qtwebkit isn't packaged #:tests? #f)) ; no test target (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("oxygen-icons" ,oxygen-icons) ("qca" ,qca) - ("qt", qt) + ("qtbase", qtbase) + ("qttools" ,qttools) + ("qtscript" ,qtscript) ("snorenotify" ,snorenotify) ("zlib" ,zlib))) (home-page "http://quassel-irc.org/") From 7c7643a7f0ec9ffc41686d24b9d46e36d6af7811 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 7 Jul 2016 17:54:45 +0800 Subject: [PATCH 271/435] gnu: diamond: Update to 0.8.11. * gnu/packages/bioinformatics.scm (diamond): Update to 0.8.11. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4d2a132556..d090055cf9 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1489,7 +1489,7 @@ identify enrichments with functional annotations of the genome.") (define-public diamond (package (name "diamond") - (version "0.8.9") + (version "0.8.11") (source (origin (method url-fetch) (uri (string-append @@ -1498,7 +1498,7 @@ identify enrichments with functional annotations of the genome.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1g0j24qcx48mp04hbk0hpbvh0gbw5wmifpliyaq95zp4qwwcs5x4")))) + "0xfpnr9y97j7q226yr201rfrnn636469dj7nkq66ggh8dl3d0p98")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target From d285657eae743ec2e00b3ad7962349268e68a473 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 7 Jul 2016 23:27:19 +1000 Subject: [PATCH 272/435] gnu: bedtools: Update to 2.26.0. * gnu/packages/bioinformatics.scm (bedtools): Update to 2.26.0. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d090055cf9..012deaa1e0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -222,7 +222,7 @@ computational cluster.") (define-public bedtools (package (name "bedtools") - (version "2.25.0") + (version "2.26.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/arq5x/bedtools2/archive/v" @@ -230,7 +230,7 @@ computational cluster.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ywcy3yfwzhl905b51l0ffjia55h75vv3mw5xkvib04pp6pj548m")))) + "0xvri5hnp2iim1cx6mcd5d9f102p5ql41x69rd6106x1c17pinqm")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) (inputs `(("samtools" ,samtools) From 88535a4453439266bde800084b4dda9f02950cc2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 17:37:02 +0300 Subject: [PATCH 273/435] gnu: python-psutil: Update to 4.3.0. * gnu/packages/python.scm (python-psutil): Update to 4.3.0. [home-page]: Update home-page. --- gnu/packages/python.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index eaac945919..02833701fc 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -367,18 +367,18 @@ instead of @command{python3}."))) (define-public python-psutil (package (name "python-psutil") - (version "3.3.0") + (version "4.3.0") (source (origin (method url-fetch) (uri (pypi-uri "psutil" version)) (sha256 (base32 - "11bd1555vf2ibjnmqf64im5cp55vcqfq45ccinm9ll3bs68na6s2")))) + "1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6")))) (build-system python-build-system) (native-inputs `(("python-setuptools" ,python-setuptools))) - (home-page "https://pypi.python.org/pypi/psutil/") + (home-page "https://www.github.com/giampaolo/psutil") (synopsis "Library for retrieving information on running processes") (description "psutil (Python system and process utilities) is a library for retrieving From 697e86ddca6b33b6364227f6aec9a2f0592ea503 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 18:59:28 +0300 Subject: [PATCH 274/435] gnu: ansible: Update to 2.1.0.0. * gnu/packages/admin.scm (ansible): Update to 2.1.0.0. [source]: Use pypi format. --- gnu/packages/admin.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 7ece6bdcb5..447a96d4e8 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1345,17 +1345,14 @@ of supported upstream metrics systems simultaneously.") (define-public ansible (package (name "ansible") - (version "1.9.2") + (version "2.1.0.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/a/ansible/ansible-" - version - ".tar.gz")) + (uri (pypi-uri "ansible" version)) (sha256 (base32 - "007fzgsqaahb0y4gjdxxmir9kcni7wph2z14jhqgpz88idrz8pn2")))) + "1bfc2xiplpad6f2nwi48y0kps7xqnsll85dlz63cy8k5bysl6d20")))) (build-system python-build-system) (native-inputs `(("python2-setuptools" ,python2-setuptools) From 6b810897a05fc32acf5324c31fa97c758a66dccf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 19:44:11 +0300 Subject: [PATCH 275/435] gnu: python-websocket-client: Update to 0.37.0. * gnu/packages/python.scm (python-websocket-client): Update to 0.37.0. [source]: Use pypi uri format. --- gnu/packages/python.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 02833701fc..ccbed0f24e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6892,16 +6892,14 @@ tables.") (define-public python-websocket-client (package (name "python-websocket-client") - (version "0.34.0") + (version "0.37.0") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/w" - "/websocket-client/websocket_client-" - version ".tar.gz")) + (uri (pypi-uri "websocket_client" version)) (sha256 (base32 - "1prdx6d49f1cff17kzj15bnz09palfdgc1m5dkq9jd4mr90n4ak8")))) + "0h9glp1jll3z76ly3kg08aqgxqk0a68p4zi9yn50353bh5nj92v7")))) (build-system python-build-system) (native-inputs `(("python-six" ,python-six))) ; for tests From a0b15f5eefa6b33a43e812be3b91ad9aa3e84cb5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 19:59:25 +0300 Subject: [PATCH 276/435] gnu: python-pyusb: Update to 1.0.0. * gnu/packages/libusb.scm (python-pyusb): Update to 1.0.0. --- gnu/packages/libusb.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 1e72442c73..69a8ef9890 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -92,14 +92,14 @@ version of libusb to run with newer libusb.") (define-public python-pyusb (package (name "python-pyusb") - (version "1.0.0rc1") + (version "1.0.0") (source (origin (method url-fetch) - (uri (pypi-uri "pyusb" version)) + (uri (pypi-uri "PyUSB" version)) (sha256 (base32 - "07cjq11qhngzjd746k7688s6y2x7lpj669fxqfsiy985rg0jsn7j")))) + "0s2k4z06fapd5vp1gnrlf8a9sjpc03p9974lzw5k6ky39akzyd2v")))) (build-system python-build-system) (arguments `(#:tests? #f ;no tests From 1a5fd02a829132d3cf3a95db5521c83d0a16d3c1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Jul 2016 20:02:11 +0300 Subject: [PATCH 277/435] gnu: getmail: Update to 4.49.0. * gnu/packages/mail.scm (getmail): Update to 4.49.0. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 24f8e3d02a..5a3ebf0f29 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -554,7 +554,7 @@ and search library.") (define-public getmail (package (name "getmail") - (version "4.48.0") + (version "4.49.0") (source (origin (method url-fetch) @@ -562,7 +562,7 @@ and search library.") name "-" version ".tar.gz")) (sha256 (base32 - "0k5rm5kag14izng2ajcagvli9sns5mzvkyfa65ri4xymxs91wi29")))) + "1m0yzxd05fklwbmjj1n2q4sx397c1j5qi9a0r5fv3h8pplz4lv0w")))) (build-system python-build-system) (arguments `(#:tests? #f ; no tests From 614023981a355421256f6281ae897e9e738706e6 Mon Sep 17 00:00:00 2001 From: "John J. Foerch" Date: Sat, 2 Jul 2016 15:08:30 -0400 Subject: [PATCH 278/435] gnu: Add di. * gnu/packages/admin.scm (di): New variable. Signed-off-by: Leo Famulari --- gnu/packages/admin.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 447a96d4e8..1d08be9e13 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Peter Feigl +;;; Copyright © 2016 John J. Foerch ;;; ;;; This file is part of GNU Guix. ;;; @@ -1705,3 +1706,34 @@ throughput (in the same interval).") "The Fuck tries to match a rule for a previous, mistyped command, creates a new command using the matched rule, and runs it.") (license license:x11))) + +(define-public di + (package + (name "di") + (version "4.42") + (source + (origin + (method url-fetch) + (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) + (sha256 + (base32 "1i6m9zdnidn8268q1lz9fd8payk7s4pgwh5zlam9rr4dy6h6a67n")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; Obscure test failures. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'setup-environment + (lambda* (#:key outputs #:allow-other-keys) + (setenv "CC" "gcc") + (setenv "prefix" (assoc-ref outputs "out")) + #t))) + #:make-flags (list "--environment-overrides"))) + (home-page "https://www.gentoo.com/di/") + (synopsis "Advanced df like disk information utility") + (description + "'di' is a disk information utility, displaying everything +(and more) that your @code{df} command does. It features the ability to +display your disk usage in whatever format you prefer. It is designed to be +highly portable. Great for heterogenous networks.") + (license license:zlib))) From 6c12abbdb2cdc84f2ca181130dd92907af06971a Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 7 Jul 2016 18:57:05 +0000 Subject: [PATCH 279/435] services: nginx: Fix typo. * gnu/services/web.scm (nginx-service): Fix typo. Signed-off-by: Leo Famulari --- gnu/services/web.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 0e17f6e5c6..72ef7d4050 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -114,7 +115,7 @@ (default-nginx-config log-directory run-directory))) "Return a service that runs NGINX, the nginx web server. -The nginx daemon loads its runtime configuration from CONFIG-FIGLE, stores log +The nginx daemon loads its runtime configuration from CONFIG-FILE, stores log files in LOG-DIRECTORY, and stores temporary runtime files in RUN-DIRECTORY." (service nginx-service-type (nginx-configuration From 71ca053928c0a4bd222ef20b819943e866b84427 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 7 Jul 2016 03:15:42 -0400 Subject: [PATCH 280/435] gnu: rxvt-unicode: Update to 9.22. * gnu/packages/xdisorg.scm (rxvt-unicode): Update to 9.22. --- gnu/packages/xdisorg.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 5bd6cc7853..3a44fb5918 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -670,14 +671,14 @@ compact configuration syntax.") (define-public rxvt-unicode (package (name "rxvt-unicode") - (version "9.21") + (version "9.22") (source (origin (method url-fetch) (uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/" name "-" version ".tar.bz2")) (sha256 (base32 - "0swmi308v5yxsddrdhvi4cch88k2bbs2nffpl5j5m2f55gbhw9vm")))) + "1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9")))) (build-system gnu-build-system) (arguments ;; This sets the destination when installing the necessary terminal From c11f79a49ee64800c44929ec072e9b1f8b0765d0 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 8 Jul 2016 22:08:16 +1000 Subject: [PATCH 281/435] gnu: star: Restrict supported systems to 64-bit systems. * gnu/packages/bioinformatics.scm (star)[supported-systems]: Restrict to x86_64-linux and mips64el-linux. --- gnu/packages/bioinformatics.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 012deaa1e0..03e7584f54 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3863,6 +3863,8 @@ by seed clustering and stitching procedure. In addition to unbiased de novo detection of canonical junctions, STAR can discover non-canonical splices and chimeric (fusion) transcripts, and is also capable of mapping full-length RNA sequences.") + ;; Only 64-bit systems are supported according to the README. + (supported-systems '("x86_64-linux" "mips64el-linux")) ;; STAR is licensed under GPLv3 or later; htslib is MIT-licensed. (license license:gpl3+))) From ec2a67de8813dc7ea31c9825c6dfe6f27ad86344 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 23 Apr 2016 13:38:43 +1000 Subject: [PATCH 282/435] gnu: Add python-dendropy. * gnu/packages/bioinformatics.scm (python-dendropy, python2-dendropy): New variables. * gnu/packages/patches/python-dendropy-exclude-failing-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/bioinformatics.scm | 34 +++++++++++++++++++ ...ython-dendropy-exclude-failing-tests.patch | 21 ++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 gnu/packages/patches/python-dendropy-exclude-failing-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 947d1b0efc..e95c6aedc3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -743,6 +743,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-2.7-source-date-epoch.patch \ %D%/packages/patches/python-3-deterministic-build-info.patch \ %D%/packages/patches/python-3-search-paths.patch \ + %D%/packages/patches/python-dendropy-exclude-failing-tests.patch \ %D%/packages/patches/python-disable-ssl-test.patch \ %D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-ipython-inputhook-ctype.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 03e7584f54..23a4470d7a 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1446,6 +1446,40 @@ accessing bigWig files.") (native-inputs `(("python-setuptools" ,python2-setuptools)))))) +(define-public python-dendropy + (package + (name "python-dendropy") + (version "4.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "DendroPy" version)) + (sha256 + (base32 + "1jfz7gp18wph311w1yygbvjanb3n5mdqal439bb6myw41dwb5m63")) + ;; There are two known test failures that will be fixed in the next + ;; release after 4.1.0. + ;; https://github.com/jeetsukumaran/DendroPy/issues/48 + (patches (search-patches + "python-dendropy-exclude-failing-tests.patch")))) + (build-system python-build-system) + (home-page "http://packages.python.org/DendroPy/") + (synopsis "Library for phylogenetics and phylogenetic computing") + (description + "DendroPy is a library for phylogenetics and phylogenetic computing: reading, +writing, simulation, processing and manipulation of phylogenetic +trees (phylogenies) and characters.") + (license license:bsd-3) + (properties `((python2-variant . ,(delay python2-dendropy)))))) + +(define-public python2-dendropy + (let ((base (package-with-python2 (strip-python2-variant python-dendropy)))) + (package + (inherit base) + (native-inputs `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) + + (define-public deeptools (package (name "deeptools") diff --git a/gnu/packages/patches/python-dendropy-exclude-failing-tests.patch b/gnu/packages/patches/python-dendropy-exclude-failing-tests.patch new file mode 100644 index 0000000000..288a58b06f --- /dev/null +++ b/gnu/packages/patches/python-dendropy-exclude-failing-tests.patch @@ -0,0 +1,21 @@ +diff --git a/dendropy/test/test_phylogenetic_distance_matrix.py b/dendropy/test/test_phylogenetic_distance_matrix.py +index 10c05f5..a18ba52 100644 +--- a/dendropy/test/test_phylogenetic_distance_matrix.py ++++ b/dendropy/test/test_phylogenetic_distance_matrix.py +@@ -793,7 +793,7 @@ class PdmUpgmaTree(PdmTreeChecker, unittest.TestCase): + expected_tree=expected_tree) + + class NodeToNodeDistancesTest(unittest.TestCase): +- ++ @unittest.expectedFailure + def test_distances(self): + ## get distances from ape + # library(ape) +@@ -825,6 +825,7 @@ class NodeToNodeDistancesTest(unittest.TestCase): + e = reference_table[nd1.label, nd2.label] + self.assertAlmostEqual(d, e) + ++ @unittest.expectedFailure + def test_mrca(self): + test_runs = [ + "hiv1.newick", From a502dfbf4ccd31121cb5fc0b13a46e25c99829b0 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 9 Jul 2016 14:48:32 +0200 Subject: [PATCH 283/435] gnu: Add python-jedi. * gnu/packages/python.scm (python-jedi, python2-jedi): New variables. Signed-off-by: Leo Famulari --- gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ccbed0f24e..fb86290206 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9724,3 +9724,31 @@ characters, mouse support, and auto suggestions.") (native-inputs `(("python2-setuptools" ,python2-setuptools) ,@(package-native-inputs base)))))) + +(define-public python-jedi + (package + (name "python-jedi") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jedi" version)) + (sha256 + (base32 + "0c8x962ynpx001fdvp07m2q5jk4igkxbj3rmnydavphvlgxijk1v")))) + (build-system python-build-system) + (home-page "https://github.com/davidhalter/jedi") + (synopsis + "Autocompletion for Python that can be used for text editors") + (description + "Jedi is an autocompletion tool for Python that can be used for text editors.") + (license license:expat) + (properties `((python2-variant . ,(delay python2-jedi)))))) + +(define-public python2-jedi + (let ((base (package-with-python2 (strip-python2-variant python-jedi)))) + (package + (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) From 1a6d3d2df7958341e2673e7a0132b2874eef22e9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 9 Jul 2016 18:07:29 -0400 Subject: [PATCH 284/435] gnu: dropbear: Update to 2016.73. * gnu/packages/ssh.scm (dropbear): Update to 2016.73. --- gnu/packages/ssh.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index b8f107b111..c782d4d869 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -337,7 +337,7 @@ especially over Wi-Fi, cellular, and long-distance links.") (define-public dropbear (package (name "dropbear") - (version "2016.72") + (version "2016.73") (source (origin (method url-fetch) (uri (string-append @@ -345,7 +345,7 @@ especially over Wi-Fi, cellular, and long-distance links.") name "-" version ".tar.bz2")) (sha256 (base32 - "10fnlaf6rm537v3rml1gnd58d42plv2q5cp7svbrysap69npc8wk")))) + "1mzg18jss1bsmcnn88zv7kv5yj01hzimndnd5636hfq9kgva8qaw")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; There is no "make check" or anything similar (inputs `(("zlib" ,zlib))) From 8b21d22d6a4b356230fb59e6fcec405458a62671 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 9 Jul 2016 23:46:49 +0300 Subject: [PATCH 285/435] gnu: samba: Update to 4.3.11 [fixes CVE-2016-2119]. * gnu/packages/samba.scm (samba): Update to 4.3.11. --- gnu/packages/samba.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 8aac6a5dc1..2365a34977 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -99,14 +99,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.3.8") + (version "4.3.11") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/samba/ftp/stable/samba-" version ".tar.gz")) (sha256 (base32 - "041b5frh4ikcka922aqhqjvlv4w2s7jycyykpvsknj0a79ncd79p")))) + "1v2grwivm6rasz1ganbybs0ikz1lydaniy65kxf1v8rl1qqngach")))) (build-system gnu-build-system) (arguments '(#:phases @@ -150,7 +150,7 @@ anywhere.") `(("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python-2))) ; incompatible with Python 3 - (home-page "http://www.samba.org/") + (home-page "https://www.samba.org/") (synopsis "The standard Windows interoperability suite of programs for GNU and Unix") (description From 67e7452dda077d41d7fde0abbcfc223d75e649b7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 9 Jul 2016 23:52:31 +0300 Subject: [PATCH 286/435] gnu: talloc: Update to 2.1.7. * gnu/packages/samba.scm (talloc): Update to 2.1.7. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 2365a34977..022583f986 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -165,14 +165,14 @@ Desktops into Active Directory environments using the winbind daemon.") (define-public talloc (package (name "talloc") - (version "2.1.5") + (version "2.1.7") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/talloc/talloc-" version ".tar.gz")) (sha256 (base32 - "1pfx3kmj973hpacfw46fzfnjd7ms1j03ifkc30wk930brx8ffcrq")))) + "01m0kzndciyj43z1zd2nc61xqgh9knjv0w7lk1rrrlj8irr4w58r")))) (build-system gnu-build-system) (arguments '(#:phases From ea26457dad7ff13918a9a241819be6a1ec25babd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 9 Jul 2016 23:53:16 +0300 Subject: [PATCH 287/435] gnu: tevent: Update to 0.9.28. * gnu/packages/samba.scm (tevent): Update to 0.9.28. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 022583f986..bc968718b9 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -202,14 +202,14 @@ destructors. It is the core memory allocator used in Samba.") (define-public tevent (package (name "tevent") - (version "0.9.26") + (version "0.9.28") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/tevent/tevent-" version ".tar.gz")) (sha256 (base32 - "1gbh6d2m49j1v2hkaiyrh8bj02i5wxd4hqayzk2g44yyivbi8b16")))) + "0a9ml52jjnzz7qg9z750mavlvs1yibjwrzy4yl55dc95j0vm7n84")))) (build-system gnu-build-system) (arguments '(#:phases From e9fd10a83bc5aa799fac058bab0463361923e632 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 9 Jul 2016 23:54:01 +0300 Subject: [PATCH 288/435] gnu: ldb: Update to 1.1.26. * gnu/packages/samba.scm (ldb): Update to 1.1.26. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index bc968718b9..9f0b57c739 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -237,14 +237,14 @@ many event types, including timers, signals, and the classic file descriptor eve (define-public ldb (package (name "ldb") - (version "1.1.24") + (version "1.1.26") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ldb/ldb-" version ".tar.gz")) (sha256 (base32 - "08ab66qzigfsfxqdvp6lx1knwsl3sqsww309xbq17l7hfcjgbsa5")))) + "1rmjv12pf57vga8s5z9p9d90rlfckc1lqjbcp89r83cq5fkwfhw8")))) (build-system gnu-build-system) (arguments '(#:phases From 9d5448f35f8d933c7dd54427bf6b3186a5154919 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Jul 2016 00:12:56 +0300 Subject: [PATCH 289/435] gnu: ccache: Update to 3.2.5. * gnu/packages/ccache.scm (ccache): Update to 3.2.5. [native-inputs]: Add which. --- gnu/packages/ccache.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm index d84ac80bbf..01db7ae57d 100644 --- a/gnu/packages/ccache.scm +++ b/gnu/packages/ccache.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016 Eric Bavier +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,7 +29,7 @@ (define-public ccache (package (name "ccache") - (version "3.2.4") + (version "3.2.5") (source (origin (method url-fetch) @@ -36,16 +37,18 @@ version ".tar.xz")) (sha256 (base32 - "0pga3hvd80f2p7mz88jmmbwzxh4vn5ihyjx5f6na8y2fclzsjg8w")))) + "11db1g109g0g5si0s50yd99ja5f8j4asxb081clvx78r9d9i2w0i")))) (build-system gnu-build-system) - (native-inputs `(("perl" ,perl))) ;for test.sh + (native-inputs `(("perl" ,perl) ;for test.sh + ("which" ,(@ (gnu packages base) which)))) (inputs `(("zlib" ,zlib))) (arguments '(#:phases (alist-cons-before 'check 'setup-tests (lambda _ (substitute* '("test/test_hashutil.c" "test.sh") - (("#!/bin/sh") (string-append "#!" (which "sh")))) + (("#!/bin/sh") (string-append "#!" (which "sh"))) + (("which") (which "which"))) #t) %standard-phases))) (home-page "https://ccache.samba.org/") From 6cf83e3f83a9373d0da2ea3b29597c370133c9ff Mon Sep 17 00:00:00 2001 From: Alex Griffin Date: Wed, 6 Jul 2016 18:55:54 -0500 Subject: [PATCH 290/435] gnu: mpv: Enable shared library support. * gnu/packages/video.scm (mpv): Enable shared library support. Signed-off-by: Efraim Flashner --- gnu/packages/video.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2332a0d509..ae1813db1d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2015 Andy Patterson ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015 Alex Vong +;;; Copyright © 2016 Alex Griffin ;;; ;;; This file is part of GNU Guix. ;;; @@ -818,7 +819,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (lambda* (#:key inputs #:allow-other-keys) (copy-file (assoc-ref inputs "waf") "waf") (setenv "CC" "gcc")))) - #:configure-flags (list "--enable-zsh-comp") + #:configure-flags (list "--enable-libmpv-shared" "--enable-zsh-comp") ;; No check function defined. #:tests? #f)) (home-page "https://mpv.io/") From 0e74bb5bd6fe9e1839484edaaec98dbcefbdfdc7 Mon Sep 17 00:00:00 2001 From: Alex Griffin Date: Wed, 6 Jul 2016 18:58:17 -0500 Subject: [PATCH 291/435] gnu: Add gnome-mpv. * gnu/packages/video.scm (gnome-mpv): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/video.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index ae1813db1d..6888e36711 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -33,6 +33,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) #:use-module (guix build-system waf) #:use-module (gnu packages) @@ -829,6 +830,34 @@ fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more.") (license license:gpl2+))) +(define-public gnome-mpv + (package + (name "gnome-mpv") + (version "0.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/gnome-mpv/gnome-mpv/releases" + "/download/v" version "/gnome-mpv-" version + ".tar.xz")) + (sha256 + (base32 + "06pgxl6f3kkgxv8nlmyl7gy3pg55sqf8vgr8m6426mlpm4p3qdn0")))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+) + ("libepoxy" ,libepoxy) + ("mpv" ,mpv))) + (build-system glib-or-gtk-build-system) + (home-page "https://github.com/gnome-mpv/gnome-mpv") + (synopsis "GTK+ frontend for the mpv media player") + (description "GNOME MPV is a simple GTK+ frontend for the mpv media player. +GNOME MPV interacts with mpv via the client API exported by libmpv, allowing +access to mpv's powerful playback capabilities.") + (license license:gpl3+))) + (define-public libvpx (package (name "libvpx") From 7f575d3e56539689517117b51401c39489bb3685 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sun, 10 Jul 2016 22:31:32 +1000 Subject: [PATCH 292/435] gnu: diamond: Update to 0.8.12. * gnu/packages/bioinformatics.scm (diamond): Update to 0.8.12. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 23a4470d7a..5ab3bcc3ae 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1523,7 +1523,7 @@ identify enrichments with functional annotations of the genome.") (define-public diamond (package (name "diamond") - (version "0.8.11") + (version "0.8.12") (source (origin (method url-fetch) (uri (string-append @@ -1532,7 +1532,7 @@ identify enrichments with functional annotations of the genome.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0xfpnr9y97j7q226yr201rfrnn636469dj7nkq66ggh8dl3d0p98")))) + "09gh6qy0xi9prgxnhc99yz26fmpa058sphwmwq9g6lh5im3lscvr")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target From 0e6ee10c07dbee9ffe18973da57a71775bfdbd28 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 10 Jul 2016 18:00:05 +0200 Subject: [PATCH 293/435] gnu: libmtp: Update to 1.1.11. * gnu/packages/patches/libmtp-devices.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove patch. * gnu/packages/libusb.scm (libmtp): Update to 1.1.11. --- gnu/local.mk | 1 - gnu/packages/libusb.scm | 7 +- gnu/packages/patches/libmtp-devices.patch | 554 ---------------------- 3 files changed, 3 insertions(+), 559 deletions(-) delete mode 100644 gnu/packages/patches/libmtp-devices.patch diff --git a/gnu/local.mk b/gnu/local.mk index e95c6aedc3..d011844074 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -613,7 +613,6 @@ dist_patch_DATA = \ %D%/packages/patches/libdrm-symbol-check.patch \ %D%/packages/patches/libevent-dns-tests.patch \ %D%/packages/patches/libextractor-ffmpeg-3.patch \ - %D%/packages/patches/libmtp-devices.patch \ %D%/packages/patches/liboop-mips64-deplibs-fix.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \ %D%/packages/patches/liblxqt-include.patch \ diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 69a8ef9890..1f659c7594 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -135,15 +135,14 @@ version of libusb to run with newer libusb.") (define-public libmtp (package (name "libmtp") - (version "1.1.9") + (version "1.1.11") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libmtp/" version "/libmtp-" version ".tar.gz")) (sha256 - (base32 - "12dinqic0ljnhrwx3rc61jc7q24ybr0mckc2ya5kh1s1np0d7w93")) - (patches (search-patches "libmtp-devices.patch")))) + (base32 + "1sc768q2cixwanlwrz95mp389iaadl4s95486caavxx4g7znvn8m")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/patches/libmtp-devices.patch b/gnu/packages/patches/libmtp-devices.patch deleted file mode 100644 index 9b985e526d..0000000000 --- a/gnu/packages/patches/libmtp-devices.patch +++ /dev/null @@ -1,554 +0,0 @@ -Add additional devices; the patched file corresponds to git commit 8e471b, -to which one additional device has been added as reported at - http://sourceforge.net/p/libmtp/bugs/1422/ - -diff -u -r libmtp-1.1.9.orig/src/music-players.h libmtp-1.1.9/src/music-players.h ---- libmtp-1.1.9.orig/src/music-players.h 2015-09-19 22:54:24.537330594 +0200 -+++ libmtp-1.1.9/src/music-players.h 2015-09-19 23:16:41.079206331 +0200 -@@ -47,82 +47,61 @@ - * and properties. - */ - { "Creative", 0x041e, "ZEN Vision", 0x411f, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Creative", 0x041e, "Portable Media Center", 0x4123, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Creative", 0x041e, "ZEN Xtra (MTP mode)", 0x4128, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Dell", 0x041e, "DJ (2nd generation)", 0x412f, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Creative", 0x041e, "ZEN Micro (MTP mode)", 0x4130, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Creative", 0x041e, "ZEN Touch (MTP mode)", 0x4131, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Dell", 0x041e, "Dell Pocket DJ (MTP mode)", 0x4132, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -- { "Creative", 0x041e, "ZEN MicroPhoto (alternate version)", 0x4133, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, -+ { "Creative", 0x041e, "ZEN MicroPhoto (alternate version)", 0x4133, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Creative", 0x041e, "ZEN Sleek (MTP mode)", 0x4137, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Creative", 0x041e, "ZEN MicroPhoto", 0x413c, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Creative", 0x041e, "ZEN Sleek Photo", 0x413d, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Creative", 0x041e, "ZEN Vision:M", 0x413e, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - // Reported by marazm@o2.pl - { "Creative", 0x041e, "ZEN V", 0x4150, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - // Reported by danielw@iinet.net.au - // This version of the Vision:M needs the no release interface flag, - // unclear whether the other version above need it too or not. - { "Creative", 0x041e, "ZEN Vision:M (DVP-HD0004)", 0x4151, - DEVICE_FLAG_NO_RELEASE_INTERFACE | -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - // Reported by Darel on the XNJB forums - { "Creative", 0x041e, "ZEN V Plus", 0x4152, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - { "Creative", 0x041e, "ZEN Vision W", 0x4153, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - // Don't add 0x4155: this is a Zen Stone device which is not MTP - // Reported by Paul Kurczaba - { "Creative", 0x041e, "ZEN", 0x4157, - DEVICE_FLAG_IGNORE_HEADER_ERRORS | - DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS | -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - // Reported by Ringofan - { "Creative", 0x041e, "ZEN V 2GB", 0x4158, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - // Reported by j norment - { "Creative", 0x041e, "ZEN Mozaic", 0x4161, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - // Reported by Aaron F. Gonzalez - { "Creative", 0x041e, "ZEN X-Fi", 0x4162, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - // Reported by farmerstimuli - { "Creative", 0x041e, "ZEN X-Fi 3", 0x4169, -- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | -- DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, -+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, - // Reported by Todor Gyumyushev - { "ZiiLABS", 0x041e, "Zii EGG", 0x6000, - DEVICE_FLAG_UNLOAD_DRIVER | -@@ -607,8 +586,17 @@ - /* https://sourceforge.net/p/libmtp/bugs/1251/ */ - { "Acer", 0x0502, "E39", 0x3643, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1369/ */ -+ { "Acer", 0x0502, "liquid e700", 0x3644, -+ DEVICE_FLAGS_ANDROID_BUGS }, - { "Acer", 0x0502, "One 7", 0x3657, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/support-requests/183/ */ -+ { "Acer", 0x0502, "Z200", 0x3683, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1341/ */ -+ { "Acer", 0x0502, "Liquid S56", 0x3725, -+ DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * SanDisk -@@ -952,6 +940,7 @@ - { "Archos", 0x0e79, "SPOD (MTP mode)", 0x1341, DEVICE_FLAG_UNLOAD_DRIVER }, - { "Archos", 0x0e79, "5S IT (MTP mode)", 0x1351, DEVICE_FLAG_UNLOAD_DRIVER }, - { "Archos", 0x0e79, "5H IT (MTP mode)", 0x1357, DEVICE_FLAG_UNLOAD_DRIVER }, -+ { "Archos", 0x0e79, "48 (MTP mode)", 0x1421, DEVICE_FLAGS_ANDROID_BUGS }, - { "Archos", 0x0e79, "Arnova Childpad", 0x1458, DEVICE_FLAGS_ANDROID_BUGS }, - { "Archos", 0x0e79, "Arnova 8c G3", 0x145e, DEVICE_FLAGS_ANDROID_BUGS }, - { "Archos", 0x0e79, "Arnova 10bG3 Tablet", 0x146b, DEVICE_FLAGS_ANDROID_BUGS }, -@@ -973,9 +962,17 @@ - { "Archos", 0x0e79, "70it2 (ID 2)", 0x1569, DEVICE_FLAGS_ANDROID_BUGS }, - { "Archos", 0x0e79, "50c", 0x2008, DEVICE_FLAGS_ANDROID_BUGS }, - { "Archos", 0x0e79, "C40", 0x31ab, DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1393/ */ -+ { "Archos", 0x0e79, "Phone", 0x31e1, DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1325/ */ -+ { "Archos", 0x0e79, "45 Neon", 0x31f3, DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1352/ */ -+ { "Archos", 0x0e79, "50 Diamond", 0x3229, DEVICE_FLAGS_ANDROID_BUGS }, - { "Archos", 0x0e79, "101 G4", 0x4002, DEVICE_FLAGS_ANDROID_BUGS }, - { "Archos (for Tesco)", 0x0e79, "Hudl (ID1)", 0x5008, DEVICE_FLAGS_ANDROID_BUGS }, - { "Archos (for Tesco)", 0x0e79, "Hudl (ID2)", 0x5009, DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1404/ */ -+ { "Archos", 0x0e79, "AC40DTI", 0x5217, DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * Dunlop (OEM of EGOMAN ltd?) reported by Nanomad -@@ -1181,6 +1178,10 @@ - { "Qualcomm (for OnePlus)", 0x05c6, "One (MTP+ADB)", - 0x6765, DEVICE_FLAGS_ANDROID_BUGS }, - -+ /* https://sourceforge.net/p/libmtp/bugs/1377/ */ -+ { "Qualcomm (for Xolo)", 0x901b, "Xolo Black (MTP)", -+ 0x9039, DEVICE_FLAGS_ANDROID_BUGS }, -+ - { "Qualcomm (for PhiComm)", 0x05c6, "C230w (MTP)", - 0x9039, DEVICE_FLAGS_ANDROID_BUGS }, - -@@ -1221,6 +1222,9 @@ - // Reported by Thomas Bretthauer - { "Fujitsu, Ltd", 0x04c5, "STYLISTIC M532", 0x133b, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/feature-requests/137/ */ -+ { "Fujitsu, Ltd", 0x04c5, "F02-E", 0x1378, -+ DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * Palm device userland program named Pocket Tunes -@@ -1247,6 +1251,9 @@ - // Reported by anonymous SourceForge user - { "Medion", 0x066f, "MD8333 (ID2)", 0x8588, - DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, -+ /* https://sourceforge.net/p/libmtp/bugs/1359/ */ -+ { "Verizon", 0x0408, "Ellipsis 7", 0x3899, -+ DEVICE_FLAGS_ANDROID_BUGS }, - // The vendor ID is "Quanta Computer, Inc." - // same as Olivetti Olipad 110 - // Guessing on device flags -@@ -1403,6 +1410,9 @@ - DEVICE_FLAGS_ANDROID_BUGS }, - { "LG Electronics Inc.", 0x1004, "LG2 Optimus", 0x6225, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1386/ */ -+ { "LG Electronics Inc.", 0x1004, "LG VS950", 0x622a, -+ DEVICE_FLAGS_ANDROID_BUGS }, - { "LG Electronics Inc.", 0x1004, "LG VS870", 0x6239, - DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/992/ */ -@@ -1410,6 +1420,8 @@ - DEVICE_FLAGS_ANDROID_BUGS }, - { "LG Electronics Inc.", 0x1004, "VK810", 0x6265, - DEVICE_FLAGS_ANDROID_BUGS }, -+ { "LG Electronics Inc.", 0x1004, "G3", 0x627f, -+ DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/support-requests/134/ */ - { "LG Electronics Inc.", 0x1004, "G3 (VS985)", 0x626e, - DEVICE_FLAGS_ANDROID_BUGS }, -@@ -1723,8 +1735,12 @@ - DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia M2 MTP", 0x01aa, - DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "Xperia M2 Dual MTP", 0x01ab, -+ DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia Z2 MTP", 0x01af, - DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "Xperia Z2 Tablet MTP", 0x01b1, -+ DEVICE_FLAGS_ANDROID_BUGS }, - { "SONY", 0x0fce, "Xperia Z Ultra MTP", 0x01b6, - DEVICE_FLAGS_ANDROID_BUGS }, - { "SONY", 0x0fce, "Xperia Z3 MTP", 0x01ba, -@@ -1733,6 +1749,10 @@ - DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia E3 MTP", 0x01bc, - DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "XPeria Z3+ MTP", 0x01c9, -+ DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "XPeria E4g MTP", 0x01cb, -+ DEVICE_FLAG_NONE }, - - - /* -@@ -1788,6 +1808,8 @@ - DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia M MTP+CDROM", 0x419b, - DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "Xperia Z Ultra MTP+CDROM (ID3)", 0x419c, -+ DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia Z1 MTP+CDROM", 0x419e, - DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia C MTP+CDROM", 0x41a3, -@@ -1796,10 +1818,20 @@ - DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia M2 MTP+CDROM", 0x41aa, - DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "Xperia M2 Dual MTP+CDROM", 0x41ab, -+ DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia Z2 MTP+CDROM", 0x41af, - DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia Z3 MTP+CDROM", 0x41ba, - DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "Xperia Z3 Compact MTP+CDROM", 0x41bb, -+ DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "Xperia E3 MTP+CDROM", 0x01bc, -+ DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "XPeria Z3+ MTP+CDROM", 0x41c9, -+ DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "XPeria E4g MTP+CDROM", 0x41cb, -+ DEVICE_FLAG_NONE }, - - /* - * MTP+ADB personalities of MTP devices (see above) -@@ -1888,6 +1920,8 @@ - DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia M2 MTP+ADB", 0x51aa, - DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "Xperia M2 Dual MTP+ADB", 0x51ab, -+ DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia Z2 MTP+ADB", 0x51af, - DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia Z Ultra MTP+ADB", 0x51b6, -@@ -1898,6 +1932,10 @@ - DEVICE_FLAG_NONE }, - { "SONY", 0x0fce, "Xperia E3 MTP+ADB", 0x51bc, - DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "XPeria Z3+ MTP+ADB", 0x51c9, -+ DEVICE_FLAG_NONE }, -+ { "SONY", 0x0fce, "XPeria E4g MTP+ADB", 0x51cb, -+ DEVICE_FLAG_NONE }, - - /* - * MTP+UMS modes -@@ -1936,6 +1974,9 @@ - * Motorola - * Assume DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST on all of these. - */ -+ /* https://sourceforge.net/p/libmtp/feature-requests/136/ */ -+ { "Motorola", 0x22b8, "XT1524 (MTP)", 0x002e, -+ DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by David Boyd - { "Motorola", 0x22b8, "V3m/V750 verizon", 0x2a65, - DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | -@@ -1952,6 +1993,9 @@ - DEVICE_FLAGS_ANDROID_BUGS }, - { "Motorola", 0x22b8, "Moto X (XT1058)", 0x2e63, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1323/ */ -+ { "Motorola", 0x22b8, "Moto X (XT1080)", 0x2e66, -+ DEVICE_FLAGS_ANDROID_BUGS }, - { "Motorola", 0x22b8, "Droid Maxx (XT1080)", 0x2e67, - DEVICE_FLAGS_ANDROID_BUGS }, - { "Motorola", 0x22b8, "Droid Ultra", 0x2e68, -@@ -2345,6 +2389,14 @@ - /* https://sourceforge.net/p/libmtp/bugs/1244/ */ - { "Asus", 0x0b05, "MemoPad 8 ME181 CX (MTP)", 0x5561, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1406/ */ -+ { "Asus", 0x0b05, "Zenfone 2 (MTP)", 0x5600, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1364/ */ -+ { "Asus", 0x0b05, "Z00AD (MTP)", 0x5601, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ { "Asus", 0x0b05, "TX201LA (MTP)", 0x561f, -+ DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/1271/ */ - { "Asus", 0x0b05, "ZenFone 4 (MTP)", 0x580f, - DEVICE_FLAGS_ANDROID_BUGS }, -@@ -2354,9 +2406,20 @@ - /* https://sourceforge.net/p/libmtp/bugs/1258/ */ - { "Asus", 0x0b05, "A450CG (MTP)", 0x5a0f, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1350/ */ -+ { "Asus", 0x0b05, "Zenfone 2 ZE550ML (MTP)", 0x5f02, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1364/ */ -+ { "Asus", 0x0b05, "Zenfone 2 ZE551ML (MTP)", 0x5f03, -+ DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/1232/ */ - { "Asus", 0x0b05, "MemoPad 7 (ME572CL)", 0x7772, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1351/ */ -+ { "Asus", 0x0b05, "Fonepad 7 (FE375CXG)", 0x7773, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ { "Asus", 0x0b05, "ZenFone 5 A500KL (MTP)", 0x7780, -+ DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/1247/ */ - { "Asus", 0x0b05, "ZenFone 5 A500KL (MTP+ADB)", 0x7781, - DEVICE_FLAGS_ANDROID_BUGS }, -@@ -2365,6 +2428,12 @@ - /* - * Lenovo - */ -+ /* https://sourceforge.net/p/libmtp/support-requests/178/ */ -+ { "Lenovo", 0x17ef, "P70-A", 0x0c02, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1415/ */ -+ { "Lenovo", 0x17ef, "P70", 0x2008, -+ DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by Richard Körber - { "Lenovo", 0x17ef, "K1", 0x740a, - DEVICE_FLAGS_ANDROID_BUGS }, -@@ -2407,6 +2476,9 @@ - DEVICE_FLAGS_ANDROID_BUGS }, - { "Lenovo", 0x17ef, "Toga Tablet B6000-F", 0x76f2, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1122/ */ -+ { "Lenovo", 0x17ef, "S930", 0x7718, -+ DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/1250/ */ - { "Lenovo", 0x17ef, "A5500-F", 0x772b, - DEVICE_FLAGS_ANDROID_BUGS }, -@@ -2417,15 +2489,24 @@ - /* https://sourceforge.net/p/libmtp/bugs/1155/ */ - { "Lenovo", 0x17ef, "Yoga Tablet 10 B8000-H", 0x76ff, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1391/ */ -+ { "Lenovo", 0x17ef, "A7600-F", 0x7731, -+ DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/1291/ */ - { "Lenovo", 0x17ef, "A3500-F", 0x7737, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/support-requests/186/ */ -+ { "Lenovo", 0x17ef, "Yoga Tablet 2 - 1050F", 0x77a4, -+ DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/support-requests/168/ */ - { "Lenovo", 0x17ef, "Yoga Tablet 2 Pro", 0x77b1, - DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/feature-requests/125/ */ - { "Lenovo", 0x17ef, "Vibe Z2", 0x77ea, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1360/ */ -+ { "Lenovo", 0x17ef, "K3 Note", 0x7883, -+ DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * Huawei -@@ -2435,6 +2516,15 @@ - DEVICE_FLAGS_ANDROID_BUGS }, - { "Huawei", 0x12d1, "MTP device (ID2)", 0x1052, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1381/ */ -+ { "Huawei", 0x12d1, "H60-L11", 0x1079, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1361/ */ -+ { "Huawei", 0x12d1, "Ascend P8 ", 0x1082, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1418/ */ -+ { "Huawei", 0x12d1, "Honor 3C ", 0x2012, -+ DEVICE_FLAGS_ANDROID_BUGS }, - { "Huawei", 0x12d1, "Mediapad (mode 0)", 0x360f, - DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by Bearsh -@@ -2452,6 +2542,8 @@ - /* https://sourceforge.net/p/libmtp/bugs/672/ */ - { "ZTE", 0x19d2, "Grand X In", 0x0343, DEVICE_FLAGS_ANDROID_BUGS }, - { "ZTE", 0x19d2, "V985", 0x0383, DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1328/ */ -+ { "ZTE", 0x19d2, "V5", 0xffce, DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * HTC (High Tech Computer Corp) -@@ -2459,6 +2551,12 @@ - * Steven Eastland - * Kevin Cheng - */ -+ /* https://sourceforge.net/p/libmtp/support-requests/181/ */ -+ { "HTC", 0x0bb4, "HTC One M9 (MTP)", 0x040b, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1398/ */ -+ { "HTC", 0x0bb4, "Spreadtrum SH57MYZ03342 (MTP)", 0x05e3, -+ DEVICE_FLAGS_ANDROID_BUGS }, - /* reported by Mikkel Oscar Lyderik */ - { "HTC", 0x0bb4, "HTC Desire 510 (MTP+ADB)", 0x05fd, - DEVICE_FLAGS_ANDROID_BUGS }, -@@ -2545,6 +2643,9 @@ - /* https://sourceforge.net/p/libmtp/bugs/1182/ */ - { "HTC", 0x0bb4, "Desire 310 (MTP)", 0x0ec6, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1420/ */ -+ { "HTC", 0x0bb4, "Desire 816G (MTP)", 0x0edb, -+ DEVICE_FLAGS_ANDROID_BUGS }, - { "HTC", 0x0bb4, "HTC One (MTP+ADB+CDC)", 0x0f5f, - DEVICE_FLAGS_ANDROID_BUGS }, - { "HTC", 0x0bb4, "HTC One (MTP+CDC)", 0x0f60, -@@ -2658,6 +2759,9 @@ - DEVICE_FLAGS_ANDROID_BUGS }, - { "Amazon", 0x1949, "Kindle Fire (ID5)", 0x0012, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1353/ */ -+ { "Amazon", 0x1949, "Kindle Fire HD6", 0x00f2, -+ DEVICE_FLAGS_ANDROID_BUGS }, - { "Amazon", 0x1949, "Fire Phone", 0x0800, - DEVICE_FLAGS_ANDROID_BUGS }, - -@@ -2677,6 +2781,9 @@ - DEVICE_FLAGS_ANDROID_BUGS }, - { "YiFang", 0x2207, "BQ Tesla", 0x0006, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1354/ */ -+ { "Various", 0x2207, "Viewpia DR/bq Kepler Debugging", 0x0011, -+ DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * Kobo -@@ -2708,6 +2815,8 @@ - { "Intel", 0x8087, "Foxconn iView i700", 0x0a15, DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/1237/ */ - { "Intel", 0x8087, "Telcast Air 3G", 0x0a5e, DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1338/ */ -+ { "Intel", 0x8087, "Chuwi vi8", 0x0a5f, DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * Xiaomi -@@ -2738,6 +2847,15 @@ - DEVICE_FLAGS_ANDROID_BUGS }, - { "Xiaomi", 0x2717, "Mi-2 (MTP)", 0xf003, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1397/ */ -+ { "Xiaomi", 0x2717, "Mi-2s (id2) (MTP)", 0xff40, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1339/ */ -+ { "Xiaomi", 0x2717, "Mi-2s (MTP)", 0xff48, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1402/ */ -+ { "Xiaomi", 0x2717, "Redmi 2 (MTP)", 0xff60, -+ DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * XO Learning Tablet -@@ -2774,6 +2892,9 @@ - /* https://sourceforge.net/p/libmtp/bugs/1304/ */ - { "Alcatel", 0x1bbb, "OneTouch 5042D (MTP)", 0xa00e, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1401/ */ -+ { "Alcatel", 0x1bbb, "OneTouch Idol 3 (MTP)", 0xaf2b, -+ DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/feature-requests/114/ */ - { "Alcatel", 0x1bbb, "OneTouch 6034R", 0xf003, - DEVICE_FLAGS_ANDROID_BUGS }, -@@ -2782,8 +2903,12 @@ - * Kyocera - */ - { "Kyocera", 0x0482, "Rise", 0x0571, DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/feature-requests/134/ */ -+ { "Kyocera", 0x0482, "Torque Model E6715", 0x0059a, DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/discussion/535190/thread/6270f5ce/ */ - { "Kyocera", 0x0482, "KYL22", 0x0810, DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1345/ */ -+ { "Kyocera", 0x0482, "DuraForce", 0x0979, DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * HiSense -@@ -2798,12 +2923,20 @@ - DEVICE_FLAGS_ANDROID_BUGS }, - { "Hewlett-Packard", 0x03f0, "Slate 7 2800", 0x5d1d, - DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/bugs/1366/ */ -+ { "Hewlett-Packard", 0x03f0, "Slate 10 HD", 0x7e1d, -+ DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * MediaTek Inc. - */ - { "MediaTek Inc", 0x0e8d, "MT5xx and MT6xx SoCs", 0x0050, - DEVICE_FLAGS_ANDROID_BUGS }, -+ { "MediaTek Inc", 0x0e8d, "MT65xx", 0x2008, -+ DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/feature-requests/79/ */ -+ { "MediaTek Inc", 0x0e8d, "Elephone P8000", 0x201d, -+ DEVICE_FLAGS_ANDROID_BUGS }, - - /* - * Jolla -@@ -2860,6 +2993,8 @@ - { "Prestigio", 0x29e4, "5505 DUO ", 0x1103, DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/1243/ */ - { "Prestigio", 0x29e4, "5504 DUO ", 0x1203, DEVICE_FLAGS_ANDROID_BUGS }, -+ /* https://sourceforge.net/p/libmtp/feature-requests/141/ */ -+ { "Prestigio", 0x29e4, "3405 DUO ", 0x3201, DEVICE_FLAGS_ANDROID_BUGS }, - - /* https://sourceforge.net/p/libmtp/bugs/1283/ */ - { "Megafon", 0x201e, "MFLogin3T", 0x42ab, DEVICE_FLAGS_ANDROID_BUGS }, -@@ -2867,6 +3002,8 @@ - /* https://sourceforge.net/p/libmtp/bugs/1287/ */ - { "Gensis", 0x040d, "GT-7305 ", 0x885c, DEVICE_FLAGS_ANDROID_BUGS }, - -+ /* https://sourceforge.net/p/libmtp/support-requests/182/ */ -+ { "Oppo", 0x22d9, "Find 5", 0x2764, DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/1207/ */ - { "Oppo", 0x22d9, "Find 7 (ID 1)", 0x2765, DEVICE_FLAGS_ANDROID_BUGS }, - /* https://sourceforge.net/p/libmtp/bugs/1277/ */ -@@ -2916,6 +3053,14 @@ - /* https://sourceforge.net/p/libmtp/bugs/1314/ */ - { "BenQ", 0x1d45, "F5", 0x459d, DEVICE_FLAGS_ANDROID_BUGS }, - -+ /* https://sourceforge.net/p/libmtp/bugs/1362/ */ -+ { "TomTom", 0x1390, "Rider 40", 0x5455, DEVICE_FLAGS_ANDROID_BUGS }, -+ -+ /* https://sourceforge.net/p/libmtp/feature-requests/135/. guessed android. */ -+ { "OUYA", 0x2836, "Videogame Console", 0x0010, DEVICE_FLAGS_ANDROID_BUGS }, -+ -+ /* https://sourceforge.net/p/libmtp/bugs/1383/ */ -+ { "BLU", 0x0e8d, "Studio HD", 0x2008, DEVICE_FLAGS_ANDROID_BUGS }, - /* - * Other strange stuff. - */ From 5e3f68e67c0d660eb2e6f1b653a6ae5f3d813a98 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Jul 2016 21:00:33 +0300 Subject: [PATCH 294/435] gnu: libbluray: Update to 0.9.3. * gnu/packages/video.scm (libbluray): Update to 0.9.3. --- gnu/packages/video.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 6888e36711..8492e5e029 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -940,15 +940,15 @@ YouTube.com and a few more sites.") (define-public libbluray (package (name "libbluray") - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) - (uri (string-append "http://download.videolan.org/videolan/" + (uri (string-append "https://download.videolan.org/videolan/" name "/" version "/" name "-" version ".tar.bz2")) (sha256 (base32 - "1sp71j4agcsg17g6b85cqz78pn5vknl5pl39rvr6mkib5ps99jgg")))) + "1q1whviqv5sr9nr372h31zwid1rvbfbx3z4lzr8lnj25xha6cdm6")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-bdjava"))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -956,7 +956,7 @@ YouTube.com and a few more sites.") `(("fontconfig" ,fontconfig) ("freetype" ,freetype) ("libxml2" ,libxml2))) - (home-page "http://www.videolan.org/developers/libbluray.html") + (home-page "https://www.videolan.org/developers/libbluray.html") (synopsis "Blu-Ray Disc playback library") (description "libbluray is a library designed for Blu-Ray Disc playback for media From cf1dc4b7e640bdc84ae2a5e0136c774db693b066 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Jul 2016 21:22:29 +0300 Subject: [PATCH 295/435] gnu: obs: Update to 0.15.1. * gnu/packages/video.scm (obs): Update to 0.15.1. --- 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 8492e5e029..8d7d3323b8 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1393,7 +1393,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "0.14.2") + (version "0.15.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/jp9000/obs-studio" @@ -1401,7 +1401,7 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1cb8naa67kfnnngkzv1wpd4y241j29ggnk1w7jgnymp9j8dny1xl")))) + "18fycg7xlj2i89wdb9c5js0bnl964s1lpmnvmfyj11zi9k061wsg")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no tests (native-inputs From dfce38993efa0e86e371c8f1757bdf86bc594a80 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Jul 2016 21:29:15 +0300 Subject: [PATCH 296/435] gnu: man-db: Update to 2.7.5. * gnu/packages/man.scm (man-db): Update to 2.7.5. --- gnu/packages/man.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index ab5e770b52..502c969901 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -58,14 +58,14 @@ a flexible and convenient way.") (define-public man-db (package (name "man-db") - (version "2.7.1") + (version "2.7.5") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/man-db/man-db-" version ".tar.xz")) (sha256 (base32 - "03ly0hbpgjnag576rgccanaisn7f6422q5qxrj64vyzslc2651y4")))) + "056a3il7agfazac12yggcg4gf412yq34k065im0cpfxbcw6xskaw")))) (build-system gnu-build-system) (arguments '(#:phases From c635ff8369321e0a9f5cc26a9c547d8dfacb5da1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Jul 2016 21:32:42 +0300 Subject: [PATCH 297/435] gnu: man-pages: Update to 4.0.6. * gnu/packages/man.scm (man-pages): Update to 4.0.6. --- gnu/packages/man.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 502c969901..ac9eb7222c 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -129,7 +129,7 @@ the traditional flat-text whatis databases.") (define-public man-pages (package (name "man-pages") - (version "4.04") + (version "4.06") (source (origin (method url-fetch) (uri @@ -142,7 +142,7 @@ the traditional flat-text whatis databases.") "man-pages-" version ".tar.xz"))) (sha256 (base32 - "0v8zxq4scfixy3pjpw9ankvv5v8frv62khv4xm1jpkswyq6rbqcg")))) + "0vv056k9yyf05dqal9m2pq3pv9c8lnp7i5rjxvcnic6aq7vyrafb")))) (build-system gnu-build-system) (arguments '(#:phases (alist-delete 'configure %standard-phases) From 8ac012d0ca6273ca3c7f195539eb5d1f927399bb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 10 Jul 2016 21:34:11 +0300 Subject: [PATCH 298/435] gnu: help2man: Update to 1.47.4. * gnu/packages/man.scm (help2man): Update to 1.47.4. --- gnu/packages/man.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index ac9eb7222c..9ffbba9de9 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -168,7 +168,7 @@ Linux kernel and C library interfaces employed by user-space programs.") (define-public help2man (package (name "help2man") - (version "1.47.3") + (version "1.47.4") (source (origin (method url-fetch) @@ -176,7 +176,7 @@ Linux kernel and C library interfaces employed by user-space programs.") version ".tar.xz")) (sha256 (base32 - "0miqq77ssk5rgsc9xlv7k5n2wk2c5wv2m1kh4zhbwrggfmjaycn2")))) + "0lvp4306f5nq08f3snffs5pp1zwv8l35z6f5g0dds51zs6bzdv6l")))) (build-system gnu-build-system) (arguments `(;; There's no `check' target. #:tests? #f)) From cdd8e0776e9c87e1e1d86731b5c80531e0502296 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Wed, 18 May 2016 18:20:30 -0400 Subject: [PATCH 299/435] gnu: Add Tmux Themepack. * gnu/packages/tmux.scm (tmux-themepack): New variable. Signed-off-by: Leo Famulari --- gnu/packages/tmux.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm index d89fc16844..e4f3b45d68 100644 --- a/gnu/packages/tmux.scm +++ b/gnu/packages/tmux.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Matthew Jordan ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,13 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages libevent) #:use-module (gnu packages ncurses)) + (define-public tmux (package (name "tmux") @@ -50,3 +53,38 @@ windows), each running a separate program, to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.") (license isc))) + +(define-public tmux-themepack + (let ((commit "03a372866f7677f7fe63bcee140b48b9fd372c48") + (revision "1")) + (package + (name "tmux-themepack") + (version + (string-append "0.0.0-" revision "." (string-take commit 7))) ;; No version tags + (source (origin + (method git-fetch) + (uri (git-reference + (url + (string-append "https://github.com/jimeh/" name ".git")) + (commit commit))) + (sha256 + (base32 + "1d3k87mq5lca042jbap5kxskjy3kg79wjhhpnm6jacbn3anc67zl")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No test suite. + #:phases (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (string-append + (assoc-ref outputs "out") + "/share/" ,name "-" ,version))) + (copy-recursively "." out))))))) + (home-page "https://github.com/jimeh/tmux-themepack") + (synopsis "Collection of themes for Tmux") + (description "A collection of various themes for Tmux.") + (license + (non-copyleft "http://www.wtfpl.net/txt/copying/"))))) From 51d8039b4ac53dc2f4e0978f6547d5948166c837 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 12 Jul 2016 14:02:13 +1000 Subject: [PATCH 300/435] gnu: parallel: Update to 20160622. * gnu/packages/parallel.scm (parallel): Update to 20160622. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index d1f49abed3..766167d6e9 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -44,7 +44,7 @@ (define-public parallel (package (name "parallel") - (version "20160522") + (version "20160622") (source (origin (method url-fetch) @@ -52,7 +52,7 @@ version ".tar.bz2")) (sha256 (base32 - "03r07ksxw5xx946x9s26ivifgldr8bc9bz6da4wfrd0dx4546xyy")))) + "1axng9bwapmb0vrrv67pp787gv7r5g02zyrfwnrhpxhi8zmm1jmg")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (home-page "http://www.gnu.org/software/parallel/") From 6dc4d4655eb3cef693a889532f1b1b24ad50a2fc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 12 Jul 2016 01:34:34 -0400 Subject: [PATCH 301/435] gnu: mpd: Update to 0.19.17. * gnu/packages/mpd.scm (mpd): Update to 0.19.17. --- gnu/packages/mpd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 3162cf18b8..da7c1ccb37 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -71,7 +71,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.19.14") + (version "0.19.17") (source (origin (method url-fetch) (uri @@ -80,7 +80,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "1rwr1qb9an1qylddf35xwdasyfkxghd00c29saj04l1f2c2kilig")))) + "1xxjkwbs0d1bdcsykhmw6l1lybpyp2l7b2bw58y1j70w5fnwhzj8")))) (build-system gnu-build-system) (inputs `(("ao" ,ao) ("alsa-lib" ,alsa-lib) From 16d8f9beb528f6c138ba2c37e9548f196ff1e6d3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Jul 2016 09:29:57 +0300 Subject: [PATCH 302/435] gnu: arandr: Update to 0.1.9. * gnu/packages/xdisorg.scm (arandr): Update to 0.1.9. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 3a44fb5918..0cc041562c 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -64,14 +64,14 @@ (define-public arandr (package (name "arandr") - (version "0.1.8") + (version "0.1.9") (source (origin (method url-fetch) (uri (string-append "http://christian.amsuess.com/tools/" name "/files/" name "-" version ".tar.gz")) (sha256 (base32 - "0d574mbmhaqmh7kivaryj2hpghz6xkvic9ah43s1hf385y7c33kd")))) + "1i3f1agixxbfy4kxikb2b241p7c2lg73cl9wqfvlwz3q6zf5faxv")))) (build-system python-build-system) (arguments `(#:python ,python-2 ;incompatible with python 3 From af2b0b15075e254525cc8aca5cc757dfa643a1a0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Jul 2016 09:34:24 +0300 Subject: [PATCH 303/435] gnu: libxkbcommon: Update to 0.6.1. * gnu/packages/xdisorg.scm (libxkbcommon): Update to 0.6.1. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 0cc041562c..7f6c0d7370 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -127,14 +127,14 @@ avoiding password prompts when X11 forwarding has already been setup.") (define-public libxkbcommon (package (name "libxkbcommon") - (version "0.5.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (string-append "http://xkbcommon.org/download/" name "-" version ".tar.xz")) (sha256 (base32 - "176ii5dn2wh74q48sd8ac37ljlvgvp5f506glr96z6ibfhj7igch")))) + "0q47xa1szlxwgvwmhv4b7xwawnykz1hnc431d84nj8dlh2q8f22v")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) From 1f1e620f889a5d0250ac4d8e20639a7e019c7c2d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Jul 2016 09:45:07 +0300 Subject: [PATCH 304/435] gnu: mtdev: Update to 1.1.5. * gnu/packages/xdisorg.scm (mtdev): Update to 1.1.5. --- gnu/packages/xdisorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 7f6c0d7370..f6be68b7bf 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -297,7 +297,7 @@ and Matrox.") (define-public mtdev (package (name "mtdev") - (version "1.1.3") + (version "1.1.5") (source (origin (method url-fetch) @@ -305,8 +305,8 @@ and Matrox.") "http://bitmath.org/code/mtdev/mtdev-" version ".tar.bz2")) (sha256 - (base32 - "159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d")))) + (base32 + "0zxs7shzgbalkvlaiibi25bd902rbmkv9n1lww6q8j3ri9qdaxv6")))) (build-system gnu-build-system) (home-page "http://bitmath.org/code/mtdev/") (synopsis "Multitouch protocol translation library") From 46cd684e2c858bd902f8abc865443203f9bc0ed2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Jul 2016 09:59:10 +0300 Subject: [PATCH 305/435] gnu: sxhkd: Update to 0.5.6. * gnu/packages/xdisorg.scm (sxhkd): Update to 0.5.6. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index f6be68b7bf..b2ce89b3f7 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -639,7 +639,7 @@ Guile will work for XBindKeys.") (define-public sxhkd (package (name "sxhkd") - (version "0.5.5") + (version "0.5.6") (source (origin (file-name (string-append name "-" version ".tar.gz")) @@ -649,7 +649,7 @@ Guile will work for XBindKeys.") version ".tar.gz")) (sha256 (base32 - "04s3y2bq9502gw72jj3y2zsh96yj3qg2av3zsa8ahd2farvrysg6")))) + "15grmzpxz5fqlbfg2slj7gb7r6nzkvjmflmbkqx7mlby9pm6wdkj")))) (build-system gnu-build-system) (inputs `(("asciidoc" ,asciidoc) From 34c553b07e0385cb6f59efe075e036bd3297d049 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Jul 2016 10:34:43 +0300 Subject: [PATCH 306/435] gnu: xscreensaver: Update to 5.35. * gnu/packages/xdisorg.scm (xscreensaver): Update to 5.35. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index b2ce89b3f7..0e16f6bcb5 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -849,7 +849,7 @@ color temperature should be set to match the lamps in your room.") (define-public xscreensaver (package (name "xscreensaver") - (version "5.34") + (version "5.35") (source (origin (method url-fetch) @@ -858,7 +858,7 @@ color temperature should be set to match the lamps in your room.") version ".tar.gz")) (sha256 (base32 - "09sy5v8bn62hiq4ib3jyvp8lipqcvn3rdsj74q25qgklpv27xzvg")))) + "08kbb0ry7ih436ab4i5g6lnhaaz13zkcdmbdibrn4j5gm5qq8v0y")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target From 9a8f309cf1f654b9775caf0ee1bc65ee274d4117 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 12:19:15 +0200 Subject: [PATCH 307/435] gnu: Add bedtools-2.18. * gnu/packages/bioinformatics.scm (bedtools-2.18): New variable. --- gnu/packages/bioinformatics.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5ab3bcc3ae..355b578623 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -258,6 +258,21 @@ intervals from multiple files in widely-used genomic file formats such as BAM, BED, GFF/GTF, VCF.") (license license:gpl2))) +;; Later releases of bedtools produce files with more columns than +;; what Ribotaper expects. +(define-public bedtools-2.18 + (package (inherit bedtools) + (name "bedtools") + (version "2.18.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/arq5x/bedtools2/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05vrnr8yp7swfagshzpgqmzk1blnwnq8pq5pckzi1m26w98d63vf")))))) + (define-public bioawk (package (name "bioawk") From 17dc32a40033241500123ac2c1a19709820000a7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 12:19:39 +0200 Subject: [PATCH 308/435] gnu: Add Ribotaper. * gnu/packages/bioinformatics.scm (ribotaper): New variable. --- gnu/packages/bioinformatics.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 355b578623..f0a409d22f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -273,6 +273,36 @@ BED, GFF/GTF, VCF.") (base32 "05vrnr8yp7swfagshzpgqmzk1blnwnq8pq5pckzi1m26w98d63vf")))))) +(define-public ribotaper + (package + (name "ribotaper") + (version "1.3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://ohlerlab.mdc-berlin.de/" + "files/RiboTaper/RiboTaper_Version_" + version ".tar.gz")) + (sha256 + (base32 + "0ykjbps1y3z3085q94npw8i9x5gldc6shy8vlc08v76zljsm07hv")))) + (build-system gnu-build-system) + (inputs + `(("bedtools" ,bedtools-2.18) + ("samtools" ,samtools-0.1) + ("r" ,r) + ("r-foreach" ,r-foreach) + ("r-xnomial" ,r-xnomial) + ("r-domc" ,r-domc) + ("r-multitaper" ,r-multitaper) + ("r-seqinr" ,r-seqinr))) + (home-page "https://ohlerlab.mdc-berlin.de/software/RiboTaper_126/") + (synopsis "Define translated ORFs using ribosome profiling data") + (description + "Ribotaper is a method for defining translated @dfn{open reading +frames} (ORFs) using ribosome profiling (ribo-seq) data. This package +provides the Ribotaper pipeline.") + (license license:gpl3+))) + (define-public bioawk (package (name "bioawk") From 08858812b57796fe5c2acee9f1675523333a149c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 12 Jul 2016 17:45:13 +0300 Subject: [PATCH 309/435] gnu: obs: Remove compiler flags for non-Intel hardware. * gnu/packages/video.scm (obs)[arguments]: If compiling for arm or mips devices then don't add Intel specific compiler flags. --- gnu/packages/video.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 8d7d3323b8..eb0fdba9e4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -26,6 +26,8 @@ (define-module (gnu packages video) #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) @@ -1403,7 +1405,21 @@ be used for realtime video capture via Linux-specific APIs.") (base32 "18fycg7xlj2i89wdb9c5js0bnl964s1lpmnvmfyj11zi9k061wsg")))) (build-system cmake-build-system) - (arguments '(#:tests? #f)) ; no tests + (arguments + `(#:tests? #f ; no tests + ,@(if (any (cute string-prefix? <> (or (%current-target-system) + (%current-system))) + '("arm" "mips")) + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-architecture-specific-instructions + ;; non-Intel platforms fail to build with the architecture + ;; specific compiler flags included by default. + (lambda _ + (substitute* "libobs/CMakeLists.txt" + (("if\\(NOT MSVC\\)") "if(MSVC)")) + #t)))) + '()))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs From affd7761f3b38f7d5670a4e91fefef72174621cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 2 Jul 2016 23:19:40 +0200 Subject: [PATCH 310/435] gexp: Keep only a single 'references' field. The distinction between native inputs and "normal" inputs can already be determined by looking at the 'native?' field of . The extra 'natives' field of added complexity for no good reason. * guix/gexp.scm ()[natives]: Remove. (write-gexp): Remove use of 'gexp-native-references'. (gexp-inputs)[native-input?]: New procedure. Use it. (gexp->sexp)[reference->sexp]: Honor N? for input lists. Remove use of 'gexp-native-references'. (gexp)[collect-native-escapes]: Remove. Simplify. --- guix/gexp.scm | 57 ++++++++++++++------------------------------------- 1 file changed, 15 insertions(+), 42 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index b929b79c26..c86f4d0fd3 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -98,11 +98,10 @@ ;; "G expressions". (define-record-type - (make-gexp references natives proc) + (make-gexp references proc) gexp? - (references gexp-references) ; ((DRV-OR-PKG OUTPUT) ...) - (natives gexp-native-references) ; ((DRV-OR-PKG OUTPUT) ...) - (proc gexp-proc)) ; procedure + (references gexp-references) ;list of + (proc gexp-proc)) ;procedure (define (write-gexp gexp port) "Write GEXP on PORT." @@ -113,8 +112,7 @@ ;; tries to use 'append' on that, which fails with wrong-type-arg. (false-if-exception (write (apply (gexp-proc gexp) - (append (gexp-references gexp) - (gexp-native-references gexp))) + (gexp-references gexp)) port)) (format port " ~a>" (number->string (object-address gexp) 16))) @@ -630,11 +628,15 @@ references; otherwise, return only non-native references." ;; Ignore references to other kinds of objects. result))) + (define (native-input? x) + (and (gexp-input? x) + (gexp-input-native? x))) + (fold-right add-reference-inputs '() (if native? - (gexp-native-references exp) - (gexp-references exp)))) + (filter native-input? (gexp-references exp)) + (remove native-input? (gexp-references exp))))) (define gexp-native-inputs (cut gexp-inputs <> #:native? #t)) @@ -687,7 +689,7 @@ and in the current monad setting (system type, etc.)" (if (gexp-input? ref) ref (%gexp-input ref "out" n?)) - native?)) + (or n? native?))) refs))) (($ (? struct? thing) output n?) (let ((target (if (or n? native?) #f target))) @@ -706,9 +708,7 @@ and in the current monad setting (system type, etc.)" (mlet %store-monad ((args (sequence %store-monad - (append (map reference->sexp (gexp-references exp)) - (map (cut reference->sexp <> #t) - (gexp-native-references exp)))))) + (map reference->sexp (gexp-references exp))))) (return (apply (gexp-proc exp) args)))) (define (syntax-location-string s) @@ -741,33 +741,9 @@ and in the current monad setting (system type, etc.)" ((ungexp-splicing _ ...) (cons exp result)) ((ungexp-native _ ...) - result) - ((ungexp-native-splicing _ ...) - result) - ((exp0 exp ...) - (let ((result (loop #'exp0 result))) - (fold loop result #'(exp ...)))) - (_ - result)))) - - (define (collect-native-escapes exp) - ;; Return all the 'ungexp-native' forms present in EXP. - (let loop ((exp exp) - (result '())) - (syntax-case exp (ungexp - ungexp-splicing - ungexp-native - ungexp-native-splicing) - ((ungexp-native _) - (cons exp result)) - ((ungexp-native _ _) (cons exp result)) ((ungexp-native-splicing _ ...) (cons exp result)) - ((ungexp _ ...) - result) - ((ungexp-splicing _ ...) - result) ((exp0 exp ...) (let ((result (loop #'exp0 result))) (fold loop result #'(exp ...)))) @@ -838,14 +814,11 @@ and in the current monad setting (system type, etc.)" (syntax-case s (ungexp output) ((_ exp) - (let* ((normals (delete-duplicates (collect-escapes #'exp))) - (natives (delete-duplicates (collect-native-escapes #'exp))) - (escapes (append normals natives)) + (let* ((escapes (delete-duplicates (collect-escapes #'exp))) (formals (generate-temporaries escapes)) (sexp (substitute-references #'exp (zip escapes formals))) - (refs (map escape->ref normals)) - (nrefs (map escape->ref natives))) - #`(make-gexp (list #,@refs) (list #,@nrefs) + (refs (map escape->ref escapes))) + #`(make-gexp (list #,@refs) (lambda #,formals #,sexp))))))) From 0bb9929eaa3f963ae75478e789723f9e8582116b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 3 Jul 2016 22:26:19 +0200 Subject: [PATCH 311/435] gexp: Add 'with-imported-modules' macro. * guix/gexp.scm ()[modules]: New field. (gexp-modules): New procedure. (gexp->derivation): Use it and append the result to %MODULES. Update docstring to mark #:modules as deprecated. (current-imported-modules, with-imported-modules): New macros. (gexp): Pass CURRENT-IMPORTED-MODULES as second argument to 'gexp'. (gexp->script): Use and honor 'gexp-modules'; define '%modules'. * tests/gexp.scm ("gexp->derivation & with-imported-modules") ("gexp->derivation & nested with-imported-modules") ("gexp-modules & ungexp", "gexp-modules & ungexp-splicing"): New tests. ("program-file"): Use 'with-imported-modules'. Remove #:modules argument to 'program-file'. * doc/guix.texi (G-Expressions): Document 'with-imported-modules'. Mark #:modules of 'gexp->derivation' as deprecated. * emacs/guix-devel.el: Add syntax for 'with-imported-modules'. (guix-devel-keywords): Add it. * .dir-locals.el: Likewise. --- .dir-locals.el | 1 + doc/guix.texi | 38 ++++++++++++++++++++++++++- emacs/guix-devel.el | 2 ++ guix/gexp.scm | 47 +++++++++++++++++++++++++++++---- tests/gexp.scm | 64 ++++++++++++++++++++++++++++++++++++++++++--- 5 files changed, 142 insertions(+), 10 deletions(-) diff --git a/.dir-locals.el b/.dir-locals.el index 0873c1d747..c7ceb9e9f0 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -59,6 +59,7 @@ (eval . (put 'run-with-store 'scheme-indent-function 1)) (eval . (put 'run-with-state 'scheme-indent-function 1)) (eval . (put 'wrap-program 'scheme-indent-function 1)) + (eval . (put 'with-imported-modules 'scheme-indent-function 1)) (eval . (put 'call-with-container 'scheme-indent-function 1)) (eval . (put 'container-excursion 'scheme-indent-function 1)) diff --git a/doc/guix.texi b/doc/guix.texi index c9d9bd8977..b315325034 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3697,6 +3697,30 @@ In the example above, the native build of @var{coreutils} is used, so that @command{ln} can actually run on the host; but then the cross-compiled build of @var{emacs} is referenced. +@cindex imported modules, for gexps +@findex with-imported-modules +Another gexp feature is @dfn{imported modules}: sometimes you want to be +able to use certain Guile modules from the ``host environment'' in the +gexp, so those modules should be imported in the ``build environment''. +The @code{with-imported-modules} form allows you to express that: + +@example +(let ((build (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (mkdir-p (string-append #$output "/bin")))))) + (gexp->derivation "empty-dir" + #~(begin + #$build + (display "success!\n") + #t))) +@end example + +@noindent +In this example, the @code{(guix build utils)} module is automatically +pulled into the isolated build environment of our gexp, such that +@code{(use-modules (guix build utils))} works as expected. + The syntactic form to construct gexps is summarized below. @deffn {Scheme Syntax} #~@var{exp} @@ -3756,6 +3780,16 @@ G-expressions created by @code{gexp} or @code{#~} are run-time objects of the @code{gexp?} type (see below.) @end deffn +@deffn {Scheme Syntax} with-imported-modules @var{modules} @var{body}@dots{} +Mark the gexps defined in @var{body}@dots{} as requiring @var{modules} +in their execution environment. @var{modules} must be a list of Guile +module names, such as @code{'((guix build utils) (guix build gremlin))}. + +This form has @emph{lexical} scope: it has an effect on the gexps +directly defined in @var{body}@dots{}, but not on those defined, say, in +procedures called from @var{body}@dots{}. +@end deffn + @deffn {Scheme Procedure} gexp? @var{obj} Return @code{#t} if @var{obj} is a G-expression. @end deffn @@ -3781,7 +3815,9 @@ stored in a file called @var{script-name}. When @var{target} is true, it is used as the cross-compilation target triplet for packages referred to by @var{exp}. -Make @var{modules} available in the evaluation context of @var{exp}; +@var{modules} is deprecated in favor of @code{with-imported-modules}. +Its meaning is to +make @var{modules} available in the evaluation context of @var{exp}; @var{modules} is a list of names of Guile modules searched in @var{module-path} to be copied in the store, compiled, and made available in the load path during the execution of @var{exp}---e.g., @code{((guix diff --git a/emacs/guix-devel.el b/emacs/guix-devel.el index ee8371ce81..b71670cdfb 100644 --- a/emacs/guix-devel.el +++ b/emacs/guix-devel.el @@ -216,6 +216,7 @@ to find 'modify-phases' keywords." "with-derivation-substitute" "with-directory-excursion" "with-error-handling" + "with-imported-modules" "with-monad" "with-mutex" "with-store")) @@ -306,6 +307,7 @@ Each rule should have a form (SYMBOL VALUE). See `put' for details." (with-derivation-substitute 2) (with-directory-excursion 1) (with-error-handling 0) + (with-imported-modules 1) (with-monad 1) (with-mutex 1) (with-store 1) diff --git a/guix/gexp.scm b/guix/gexp.scm index c86f4d0fd3..e9274a05f4 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -29,6 +29,7 @@ #:use-module (ice-9 match) #:export (gexp gexp? + with-imported-modules gexp-input gexp-input? @@ -98,9 +99,10 @@ ;; "G expressions". (define-record-type - (make-gexp references proc) + (make-gexp references modules proc) gexp? (references gexp-references) ;list of + (modules gexp-self-modules) ;list of module names (proc gexp-proc)) ;procedure (define (write-gexp gexp port) @@ -384,6 +386,23 @@ whether this should be considered a \"native\" input or not." (set-record-type-printer! write-gexp-output) +(define (gexp-modules gexp) + "Return the list of Guile module names GEXP relies on." + (delete-duplicates + (append (gexp-self-modules gexp) + (append-map (match-lambda + (($ (? gexp? exp)) + (gexp-modules exp)) + (($ (lst ...)) + (append-map (lambda (item) + (if (gexp? item) + (gexp-modules item) + '())) + lst)) + (_ + '())) + (gexp-references gexp))))) + (define raw-derivation (store-lift derivation)) @@ -465,7 +484,8 @@ derivation) on SYSTEM; EXP is stored in a file called SCRIPT-NAME. When TARGET is true, it is used as the cross-compilation target triplet for packages referred to by EXP. -Make MODULES available in the evaluation context of EXP; MODULES is a list of +MODULES is deprecated in favor of 'with-imported-modules'. Its meaning is to +make MODULES available in the evaluation context of EXP; MODULES is a list of names of Guile modules searched in MODULE-PATH to be copied in the store, compiled, and made available in the load path during the execution of EXP---e.g., '((guix build utils) (guix build gnu-build-system)). @@ -494,7 +514,9 @@ Similarly for DISALLOWED-REFERENCES, which can list items that must not be referenced by the outputs. The other arguments are as for 'derivation'." - (define %modules modules) + (define %modules + (delete-duplicates + (append modules (gexp-modules exp)))) (define outputs (gexp-outputs exp)) (define (graphs-file-names graphs) @@ -724,6 +746,17 @@ and in the current monad setting (system type, etc.)" (simple-format #f "~a:~a" line column))) ""))) +(define-syntax-parameter current-imported-modules + ;; Current list of imported modules. + (identifier-syntax '())) + +(define-syntax-rule (with-imported-modules modules body ...) + "Mark the gexps defined in BODY... as requiring MODULES in their execution +environment." + (syntax-parameterize ((current-imported-modules + (identifier-syntax modules))) + body ...)) + (define-syntax gexp (lambda (s) (define (collect-escapes exp) @@ -819,6 +852,7 @@ and in the current monad setting (system type, etc.)" (sexp (substitute-references #'exp (zip escapes formals))) (refs (map escape->ref escapes))) #`(make-gexp (list #,@refs) + current-imported-modules (lambda #,formals #,sexp))))))) @@ -960,8 +994,11 @@ they can refer to each other." #:key (modules '()) (guile (default-guile))) "Return an executable script NAME that runs EXP using GUILE with MODULES in its search path." - (mlet %store-monad ((modules (imported-modules modules)) - (compiled (compiled-modules modules))) + (define %modules + (append (gexp-modules exp) modules)) + + (mlet %store-monad ((modules (imported-modules %modules)) + (compiled (compiled-modules %modules))) (gexp->derivation name (gexp (call-with-output-file (ungexp output) diff --git a/tests/gexp.scm b/tests/gexp.scm index f44f0eaf9a..36ce66f7cc 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -526,6 +526,18 @@ get-bytevector-all)))) files)))))) +(test-equal "gexp-modules & ungexp" + '((bar) (foo)) + ((@@ (guix gexp) gexp-modules) + #~(foo #$(with-imported-modules '((foo)) #~+) + #+(with-imported-modules '((bar)) #~-)))) + +(test-equal "gexp-modules & ungexp-splicing" + '((foo) (bar)) + ((@@ (guix gexp) gexp-modules) + #~(foo #$@(list (with-imported-modules '((foo)) #~+) + (with-imported-modules '((bar)) #~-))))) + (test-assertm "gexp->derivation #:modules" (mlet* %store-monad ((build -> #~(begin @@ -540,6 +552,50 @@ (s (stat (string-append p "/guile/guix/nix")))) (return (eq? (stat:type s) 'directory)))))) +(test-assertm "gexp->derivation & with-imported-modules" + ;; Same test as above, but using 'with-imported-modules'. + (mlet* %store-monad + ((build -> (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (mkdir-p (string-append #$output "/guile/guix/nix")) + #t))) + (drv (gexp->derivation "test-with-modules" build))) + (mbegin %store-monad + (built-derivations (list drv)) + (let* ((p (derivation->output-path drv)) + (s (stat (string-append p "/guile/guix/nix")))) + (return (eq? (stat:type s) 'directory)))))) + +(test-assertm "gexp->derivation & nested with-imported-modules" + (mlet* %store-monad + ((build1 -> (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (mkdir-p (string-append #$output "/guile/guix/nix")) + #t))) + (build2 -> (with-imported-modules '((guix build bournish)) + #~(begin + (use-modules (guix build bournish) + (system base compile)) + #+build1 + (call-with-output-file (string-append #$output "/b") + (lambda (port) + (write + (read-and-compile (open-input-string "cd /foo") + #:from %bournish-language + #:to 'scheme) + port)))))) + (drv (gexp->derivation "test-with-modules" build2))) + (mbegin %store-monad + (built-derivations (list drv)) + (let* ((p (derivation->output-path drv)) + (s (stat (string-append p "/guile/guix/nix"))) + (b (string-append p "/b"))) + (return (and (eq? (stat:type s) 'directory) + (equal? '(chdir "/foo") + (call-with-input-file b read)))))))) + (test-assertm "gexp->derivation #:references-graphs" (mlet* %store-monad ((one (text-file "one" (random-text))) @@ -676,11 +732,11 @@ (test-assertm "program-file" (let* ((n (random (expt 2 50))) - (exp (gexp (begin - (use-modules (guix build utils)) - (display (ungexp n))))) + (exp (with-imported-modules '((guix build utils)) + (gexp (begin + (use-modules (guix build utils)) + (display (ungexp n)))))) (file (program-file "program" exp - #:modules '((guix build utils)) #:guile %bootstrap-guile))) (mlet* %store-monad ((drv (lower-object file)) (out -> (derivation->output-path drv))) From 4ee96a7912eef8c41c855c680f924dcdba2d9c97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 3 Jul 2016 23:11:40 +0200 Subject: [PATCH 312/435] gnu: Switch to 'with-imported-modules'. * gnu/services.scm (directory-union): Use 'with-imported-modules' instead of the '#:modules' argument of 'computed-file'. * gnu/services/base.scm (udev-rules-union): Likewise. * gnu/services/dbus.scm (system-service-directory): Likewise. * gnu/services/desktop.scm (wrapped-dbus-service): (polkit-directory): Likewise. * gnu/services/networking.scm (tor-configuration->torrc): Likewise. * gnu/services/xorg.scm (xorg-configuration-directory): Likewise. * gnu/system/install.scm (self-contained-tarball): Likewise. * gnu/system/linux-container.scm (container-script): Likewise. * gnu/system/linux-initrd.scm (expression->initrd): Likewise, and remove #:modules parameter. (flat-linux-module-directory): Use 'with-imported-modules'. (base-initrd): Likewise. * gnu/system/locale.scm (locale-directory): Likewise. * gnu/system/shadow.scm (default-skeletons): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise. * gnu/tests/base.scm (run-basic-test): Likewise. * gnu/tests/install.scm (run-install): Likewise. * doc/guix.texi (Initial RAM Disk): Update 'expression->initrd' documentation. --- doc/guix.texi | 6 +- gnu/services.scm | 8 +- gnu/services/base.scm | 56 ++--- gnu/services/dbus.scm | 37 +-- gnu/services/desktop.scm | 65 ++--- gnu/services/networking.scm | 50 ++-- gnu/services/xorg.scm | 38 +-- gnu/system/install.scm | 105 ++++---- gnu/system/linux-container.scm | 48 ++-- gnu/system/linux-initrd.scm | 170 +++++++------ gnu/system/locale.scm | 8 +- gnu/system/shadow.scm | 64 ++--- gnu/system/vm.scm | 40 +-- gnu/tests/base.scm | 442 ++++++++++++++++----------------- gnu/tests/install.scm | 68 ++--- 15 files changed, 600 insertions(+), 605 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b315325034..a0014e7112 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10016,15 +10016,11 @@ program. That gives a lot of flexibility. The program to run in that initrd. @deffn {Monadic Procedure} expression->initrd @var{exp} @ - [#:guile %guile-static-stripped] [#:name "guile-initrd"] @ - [#:modules '()] + [#:guile %guile-static-stripped] [#:name "guile-initrd"] Return a derivation that builds a Linux initrd (a gzipped cpio archive) containing @var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All the derivations referenced by @var{exp} are automatically copied to the initrd. - -@var{modules} is a list of Guile module names to be embedded in the -initrd. @end deffn @node GRUB Configuration diff --git a/gnu/services.scm b/gnu/services.scm index 50e76df818..661835f68e 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -309,10 +309,10 @@ file." one) (_ (computed-file name - #~(begin - (use-modules (guix build union)) - (union-build #$output '#$things)) - #:modules '((guix build union)))))) + (with-imported-modules '((guix build union)) + #~(begin + (use-modules (guix build union)) + (union-build #$output '#$things))))))) (define* (activation-service->script service) "Return as a monadic value the activation script for SERVICE, a service of diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 5eabfec423..d9c60778a1 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1138,44 +1138,44 @@ archive}). If that is not the case, the service will fail to start." "Return the union of the @code{lib/udev/rules.d} directories found in each item of @var{packages}." (define build - #~(begin - (use-modules (guix build union) - (guix build utils) - (srfi srfi-1) - (srfi srfi-26)) + (with-imported-modules '((guix build union) + (guix build utils)) + #~(begin + (use-modules (guix build union) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26)) - (define %standard-locations - '("/lib/udev/rules.d" "/libexec/udev/rules.d")) + (define %standard-locations + '("/lib/udev/rules.d" "/libexec/udev/rules.d")) - (define (rules-sub-directory directory) - ;; Return the sub-directory of DIRECTORY containing udev rules, or - ;; #f if none was found. - (find directory-exists? - (map (cut string-append directory <>) %standard-locations))) + (define (rules-sub-directory directory) + ;; Return the sub-directory of DIRECTORY containing udev rules, or + ;; #f if none was found. + (find directory-exists? + (map (cut string-append directory <>) %standard-locations))) - (mkdir-p (string-append #$output "/lib/udev")) - (union-build (string-append #$output "/lib/udev/rules.d") - (filter-map rules-sub-directory '#$packages)))) + (mkdir-p (string-append #$output "/lib/udev")) + (union-build (string-append #$output "/lib/udev/rules.d") + (filter-map rules-sub-directory '#$packages))))) - (computed-file "udev-rules" build - #:modules '((guix build union) - (guix build utils)))) + (computed-file "udev-rules" build)) (define (udev-rule file-name contents) "Return a directory with a udev rule file FILE-NAME containing CONTENTS." (computed-file file-name - #~(begin - (use-modules (guix build utils)) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) - (define rules.d - (string-append #$output "/lib/udev/rules.d")) + (define rules.d + (string-append #$output "/lib/udev/rules.d")) - (mkdir-p rules.d) - (call-with-output-file - (string-append rules.d "/" #$file-name) - (lambda (port) - (display #$contents port)))) - #:modules '((guix build utils)))) + (mkdir-p rules.d) + (call-with-output-file + (string-append rules.d "/" #$file-name) + (lambda (port) + (display #$contents port))))))) (define kvm-udev-rule ;; Return a directory with a udev rule that changes the group of /dev/kvm to diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index 9a4a13d41d..d06b2dde23 100644 --- a/gnu/services/dbus.scm +++ b/gnu/services/dbus.scm @@ -46,26 +46,27 @@ "Return the system service directory, containing @code{.service} files for all the services that may be activated by the daemon." (computed-file "dbus-system-services" - #~(begin - (use-modules (guix build utils) - (srfi srfi-1)) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (srfi srfi-1)) - (define files - (append-map (lambda (service) - (find-files (string-append - service - "/share/dbus-1/system-services") - "\\.service$")) - (list #$@services))) + (define files + (append-map (lambda (service) + (find-files + (string-append + service + "/share/dbus-1/system-services") + "\\.service$")) + (list #$@services))) - (mkdir #$output) - (for-each (lambda (file) - (symlink file - (string-append #$output "/" - (basename file)))) - files) - #t) - #:modules '((guix build utils)))) + (mkdir #$output) + (for-each (lambda (file) + (symlink file + (string-append #$output "/" + (basename file)))) + files) + #t)))) (define (dbus-configuration-directory services) "Return a directory contains the @code{system-local.conf} file for DBUS that diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 2fb08cd1b3..86214a73bf 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -91,30 +91,33 @@ is set to @var{value} when the bus daemon launches it." (string-append #$service "/" #$program) (cdr (command-line)))))) + (define build + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + + (define service-directory + "/share/dbus-1/system-services") + + (mkdir-p (dirname (string-append #$output + service-directory))) + (copy-recursively (string-append #$service + service-directory) + (string-append #$output + service-directory)) + (symlink (string-append #$service "/etc") ;for etc/dbus-1 + (string-append #$output "/etc")) + + (for-each (lambda (file) + (substitute* file + (("Exec[[:blank:]]*=[[:blank:]]*([[:graph:]]+)(.*)$" + _ original-program arguments) + (string-append "Exec=" #$wrapper arguments + "\n")))) + (find-files #$output "\\.service$"))))) + (computed-file (string-append (package-name service) "-wrapper") - #~(begin - (use-modules (guix build utils)) - - (define service-directory - "/share/dbus-1/system-services") - - (mkdir-p (dirname (string-append #$output - service-directory))) - (copy-recursively (string-append #$service - service-directory) - (string-append #$output - service-directory)) - (symlink (string-append #$service "/etc") ;for etc/dbus-1 - (string-append #$output "/etc")) - - (for-each (lambda (file) - (substitute* file - (("Exec[[:blank:]]*=[[:blank:]]*([[:graph:]]+)(.*)$" - _ original-program arguments) - (string-append "Exec=" #$wrapper arguments - "\n")))) - (find-files #$output "\\.service$"))) - #:modules '((guix build utils)))) + build)) ;;; @@ -408,15 +411,15 @@ Users need to be in the @code{lp} group to access the D-Bus service. (define (polkit-directory packages) "Return a directory containing an @file{actions} and possibly a @file{rules.d} sub-directory, for use as @file{/etc/polkit-1}." - (computed-file "etc-polkit-1" - #~(begin - (use-modules (guix build union) (srfi srfi-26)) + (with-imported-modules '((guix build union)) + (computed-file "etc-polkit-1" + #~(begin + (use-modules (guix build union) (srfi srfi-26)) - (union-build #$output - (map (cut string-append <> - "/share/polkit-1") - (list #$@packages)))) - #:modules '((guix build union)))) + (union-build #$output + (map (cut string-append <> + "/share/polkit-1") + (list #$@packages))))))) (define polkit-etc-files (match-lambda diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index af2a60936b..a77ed3bb80 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner ;;; @@ -345,39 +345,39 @@ keep the system clock synchronized with that of @var{servers}." (($ tor config-file services) (computed-file "torrc" - #~(begin - (use-modules (guix build utils) - (ice-9 match)) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (ice-9 match)) - (call-with-output-file #$output - (lambda (port) - (display "\ + (call-with-output-file #$output + (lambda (port) + (display "\ # The beginning was automatically added. User tor DataDirectory /var/lib/tor Log notice syslog\n" port) - (for-each (match-lambda - ((service (ports hosts) ...) - (format port "\ + (for-each (match-lambda + ((service (ports hosts) ...) + (format port "\ HiddenServiceDir /var/lib/tor/hidden-services/~a~%" - service) - (for-each (lambda (tcp-port host) - (format port "\ + service) + (for-each (lambda (tcp-port host) + (format port "\ HiddenServicePort ~a ~a~%" - tcp-port host)) - ports hosts))) - '#$(map (match-lambda - (($ name mapping) - (cons name mapping))) - services)) + tcp-port host)) + ports hosts))) + '#$(map (match-lambda + (($ name mapping) + (cons name mapping))) + services)) - ;; Append the user's config file. - (call-with-input-file #$config-file - (lambda (input) - (dump-port input port))) - #t))) - #:modules '((guix build utils)))))) + ;; Append the user's config file. + (call-with-input-file #$config-file + (lambda (input) + (dump-port input port))) + #t)))))))) (define (tor-shepherd-service config) "Return a running TOR." diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 9908b9526b..44d12a7e77 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -158,27 +158,27 @@ EndSection "Return a directory that contains the @code{.conf} files for X.org that includes the @code{share/X11/xorg.conf.d} directories of each package listed in @var{modules}." - (computed-file "xorg.conf.d" - #~(begin - (use-modules (guix build utils) - (srfi srfi-1)) + (with-imported-modules '((guix build utils)) + (computed-file "xorg.conf.d" + #~(begin + (use-modules (guix build utils) + (srfi srfi-1)) - (define files - (append-map (lambda (module) - (find-files (string-append - module - "/share/X11/xorg.conf.d") - "\\.conf$")) - (list #$@modules))) + (define files + (append-map (lambda (module) + (find-files (string-append + module + "/share/X11/xorg.conf.d") + "\\.conf$")) + (list #$@modules))) - (mkdir #$output) - (for-each (lambda (file) - (symlink file - (string-append #$output "/" - (basename file)))) - files) - #t) - #:modules '((guix build utils)))) + (mkdir #$output) + (for-each (lambda (file) + (symlink file + (string-append #$output "/" + (basename file)))) + files) + #t)))) (define* (xorg-start-command #:key (guile (canonical-package guile-2.0)) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index de14f6fb4c..329c7aba32 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -55,52 +55,53 @@ under /root/.guix-profile where GUIX is installed." (manifest (list (package->manifest-entry guix)))))) (define build - #~(begin - (use-modules (guix build utils) - (gnu build install)) + (with-imported-modules '((guix build utils) + (guix build store-copy) + (gnu build install)) + #~(begin + (use-modules (guix build utils) + (gnu build install)) - (define %root "root") + (define %root "root") - (setenv "PATH" - (string-append #$guix "/sbin:" #$tar "/bin:" #$xz "/bin")) + (setenv "PATH" + (string-append #$guix "/sbin:" #$tar "/bin:" #$xz "/bin")) - ;; Note: there is not much to gain here with deduplication and there - ;; is the overhead of the '.links' directory, so turn it off. - (populate-single-profile-directory %root - #:profile #$profile - #:closure "profile" - #:deduplicate? #f) + ;; Note: there is not much to gain here with deduplication and + ;; there is the overhead of the '.links' directory, so turn it + ;; off. + (populate-single-profile-directory %root + #:profile #$profile + #:closure "profile" + #:deduplicate? #f) - ;; Create the tarball. Use GNU format so there's no file name - ;; length limitation. - (with-directory-excursion %root - (zero? (system* "tar" "--xz" "--format=gnu" + ;; Create the tarball. Use GNU format so there's no file name + ;; length limitation. + (with-directory-excursion %root + (zero? (system* "tar" "--xz" "--format=gnu" - ;; Avoid non-determinism in the archive. Use - ;; mtime = 1, not zero, because that is what the - ;; daemon does for files in the store (see the - ;; 'mtimeStore' constant in local-store.cc.) - "--sort=name" - "--mtime=@1" ;for files in /var/guix - "--owner=root:0" - "--group=root:0" + ;; Avoid non-determinism in the archive. Use + ;; mtime = 1, not zero, because that is what the + ;; daemon does for files in the store (see the + ;; 'mtimeStore' constant in local-store.cc.) + "--sort=name" + "--mtime=@1" ;for files in /var/guix + "--owner=root:0" + "--group=root:0" - "--check-links" - "-cvf" #$output - ;; Avoid adding / and /var to the tarball, - ;; so that the ownership and permissions of those - ;; directories will not be overwritten when - ;; extracting the archive. Do not include /root - ;; because the root account might have a different - ;; home directory. - "./var/guix" - (string-append "." (%store-directory))))))) + "--check-links" + "-cvf" #$output + ;; Avoid adding / and /var to the tarball, so + ;; that the ownership and permissions of those + ;; directories will not be overwritten when + ;; extracting the archive. Do not include /root + ;; because the root account might have a + ;; different home directory. + "./var/guix" + (string-append "." (%store-directory)))))))) (gexp->derivation "guix-tarball.tar.xz" build - #:references-graphs `(("profile" ,profile)) - #:modules '((guix build utils) - (guix build store-copy) - (gnu build install))))) + #:references-graphs `(("profile" ,profile))))) (define (log-to-info) @@ -212,20 +213,20 @@ the user's target storage device rather than on the RAM disk." (define directory (computed-file "configuration-templates" - #~(begin - (mkdir #$output) - (for-each (lambda (file target) - (copy-file file - (string-append #$output "/" - target))) - '(#$(file "bare-bones.tmpl") - #$(file "desktop.tmpl") - #$(file "lightweight-desktop.tmpl")) - '("bare-bones.scm" - "desktop.scm" - "lightweight-desktop.scm")) - #t) - #:modules '((guix build utils)))) + (with-imported-modules '((guix build utils)) + #~(begin + (mkdir #$output) + (for-each (lambda (file target) + (copy-file file + (string-append #$output "/" + target))) + '(#$(file "bare-bones.tmpl") + #$(file "desktop.tmpl") + #$(file "lightweight-desktop.tmpl")) + '("bare-bones.scm" + "desktop.scm" + "lightweight-desktop.scm")) + #t)))) `(("configuration" ,directory))) diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index 3acc579a6b..2e20379473 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -87,30 +87,28 @@ that will be shared with the host system." #:container? #t))) (define script - #~(begin - (use-modules (gnu build linux-container) - (guix build utils)) + (with-imported-modules '((guix config) + (guix utils) + (guix build utils) + (guix build syscalls) + (guix build bournish) + (gnu build file-systems) + (gnu build linux-container)) + #~(begin + (use-modules (gnu build linux-container) + (guix build utils)) - (call-with-container '#$specs - (lambda () - (setenv "HOME" "/root") - (setenv "TMPDIR" "/tmp") - (setenv "GUIX_NEW_SYSTEM" #$os-drv) - (for-each mkdir-p '("/run" "/bin" "/etc" "/home" "/var")) - (primitive-load (string-append #$os-drv "/boot"))) - ;; A range of 65536 uid/gids is used to cover 16 bits worth of - ;; users and groups, which is sufficient for most cases. - ;; - ;; See: http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html#--private-users= - #:host-uids 65536))) + (call-with-container '#$specs + (lambda () + (setenv "HOME" "/root") + (setenv "TMPDIR" "/tmp") + (setenv "GUIX_NEW_SYSTEM" #$os-drv) + (for-each mkdir-p '("/run" "/bin" "/etc" "/home" "/var")) + (primitive-load (string-append #$os-drv "/boot"))) + ;; A range of 65536 uid/gids is used to cover 16 bits worth of + ;; users and groups, which is sufficient for most cases. + ;; + ;; See: http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html#--private-users= + #:host-uids 65536)))) - (gexp->script "run-container" script - #:modules '((ice-9 match) - (srfi srfi-98) - (guix config) - (guix utils) - (guix build utils) - (guix build syscalls) - (guix build bournish) - (gnu build file-systems) - (gnu build linux-container)))))) + (gexp->script "run-container" script)))) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 8339fae7ed..bbaa5c0f89 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -55,85 +55,81 @@ (guile %guile-static-stripped) (gzip gzip) (name "guile-initrd") - (system (%current-system)) - (modules '())) + (system (%current-system))) "Return a derivation that builds a Linux initrd (a gzipped cpio archive) containing GUILE and that evaluates EXP, a G-expression, upon booting. All -the derivations referenced by EXP are automatically copied to the initrd. - -MODULES is a list of Guile module names to be embedded in the initrd." +the derivations referenced by EXP are automatically copied to the initrd." ;; General Linux overview in `Documentation/early-userspace/README' and ;; `Documentation/filesystems/ramfs-rootfs-initramfs.txt'. (mlet %store-monad ((init (gexp->script "init" exp - #:modules modules #:guile guile))) (define builder - #~(begin - (use-modules (gnu build linux-initrd)) + (with-imported-modules '((guix cpio) + (guix build utils) + (guix build store-copy) + (gnu build linux-initrd)) + #~(begin + (use-modules (gnu build linux-initrd)) - (mkdir #$output) - (build-initrd (string-append #$output "/initrd") - #:guile #$guile - #:init #$init - ;; Copy everything INIT refers to into the initrd. - #:references-graphs '("closure") - #:gzip (string-append #$gzip "/bin/gzip")))) + (mkdir #$output) + (build-initrd (string-append #$output "/initrd") + #:guile #$guile + #:init #$init + ;; Copy everything INIT refers to into the initrd. + #:references-graphs '("closure") + #:gzip (string-append #$gzip "/bin/gzip"))))) - (gexp->derivation name builder - #:modules '((guix cpio) - (guix build utils) - (guix build store-copy) - (gnu build linux-initrd)) - #:references-graphs `(("closure" ,init))))) + (gexp->derivation name builder + #:references-graphs `(("closure" ,init))))) (define (flat-linux-module-directory linux modules) "Return a flat directory containing the Linux kernel modules listed in MODULES and taken from LINUX." (define build-exp - #~(begin - (use-modules (ice-9 match) (ice-9 regex) - (srfi srfi-1) - (guix build utils) - (gnu build linux-modules)) + (with-imported-modules '((guix build utils) + (guix elf) + (gnu build linux-modules)) + #~(begin + (use-modules (ice-9 match) (ice-9 regex) + (srfi srfi-1) + (guix build utils) + (gnu build linux-modules)) - (define (string->regexp str) - ;; Return a regexp that matches STR exactly. - (string-append "^" (regexp-quote str) "$")) + (define (string->regexp str) + ;; Return a regexp that matches STR exactly. + (string-append "^" (regexp-quote str) "$")) - (define module-dir - (string-append #$linux "/lib/modules")) + (define module-dir + (string-append #$linux "/lib/modules")) - (define (lookup module) - (let ((name (ensure-dot-ko module))) - (match (find-files module-dir (string->regexp name)) - ((file) - file) - (() - (error "module not found" name module-dir)) - ((_ ...) - (error "several modules by that name" - name module-dir))))) + (define (lookup module) + (let ((name (ensure-dot-ko module))) + (match (find-files module-dir (string->regexp name)) + ((file) + file) + (() + (error "module not found" name module-dir)) + ((_ ...) + (error "several modules by that name" + name module-dir))))) - (define modules - (let ((modules (map lookup '#$modules))) - (append modules - (recursive-module-dependencies modules - #:lookup-module lookup)))) + (define modules + (let ((modules (map lookup '#$modules))) + (append modules + (recursive-module-dependencies modules + #:lookup-module lookup)))) - (mkdir #$output) - (for-each (lambda (module) - (format #t "copying '~a'...~%" module) - (copy-file module - (string-append #$output "/" - (basename module)))) - (delete-duplicates modules)))) + (mkdir #$output) + (for-each (lambda (module) + (format #t "copying '~a'...~%" module) + (copy-file module + (string-append #$output "/" + (basename module)))) + (delete-duplicates modules))))) - (gexp->derivation "linux-modules" build-exp - #:modules '((guix build utils) - (guix elf) - (gnu build linux-modules)))) + (gexp->derivation "linux-modules" build-exp)) (define* (base-initrd file-systems #:key @@ -227,38 +223,38 @@ loaded at boot time in the order in which they appear." (mlet %store-monad ((kodir (flat-linux-module-directory linux linux-modules))) (expression->initrd - #~(begin - (use-modules (gnu build linux-boot) - (guix build utils) - (guix build bournish) ;add the 'bournish' meta-command - (srfi srfi-26) + (with-imported-modules '((guix build bournish) + (guix build utils) + (guix build syscalls) + (gnu build linux-boot) + (gnu build linux-modules) + (gnu build file-systems) + (guix elf)) + #~(begin + (use-modules (gnu build linux-boot) + (guix build utils) + (guix build bournish) ;add the 'bournish' meta-command + (srfi srfi-26) - ;; FIXME: The following modules are for - ;; LUKS-DEVICE-MAPPING. We should instead propagate - ;; this info via gexps. - ((gnu build file-systems) - #:select (find-partition-by-luks-uuid)) - (rnrs bytevectors)) + ;; FIXME: The following modules are for + ;; LUKS-DEVICE-MAPPING. We should instead propagate + ;; this info via gexps. + ((gnu build file-systems) + #:select (find-partition-by-luks-uuid)) + (rnrs bytevectors)) - (with-output-to-port (%make-void-port "w") - (lambda () - (set-path-environment-variable "PATH" '("bin" "sbin") - '#$helper-packages))) + (with-output-to-port (%make-void-port "w") + (lambda () + (set-path-environment-variable "PATH" '("bin" "sbin") + '#$helper-packages))) - (boot-system #:mounts '#$(map file-system->spec file-systems) - #:pre-mount (lambda () - (and #$@device-mapping-commands)) - #:linux-modules '#$linux-modules - #:linux-module-directory '#$kodir - #:qemu-guest-networking? #$qemu-networking? - #:volatile-root? '#$volatile-root?)) - #:name "base-initrd" - #:modules '((guix build bournish) - (guix build utils) - (guix build syscalls) - (gnu build linux-boot) - (gnu build linux-modules) - (gnu build file-systems) - (guix elf))))) + (boot-system #:mounts '#$(map file-system->spec file-systems) + #:pre-mount (lambda () + (and #$@device-mapping-commands)) + #:linux-modules '#$linux-modules + #:linux-module-directory '#$kodir + #:qemu-guest-networking? #$qemu-networking? + #:volatile-root? '#$volatile-root?))) + #:name "base-initrd"))) ;;; linux-initrd.scm ends here diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm index f9d713e0cf..3bb9f950a8 100644 --- a/gnu/system/locale.scm +++ b/gnu/system/locale.scm @@ -154,10 +154,10 @@ data format changes between libc versions." #:libc libc)) libcs))) (gexp->derivation "locale-multiple-versions" - #~(begin - (use-modules (guix build union)) - (union-build #$output (list #$@dirs))) - #:modules '((guix build union)) + (with-imported-modules '((guix build union)) + #~(begin + (use-modules (guix build union)) + (union-build #$output (list #$@dirs)))) #:local-build? #t #:substitutable? #f))))) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index b8837c63f0..730a9ee091 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -139,10 +139,11 @@ `(fontconfig (dir "/run/current-system/profile/share/fonts"))) (define copy-guile-wm - #~(begin - (use-modules (guix build utils)) - (copy-file (car (find-files #$guile-wm "wm-init-sample.scm")) - #$output))) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (copy-file (car (find-files #$guile-wm "wm-init-sample.scm")) + #$output)))) (let ((profile (plain-file "bash_profile" "\ # Honor per-interactive-shell startup file @@ -176,27 +177,26 @@ alias ll='ls -l'\n")) (zlogin (plain-file "zlogin" "\ # Honor system-wide environment variables source /etc/profile\n")) - (guile-wm (computed-file "guile-wm" copy-guile-wm - #:modules '((guix build utils)))) + (guile-wm (computed-file "guile-wm" copy-guile-wm)) (xdefaults (plain-file "Xdefaults" "\ XTerm*utf8: always XTerm*metaSendsEscape: true\n")) (fonts.conf (computed-file "fonts.conf" - #~(begin - (use-modules (guix build utils) - (sxml simple)) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (sxml simple)) - (define dir - (string-append #$output - "/fontconfig")) + (define dir + (string-append #$output + "/fontconfig")) - (mkdir-p dir) - (call-with-output-file (string-append dir - "/fonts.conf") - (lambda (port) - (sxml->xml '#$fonts.conf-content port)))) - #:modules '((guix build utils)))) + (mkdir-p dir) + (call-with-output-file (string-append dir + "/fonts.conf") + (lambda (port) + (sxml->xml '#$fonts.conf-content port))))))) (gdbinit (plain-file "gdbinit" "\ # Tell GDB where to look for separate debugging files. set debug-file-directory ~/.guix-profile/lib/debug\n"))) @@ -211,22 +211,22 @@ set debug-file-directory ~/.guix-profile/lib/debug\n"))) (define (skeleton-directory skeletons) "Return a directory containing SKELETONS, a list of name/derivation tuples." (computed-file "skel" - #~(begin - (use-modules (ice-9 match) - (guix build utils)) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (ice-9 match) + (guix build utils)) - (mkdir #$output) - (chdir #$output) + (mkdir #$output) + (chdir #$output) - ;; Note: copy the skeletons instead of symlinking - ;; them like 'file-union' does, because 'useradd' - ;; would just copy the symlinks as is. - (for-each (match-lambda - ((target source) - (copy-recursively source target))) - '#$skeletons) - #t) - #:modules '((guix build utils)))) + ;; Note: copy the skeletons instead of symlinking + ;; them like 'file-union' does, because 'useradd' + ;; would just copy the symlinks as is. + (for-each (match-lambda + ((target source) + (copy-recursively source target))) + '#$skeletons) + #t)))) (define (assert-valid-users/groups users groups) "Raise an error if USERS refer to groups not listed in GROUPS." diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 676e89df98..fc5eaf5706 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -155,34 +155,34 @@ made available under the /xchg CIFS share." (define builder ;; Code that launches the VM that evaluates EXP. - #~(begin - (use-modules (guix build utils) - (gnu build vm)) + (with-imported-modules modules + #~(begin + (use-modules (guix build utils) + (gnu build vm)) - (let ((inputs '#$(list qemu coreutils)) - (linux (string-append #$linux "/bzImage")) - (initrd (string-append #$initrd "/initrd")) - (loader #$loader) - (graphs '#$(match references-graphs - (((graph-files . _) ...) graph-files) - (_ #f)))) + (let ((inputs '#$(list qemu coreutils)) + (linux (string-append #$linux "/bzImage")) + (initrd (string-append #$initrd "/initrd")) + (loader #$loader) + (graphs '#$(match references-graphs + (((graph-files . _) ...) graph-files) + (_ #f)))) - (set-path-environment-variable "PATH" '("bin") inputs) + (set-path-environment-variable "PATH" '("bin") inputs) - (load-in-linux-vm loader - #:output #$output - #:linux linux #:initrd initrd - #:memory-size #$memory-size - #:make-disk-image? #$make-disk-image? - #:disk-image-format #$disk-image-format - #:disk-image-size #$disk-image-size - #:references-graphs graphs)))) + (load-in-linux-vm loader + #:output #$output + #:linux linux #:initrd initrd + #:memory-size #$memory-size + #:make-disk-image? #$make-disk-image? + #:disk-image-format #$disk-image-format + #:disk-image-size #$disk-image-size + #:references-graphs graphs))))) (gexp->derivation name builder ;; TODO: Require the "kvm" feature. #:system system #:env-vars env-vars - #:modules modules #:guile-for-build guile-for-build #:references-graphs references-graphs))) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 0013b465b4..a6278b25d4 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -70,125 +70,125 @@ using COMMAND, a gexp that evaluates to a list of strings. Compare some properties of running system to what's declared in OS, an ." (define test - #~(begin - (use-modules (gnu build marionette) - (srfi srfi-1) - (srfi srfi-26) - (srfi srfi-64) - (ice-9 match)) + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-1) + (srfi srfi-26) + (srfi srfi-64) + (ice-9 match)) - (define marionette - (make-marionette #$command)) + (define marionette + (make-marionette #$command)) - (mkdir #$output) - (chdir #$output) + (mkdir #$output) + (chdir #$output) - (test-begin "basic") + (test-begin "basic") - (test-assert "uname" - (match (marionette-eval '(uname) marionette) - (#("Linux" host-name version _ architecture) - (and (string=? host-name - #$(operating-system-host-name os)) - (string-prefix? #$(package-version - (operating-system-kernel os)) - version) - (string-prefix? architecture %host-type))))) + (test-assert "uname" + (match (marionette-eval '(uname) marionette) + (#("Linux" host-name version _ architecture) + (and (string=? host-name + #$(operating-system-host-name os)) + (string-prefix? #$(package-version + (operating-system-kernel os)) + version) + (string-prefix? architecture %host-type))))) - (test-assert "shell and user commands" - ;; Is everything in $PATH? - (zero? (marionette-eval '(system " + (test-assert "shell and user commands" + ;; Is everything in $PATH? + (zero? (marionette-eval '(system " . /etc/profile set -e -x guix --version ls --version grep --version info --version") - marionette))) + marionette))) - (test-assert "accounts" - (let ((users (marionette-eval '(begin - (use-modules (ice-9 match)) - (let loop ((result '())) - (match (getpw) - (#f (reverse result)) - (x (loop (cons x result)))))) - marionette))) - (lset= string=? - (map passwd:name users) - (list - #$@(map user-account-name - (operating-system-user-accounts os)))))) + (test-assert "accounts" + (let ((users (marionette-eval '(begin + (use-modules (ice-9 match)) + (let loop ((result '())) + (match (getpw) + (#f (reverse result)) + (x (loop (cons x result)))))) + marionette))) + (lset= string=? + (map passwd:name users) + (list + #$@(map user-account-name + (operating-system-user-accounts os)))))) - (test-assert "shepherd services" - (let ((services (marionette-eval '(begin - (use-modules (gnu services herd)) - (call-with-values current-services - append)) - marionette))) - (lset= eq? - (pk 'services services) - '(root #$@(operating-system-shepherd-service-names os))))) + (test-assert "shepherd services" + (let ((services (marionette-eval '(begin + (use-modules (gnu services herd)) + (call-with-values current-services + append)) + marionette))) + (lset= eq? + (pk 'services services) + '(root #$@(operating-system-shepherd-service-names os))))) - (test-equal "login on tty1" - "root\n" - (begin - (marionette-control "sendkey ctrl-alt-f1" marionette) - ;; Wait for the 'term-tty1' service to be running (using - ;; 'start-service' is the simplest and most reliable way to do - ;; that.) + (test-equal "login on tty1" + "root\n" + (begin + (marionette-control "sendkey ctrl-alt-f1" marionette) + ;; Wait for the 'term-tty1' service to be running (using + ;; 'start-service' is the simplest and most reliable way to do + ;; that.) + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'term-tty1)) + marionette) + + ;; Now we can type. + (marionette-type "root\n\nid -un > logged-in\n" marionette) + + ;; It can take a while before the shell commands are executed. + (let loop ((i 0)) + (unless (or (file-exists? "/root/logged-in") (> i 15)) + (sleep 1) + (loop (+ i 1)))) + (marionette-eval '(use-modules (rnrs io ports)) marionette) + (marionette-eval '(call-with-input-file "/root/logged-in" + get-string-all) + marionette))) + + (test-assert "host name resolution" + (match (marionette-eval + '(begin + ;; Wait for nscd or our requests go through it. + (use-modules (gnu services herd)) + (start-service 'nscd) + + (list (getaddrinfo "localhost") + (getaddrinfo #$(operating-system-host-name os)))) + marionette) + ((((? vector?) ..1) ((? vector?) ..1)) + #t) + (x + (pk 'failure x #f)))) + + (test-equal "host not found" + #f (marionette-eval - '(begin - (use-modules (gnu services herd)) - (start-service 'term-tty1)) - marionette) + '(false-if-exception (getaddrinfo "does-not-exist")) + marionette)) - ;; Now we can type. - (marionette-type "root\n\nid -un > logged-in\n" marionette) + (test-assert "screendump" + (begin + (marionette-control (string-append "screendump " #$output + "/tty1.ppm") + marionette) + (file-exists? "tty1.ppm"))) - ;; It can take a while before the shell commands are executed. - (let loop ((i 0)) - (unless (or (file-exists? "/root/logged-in") (> i 15)) - (sleep 1) - (loop (+ i 1)))) - (marionette-eval '(use-modules (rnrs io ports)) marionette) - (marionette-eval '(call-with-input-file "/root/logged-in" - get-string-all) - marionette))) + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) - (test-assert "host name resolution" - (match (marionette-eval - '(begin - ;; Wait for nscd or our requests go through it. - (use-modules (gnu services herd)) - (start-service 'nscd) - - (list (getaddrinfo "localhost") - (getaddrinfo #$(operating-system-host-name os)))) - marionette) - ((((? vector?) ..1) ((? vector?) ..1)) - #t) - (x - (pk 'failure x #f)))) - - (test-equal "host not found" - #f - (marionette-eval - '(false-if-exception (getaddrinfo "does-not-exist")) - marionette)) - - (test-assert "screendump" - (begin - (marionette-control (string-append "screendump " #$output - "/tty1.ppm") - marionette) - (file-exists? "tty1.ppm"))) - - (test-end) - (exit (= (test-runner-fail-count (test-runner-current)) 0)))) - - (gexp->derivation name test - #:modules '((gnu build marionette)))) + (gexp->derivation name test)) (define %test-basic-os (system-test @@ -243,67 +243,67 @@ functionality tests.") (command (system-qemu-image/shared-store-script os #:graphic? #f))) (define test - #~(begin - (use-modules (gnu build marionette) - (srfi srfi-64) - (ice-9 match)) + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-64) + (ice-9 match)) - (define marionette - (make-marionette (list #$command))) + (define marionette + (make-marionette (list #$command))) - (define (wait-for-file file) - ;; Wait until FILE exists in the guest; 'read' its content and - ;; return it. - (marionette-eval - `(let loop ((i 10)) - (cond ((file-exists? ,file) - (call-with-input-file ,file read)) - ((> i 0) - (sleep 1) - (loop (- i 1))) - (else - (error "file didn't show up" ,file)))) - marionette)) + (define (wait-for-file file) + ;; Wait until FILE exists in the guest; 'read' its content and + ;; return it. + (marionette-eval + `(let loop ((i 10)) + (cond ((file-exists? ,file) + (call-with-input-file ,file read)) + ((> i 0) + (sleep 1) + (loop (- i 1))) + (else + (error "file didn't show up" ,file)))) + marionette)) - (mkdir #$output) - (chdir #$output) + (mkdir #$output) + (chdir #$output) - (test-begin "mcron") + (test-begin "mcron") - (test-eq "service running" - 'running! - (marionette-eval - '(begin - (use-modules (gnu services herd)) - (start-service 'mcron) - 'running!) - marionette)) + (test-eq "service running" + 'running! + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'mcron) + 'running!) + marionette)) - ;; Make sure root's mcron job runs, has its cwd set to "/root", and - ;; runs with the right UID/GID. - (test-equal "root's job" - '(0 0) - (wait-for-file "/root/witness")) + ;; Make sure root's mcron job runs, has its cwd set to "/root", and + ;; runs with the right UID/GID. + (test-equal "root's job" + '(0 0) + (wait-for-file "/root/witness")) - ;; Likewise for Alice's job. We cannot know what its GID is since - ;; it's chosen by 'groupadd', but it's strictly positive. - (test-assert "alice's job" - (match (wait-for-file "/home/alice/witness") - ((1000 gid) - (>= gid 100)))) + ;; Likewise for Alice's job. We cannot know what its GID is since + ;; it's chosen by 'groupadd', but it's strictly positive. + (test-assert "alice's job" + (match (wait-for-file "/home/alice/witness") + ((1000 gid) + (>= gid 100)))) - ;; Last, the job that uses a command; allows us to test whether - ;; $PATH is sane. (Note that 'marionette-eval' stringifies objects - ;; that don't have a read syntax, hence the string.) - (test-equal "root's job with command" - "#" - (wait-for-file "/root/witness-touch")) + ;; Last, the job that uses a command; allows us to test whether + ;; $PATH is sane. (Note that 'marionette-eval' stringifies objects + ;; that don't have a read syntax, hence the string.) + (test-equal "root's job with command" + "#" + (wait-for-file "/root/witness-touch")) - (test-end) - (exit (= (test-runner-fail-count (test-runner-current)) 0)))) + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) - (gexp->derivation name test - #:modules '((gnu build marionette))))) + (gexp->derivation name test))) (define %test-mcron (system-test @@ -355,90 +355,90 @@ functionality tests.") ".local")) (define test - #~(begin - (use-modules (gnu build marionette) - (srfi srfi-1) - (srfi srfi-64) - (ice-9 match)) + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-1) + (srfi srfi-64) + (ice-9 match)) - (define marionette - (make-marionette (list #$run))) + (define marionette + (make-marionette (list #$run))) - (mkdir #$output) - (chdir #$output) + (mkdir #$output) + (chdir #$output) - (test-begin "avahi") + (test-begin "avahi") - (test-assert "wait for services" - (marionette-eval - '(begin - (use-modules (gnu services herd)) + (test-assert "wait for services" + (marionette-eval + '(begin + (use-modules (gnu services herd)) - (start-service 'nscd) + (start-service 'nscd) - ;; XXX: Work around a race condition in nscd: nscd creates its - ;; PID file before it is listening on its socket. - (let ((sock (socket PF_UNIX SOCK_STREAM 0))) - (let try () - (catch 'system-error - (lambda () - (connect sock AF_UNIX "/var/run/nscd/socket") - (close-port sock) - (format #t "nscd is ready~%")) - (lambda args - (format #t "waiting for nscd...~%") - (usleep 500000) - (try))))) + ;; XXX: Work around a race condition in nscd: nscd creates its + ;; PID file before it is listening on its socket. + (let ((sock (socket PF_UNIX SOCK_STREAM 0))) + (let try () + (catch 'system-error + (lambda () + (connect sock AF_UNIX "/var/run/nscd/socket") + (close-port sock) + (format #t "nscd is ready~%")) + (lambda args + (format #t "waiting for nscd...~%") + (usleep 500000) + (try))))) - ;; Wait for the other useful things. - (start-service 'avahi-daemon) - (start-service 'networking) + ;; Wait for the other useful things. + (start-service 'avahi-daemon) + (start-service 'networking) - #t) - marionette)) + #t) + marionette)) - (test-equal "avahi-resolve-host-name" - 0 - (marionette-eval - '(system* - "/run/current-system/profile/bin/avahi-resolve-host-name" - "-v" #$mdns-host-name) - marionette)) + (test-equal "avahi-resolve-host-name" + 0 + (marionette-eval + '(system* + "/run/current-system/profile/bin/avahi-resolve-host-name" + "-v" #$mdns-host-name) + marionette)) - (test-equal "avahi-browse" - 0 - (marionette-eval - '(system* "avahi-browse" "-avt") - marionette)) + (test-equal "avahi-browse" + 0 + (marionette-eval + '(system* "avahi-browse" "-avt") + marionette)) - (test-assert "getaddrinfo .local" - ;; Wait for the 'avahi-daemon' service and perform a resolution. - (match (marionette-eval - '(getaddrinfo #$mdns-host-name) - marionette) - (((? vector? addrinfos) ..1) - (pk 'getaddrinfo addrinfos) - (and (any (lambda (ai) - (= AF_INET (addrinfo:fam ai))) - addrinfos) - (any (lambda (ai) - (= AF_INET6 (addrinfo:fam ai))) - addrinfos))))) + (test-assert "getaddrinfo .local" + ;; Wait for the 'avahi-daemon' service and perform a resolution. + (match (marionette-eval + '(getaddrinfo #$mdns-host-name) + marionette) + (((? vector? addrinfos) ..1) + (pk 'getaddrinfo addrinfos) + (and (any (lambda (ai) + (= AF_INET (addrinfo:fam ai))) + addrinfos) + (any (lambda (ai) + (= AF_INET6 (addrinfo:fam ai))) + addrinfos))))) - (test-assert "gethostbyname .local" - (match (pk 'gethostbyname - (marionette-eval '(gethostbyname #$mdns-host-name) - marionette)) - ((? vector? result) - (and (string=? (hostent:name result) #$mdns-host-name) - (= (hostent:addrtype result) AF_INET))))) + (test-assert "gethostbyname .local" + (match (pk 'gethostbyname + (marionette-eval '(gethostbyname #$mdns-host-name) + marionette)) + ((? vector? result) + (and (string=? (hostent:name result) #$mdns-host-name) + (= (hostent:addrtype result) AF_INET))))) - (test-end) - (exit (= (test-runner-fail-count (test-runner-current)) 0)))) + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) - (gexp->derivation "nss-mdns" test - #:modules '((gnu build marionette))))) + (gexp->derivation "nss-mdns" test))) (define %test-nss-mdns (system-test diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 2c0db41d69..3c83da151a 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -119,43 +119,45 @@ TARGET-SIZE bytes containing the installed system." os (list target)) #:disk-image-size (* 1500 MiB)))) (define install - #~(begin - (use-modules (guix build utils) - (gnu build marionette)) + (with-imported-modules '((guix build utils) + (gnu build marionette)) + #~(begin + (use-modules (guix build utils) + (gnu build marionette)) - (set-path-environment-variable "PATH" '("bin") - (list #$qemu-minimal)) + (set-path-environment-variable "PATH" '("bin") + (list #$qemu-minimal)) - (system* "qemu-img" "create" "-f" "qcow2" - #$output #$(number->string target-size)) + (system* "qemu-img" "create" "-f" "qcow2" + #$output #$(number->string target-size)) - (define marionette - (make-marionette - (cons (which #$(qemu-command system)) - (cons* "-no-reboot" "-m" "800" - "-drive" - (string-append "file=" #$image - ",if=virtio,readonly") - "-drive" - (string-append "file=" #$output ",if=virtio") - (if (file-exists? "/dev/kvm") - '("-enable-kvm") - '()))))) + (define marionette + (make-marionette + (cons (which #$(qemu-command system)) + (cons* "-no-reboot" "-m" "800" + "-drive" + (string-append "file=" #$image + ",if=virtio,readonly") + "-drive" + (string-append "file=" #$output ",if=virtio") + (if (file-exists? "/dev/kvm") + '("-enable-kvm") + '()))))) - (pk 'uname (marionette-eval '(uname) marionette)) + (pk 'uname (marionette-eval '(uname) marionette)) - ;; Wait for tty1. - (marionette-eval '(begin - (use-modules (gnu services herd)) - (start 'term-tty1)) - marionette) + ;; Wait for tty1. + (marionette-eval '(begin + (use-modules (gnu services herd)) + (start 'term-tty1)) + marionette) - (marionette-eval '(call-with-output-file "/etc/litl-config.scm" - (lambda (port) - (write '#$%minimal-os-source port))) - marionette) + (marionette-eval '(call-with-output-file "/etc/litl-config.scm" + (lambda (port) + (write '#$%minimal-os-source port))) + marionette) - (exit (marionette-eval '(zero? (system " + (exit (marionette-eval '(zero? (system " . /etc/profile set -e -x; guix --version @@ -178,11 +180,9 @@ cp /etc/litl-config.scm /mnt/etc/config.scm guix system init /mnt/etc/config.scm /mnt --no-substitutes sync reboot\n")) - marionette)))) + marionette))))) - (gexp->derivation "installation" install - #:modules '((guix build utils) - (gnu build marionette))))) + (gexp->derivation "installation" install))) (define %test-installed-os From 43dcce8674d9c7d72db4f3f5aae590cea788d5b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 3 Jul 2016 23:31:14 +0200 Subject: [PATCH 313/435] linux-container: Fix list of imported modules. This fixes a regression introduced in 958dd3ce68733bcd5c1231424c7e4ad39e67594a. * gnu/system/linux-container.scm (container-script)[script]: Add (guix combinators) to the list of imported modules. --- gnu/system/linux-container.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index 2e20379473..d3c0036f47 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -89,6 +89,7 @@ that will be shared with the host system." (define script (with-imported-modules '((guix config) (guix utils) + (guix combinators) (guix build utils) (guix build syscalls) (guix build bournish) From dd8d1a30468dae1412762e54801592f6b475f88e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jul 2016 22:19:23 +0200 Subject: [PATCH 314/435] gexp: Factorize load-path-setting expression. * guix/gexp.scm (load-path-expression): New procedure. (gexp->script): Use it. --- guix/gexp.scm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index e9274a05f4..e76a281bba 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -990,6 +990,18 @@ they can refer to each other." (module-ref (resolve-interface '(gnu packages commencement)) 'guile-final)) +(define (load-path-expression modules) + "Return as a monadic value a gexp that sets '%load-path' and +'%load-compiled-path' to point to MODULES, a list of module names." + (mlet %store-monad ((modules (imported-modules modules)) + (compiled (compiled-modules modules))) + (return (gexp (eval-when (expand load eval) + (set! %load-path + (cons (ungexp modules) %load-path)) + (set! %load-compiled-path + (cons (ungexp compiled) + %load-compiled-path))))))) + (define* (gexp->script name exp #:key (modules '()) (guile (default-guile))) "Return an executable script NAME that runs EXP using GUILE with MODULES in @@ -997,8 +1009,7 @@ its search path." (define %modules (append (gexp-modules exp) modules)) - (mlet %store-monad ((modules (imported-modules %modules)) - (compiled (compiled-modules %modules))) + (mlet %store-monad ((set-load-path (load-path-expression %modules))) (gexp->derivation name (gexp (call-with-output-file (ungexp output) @@ -1011,16 +1022,7 @@ its search path." "#!~a/bin/guile --no-auto-compile~%!#~%" (ungexp guile)) - ;; Write the 'eval-when' form so that it can be - ;; compiled. - (write - '(eval-when (expand load eval) - (set! %load-path - (cons (ungexp modules) %load-path)) - (set! %load-compiled-path - (cons (ungexp compiled) - %load-compiled-path))) - port) + (write '(ungexp set-load-path) port) (write '(ungexp exp) port) (chmod port #o555))))))) From 2b4185792d3ec9b43a5c1bb204b6846e5ac0f14a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jul 2016 23:54:18 +0200 Subject: [PATCH 315/435] gexp: 'gexp->file' emits code to set '%load-path'. * guix/gexp.scm (gexp->file): Add #:set-load-path? parameter and honor it. * gnu/system.scm (operating-system-parameters-file): Pass #:set-load-path? #f. * doc/guix.texi (G-Expressions): Adjust accordingly. --- doc/guix.texi | 6 +++++- gnu/system.scm | 3 ++- guix/gexp.scm | 32 +++++++++++++++++++++++--------- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a0014e7112..abd294e886 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3943,8 +3943,12 @@ script, and @var{modules} is the list of modules visible to that script. This is the declarative counterpart of @code{gexp->script}. @end deffn -@deffn {Monadic Procedure} gexp->file @var{name} @var{exp} +@deffn {Monadic Procedure} gexp->file @var{name} @var{exp} @ + [#:set-load-path? #t] Return a derivation that builds a file @var{name} containing @var{exp}. +When @var{set-load-path?} is true, emit code in the resulting file to +set @code{%load-path} and @code{%load-compiled-path} to honor +@var{exp}'s imported modules. The resulting file holds references to all the dependencies of @var{exp} or a subset thereof. diff --git a/gnu/system.scm b/gnu/system.scm index 96ea153cd0..a49b3f29b3 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -731,7 +731,8 @@ this file is the reconstruction of GRUB menu entries for old configurations." (kernel #$(operating-system-kernel os)) (kernel-arguments #$(operating-system-kernel-arguments os)) - (initrd #$initrd))))) + (initrd #$initrd)) + #:set-load-path? #f))) ;;; diff --git a/guix/gexp.scm b/guix/gexp.scm index e76a281bba..60f8905ea4 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1026,15 +1026,29 @@ its search path." (write '(ungexp exp) port) (chmod port #o555))))))) -(define (gexp->file name exp) - "Return a derivation that builds a file NAME containing EXP." - (gexp->derivation name - (gexp - (call-with-output-file (ungexp output) - (lambda (port) - (write '(ungexp exp) port)))) - #:local-build? #t - #:substitutable? #f)) +(define* (gexp->file name exp #:key (set-load-path? #t)) + "Return a derivation that builds a file NAME containing EXP. When +SET-LOAD-PATH? is true, emit code in the resulting file to set '%load-path' +and '%load-compiled-path' to honor EXP's imported modules." + (match (if set-load-path? (gexp-modules exp) '()) + (() ;zero modules + (gexp->derivation name + (gexp + (call-with-output-file (ungexp output) + (lambda (port) + (write '(ungexp exp) port)))) + #:local-build? #t + #:substitutable? #f)) + ((modules ...) + (mlet %store-monad ((set-load-path (load-path-expression modules))) + (gexp->derivation name + (gexp + (call-with-output-file (ungexp output) + (lambda (port) + (write '(ungexp set-load-path) port) + (write '(ungexp exp) port)))) + #:local-build? #t + #:substitutable? #f))))) (define* (text-file* name #:rest text) "Return as a monadic value a derivation that builds a text file containing From fd129893982dcbda639429fc5b19c3715518ba40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 4 Jul 2016 23:58:57 +0200 Subject: [PATCH 316/435] gnu: Use 'gexp->file' in conjunction with 'with-imported-modules'. * gnu/services.scm (activation-script): Remove code to set '%load-path' and use 'with-imported-modules' instead. (cleanup-gexp): Likewise. * gnu/system/vm.scm (%vm-module-closure): New variable. (expression->derivation-in-linux-vm): Remove #:modules. [loader]: Remove code to set '%load-path'. [builder]: Use %VM-MODULE-CLOSURE. (qemu-image): Use 'with-imported-modules'. --- gnu/services.scm | 92 ++++++++++++++++--------------------- gnu/system/vm.scm | 114 ++++++++++++++++++++++------------------------ 2 files changed, 92 insertions(+), 114 deletions(-) diff --git a/gnu/services.scm b/gnu/services.scm index 661835f68e..5479bfae19 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -238,42 +238,33 @@ directory." (define (cleanup-gexp _) "Return as a monadic value a gexp to clean up /tmp and similar places upon boot." - (define %modules - '((guix build utils))) + (with-monad %store-monad + (with-imported-modules '((guix build utils)) + (return #~(begin + (use-modules (guix build utils)) - (mlet %store-monad ((modules (imported-modules %modules)) - (compiled (compiled-modules %modules))) - (return #~(begin - (eval-when (expand load eval) - ;; Make sure 'use-modules' below succeeds. - (set! %load-path (cons #$modules %load-path)) - (set! %load-compiled-path - (cons #$compiled %load-compiled-path))) - - (use-modules (guix build utils)) - - ;; Clean out /tmp and /var/run. - ;; - ;; XXX This needs to happen before service activations, so it - ;; has to be here, but this also implicitly assumes that /tmp - ;; and /var/run are on the root partition. - (letrec-syntax ((fail-safe (syntax-rules () - ((_ exp rest ...) - (begin - (catch 'system-error - (lambda () exp) - (const #f)) - (fail-safe rest ...))) - ((_) - #t)))) - ;; Ignore I/O errors so the system can boot. - (fail-safe - (delete-file-recursively "/tmp") - (delete-file-recursively "/var/run") - (mkdir "/tmp") - (chmod "/tmp" #o1777) - (mkdir "/var/run") - (chmod "/var/run" #o755))))))) + ;; Clean out /tmp and /var/run. + ;; + ;; XXX This needs to happen before service activations, so it + ;; has to be here, but this also implicitly assumes that /tmp + ;; and /var/run are on the root partition. + (letrec-syntax ((fail-safe (syntax-rules () + ((_ exp rest ...) + (begin + (catch 'system-error + (lambda () exp) + (const #f)) + (fail-safe rest ...))) + ((_) + #t)))) + ;; Ignore I/O errors so the system can boot. + (fail-safe + (delete-file-recursively "/tmp") + (delete-file-recursively "/var/run") + (mkdir "/tmp") + (chmod "/tmp" #o1777) + (mkdir "/var/run") + (chmod "/var/run" #o755)))))))) (define cleanup-service-type ;; Service that cleans things up in /tmp and similar. @@ -337,29 +328,22 @@ ACTIVATION-SCRIPT-TYPE." (cut gexp->file "activate-service" <>) gexps)) - (mlet* %store-monad ((actions (service-activations)) - (modules (imported-modules %modules)) - (compiled (compiled-modules %modules))) + (mlet* %store-monad ((actions (service-activations))) (gexp->file "activate" - #~(begin - (eval-when (expand load eval) - ;; Make sure 'use-modules' below succeeds. - (set! %load-path (cons #$modules %load-path)) - (set! %load-compiled-path - (cons #$compiled %load-compiled-path))) + (with-imported-modules %modules + #~(begin + (use-modules (gnu build activation)) - (use-modules (gnu build activation)) + ;; Make sure /bin/sh is valid and current. + (activate-/bin/sh + (string-append #$(canonical-package bash) "/bin/sh")) - ;; Make sure /bin/sh is valid and current. - (activate-/bin/sh - (string-append #$(canonical-package bash) "/bin/sh")) + ;; Run the services' activation snippets. + ;; TODO: Use 'load-compiled'. + (for-each primitive-load '#$actions) - ;; Run the services' activation snippets. - ;; TODO: Use 'load-compiled'. - (for-each primitive-load '#$actions) - - ;; Set up /run/current-system. - (activate-current-system))))) + ;; Set up /run/current-system. + (activate-current-system)))))) (define (gexps->activation-gexp gexps) "Return a gexp that runs the activation script containing GEXPS." diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index fc5eaf5706..c31e3a80ef 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -90,6 +90,21 @@ (options "trans=virtio") (check? #f)))) +(define %vm-module-closure + ;; The closure of (gnu build vm), roughly. + ;; FIXME: Compute it automatically. + '((gnu build vm) + (gnu build install) + (gnu build linux-boot) + (gnu build linux-modules) + (gnu build file-systems) + (guix elf) + (guix records) + (guix build utils) + (guix build syscalls) + (guix build bournish) + (guix build store-copy))) + (define* (expression->derivation-in-linux-vm name exp #:key (system (%current-system)) @@ -97,18 +112,6 @@ initrd (qemu qemu-minimal) (env-vars '()) - (modules - '((gnu build vm) - (gnu build install) - (gnu build linux-boot) - (gnu build linux-modules) - (gnu build file-systems) - (guix elf) - (guix records) - (guix build utils) - (guix build syscalls) - (guix build bournish) - (guix build store-copy))) (guile-for-build (%guile-for-build)) @@ -128,23 +131,13 @@ When MAKE-DISK-IMAGE? is true, then create a QEMU disk image of type DISK-IMAGE-FORMAT (e.g., 'qcow2' or 'raw'), of DISK-IMAGE-SIZE bytes and return it. -MODULES is the set of modules imported in the execution environment of EXP. - When REFERENCES-GRAPHS is true, it must be a list of file name/store path pairs, as for `derivation'. The files containing the reference graphs are made available under the /xchg CIFS share." (mlet* %store-monad - ((module-dir (imported-modules modules)) - (compiled (compiled-modules modules)) - (user-builder (gexp->file "builder-in-linux-vm" exp)) + ((user-builder (gexp->file "builder-in-linux-vm" exp)) (loader (gexp->file "linux-vm-loader" - #~(begin - (set! %load-path - (cons #$module-dir %load-path)) - (set! %load-compiled-path - (cons #$compiled - %load-compiled-path)) - (primitive-load #$user-builder)))) + #~(primitive-load #$user-builder))) (coreutils -> (canonical-package coreutils)) (initrd (if initrd ; use the default initrd? (return initrd) @@ -155,7 +148,7 @@ made available under the /xchg CIFS share." (define builder ;; Code that launches the VM that evaluates EXP. - (with-imported-modules modules + (with-imported-modules %vm-module-closure #~(begin (use-modules (guix build utils) (gnu build vm)) @@ -212,45 +205,46 @@ register INPUTS in the store database of the image so that Guix can be used in the image." (expression->derivation-in-linux-vm name - #~(begin - (use-modules (gnu build vm) - (guix build utils)) + (with-imported-modules %vm-module-closure + #~(begin + (use-modules (gnu build vm) + (guix build utils)) - (let ((inputs - '#$(append (list qemu parted grub e2fsprogs) - (map canonical-package - (list sed grep coreutils findutils gawk)) - (if register-closures? (list guix) '()))) + (let ((inputs + '#$(append (list qemu parted grub e2fsprogs) + (map canonical-package + (list sed grep coreutils findutils gawk)) + (if register-closures? (list guix) '()))) - ;; This variable is unused but allows us to add INPUTS-TO-COPY - ;; as inputs. - (to-register - '#$(map (match-lambda - ((name thing) thing) - ((name thing output) `(,thing ,output))) - inputs))) + ;; This variable is unused but allows us to add INPUTS-TO-COPY + ;; as inputs. + (to-register + '#$(map (match-lambda + ((name thing) thing) + ((name thing output) `(,thing ,output))) + inputs))) - (set-path-environment-variable "PATH" '("bin" "sbin") inputs) + (set-path-environment-variable "PATH" '("bin" "sbin") inputs) - (let* ((graphs '#$(match inputs - (((names . _) ...) - names))) - (initialize (root-partition-initializer - #:closures graphs - #:copy-closures? #$copy-inputs? - #:register-closures? #$register-closures? - #:system-directory #$os-derivation)) - (partitions (list (partition - (size #$(- disk-image-size - (* 10 (expt 2 20)))) - (label #$file-system-label) - (file-system #$file-system-type) - (bootable? #t) - (initializer initialize))))) - (initialize-hard-disk "/dev/vda" - #:partitions partitions - #:grub.cfg #$grub-configuration) - (reboot)))) + (let* ((graphs '#$(match inputs + (((names . _) ...) + names))) + (initialize (root-partition-initializer + #:closures graphs + #:copy-closures? #$copy-inputs? + #:register-closures? #$register-closures? + #:system-directory #$os-derivation)) + (partitions (list (partition + (size #$(- disk-image-size + (* 10 (expt 2 20)))) + (label #$file-system-label) + (file-system #$file-system-type) + (bootable? #t) + (initializer initialize))))) + (initialize-hard-disk "/dev/vda" + #:partitions partitions + #:grub.cfg #$grub-configuration) + (reboot))))) #:system system #:make-disk-image? #t #:disk-image-size disk-image-size From a91c3fc727ba90d8c9b91f67fb672da2e6b877ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jul 2016 00:38:50 +0200 Subject: [PATCH 317/435] services: no longer has an 'imported-modules' field. * gnu/services/shepherd.scm ()[imported-modules]: Remove. (%default-imported-modules): Make private. (shepherd-service-file): Use 'with-imported-modules'. (shepherd-configuration-file): Remove 'modules' and the calls to 'imported-modules' and 'compiled-modules'. Use 'with-imported-modules' instead. * doc/guix.texi (Shepherd Services): Adjust accordingly. * gnu/services/base.scm (file-system-shepherd-service): Use 'with-imported-modules'. Remove 'imported-modules' field. * gnu/system/mapped-devices.scm (device-mapping-service-type): Remove 'imported-modules'. (open-luks-device): Use 'with-imported-modules'. * gnu/tests.scm (marionette-shepherd-service): Remove 'imported-modules' field and use 'with-imported-modules'. --- doc/guix.texi | 4 -- gnu/services/base.scm | 95 ++++++++++++++-------------- gnu/services/shepherd.scm | 41 ++++--------- gnu/system/mapped-devices.scm | 30 ++++----- gnu/tests.scm | 112 +++++++++++++++++----------------- 5 files changed, 131 insertions(+), 151 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index abd294e886..37e854dc59 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10848,10 +10848,6 @@ where @var{service-name} is one of the symbols in @var{provision} This is the list of modules that must be in scope when @code{start} and @code{stop} are evaluated. -@item @code{imported-modules} (default: @var{%default-imported-modules}) -This is the list of modules to import in the execution environment of -the Shepherd. - @end table @end deftp diff --git a/gnu/services/base.scm b/gnu/services/base.scm index d9c60778a1..02e3b41904 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -229,59 +229,58 @@ FILE-SYSTEM." (create? (file-system-create-mount-point? file-system)) (dependencies (file-system-dependencies file-system))) (if (file-system-mount? file-system) - (list - (shepherd-service - (provision (list (file-system->shepherd-service-name file-system))) - (requirement `(root-file-system - ,@(map dependency->shepherd-service-name dependencies))) - (documentation "Check, mount, and unmount the given file system.") - (start #~(lambda args - ;; FIXME: Use or factorize with 'mount-file-system'. - (let ((device (canonicalize-device-spec #$device '#$title)) - (flags #$(mount-flags->bit-mask - (file-system-flags file-system)))) - #$(if create? - #~(mkdir-p #$target) - #~#t) - #$(if check? - #~(begin - ;; Make sure fsck.ext2 & co. can be found. - (setenv "PATH" - (string-append - #$e2fsprogs "/sbin:" - "/run/current-system/profile/sbin:" - (getenv "PATH"))) - (check-file-system device #$type)) - #~#t) + (with-imported-modules '((gnu build file-systems) + (guix build bournish)) + (list + (shepherd-service + (provision (list (file-system->shepherd-service-name file-system))) + (requirement `(root-file-system + ,@(map dependency->shepherd-service-name dependencies))) + (documentation "Check, mount, and unmount the given file system.") + (start #~(lambda args + ;; FIXME: Use or factorize with 'mount-file-system'. + (let ((device (canonicalize-device-spec #$device '#$title)) + (flags #$(mount-flags->bit-mask + (file-system-flags file-system)))) + #$(if create? + #~(mkdir-p #$target) + #~#t) + #$(if check? + #~(begin + ;; Make sure fsck.ext2 & co. can be found. + (setenv "PATH" + (string-append + #$e2fsprogs "/sbin:" + "/run/current-system/profile/sbin:" + (getenv "PATH"))) + (check-file-system device #$type)) + #~#t) - (mount device #$target #$type flags - #$(file-system-options file-system)) + (mount device #$target #$type flags + #$(file-system-options file-system)) - ;; For read-only bind mounts, an extra remount is - ;; needed, as per , - ;; which still applies to Linux 4.0. - (when (and (= MS_BIND (logand flags MS_BIND)) - (= MS_RDONLY (logand flags MS_RDONLY))) - (mount device #$target #$type - (logior MS_BIND MS_REMOUNT MS_RDONLY)))) - #t)) - (stop #~(lambda args - ;; Normally there are no processes left at this point, so - ;; TARGET can be safely unmounted. + ;; For read-only bind mounts, an extra remount is + ;; needed, as per , + ;; which still applies to Linux 4.0. + (when (and (= MS_BIND (logand flags MS_BIND)) + (= MS_RDONLY (logand flags MS_RDONLY))) + (mount device #$target #$type + (logior MS_BIND MS_REMOUNT MS_RDONLY)))) + #t)) + (stop #~(lambda args + ;; Normally there are no processes left at this point, so + ;; TARGET can be safely unmounted. - ;; Make sure PID 1 doesn't keep TARGET busy. - (chdir "/") + ;; Make sure PID 1 doesn't keep TARGET busy. + (chdir "/") - (umount #$target) - #f)) + (umount #$target) + #f)) - ;; We need an additional module. - (modules `(((gnu build file-systems) - #:select (check-file-system canonicalize-device-spec)) - ,@%default-modules)) - (imported-modules `((gnu build file-systems) - (guix build bournish) - ,@%default-imported-modules)))) + ;; We need an additional module. + (modules `(((gnu build file-systems) + #:select (check-file-system canonicalize-device-spec)) + ,@%default-modules))))) '()))) (define file-system-service-type diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 5d829e4c38..f35a6bf10a 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -47,9 +47,7 @@ shepherd-service-stop shepherd-service-auto-start? shepherd-service-modules - shepherd-service-imported-modules - %default-imported-modules %default-modules shepherd-service-file @@ -138,9 +136,7 @@ for a service that extends SHEPHERD-ROOT-SERVICE-TYPE and nothing else." (auto-start? shepherd-service-auto-start? ;Boolean (default #t)) (modules shepherd-service-modules ;list of module names - (default %default-modules)) - (imported-modules shepherd-service-imported-modules ;list of module names - (default %default-imported-modules))) + (default %default-modules))) (define (shepherd-service-canonical-name service) "Return the 'canonical name' of SERVICE." @@ -203,37 +199,26 @@ stored." (define (shepherd-service-file service) "Return a file defining SERVICE." (gexp->file (shepherd-service-file-name service) - #~(begin - (use-modules #$@(shepherd-service-modules service)) + (with-imported-modules %default-imported-modules + #~(begin + (use-modules #$@(shepherd-service-modules service)) - (make - #:docstring '#$(shepherd-service-documentation service) - #:provides '#$(shepherd-service-provision service) - #:requires '#$(shepherd-service-requirement service) - #:respawn? '#$(shepherd-service-respawn? service) - #:start #$(shepherd-service-start service) - #:stop #$(shepherd-service-stop service))))) + (make + #:docstring '#$(shepherd-service-documentation service) + #:provides '#$(shepherd-service-provision service) + #:requires '#$(shepherd-service-requirement service) + #:respawn? '#$(shepherd-service-respawn? service) + #:start #$(shepherd-service-start service) + #:stop #$(shepherd-service-stop service)))))) (define (shepherd-configuration-file services) "Return the shepherd configuration file for SERVICES." - (define modules - (delete-duplicates - (append-map shepherd-service-imported-modules services))) - (assert-valid-graph services) - (mlet %store-monad ((modules (imported-modules modules)) - (compiled (compiled-modules modules)) - (files (mapm %store-monad - shepherd-service-file - services))) + (mlet %store-monad ((files (mapm %store-monad + shepherd-service-file services))) (define config #~(begin - (eval-when (expand load eval) - (set! %load-path (cons #$modules %load-path)) - (set! %load-compiled-path - (cons #$compiled %load-compiled-path))) - (use-modules (srfi srfi-34) (system repl error-handling)) diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index 450b4737ac..732f73cc4b 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -85,9 +85,7 @@ (modules `((rnrs bytevectors) ;bytevector? ((gnu build file-systems) #:select (find-partition-by-luks-uuid)) - ,@%default-modules)) - (imported-modules `((gnu build file-systems) - ,@%default-imported-modules))))))) + ,@%default-modules))))))) (define (device-mapping-service mapped-device) "Return a service that sets up @var{mapped-device}." @@ -101,20 +99,22 @@ (define (open-luks-device source target) "Return a gexp that maps SOURCE to TARGET as a LUKS device, using 'cryptsetup'." - #~(let ((source #$source)) - (zero? (system* (string-append #$cryptsetup "/sbin/cryptsetup") - "open" "--type" "luks" + (with-imported-modules '((gnu build file-systems) + (guix build bournish)) + #~(let ((source #$source)) + (zero? (system* (string-append #$cryptsetup "/sbin/cryptsetup") + "open" "--type" "luks" - ;; Note: We cannot use the "UUID=source" syntax here - ;; because 'cryptsetup' implements it by searching the - ;; udev-populated /dev/disk/by-id directory but udev may - ;; be unavailable at the time we run this. - (if (bytevector? source) - (or (find-partition-by-luks-uuid source) - (error "LUKS partition not found" source)) - source) + ;; Note: We cannot use the "UUID=source" syntax here + ;; because 'cryptsetup' implements it by searching the + ;; udev-populated /dev/disk/by-id directory but udev may + ;; be unavailable at the time we run this. + (if (bytevector? source) + (or (find-partition-by-luks-uuid source) + (error "LUKS partition not found" source)) + source) - #$target)))) + #$target))))) (define (close-luks-device source target) "Return a gexp that closes TARGET, a LUKS device." diff --git a/gnu/tests.scm b/gnu/tests.scm index 1821ac45c5..8abe6c608b 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -80,68 +80,68 @@ (srfi srfi-9 gnu) (guix build syscalls) (rnrs bytevectors))) - (imported-modules `((guix build syscalls) - ,@imported-modules)) (start - #~(lambda () - (define (clear-echo termios) - (set-field termios (termios-local-flags) - (logand (lognot (local-flags ECHO)) - (termios-local-flags termios)))) + (with-imported-modules `((guix build syscalls) + ,@imported-modules) + #~(lambda () + (define (clear-echo termios) + (set-field termios (termios-local-flags) + (logand (lognot (local-flags ECHO)) + (termios-local-flags termios)))) - (define (self-quoting? x) - (letrec-syntax ((one-of (syntax-rules () - ((_) #f) - ((_ pred rest ...) - (or (pred x) - (one-of rest ...)))))) - (one-of symbol? string? pair? null? vector? - bytevector? number? boolean?))) + (define (self-quoting? x) + (letrec-syntax ((one-of (syntax-rules () + ((_) #f) + ((_ pred rest ...) + (or (pred x) + (one-of rest ...)))))) + (one-of symbol? string? pair? null? vector? + bytevector? number? boolean?))) - (match (primitive-fork) - (0 - (dynamic-wind - (const #t) - (lambda () - (let* ((repl (open-file #$device "r+0")) - (termios (tcgetattr (fileno repl))) - (console (open-file "/dev/console" "r+0"))) - ;; Don't echo input back. - (tcsetattr (fileno repl) (tcsetattr-action TCSANOW) - (clear-echo termios)) + (match (primitive-fork) + (0 + (dynamic-wind + (const #t) + (lambda () + (let* ((repl (open-file #$device "r+0")) + (termios (tcgetattr (fileno repl))) + (console (open-file "/dev/console" "r+0"))) + ;; Don't echo input back. + (tcsetattr (fileno repl) (tcsetattr-action TCSANOW) + (clear-echo termios)) - ;; Redirect output to the console. - (close-fdes 1) - (close-fdes 2) - (dup2 (fileno console) 1) - (dup2 (fileno console) 2) - (close-port console) + ;; Redirect output to the console. + (close-fdes 1) + (close-fdes 2) + (dup2 (fileno console) 1) + (dup2 (fileno console) 2) + (close-port console) - (display 'ready repl) - (let loop () - (newline repl) + (display 'ready repl) + (let loop () + (newline repl) - (match (read repl) - ((? eof-object?) - (primitive-exit 0)) - (expr - (catch #t - (lambda () - (let ((result (primitive-eval expr))) - (write (if (self-quoting? result) - result - (object->string result)) - repl))) - (lambda (key . args) - (print-exception (current-error-port) - (stack-ref (make-stack #t) 1) - key args) - (write #f repl))))) - (loop)))) - (lambda () - (primitive-exit 1)))) - (pid - pid)))) + (match (read repl) + ((? eof-object?) + (primitive-exit 0)) + (expr + (catch #t + (lambda () + (let ((result (primitive-eval expr))) + (write (if (self-quoting? result) + result + (object->string result)) + repl))) + (lambda (key . args) + (print-exception (current-error-port) + (stack-ref (make-stack #t) 1) + key args) + (write #f repl))))) + (loop)))) + (lambda () + (primitive-exit 1)))) + (pid + pid))))) (stop #~(make-kill-destructor))))))) (define marionette-service-type From 99b231dee663ce097e56108daacf24310f6c1078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jul 2016 00:54:22 +0200 Subject: [PATCH 318/435] profiles: Use 'with-imported-modules'. * guix/profiles.scm (info-dir-file): Use 'with-imported-modules' instead of the #:module argument to 'gexp->derivation'. (ghc-package-cache-file): Likewise. (ca-certificate-bundle): Likewise. (gtk-icon-themes): Likewise. (xdg-desktop-database): Likewise. (xdg-mime-database): Likewise. (profile-derivation): Likewise. --- guix/profiles.scm | 378 +++++++++++++++++++++++----------------------- 1 file changed, 189 insertions(+), 189 deletions(-) diff --git a/guix/profiles.scm b/guix/profiles.scm index 90c43325a0..77df6ad185 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -489,87 +489,87 @@ MANIFEST." (module-ref (resolve-interface '(gnu packages compression)) 'gzip)) (define build - #~(begin - (use-modules (guix build utils) - (srfi srfi-1) (srfi srfi-26) - (ice-9 ftw)) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (srfi srfi-1) (srfi srfi-26) + (ice-9 ftw)) - (define (info-file? file) - (or (string-suffix? ".info" file) - (string-suffix? ".info.gz" file))) + (define (info-file? file) + (or (string-suffix? ".info" file) + (string-suffix? ".info.gz" file))) - (define (info-files top) - (let ((infodir (string-append top "/share/info"))) - (map (cut string-append infodir "/" <>) - (or (scandir infodir info-file?) '())))) + (define (info-files top) + (let ((infodir (string-append top "/share/info"))) + (map (cut string-append infodir "/" <>) + (or (scandir infodir info-file?) '())))) - (define (install-info info) - (setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files - (zero? - (system* (string-append #+texinfo "/bin/install-info") "--silent" - info (string-append #$output "/share/info/dir")))) + (define (install-info info) + (setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files + (zero? + (system* (string-append #+texinfo "/bin/install-info") "--silent" + info (string-append #$output "/share/info/dir")))) - (mkdir-p (string-append #$output "/share/info")) - (exit (every install-info - (append-map info-files - '#$(manifest-inputs manifest)))))) + (mkdir-p (string-append #$output "/share/info")) + (exit (every install-info + (append-map info-files + '#$(manifest-inputs manifest))))))) (gexp->derivation "info-dir" build - #:modules '((guix build utils)) #:local-build? #t #:substitutable? #f)) (define (ghc-package-cache-file manifest) "Return a derivation that builds the GHC 'package.cache' file for all the entries of MANIFEST, or #f if MANIFEST does not have any GHC packages." - (define ghc ;lazy reference + (define ghc ;lazy reference (module-ref (resolve-interface '(gnu packages haskell)) 'ghc)) (define build - #~(begin - (use-modules (guix build utils) - (srfi srfi-1) (srfi srfi-26) - (ice-9 ftw)) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (srfi srfi-1) (srfi srfi-26) + (ice-9 ftw)) - (define ghc-name-version - (let* ((base (basename #+ghc))) - (string-drop base - (+ 1 (string-index base #\-))))) + (define ghc-name-version + (let* ((base (basename #+ghc))) + (string-drop base + (+ 1 (string-index base #\-))))) - (define db-subdir - (string-append "lib/" ghc-name-version "/package.conf.d")) + (define db-subdir + (string-append "lib/" ghc-name-version "/package.conf.d")) - (define db-dir - (string-append #$output "/" db-subdir)) + (define db-dir + (string-append #$output "/" db-subdir)) - (define (conf-files top) - (let ((db (string-append top "/" db-subdir))) - (if (file-exists? db) - (find-files db "\\.conf$") - '()))) + (define (conf-files top) + (let ((db (string-append top "/" db-subdir))) + (if (file-exists? db) + (find-files db "\\.conf$") + '()))) - (define (copy-conf-file conf) - (let ((base (basename conf))) - (copy-file conf (string-append db-dir "/" base)))) + (define (copy-conf-file conf) + (let ((base (basename conf))) + (copy-file conf (string-append db-dir "/" base)))) - (system* (string-append #+ghc "/bin/ghc-pkg") "init" db-dir) - (for-each copy-conf-file - (append-map conf-files - (delete-duplicates - '#$(manifest-inputs manifest)))) - (let ((success - (zero? - (system* (string-append #+ghc "/bin/ghc-pkg") "recache" - (string-append "--package-db=" db-dir))))) - (for-each delete-file (find-files db-dir "\\.conf$")) - (exit success)))) + (system* (string-append #+ghc "/bin/ghc-pkg") "init" db-dir) + (for-each copy-conf-file + (append-map conf-files + (delete-duplicates + '#$(manifest-inputs manifest)))) + (let ((success + (zero? + (system* (string-append #+ghc "/bin/ghc-pkg") "recache" + (string-append "--package-db=" db-dir))))) + (for-each delete-file (find-files db-dir "\\.conf$")) + (exit success))))) (with-monad %store-monad ;; Don't depend on GHC when there's nothing to do. (if (any (cut string-prefix? "ghc" <>) (map manifest-entry-name (manifest-entries manifest))) (gexp->derivation "ghc-package-cache" build - #:modules '((guix build utils)) #:local-build? #t #:substitutable? #f) (return #f)))) @@ -585,58 +585,58 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx." (module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales)) (define build - #~(begin - (use-modules (guix build utils) - (rnrs io ports) - (srfi srfi-1) - (srfi srfi-26) - (ice-9 ftw) - (ice-9 match)) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (rnrs io ports) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 ftw) + (ice-9 match)) - (define (pem-file? file) - (string-suffix? ".pem" file)) + (define (pem-file? file) + (string-suffix? ".pem" file)) - (define (ca-files top) - (let ((cert-dir (string-append top "/etc/ssl/certs"))) - (map (cut string-append cert-dir "/" <>) - (or (scandir cert-dir pem-file?) '())))) + (define (ca-files top) + (let ((cert-dir (string-append top "/etc/ssl/certs"))) + (map (cut string-append cert-dir "/" <>) + (or (scandir cert-dir pem-file?) '())))) - (define (concatenate-files files result) - "Make RESULT the concatenation of all of FILES." - (define (dump file port) - (display (call-with-input-file file get-string-all) - port) - (newline port)) ;required, see + (define (concatenate-files files result) + "Make RESULT the concatenation of all of FILES." + (define (dump file port) + (display (call-with-input-file file get-string-all) + port) + (newline port)) ;required, see - (call-with-output-file result - (lambda (port) - (for-each (cut dump <> port) files)))) + (call-with-output-file result + (lambda (port) + (for-each (cut dump <> port) files)))) - ;; Some file names in the NSS certificates are UTF-8 encoded so - ;; install a UTF-8 locale. - (setenv "LOCPATH" - (string-append #+glibc-utf8-locales "/lib/locale/" - #+(package-version glibc-utf8-locales))) - (setlocale LC_ALL "en_US.utf8") + ;; Some file names in the NSS certificates are UTF-8 encoded so + ;; install a UTF-8 locale. + (setenv "LOCPATH" + (string-append #+glibc-utf8-locales "/lib/locale/" + #+(package-version glibc-utf8-locales))) + (setlocale LC_ALL "en_US.utf8") - (match (append-map ca-files '#$(manifest-inputs manifest)) - (() - ;; Since there are no CA files, just create an empty directory. Do - ;; not create the etc/ssl/certs sub-directory, since that would - ;; wrongfully lead to a message about 'SSL_CERT_DIR' needing to be - ;; defined. - (mkdir #$output) - #t) - ((ca-files ...) - (let ((result (string-append #$output "/etc/ssl/certs"))) - (mkdir-p result) - (concatenate-files ca-files - (string-append result - "/ca-certificates.crt")) - #t))))) + (match (append-map ca-files '#$(manifest-inputs manifest)) + (() + ;; Since there are no CA files, just create an empty directory. Do + ;; not create the etc/ssl/certs sub-directory, since that would + ;; wrongfully lead to a message about 'SSL_CERT_DIR' needing to be + ;; defined. + (mkdir #$output) + #t) + ((ca-files ...) + (let ((result (string-append #$output "/etc/ssl/certs"))) + (mkdir-p result) + (concatenate-files ca-files + (string-append result + "/ca-certificates.crt")) + #t)))))) (gexp->derivation "ca-certificate-bundle" build - #:modules '((guix build utils)) #:local-build? #t #:substitutable? #f)) @@ -645,44 +645,44 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx." creates the GTK+ 'icon-theme.cache' file for each theme." (mlet %store-monad ((gtk+ (manifest-lookup-package manifest "gtk+"))) (define build - #~(begin - (use-modules (guix build utils) - (guix build union) - (guix build profiles) - (srfi srfi-26) - (ice-9 ftw)) + (with-imported-modules '((guix build utils) + (guix build union) + (guix build profiles) + (guix search-paths) + (guix records)) + #~(begin + (use-modules (guix build utils) + (guix build union) + (guix build profiles) + (srfi srfi-26) + (ice-9 ftw)) - (let* ((destdir (string-append #$output "/share/icons")) - (icondirs (filter file-exists? - (map (cut string-append <> "/share/icons") - '#$(manifest-inputs manifest)))) - (update-icon-cache (string-append - #+gtk+ "/bin/gtk-update-icon-cache"))) + (let* ((destdir (string-append #$output "/share/icons")) + (icondirs (filter file-exists? + (map (cut string-append <> "/share/icons") + '#$(manifest-inputs manifest)))) + (update-icon-cache (string-append + #+gtk+ "/bin/gtk-update-icon-cache"))) - ;; Union all the icons. - (mkdir-p (string-append #$output "/share")) - (union-build destdir icondirs - #:log-port (%make-void-port "w")) + ;; Union all the icons. + (mkdir-p (string-append #$output "/share")) + (union-build destdir icondirs + #:log-port (%make-void-port "w")) - ;; Update the 'icon-theme.cache' file for each icon theme. - (for-each - (lambda (theme) - (let ((dir (string-append destdir "/" theme))) - ;; Occasionally DESTDIR contains plain files, such as - ;; "abiword_48.png". Ignore these. - (when (file-is-directory? dir) - (ensure-writable-directory dir) - (system* update-icon-cache "-t" dir "--quiet")))) - (scandir destdir (negate (cut member <> '("." "..")))))))) + ;; Update the 'icon-theme.cache' file for each icon theme. + (for-each + (lambda (theme) + (let ((dir (string-append destdir "/" theme))) + ;; Occasionally DESTDIR contains plain files, such as + ;; "abiword_48.png". Ignore these. + (when (file-is-directory? dir) + (ensure-writable-directory dir) + (system* update-icon-cache "-t" dir "--quiet")))) + (scandir destdir (negate (cut member <> '("." ".."))))))))) ;; Don't run the hook when there's nothing to do. (if gtk+ (gexp->derivation "gtk-icon-themes" build - #:modules '((guix build utils) - (guix build union) - (guix build profiles) - (guix search-paths) - (guix records)) #:local-build? #t #:substitutable? #f) (return #f)))) @@ -695,28 +695,28 @@ MIME type." (manifest-lookup-package manifest "desktop-file-utils"))) (define build - #~(begin - (use-modules (srfi srfi-26) - (guix build utils) - (guix build union)) - (let* ((destdir (string-append #$output "/share/applications")) - (appdirs (filter file-exists? - (map (cut string-append <> - "/share/applications") - '#$(manifest-inputs manifest)))) - (update-desktop-database (string-append - #+desktop-file-utils - "/bin/update-desktop-database"))) - (mkdir-p (string-append #$output "/share")) - (union-build destdir appdirs - #:log-port (%make-void-port "w")) - (exit (zero? (system* update-desktop-database destdir)))))) + (with-imported-modules '((guix build utils) + (guix build union)) + #~(begin + (use-modules (srfi srfi-26) + (guix build utils) + (guix build union)) + (let* ((destdir (string-append #$output "/share/applications")) + (appdirs (filter file-exists? + (map (cut string-append <> + "/share/applications") + '#$(manifest-inputs manifest)))) + (update-desktop-database (string-append + #+desktop-file-utils + "/bin/update-desktop-database"))) + (mkdir-p (string-append #$output "/share")) + (union-build destdir appdirs + #:log-port (%make-void-port "w")) + (exit (zero? (system* update-desktop-database destdir))))))) ;; Don't run the hook when 'desktop-file-utils' is not referenced. (if desktop-file-utils (gexp->derivation "xdg-desktop-database" build - #:modules '((guix build utils) - (guix build union)) #:local-build? #t #:substitutable? #f) (return #f)))) @@ -728,30 +728,30 @@ entries. It's used to query the MIME type of a given file." (manifest-lookup-package manifest "shared-mime-info"))) (define build - #~(begin - (use-modules (srfi srfi-26) - (guix build utils) - (guix build union)) - (let* ((datadir (string-append #$output "/share")) - (destdir (string-append datadir "/mime")) - (pkgdirs (filter file-exists? - (map (cut string-append <> - "/share/mime/packages") - '#$(manifest-inputs manifest)))) - (update-mime-database (string-append - #+shared-mime-info - "/bin/update-mime-database"))) - (mkdir-p destdir) - (union-build (string-append destdir "/packages") pkgdirs - #:log-port (%make-void-port "w")) - (setenv "XDG_DATA_HOME" datadir) - (exit (zero? (system* update-mime-database destdir)))))) + (with-imported-modules '((guix build utils) + (guix build union)) + #~(begin + (use-modules (srfi srfi-26) + (guix build utils) + (guix build union)) + (let* ((datadir (string-append #$output "/share")) + (destdir (string-append datadir "/mime")) + (pkgdirs (filter file-exists? + (map (cut string-append <> + "/share/mime/packages") + '#$(manifest-inputs manifest)))) + (update-mime-database (string-append + #+shared-mime-info + "/bin/update-mime-database"))) + (mkdir-p destdir) + (union-build (string-append destdir "/packages") pkgdirs + #:log-port (%make-void-port "w")) + (setenv "XDG_DATA_HOME" datadir) + (exit (zero? (system* update-mime-database destdir))))))) ;; Don't run the hook when 'shared-mime-info' is referenced. (if shared-mime-info (gexp->derivation "xdg-mime-database" build - #:modules '((guix build utils) - (guix build union)) #:local-build? #t #:substitutable? #f) (return #f)))) @@ -790,34 +790,34 @@ the monadic procedures listed in HOOKS--such as an Info 'dir' file, etc." (manifest-inputs manifest))) (define builder - #~(begin - (use-modules (guix build profiles) - (guix search-paths) - (srfi srfi-1)) + (with-imported-modules '((guix build profiles) + (guix build union) + (guix build utils) + (guix search-paths) + (guix records)) + #~(begin + (use-modules (guix build profiles) + (guix search-paths) + (srfi srfi-1)) - (setvbuf (current-output-port) _IOLBF) - (setvbuf (current-error-port) _IOLBF) + (setvbuf (current-output-port) _IOLBF) + (setvbuf (current-error-port) _IOLBF) - (define search-paths - ;; Search paths of MANIFEST's packages, converted back to their - ;; record form. - (map sexp->search-path-specification - (delete-duplicates - '#$(map search-path-specification->sexp - (append-map manifest-entry-search-paths - (manifest-entries manifest)))))) + (define search-paths + ;; Search paths of MANIFEST's packages, converted back to their + ;; record form. + (map sexp->search-path-specification + (delete-duplicates + '#$(map search-path-specification->sexp + (append-map manifest-entry-search-paths + (manifest-entries manifest)))))) - (build-profile #$output '#$inputs - #:manifest '#$(manifest->gexp manifest) - #:search-paths search-paths))) + (build-profile #$output '#$inputs + #:manifest '#$(manifest->gexp manifest) + #:search-paths search-paths)))) (gexp->derivation "profile" builder #:system system - #:modules '((guix build profiles) - (guix build union) - (guix build utils) - (guix search-paths) - (guix records)) ;; Not worth offloading. #:local-build? #t From e9b046fddaefbb98c931260821399090c221173d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jul 2016 00:56:37 +0200 Subject: [PATCH 319/435] download: Use 'with-imported-modules'. * guix/cvs-download.scm (cvs-fetch): Use 'with-imported-modules' instead of the #:modules argument of 'gexp->derivation'. * guix/download.scm (url-fetch): Likewise. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise. * guix/svn-download.scm (svn-fetch): Likewise. --- guix/cvs-download.scm | 20 +++++++-------- guix/download.scm | 57 ++++++++++++++++++++++--------------------- guix/git-download.scm | 36 +++++++++++++-------------- guix/hg-download.scm | 22 ++++++++--------- guix/svn-download.scm | 22 ++++++++--------- 5 files changed, 79 insertions(+), 78 deletions(-) diff --git a/guix/cvs-download.scm b/guix/cvs-download.scm index 72478dd2c2..85744c5b55 100644 --- a/guix/cvs-download.scm +++ b/guix/cvs-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2015 Mark H Weaver ;;; @@ -60,13 +60,15 @@ object. The output is expected to have recursive hash HASH of type HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define build - #~(begin - (use-modules (guix build cvs)) - (cvs-fetch '#$(cvs-reference-root-directory ref) - '#$(cvs-reference-module ref) - '#$(cvs-reference-revision ref) - #$output - #:cvs-command (string-append #+cvs "/bin/cvs")))) + (with-imported-modules '((guix build cvs) + (guix build utils)) + #~(begin + (use-modules (guix build cvs)) + (cvs-fetch '#$(cvs-reference-root-directory ref) + '#$(cvs-reference-module ref) + '#$(cvs-reference-revision ref) + #$output + #:cvs-command (string-append #+cvs "/bin/cvs"))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "cvs-checkout") build @@ -74,8 +76,6 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." #:hash-algo hash-algo #:hash hash #:recursive? #t - #:modules '((guix build cvs) - (guix build utils)) #:guile-for-build guile #:local-build? #t))) diff --git a/guix/download.scm b/guix/download.scm index c75a655925..336bc541e0 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -286,33 +286,39 @@ in the store." (any https? url))))) (define builder - #~(begin - #+(if need-gnutls? + (with-imported-modules '((guix build download) + (guix build utils) + (guix ftp-client) + (guix base32) + (guix base64)) + #~(begin + #+(if need-gnutls? - ;; Add GnuTLS to the inputs and to the load path. - #~(eval-when (load expand eval) - (set! %load-path - (cons (string-append #+(gnutls-package) - "/share/guile/site/" - (effective-version)) - %load-path))) - #~#t) + ;; Add GnuTLS to the inputs and to the load path. + #~(eval-when (load expand eval) + (set! %load-path + (cons (string-append #+(gnutls-package) + "/share/guile/site/" + (effective-version)) + %load-path))) + #~#t) - (use-modules (guix build download) - (guix base32)) + (use-modules (guix build download) + (guix base32)) - (let ((value-from-environment (lambda (variable) - (call-with-input-string - (getenv variable) - read)))) - (url-fetch (value-from-environment "guix download url") - #$output - #:mirrors (call-with-input-file #$%mirror-file read) + (let ((value-from-environment (lambda (variable) + (call-with-input-string + (getenv variable) + read)))) + (url-fetch (value-from-environment "guix download url") + #$output + #:mirrors (call-with-input-file #$%mirror-file read) - ;; Content-addressed mirrors. - #:hashes (value-from-environment "guix download hashes") - #:content-addressed-mirrors - (primitive-load #$%content-addressed-mirror-file))))) + ;; Content-addressed mirrors. + #:hashes + (value-from-environment "guix download hashes") + #:content-addressed-mirrors + (primitive-load #$%content-addressed-mirror-file)))))) (let ((uri (and (string? url) (string->uri url)))) (if (or (and (string? url) (not uri)) @@ -325,11 +331,6 @@ in the store." #:system system #:hash-algo hash-algo #:hash hash - #:modules '((guix build download) - (guix build utils) - (guix ftp-client) - (guix base32) - (guix base64)) ;; Use environment variables and a fixed script ;; name so there's only one script in store for diff --git a/guix/git-download.scm b/guix/git-download.scm index 1e5c845e34..9cc6dd3d94 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 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -68,23 +68,25 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." '())) (define build - #~(begin - (use-modules (guix build git) - (guix build utils) - (ice-9 match)) + (with-imported-modules '((guix build git) + (guix build utils)) + #~(begin + (use-modules (guix build git) + (guix build utils) + (ice-9 match)) - ;; The 'git submodule' commands expects Coreutils, sed, - ;; grep, etc. to be in $PATH. - (set-path-environment-variable "PATH" '("bin") - (match '#+inputs - (((names dirs) ...) - dirs))) + ;; The 'git submodule' commands expects Coreutils, sed, + ;; grep, etc. to be in $PATH. + (set-path-environment-variable "PATH" '("bin") + (match '#+inputs + (((names dirs) ...) + dirs))) - (git-fetch '#$(git-reference-url ref) - '#$(git-reference-commit ref) - #$output - #:recursive? '#$(git-reference-recursive? ref) - #:git-command (string-append #+git "/bin/git")))) + (git-fetch '#$(git-reference-url ref) + '#$(git-reference-commit ref) + #$output + #:recursive? '#$(git-reference-recursive? ref) + #:git-command (string-append #+git "/bin/git"))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "git-checkout") build @@ -93,8 +95,6 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." #:hash-algo hash-algo #:hash hash #:recursive? #t - #:modules '((guix build git) - (guix build utils)) #:guile-for-build guile #:local-build? #t))) diff --git a/guix/hg-download.scm b/guix/hg-download.scm index f3e1d2906a..8420980905 100644 --- a/guix/hg-download.scm +++ b/guix/hg-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. @@ -60,15 +60,17 @@ object. The output is expected to have recursive hash HASH of type HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define build - #~(begin - (use-modules (guix build hg) - (guix build utils) - (ice-9 match)) + (with-imported-modules '((guix build hg) + (guix build utils)) + #~(begin + (use-modules (guix build hg) + (guix build utils) + (ice-9 match)) - (hg-fetch '#$(hg-reference-url ref) - '#$(hg-reference-changeset ref) - #$output - #:hg-command (string-append #+hg "/bin/hg")))) + (hg-fetch '#$(hg-reference-url ref) + '#$(hg-reference-changeset ref) + #$output + #:hg-command (string-append #+hg "/bin/hg"))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "hg-checkout") build @@ -77,8 +79,6 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." #:hash-algo hash-algo #:hash hash #:recursive? #t - #:modules '((guix build hg) - (guix build utils)) #:guile-for-build guile))) ;;; hg-download.scm ends here diff --git a/guix/svn-download.scm b/guix/svn-download.scm index dddf6485ce..c1200fa0c5 100644 --- a/guix/svn-download.scm +++ b/guix/svn-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2014 Sree Harsha Totakura ;;; ;;; This file is part of GNU Guix. @@ -59,14 +59,16 @@ object. The output is expected to have recursive hash HASH of type HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define build - #~(begin - (use-modules (guix build svn)) - (svn-fetch '#$(svn-reference-url ref) - '#$(svn-reference-revision ref) - #$output - #:svn-command (string-append #+svn "/bin/svn") - #:user-name #$(svn-reference-user-name ref) - #:password #$(svn-reference-password ref)))) + (with-imported-modules '((guix build svn) + (guix build utils)) + #~(begin + (use-modules (guix build svn)) + (svn-fetch '#$(svn-reference-url ref) + '#$(svn-reference-revision ref) + #$output + #:svn-command (string-append #+svn "/bin/svn") + #:user-name #$(svn-reference-user-name ref) + #:password #$(svn-reference-password ref))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "svn-checkout") build @@ -74,8 +76,6 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." #:hash-algo hash-algo #:hash hash #:recursive? #t - #:modules '((guix build svn) - (guix build utils)) #:guile-for-build guile #:local-build? #t))) From a769bffb65d6ddfc108a4904641b310029f4924f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jul 2016 17:43:19 +0200 Subject: [PATCH 320/435] gexp: 'computed-file' no longer has a #:modules parameter. * guix/gexp.scm ()[modules]: Remove. (computed-file): Remove #:modules. (computed-file-compiler): Likewise. * doc/guix.texi (G-Expressions): Adjust accordingly. --- doc/guix.texi | 5 ++--- guix/gexp.scm | 15 ++++++--------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 37e854dc59..1a14ff9f0e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3898,10 +3898,9 @@ This is the declarative counterpart of @code{text-file}. @end deffn @deffn {Scheme Procedure} computed-file @var{name} @var{gexp} @ - [#:modules '()] [#:options '(#:local-build? #t)] + [#:options '(#:local-build? #t)] Return an object representing the store item @var{name}, a file or -directory computed by @var{gexp}. @var{modules} specifies the set of -modules visible in the execution context of @var{gexp}. @var{options} +directory computed by @var{gexp}. @var{options} is a list of additional arguments to pass to @code{gexp->derivation}. This is the declarative counterpart of @code{gexp->derivation}. diff --git a/guix/gexp.scm b/guix/gexp.scm index 60f8905ea4..ec4fe0896a 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -50,7 +50,6 @@ computed-file? computed-file-name computed-file-gexp - computed-file-modules computed-file-options program-file @@ -273,30 +272,28 @@ This is the declarative counterpart of 'text-file'." (text-file name content references)))) (define-record-type - (%computed-file name gexp modules options) + (%computed-file name gexp options) computed-file? (name computed-file-name) ;string (gexp computed-file-gexp) ;gexp - (modules computed-file-modules) ;list of module names (options computed-file-options)) ;list of arguments (define* (computed-file name gexp - #:key (modules '()) (options '(#:local-build? #t))) + #:key (options '(#:local-build? #t))) "Return an object representing the store item NAME, a file or directory -computed by GEXP. MODULES specifies the set of modules visible in the -execution context of GEXP. OPTIONS is a list of additional arguments to pass +computed by GEXP. OPTIONS is a list of additional arguments to pass to 'gexp->derivation'. This is the declarative counterpart of 'gexp->derivation'." - (%computed-file name gexp modules options)) + (%computed-file name gexp options)) (define-gexp-compiler (computed-file-compiler (file computed-file?) system target) ;; Compile FILE by returning a derivation whose build expression is its ;; gexp. (match file - (($ name gexp modules options) - (apply gexp->derivation name gexp #:modules modules options)))) + (($ name gexp options) + (apply gexp->derivation name gexp options)))) (define-record-type (%program-file name gexp modules guile) From 9c14a487bb3813ec5a555536b6bd1c4160ebb042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jul 2016 17:57:28 +0200 Subject: [PATCH 321/435] gexp: 'program-file' and 'gexp->script' no longer have #:modules. * guix/gexp.scm ()[modules]: Remove. (program-file): Remove #:modules and adjust accordingly. (program-file-compiler): Likewise. (gexp->script): Likewise. --- doc/guix.texi | 6 +++--- guix/gexp.scm | 27 ++++++++++----------------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1a14ff9f0e..6d424b23e0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3908,7 +3908,7 @@ This is the declarative counterpart of @code{gexp->derivation}. @deffn {Monadic Procedure} gexp->script @var{name} @var{exp} Return an executable script @var{name} that runs @var{exp} using -@var{guile} with @var{modules} in its search path. +@var{guile}, with @var{exp}'s imported modules in its search path. The example below builds a script that simply invokes the @command{ls} command: @@ -3934,10 +3934,10 @@ executable file @file{/gnu/store/@dots{}-list-files} along these lines: @end deffn @deffn {Scheme Procedure} program-file @var{name} @var{exp} @ - [#:modules '()] [#:guile #f] + [#:guile #f] Return an object representing the executable store item @var{name} that runs @var{gexp}. @var{guile} is the Guile package used to execute that -script, and @var{modules} is the list of modules visible to that script. +script. This is the declarative counterpart of @code{gexp->script}. @end deffn diff --git a/guix/gexp.scm b/guix/gexp.scm index ec4fe0896a..302879fb42 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -56,7 +56,6 @@ program-file? program-file-name program-file-gexp - program-file-modules program-file-guile scheme-file @@ -296,29 +295,25 @@ This is the declarative counterpart of 'gexp->derivation'." (apply gexp->derivation name gexp options)))) (define-record-type - (%program-file name gexp modules guile) + (%program-file name gexp guile) program-file? (name program-file-name) ;string (gexp program-file-gexp) ;gexp - (modules program-file-modules) ;list of module names (guile program-file-guile)) ;package -(define* (program-file name gexp - #:key (modules '()) (guile #f)) +(define* (program-file name gexp #:key (guile #f)) "Return an object representing the executable store item NAME that runs -GEXP. GUILE is the Guile package used to execute that script, and MODULES is -the list of modules visible to that script. +GEXP. GUILE is the Guile package used to execute that script. This is the declarative counterpart of 'gexp->script'." - (%program-file name gexp modules guile)) + (%program-file name gexp guile)) (define-gexp-compiler (program-file-compiler (file program-file?) system target) ;; Compile FILE by returning a derivation that builds the script. (match file - (($ name gexp modules guile) + (($ name gexp guile) (gexp->script name gexp - #:modules modules #:guile (or guile (default-guile)))))) (define-record-type @@ -1000,13 +995,11 @@ they can refer to each other." %load-compiled-path))))))) (define* (gexp->script name exp - #:key (modules '()) (guile (default-guile))) - "Return an executable script NAME that runs EXP using GUILE with MODULES in -its search path." - (define %modules - (append (gexp-modules exp) modules)) - - (mlet %store-monad ((set-load-path (load-path-expression %modules))) + #:key (guile (default-guile))) + "Return an executable script NAME that runs EXP using GUILE, with EXP's +imported modules in its search path." + (mlet %store-monad ((set-load-path + (load-path-expression (gexp-modules exp)))) (gexp->derivation name (gexp (call-with-output-file (ungexp output) From 66a35ceb43f53c3f3e363714c9a6a402f243670d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jul 2016 18:00:16 +0200 Subject: [PATCH 322/435] gexp: Remove more uses of #:modules. * guix/scripts/system.scm (switch-to-system): Adjust comment. * tests/gexp.scm ("gexp->derivation #:references-graphs"): Use 'with-imported-modules' instead of #:modules. * tests/grafts.scm ("graft-derivation, preserve empty directories"): Likewise. --- guix/scripts/system.scm | 2 +- tests/gexp.scm | 36 ++++++++++++++++++------------------ tests/grafts.scm | 16 ++++++++-------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index dd1e534c9b..e2c6b2efee 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -362,7 +362,7 @@ it atomically, and then run OS's activation script." ;; The activation script may modify '%load-path' & co., so protect ;; against that. This is necessary to ensure that ;; 'upgrade-shepherd-services' gets to see the right modules when it - ;; computes derivations with (gexp->derivation #:modules …). + ;; computes derivations with 'gexp->derivation'. (save-load-path-excursion (primitive-load (derivation->output-path script)))) diff --git a/tests/gexp.scm b/tests/gexp.scm index 36ce66f7cc..03a64fa6bb 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -601,26 +601,26 @@ ((one (text-file "one" (random-text))) (two (gexp->derivation "two" #~(symlink #$one #$output:chbouib))) - (drv (gexp->derivation "ref-graphs" - #~(begin - (use-modules (guix build store-copy)) - (with-output-to-file #$output - (lambda () - (write (call-with-input-file "guile" - read-reference-graph)))) - (with-output-to-file #$output:one - (lambda () - (write (call-with-input-file "one" - read-reference-graph)))) - (with-output-to-file #$output:two - (lambda () - (write (call-with-input-file "two" - read-reference-graph))))) + (build -> (with-imported-modules '((guix build store-copy) + (guix build utils)) + #~(begin + (use-modules (guix build store-copy)) + (with-output-to-file #$output + (lambda () + (write (call-with-input-file "guile" + read-reference-graph)))) + (with-output-to-file #$output:one + (lambda () + (write (call-with-input-file "one" + read-reference-graph)))) + (with-output-to-file #$output:two + (lambda () + (write (call-with-input-file "two" + read-reference-graph))))))) + (drv (gexp->derivation "ref-graphs" build #:references-graphs `(("one" ,one) ("two" ,two "chbouib") - ("guile" ,%bootstrap-guile)) - #:modules '((guix build store-copy) - (guix build utils)))) + ("guile" ,%bootstrap-guile)))) (ok? (built-derivations (list drv))) (guile-drv (package->derivation %bootstrap-guile)) (bash (interned-file (search-bootstrap-binary "bash" diff --git a/tests/grafts.scm b/tests/grafts.scm index 8cd048552c..13c56750ed 100644 --- a/tests/grafts.scm +++ b/tests/grafts.scm @@ -135,14 +135,14 @@ (replacement fake))) (drv (gexp->derivation "to-graft" - #~(begin - (use-modules (guix build utils)) - (mkdir-p (string-append #$output - "/a/b/c/d")) - (symlink #$%bash - (string-append #$output - "/bash"))) - #:modules '((guix build utils)))) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (mkdir-p (string-append #$output + "/a/b/c/d")) + (symlink #$%bash + (string-append #$output + "/bash")))))) (grafted ((store-lift graft-derivation) drv (list graft))) (_ (built-derivations (list grafted))) From c1629416d89b187b1f37ed0c834570846f8a087a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jul 2016 21:56:22 +0200 Subject: [PATCH 323/435] gnu: Remove unneeded 'imported-modules' fields for 'origin'. * gnu/packages/engineering.scm (fastcap)[source](modules, imported-modules): Remove. * gnu/packages/wm.scm (awesome)[source](imported-modules): Remove. * tests/packages.scm ("package-source-derivation, snippet"): Remove 'imported-modules' field. --- gnu/packages/engineering.scm | 4 ---- gnu/packages/wm.scm | 1 - tests/packages.scm | 1 - 3 files changed, 6 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index a045bf2a55..9066386646 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -229,10 +229,6 @@ optimizer; and it can produce photorealistic and design review images.") (snippet ;; Remove a non-free file. '(delete-file "doc/psfig.sty")) - (modules '((guix build utils) - (guix build download) - (guix ftp-client))) - (imported-modules modules) (patches (search-patches "fastcap-mulSetup.patch" "fastcap-mulGlobal.patch")))) (build-system gnu-build-system) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index f385d2b4fb..790c74bbfd 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -393,7 +393,6 @@ experience.") "1m910lr7wkw2dgzmirfvz7dasfswhhccdf65l21iiciv24c3w1bb")) (modules '((guix build utils) (srfi srfi-19))) - (imported-modules '((guix build utils))) (snippet ;; Remove non-reproducible timestamp and use the date of the ;; source file instead. diff --git a/tests/packages.scm b/tests/packages.scm index 94f5ea71a5..fc75e38730 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -335,7 +335,6 @@ ("patch" ,%bootstrap-coreutils&co))) (patch-guile %bootstrap-guile) (modules '((guix build utils))) - (imported-modules modules) (snippet '(begin ;; We end up in 'bin', because it's the first ;; directory, alphabetically. Not a very good From 1929fdba80ab2432d0a9c27633c94a79fb3bb170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jul 2016 22:23:12 +0200 Subject: [PATCH 324/435] packages: no longer has an 'imported-modules' field. * guix/packages.scm ()[imported-modules]: Remove. (patch-and-repack): Remove #:imported-modules. Use 'with-imported-modules'. Remove #:modules argument to 'gexp->derivation'. (origin->derivation): Adjust accordingly. * doc/guix.texi (origin Reference): Adjust accordingly. --- doc/guix.texi | 9 +-- guix/packages.scm | 185 ++++++++++++++++++++++------------------------ 2 files changed, 93 insertions(+), 101 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6d424b23e0..67ece1d23f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2697,8 +2697,9 @@ file name explicitly because the default is not very descriptive. A list of file names containing patches to be applied to the source. @item @code{snippet} (default: @code{#f}) -A quoted piece of code that will be run in the source directory to make -any modifications, which is sometimes more convenient than a patch. +A G-expression (@pxref{G-Expressions}) or S-expression that will be run +in the source directory. This is a convenient way to modify the source, +sometimes more convenient than a patch. @item @code{patch-flags} (default: @code{'("-p1")}) A list of command-line flags that should be passed to the @code{patch} @@ -2713,10 +2714,6 @@ such as GNU@tie{}Patch. A list of Guile modules that should be loaded during the patching process and while running the code in the @code{snippet} field. -@item @code{imported-modules} (default: @code{'()}) -The list of Guile modules to import in the patch derivation, for use by -the @code{snippet}. - @item @code{patch-guile} (default: @code{#f}) The Guile package that should be used in the patching process. When this is @code{#f}, a sensible default is used. diff --git a/guix/packages.scm b/guix/packages.scm index acb8f34417..bfb4c557ab 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -56,7 +56,6 @@ origin-patch-guile origin-snippet origin-modules - origin-imported-modules base32 package @@ -164,8 +163,7 @@ (default #f)) (modules origin-modules ; list of module names (default '())) - (imported-modules origin-imported-modules ; list of module names - (default '())) + (patch-guile origin-patch-guile ; package or #f (default #f))) @@ -381,14 +379,13 @@ the build code of derivation." (snippet #f) (flags '("-p1")) (modules '()) - (imported-modules '()) (guile-for-build (%guile-for-build)) (system (%current-system))) "Unpack SOURCE (a derivation or store path), apply all of PATCHES, and repack the tarball using the tools listed in INPUTS. When SNIPPET is true, it must be an s-expression that will run from within the directory where -SOURCE was unpacked, after all of PATCHES have been applied. MODULES and -IMPORTED-MODULES specify modules to use/import for use by SNIPPET." +SOURCE was unpacked, after all of PATCHES have been applied. MODULES +specifies modules in scope when evaluating SNIPPET." (define source-file-name ;; SOURCE is usually a derivation, but it could be a store file. (if (derivation? source) @@ -449,107 +446,107 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET." (patches (sequence %store-monad (map instantiate-patch patches)))) (define build - #~(begin - (use-modules (ice-9 ftw) - (srfi srfi-1) - (guix build utils)) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (ice-9 ftw) + (srfi srfi-1) + (guix build utils)) - ;; The --sort option was added to GNU tar in version 1.28, released - ;; 2014-07-28. During bootstrap we must cope with older versions. - (define tar-supports-sort? - (zero? (system* (string-append #+tar "/bin/tar") - "cf" "/dev/null" "--files-from=/dev/null" - "--sort=name"))) + ;; The --sort option was added to GNU tar in version 1.28, released + ;; 2014-07-28. During bootstrap we must cope with older versions. + (define tar-supports-sort? + (zero? (system* (string-append #+tar "/bin/tar") + "cf" "/dev/null" "--files-from=/dev/null" + "--sort=name"))) - (define (apply-patch patch) - (format (current-error-port) "applying '~a'...~%" patch) + (define (apply-patch patch) + (format (current-error-port) "applying '~a'...~%" patch) - ;; Use '--force' so that patches that do not apply perfectly are - ;; rejected. - (zero? (system* (string-append #+patch "/bin/patch") - "--force" #+@flags "--input" patch))) + ;; Use '--force' so that patches that do not apply perfectly are + ;; rejected. + (zero? (system* (string-append #+patch "/bin/patch") + "--force" #+@flags "--input" patch))) - (define (first-file directory) - ;; Return the name of the first file in DIRECTORY. - (car (scandir directory - (lambda (name) - (not (member name '("." ".."))))))) + (define (first-file directory) + ;; Return the name of the first file in DIRECTORY. + (car (scandir directory + (lambda (name) + (not (member name '("." ".."))))))) - ;; Encoding/decoding errors shouldn't be silent. - (fluid-set! %default-port-conversion-strategy 'error) + ;; Encoding/decoding errors shouldn't be silent. + (fluid-set! %default-port-conversion-strategy 'error) - (when #+locales - ;; First of all, install a UTF-8 locale so that UTF-8 file names - ;; are correctly interpreted. During bootstrap, LOCALES is #f. - (setenv "LOCPATH" - (string-append #+locales "/lib/locale/" - #+(and locales - (package-version locales)))) - (setlocale LC_ALL "en_US.utf8")) + (when #+locales + ;; First of all, install a UTF-8 locale so that UTF-8 file names + ;; are correctly interpreted. During bootstrap, LOCALES is #f. + (setenv "LOCPATH" + (string-append #+locales "/lib/locale/" + #+(and locales + (package-version locales)))) + (setlocale LC_ALL "en_US.utf8")) - (setenv "PATH" (string-append #+xz "/bin" ":" - #+decomp "/bin")) + (setenv "PATH" (string-append #+xz "/bin" ":" + #+decomp "/bin")) - ;; SOURCE may be either a directory or a tarball. - (and (if (file-is-directory? #+source) - (let* ((store (%store-directory)) - (len (+ 1 (string-length store))) - (base (string-drop #+source len)) - (dash (string-index base #\-)) - (directory (string-drop base (+ 1 dash)))) - (mkdir directory) - (copy-recursively #+source directory) - #t) - #+(if (string=? decompression-type "unzip") - #~(zero? (system* "unzip" #+source)) - #~(zero? (system* (string-append #+tar "/bin/tar") - "xvf" #+source)))) - (let ((directory (first-file "."))) - (format (current-error-port) - "source is under '~a'~%" directory) - (chdir directory) + ;; SOURCE may be either a directory or a tarball. + (and (if (file-is-directory? #+source) + (let* ((store (%store-directory)) + (len (+ 1 (string-length store))) + (base (string-drop #+source len)) + (dash (string-index base #\-)) + (directory (string-drop base (+ 1 dash)))) + (mkdir directory) + (copy-recursively #+source directory) + #t) + #+(if (string=? decompression-type "unzip") + #~(zero? (system* "unzip" #+source)) + #~(zero? (system* (string-append #+tar "/bin/tar") + "xvf" #+source)))) + (let ((directory (first-file "."))) + (format (current-error-port) + "source is under '~a'~%" directory) + (chdir directory) - (and (every apply-patch '#+patches) - #+@(if snippet - #~((let ((module (make-fresh-user-module))) - (module-use-interfaces! module - (map resolve-interface - '#+modules)) - ((@ (system base compile) compile) - '#+snippet - #:to 'value - #:opts %auto-compilation-options - #:env module))) - #~()) + (and (every apply-patch '#+patches) + #+@(if snippet + #~((let ((module (make-fresh-user-module))) + (module-use-interfaces! + module + (map resolve-interface '#+modules)) + ((@ (system base compile) compile) + '#+snippet + #:to 'value + #:opts %auto-compilation-options + #:env module))) + #~()) - (begin (chdir "..") #t) + (begin (chdir "..") #t) - (unless tar-supports-sort? - (call-with-output-file ".file_list" - (lambda (port) - (for-each (lambda (name) (format port "~a~%" name)) - (find-files directory - #:directories? #t - #:fail-on-error? #t))))) - (zero? (apply system* (string-append #+tar "/bin/tar") - "cvfa" #$output - ;; avoid non-determinism in the archive - "--mtime=@0" - "--owner=root:0" - "--group=root:0" - (if tar-supports-sort? - `("--sort=name" - ,directory) - '("--no-recursion" - "--files-from=.file_list"))))))))) + (unless tar-supports-sort? + (call-with-output-file ".file_list" + (lambda (port) + (for-each (lambda (name) + (format port "~a~%" name)) + (find-files directory + #:directories? #t + #:fail-on-error? #t))))) + (zero? (apply system* + (string-append #+tar "/bin/tar") + "cvfa" #$output + ;; avoid non-determinism in the archive + "--mtime=@0" + "--owner=root:0" + "--group=root:0" + (if tar-supports-sort? + `("--sort=name" + ,directory) + '("--no-recursion" + "--files-from=.file_list")))))))))) - (let ((name (tarxz-name original-file-name)) - (modules (delete-duplicates (cons '(guix build utils) - imported-modules)))) + (let ((name (tarxz-name original-file-name))) (gexp->derivation name build #:graft? #f #:system system - #:modules modules #:guile-for-build guile-for-build)))) (define (transitive-inputs inputs) @@ -1138,8 +1135,7 @@ cross-compilation target triplet." ;; No patches, no snippet: this is a fixed-output derivation. (method uri 'sha256 sha256 name #:system system)) (($ uri method sha256 name (= force (patches ...)) snippet - (flags ...) inputs (modules ...) (imported-modules ...) - guile-for-build) + (flags ...) inputs (modules ...) guile-for-build) ;; Patches and/or a snippet. (mlet %store-monad ((source (method uri 'sha256 sha256 name #:system system)) @@ -1153,7 +1149,6 @@ cross-compilation target triplet." #:flags flags #:system system #:modules modules - #:imported-modules imported-modules #:guile-for-build guile))))) (define-gexp-compiler (origin-compiler (origin origin?) system target) From bdff55eac313016b9de6605f52528909f73b0db3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Jul 2016 22:26:25 +0200 Subject: [PATCH 325/435] gnu: emacs-flycheck: Add missing dependency on emacs-seq. Fixes a regression introduced in afb6fdaa5de2607261015372f31b1c19fd503a61. * gnu/packages/emacs.scm (flycheck)[propagated-inputs]: Add EMACS-SEQ. --- gnu/packages/emacs.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 12414bd963..3e6a2b5df4 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -710,7 +710,8 @@ the body are let-bound and this search is done at compile time.") (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) - ("emacs-let-alist" ,let-alist))) + ("emacs-let-alist" ,let-alist) + ("emacs-seq" ,emacs-seq))) (home-page "https://www.flycheck.org") (synopsis "On-the-fly syntax checking") (description From abba1d087e296042a8a337e86af84794b449e303 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 16 Jun 2016 23:58:45 +0200 Subject: [PATCH 326/435] gnu: Add gptfdisk. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/disk.scm (gptfdisk): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/disk.scm | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index c60eacb15e..83ba4e4f7c 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,9 +26,12 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages gettext) #:use-module (gnu packages linux) + #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) + #:use-module (gnu packages popt) #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages guile) @@ -97,6 +101,46 @@ fdisk. fdisk is used for the creation and manipulation of disk partition tables, and it understands a variety of different formats.") (license gpl3+))) +(define-public gptfdisk + (package + (name "gptfdisk") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/gptfdisk/gptfdisk/" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "1izazbyv5n2d81qdym77i8mg9m870hiydmq4d0s51npx5vp8lk46")))) + (build-system gnu-build-system) + (inputs + `(("gettext" ,gnu-gettext) + ("ncurses" ,ncurses) + ("popt" ,popt) + ("util-linux" ,util-linux))) ; libuuid + (arguments + `(#:test-target "test" + #:phases + (modify-phases %standard-phases + ;; no configure script + (delete 'configure) + ;; no install target + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "gdisk" bin) + (install-file "sgdisk" bin) + (install-file "cgdisk" bin) + (install-file "fixparts" bin))))))) + (home-page "http://www.rodsbooks.com/gdisk/") + (synopsis "Low-level GPT disk partitioning and formatting") + (description "GPT fdisk (aka gdisk) is a text-mode partitioning tool that +works on Globally Unique Identifier (GUID) Partition Table (GPT) disks, rather +than on the more common (through 2009) Master Boot Record (MBR) partition +tables.") + (license gpl2))) + (define-public ddrescue (package (name "ddrescue") From cd4c41fdcf469524161fbbec58c2756f36bcef56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jul 2016 00:32:36 +0200 Subject: [PATCH 327/435] download: Attempt to update SourceForge mirror URLs. * guix/download.scm (%mirrors)[sourceforge]: End in "/project" instead of "/sourceforge". Remove a couple of dangling URLs. --- guix/download.scm | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/guix/download.scm b/guix/download.scm index 336bc541e0..bcb043ba80 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -99,27 +99,23 @@ "http://www.centervenus.com/mirrors/nongnu/" "http://download.savannah.gnu.org/releases-noredirect/") (sourceforge ; https://sourceforge.net/p/forge/documentation/Mirrors/ - "http://prdownloads.sourceforge.net/" - "http://heanet.dl.sourceforge.net/sourceforge/" - "http://dfn.dl.sourceforge.net/sourceforge/" - "http://freefr.dl.sourceforge.net/sourceforge/" - "http://internode.dl.sourceforge.net/sourceforge/" - "http://iweb.dl.sourceforge.net/sourceforge/" - "http://jaist.dl.sourceforge.net/sourceforge/" - "http://kaz.dl.sourceforge.net/sourceforge/" - "http://kent.dl.sourceforge.net/sourceforge/" - "http://liquidtelecom.dl.sourceforge.net/sourceforge/" - "http://nbtelecom.dl.sourceforge.net/sourceforge/" - "http://nchc.dl.sourceforge.net/sourceforge/" - "http://ncu.dl.sourceforge.net/sourceforge/" - "http://netcologne.dl.sourceforge.net/sourceforge/" - "http://netix.dl.sourceforge.net/sourceforge/" - "http://pilotfiber.dl.sourceforge.net/sourceforge/" - "http://superb-sea2.dl.sourceforge.net/sourceforge/" - "http://tenet.dl.sourceforge.net/sourceforge/" - "http://ufpr.dl.sourceforge.net/sourceforge/" - "http://vorboss.dl.sourceforge.net/sourceforge/" - "http://netassist.dl.sourceforge.net/sourceforge/") + "http://ufpr.dl.sourceforge.net/project/" + "http://heanet.dl.sourceforge.net/project/" + "http://freefr.dl.sourceforge.net/project/" + "http://internode.dl.sourceforge.net/project/" + "http://jaist.dl.sourceforge.net/project/" + "http://kent.dl.sourceforge.net/project/" + "http://liquidtelecom.dl.sourceforge.net/project/" + "http://nbtelecom.dl.sourceforge.net/project/" + "http://nchc.dl.sourceforge.net/project/" + "http://ncu.dl.sourceforge.net/project/" + "http://netcologne.dl.sourceforge.net/project/" + "http://netix.dl.sourceforge.net/project/" + "http://pilotfiber.dl.sourceforge.net/project/" + "http://superb-sea2.dl.sourceforge.net/project/" + "http://tenet.dl.sourceforge.net/project/" + "http://vorboss.dl.sourceforge.net/project/" + "http://netassist.dl.sourceforge.net/project/") (kernel.org "http://www.all.kernel.org/pub/" "http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/" From bfcb3d767bbc24dc6c6d834619073351fbcc61b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jul 2016 00:50:05 +0200 Subject: [PATCH 328/435] lint: 'validate-uri' reports suspiciously small 200 responses. * guix/scripts/lint.scm (validate-uri): Upon 200 http-response, check the 'response-content-length' and emit a warning when it is <= 1000. * tests/lint.scm (call-with-http-server): Add 'data' parameter. (with-http-server): Likewise. (%long-string): New variable. ("home-page: 200"): Pass %LONG-STRING to 'with-http-server'. ("home-page: 404", "source: 200", "source: 404"): Likewise. ("home-page: 200 but short length"): New test. ("source: 200 but short length"): New test. --- guix/scripts/lint.scm | 17 +++++++++++++- tests/lint.scm | 52 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 57 insertions(+), 12 deletions(-) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index b4fdb6f905..d5e9197cc9 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -359,7 +359,22 @@ warning for PACKAGE mentionning the FIELD." (probe-uri uri #:timeout 3))) ;wait at most 3 seconds (case status ((http-response) - (or (= 200 (response-code argument)) + (if (= 200 (response-code argument)) + (match (response-content-length argument) + ((? number? length) + ;; As of July 2016, SourceForge returns 200 (instead of 404) + ;; with a small HTML page upon failure. Attempt to detect such + ;; malicious behavior. + (or (> length 1000) + (begin + (emit-warning package + (format #f + (_ "URI ~a returned \ +suspiciously small file (~a bytes)") + (uri->string uri) + length)) + #f))) + (_ #t)) (begin (emit-warning package (format #f diff --git a/tests/lint.scm b/tests/lint.scm index 1f1b0c95e9..ce751c42c9 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -102,14 +102,14 @@ http-write (@@ (web server http) http-close)) -(define (call-with-http-server code thunk) - "Call THUNK with an HTTP server running and returning CODE on HTTP -requests." +(define (call-with-http-server code data thunk) + "Call THUNK with an HTTP server running and returning CODE and DATA (a +string) on HTTP requests." (define (server-body) (define (handle request body) (values (build-response #:code code #:reason-phrase "Such is life") - "Hello, world.")) + data)) (catch 'quit (lambda () @@ -123,8 +123,11 @@ requests." ;; Normally SERVER exits automatically once it has received a request. (thunk)))) -(define-syntax-rule (with-http-server code body ...) - (call-with-http-server code (lambda () body ...))) +(define-syntax-rule (with-http-server code data body ...) + (call-with-http-server code data (lambda () body ...))) + +(define %long-string + (make-string 2000 #\a)) (test-begin "lint") @@ -402,18 +405,30 @@ requests." (test-equal "home-page: 200" "" (with-warnings - (with-http-server 200 + (with-http-server 200 %long-string (let ((pkg (package (inherit (dummy-package "x")) (home-page %local-url)))) (check-home-page pkg))))) +(test-skip (if %http-server-socket 0 1)) +(test-assert "home-page: 200 but short length" + (->bool + (string-contains + (with-warnings + (with-http-server 200 "This is too small." + (let ((pkg (package + (inherit (dummy-package "x")) + (home-page %local-url)))) + (check-home-page pkg)))) + "suspiciously small"))) + (test-skip (if %http-server-socket 0 1)) (test-assert "home-page: 404" (->bool (string-contains (with-warnings - (with-http-server 404 + (with-http-server 404 %long-string (let ((pkg (package (inherit (dummy-package "x")) (home-page %local-url)))) @@ -501,7 +516,7 @@ requests." (test-equal "source: 200" "" (with-warnings - (with-http-server 200 + (with-http-server 200 %long-string (let ((pkg (package (inherit (dummy-package "x")) (source (origin @@ -510,12 +525,27 @@ requests." (sha256 %null-sha256)))))) (check-source pkg))))) +(test-skip (if %http-server-socket 0 1)) +(test-assert "source: 200 but short length" + (->bool + (string-contains + (with-warnings + (with-http-server 200 "This is too small." + (let ((pkg (package + (inherit (dummy-package "x")) + (source (origin + (method url-fetch) + (uri %local-url) + (sha256 %null-sha256)))))) + (check-source pkg)))) + "suspiciously small"))) + (test-skip (if %http-server-socket 0 1)) (test-assert "source: 404" (->bool (string-contains (with-warnings - (with-http-server 404 + (with-http-server 404 %long-string (let ((pkg (package (inherit (dummy-package "x")) (source (origin @@ -617,6 +647,6 @@ requests." (test-end "lint") ;; Local Variables: -;; eval: (put 'with-http-server 'scheme-indent-function 1) +;; eval: (put 'with-http-server 'scheme-indent-function 2) ;; eval: (put 'with-warnings 'scheme-indent-function 0) ;; End: From 8f1488c63971360ece630e3cedae7d95e650cd4d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 12 Jul 2016 21:52:06 -0400 Subject: [PATCH 329/435] gnu: linux-libre-4.4: Update to 4.4.15. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.15. --- 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 0fd40ee982..dd2f359bcf 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -341,13 +341,13 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-4.4 (package (inherit linux-libre) - (version "4.4.14") + (version "4.4.15") (source (origin (method url-fetch) (uri (linux-libre-urls version)) (sha256 (base32 - "1yfmzrjrkj8mn2dfd7p98w13afchrkpz26gwfcm2fhsmla16n1my")))) + "0n3lz4xnciif9v3y769q1pjs9321gvl6a2wr10r40sl1ixlk3ipz")))) (native-inputs (let ((conf (kernel-config (or (%current-target-system) (%current-system)) From 7a7d6b2bdea1c81128a413ee19159dff5b36e32c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 12 Jul 2016 21:57:33 -0400 Subject: [PATCH 330/435] gnu: linux-libre: Update to 4.6.4. * gnu/packages/linux.scm (linux-libre): Update to 4.6.4. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index dd2f359bcf..9c33830ec6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -226,7 +226,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration." (search-path %load-path file))) (define-public linux-libre - (let* ((version "4.6.3") + (let* ((version "4.6.4") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Avoid introducing timestamps @@ -304,7 +304,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration." (uri (linux-libre-urls version)) (sha256 (base32 - "1ajhdk9jq0pfxlhvzwarbxc23418yqav1v0z0mnfs575y5lq2gmp")))) + "1294qw4agax0cnbhh0dk33jz358smhflllg77zv0rd8w9g433xiz")))) (build-system gnu-build-system) (supported-systems '("x86_64-linux" "i686-linux")) (native-inputs `(("perl" ,perl) From a7e7981c7dab4264ef44fdbd2d876e39eac07126 Mon Sep 17 00:00:00 2001 From: George Clemmer Date: Tue, 12 Jul 2016 13:57:28 -0400 Subject: [PATCH 331/435] gnu: screen: Support 256 colors. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/screen.scm (screen)[arguments]: Pass --enable-colors256. Signed-off-by: Ludovic Courtès --- gnu/packages/screen.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index a4eefd85a6..eafb3a8283 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -49,11 +49,16 @@ ("perl" ,perl))) (arguments `(#:configure-flags - ;; By default, man and info pages are put in PREFIX/{man,info}, - ;; but we want them in PREFIX/share/{man,info}. (let ((out (assoc-ref %outputs "out"))) - (list (string-append "--mandir=" out "/share/man") - (string-append "--infodir=" out "/share/info"))))) + (list + ;; By default, man and info pages are put in PREFIX/{man,info}, + ;; but we want them in PREFIX/share/{man,info}. + (string-append "--mandir=" out "/share/man") + (string-append "--infodir=" out "/share/info") + + ;; By default, screen supports 16 colors, but we want 256 when + ;; ~/.screenrc contains 'term xterm-256color' + "--enable-colors256")))) (home-page "http://www.gnu.org/software/screen/") (synopsis "Full-screen window manager providing multiple terminals") (description From 66f8f5f9c35861aa48dd7f8564f2becddf631af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jul 2016 12:40:42 +0200 Subject: [PATCH 332/435] gnu: screen: Remove unneeded configure flags. * gnu/packages/screen.scm (screen)[arguments]: Remove --infodir and --mandir, which are no longer needed. --- gnu/packages/screen.scm | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index eafb3a8283..db8da0ae30 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -49,16 +49,9 @@ ("perl" ,perl))) (arguments `(#:configure-flags - (let ((out (assoc-ref %outputs "out"))) - (list - ;; By default, man and info pages are put in PREFIX/{man,info}, - ;; but we want them in PREFIX/share/{man,info}. - (string-append "--mandir=" out "/share/man") - (string-append "--infodir=" out "/share/info") - - ;; By default, screen supports 16 colors, but we want 256 when - ;; ~/.screenrc contains 'term xterm-256color' - "--enable-colors256")))) + ;; By default, screen supports 16 colors, but we want 256 when + ;; ~/.screenrc contains 'term xterm-256color'. + '("--enable-colors256"))) (home-page "http://www.gnu.org/software/screen/") (synopsis "Full-screen window manager providing multiple terminals") (description From 4c7260011e219eb3ebf5da976ab107dbd5997829 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 16 Jun 2016 09:50:27 +0200 Subject: [PATCH 333/435] gnu: grub: Update to 2.02~beta3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/grub.scm (grub): Update to 2.02~beta3. [arguments]: Modify tests/grub_func_test.in in 'patch-stuff' phase. Signed-off-by: Ludovic Courtès --- gnu/packages/grub.scm | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm index 31b270c0d8..01f2a8454d 100644 --- a/gnu/packages/grub.scm +++ b/gnu/packages/grub.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Leo Famulari +;;; Copyright © 2016 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -76,20 +77,21 @@ (define-public grub (package (name "grub") - (version "2.00") + (version "2.02beta3") (source (origin (method url-fetch) - (uri (string-append "mirror://gnu/grub/grub-" - version ".tar.xz")) + (uri (string-append + "ftp://alpha.gnu.org/gnu/grub/grub-" + "2.02~beta3" + ".tar.xz")) + (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq")) - (patches (search-patches "grub-gets-undeclared.patch" - "grub-freetype.patch" - "grub-CVE-2015-8370.patch")))) + "18ddwnw0vxs7zigvah0g6a5z5vvlz0p8fjglxv1h59sjbrakvv1h")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-werror") + '(;; Two warnings: suggest braces, signed/unsigned comparison. + #:configure-flags '("--disable-werror") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-stuff @@ -100,6 +102,13 @@ ;; Make the font visible. (copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz") (system* "gunzip" "unifont.bdf.gz") + + ;; We hit an assertion failure in + ;; grub-core/tests/video_checksum.c, as reported at + ;; . + ;; Disable this test for now. + (substitute* "tests/grub_func_test.in" + (("set -e") "exit 77\nset -e")) #t))))) (inputs `(;; ("lvm2" ,lvm2) From 2d94702ff4133606cda1e51a2c8378a8e79afb9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jul 2016 23:42:35 +0200 Subject: [PATCH 334/435] system: Change the shell of 'nobody' to 'nologin'. Fixes . Reported by Vincent Legoll . * gnu/system/shadow.scm (%base-user-accounts): Add 'shell' field. Set 'home-directory' to "/nonexistent". --- gnu/system/shadow.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 730a9ee091..593117ef36 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -126,7 +126,8 @@ (name "nobody") (uid 65534) (group "nogroup") - (home-directory "/var/empty") + (shell #~(string-append #$shadow "/sbin/nologin")) + (home-directory "/nonexistent") (system? #t)))) (define (default-skeletons) From db97a03a892c662f316c9fd6a497b4b2a18626b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Jul 2016 23:51:17 +0200 Subject: [PATCH 335/435] doc: Explain 'guix hash -r' for Git checkouts. * doc/guix.texi (origin Reference): Add xref to "guix download" and "guix hash". (Invoking guix hash): Provide an example to compute the hash of a Git checkout. Co-authored-by: Troy Sankey --- doc/guix.texi | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 67ece1d23f..4b55473c93 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2669,6 +2669,7 @@ Examples include: download a file from the HTTP, HTTPS, or FTP URL specified in the @code{uri} field; +@vindex git-fetch @item @var{git-fetch} from @code{(guix git-download)} clone the Git version control repository, and check out the revision specified in the @code{uri} field as a @code{git-reference} object; a @@ -2686,6 +2687,10 @@ A bytevector containing the SHA-256 hash of the source. Typically the @code{base32} form is used here to generate the bytevector from a base-32 string. +You can obtain this information using @code{guix download} +(@pxref{Invoking guix download}) or @code{guix hash} (@pxref{Invoking +guix hash}). + @item @code{file-name} (default: @code{#f}) The file name under which the source code should be saved. When this is @code{#f}, a sensible default value will be used in most cases. In case @@ -4569,6 +4574,17 @@ hash (@pxref{Invoking guix archive}). @c FIXME: Replace xref above with xref to an ``Archive'' section when @c it exists. +@vindex git-fetch +As an example, here is how you would compute the hash of a Git checkout, +which is useful when using the @code{git-fetch} method (@pxref{origin +Reference}): + +@example +$ git clone http://example.org/foo.git +$ cd foo +$ rm -rf .git +$ guix hash -r . +@end example @end table @node Invoking guix import From 42d6d0d0d6e1b531b493ef9f6c9529c0e06b83e6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 14 Jul 2016 05:49:46 +0300 Subject: [PATCH 336/435] gnu: python-setuptools-scm: Update to 1.11.1. * gnu/packages/python.scm (python-setuptools-scm): Update to 1.11.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 fb86290206..93b1bb9e2f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4114,13 +4114,13 @@ child application and control it as if a human were typing commands.") (define-public python-setuptools-scm (package (name "python-setuptools-scm") - (version "1.9.0") + (version "1.11.1") (source (origin (method url-fetch) (uri (pypi-uri "setuptools_scm" version)) (sha256 (base32 - "0y24bl893zk6nrklbvdrlmpkalf214zjn6k1xrglljd29rrn4wxi")))) + "1gqr73i150yzj3mz32854vj93x07yr52kn8fdckwa41ll8wgficc")))) (build-system python-build-system) (native-inputs `(("python-setuptools" ,python-setuptools))) (home-page "https://github.com/pypa/setuptools_scm/") From 6619f9c7696d2cae54a8f4e235bfed0e3e36f36d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 15:29:19 +0200 Subject: [PATCH 337/435] gnu: Add eigensoft. * gnu/packages/bioinformatics.scm (eigensoft): New variable. --- gnu/packages/bioinformatics.scm | 70 +++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f0a409d22f..40a0cd24c1 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1603,6 +1603,76 @@ data and settings.") (license (license:non-copyleft "file://src/COPYING" "See src/COPYING in the distribution.")))) +(define-public eigensoft + (let ((revision "1") + (commit "b14d1e202e21e532536ff8004f0419cd5e259dc7")) + (package + (name "eigensoft") + (version (string-append "6.1.2-" + revision "." + (string-take commit 9))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DReichLab/EIG.git") + (commit commit))) + (file-name (string-append "eigensoft-" commit "-checkout")) + (sha256 + (base32 + "0f5m6k2j5c16xc3xbywcs989xyc26ncy1zfzp9j9n55n9r4xcaiq")) + (modules '((guix build utils))) + ;; Remove pre-built binaries. + (snippet '(begin + (delete-file-recursively "bin") + (mkdir "bin") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests. + #:make-flags '("CC=gcc") + #:phases + (modify-phases %standard-phases + ;; There is no configure phase, but the Makefile is in a + ;; sub-directory. + (replace 'configure + (lambda _ + (chdir "src") + ;; The link flags are incomplete. + (substitute* "Makefile" + (("-lgsl") "-lgsl -lm -llapack -llapacke -lpthread")) + #t)) + ;; The provided install target only copies executables to + ;; the "bin" directory in the build root. + (add-after 'install 'actually-install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (for-each (lambda (file) + (install-file file bin)) + (find-files "../bin" ".*")) + #t)))))) + (inputs + `(("gsl" ,gsl) + ("lapack" ,lapack) + ("lapack" ,lapack "lapacke") + ("openblas" ,openblas) + ("perl" ,perl) + ("gfortran" ,gfortran "lib"))) + (home-page "https://github.com/DReichLab/EIG") + (synopsis "Tools for population genetics") + (description "The EIGENSOFT package provides tools for population +genetics and stratification correction. EIGENSOFT implements methods commonly +used in population genetics analyses such as PCA, computation of Tracy-Widom +statistics, and finding related individuals in structured populations. It +comes with a built-in plotting script and supports multiple file formats and +quantitative phenotypes.") + ;; The license of the eigensoft tools is Expat, but since it's + ;; linking with the GNU Scientific Library (GSL) the effective + ;; license is the GPL. + (license license:gpl3+)))) + (define-public edirect (package (name "edirect") From a7a3b390600351014bee523cadb25c9a242064e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 14 Jul 2016 15:19:07 +0200 Subject: [PATCH 338/435] substitute: Gracefully handle trailing slashes in URLs. Previously, using something like "--substitute-urls=http://example.org///" would lead to a 'cache-narinfo!' call with #f as its second argument. It would also do the wrong thing for URLs with a non-empty initial path component, such as "http://example.org/foo/bar". * guix/scripts/substitute.scm (fetch-narinfos)[handle-narinfo-response]: Add call to 'basename' for PATH. --- guix/scripts/substitute.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 5722aa821d..8827c45fb8 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -610,7 +610,8 @@ if file doesn't exist, and the narinfo otherwise." (update-progress!) (cons narinfo result)) (let* ((path (uri-path (request-uri request))) - (hash-part (string-drop-right path 8))) ; drop ".narinfo" + (hash-part (basename + (string-drop-right path 8)))) ;drop ".narinfo" (if len (get-bytevector-n port len) (read-to-eof port)) From db8f6b34121b392df12b551b3f7ca16349dc7018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 14 Jul 2016 15:25:00 +0200 Subject: [PATCH 339/435] challenge: Disable grafting. * guix/scripts/challenge.scm (guix-challenge): Set %GRAFT? to #f. --- guix/scripts/challenge.scm | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm index 149647cfdf..590d8f1099 100644 --- a/guix/scripts/challenge.scm +++ b/guix/scripts/challenge.scm @@ -21,6 +21,7 @@ #:use-module (guix scripts) #:use-module (guix store) #:use-module (guix utils) + #:use-module (guix grafts) #:use-module (guix monads) #:use-module (guix base32) #:use-module (guix packages) @@ -222,23 +223,26 @@ Challenge the substitutes for PACKAGE... provided by one or more servers.\n")) (urls (assoc-ref opts 'substitute-urls))) (leave-on-EPIPE (with-store store - (let ((files (match files - (() - (filter (cut locally-built? store <>) - (live-paths store))) - (x - files)))) - (set-build-options store - #:use-substitutes? #f) + ;; Disable grafts since substitute servers normally provide only + ;; ungrafted stuff. + (parameterize ((%graft? #f)) + (let ((files (match files + (() + (filter (cut locally-built? store <>) + (live-paths store))) + (x + files)))) + (set-build-options store + #:use-substitutes? #f) - (run-with-store store - (mlet* %store-monad ((items (mapm %store-monad - ensure-store-item files)) - (issues (discrepancies items urls))) - (for-each summarize-discrepancy issues) - (unless (null? issues) - (exit 2)) - (return (null? issues))) - #:system system))))))) + (run-with-store store + (mlet* %store-monad ((items (mapm %store-monad + ensure-store-item files)) + (issues (discrepancies items urls))) + (for-each summarize-discrepancy issues) + (unless (null? issues) + (exit 2)) + (return (null? issues))) + #:system system)))))))) ;;; challenge.scm ends here From babc2c80a7e1f1b5e72fd1685ef6604b93157a8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 14 Jul 2016 18:58:36 +0200 Subject: [PATCH 340/435] records: Improve reporting of invalid field specifiers. Fixes . Reported by Vincent Legoll . * guix/records.scm (report-invalid-field-specifier): New procedure. * tests/records.scm ("define-record-type* & wrong field specifier"): New test. --- guix/records.scm | 19 +++++++++++++++++-- tests/records.scm | 29 ++++++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/guix/records.scm b/guix/records.scm index 0d35a747b0..f3f3aafb04 100644 --- a/guix/records.scm +++ b/guix/records.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +42,15 @@ (format #f fmt args ...) form)))) +(define (report-invalid-field-specifier name bindings) + "Report the first invalid binding among BINDINGS." + (let loop ((bindings bindings)) + (syntax-case bindings () + (((field value) rest ...) ;good + (loop #'(rest ...))) + ((weird _ ...) ;weird! + (syntax-violation name "invalid field specifier" #'weird))))) + (define-syntax make-syntactic-constructor (syntax-rules () "Make the syntactic constructor NAME for TYPE, that calls CTOR, and @@ -147,7 +156,13 @@ fields, and DELAYED is the list of identifiers of delayed fields." "missing field initializers ~a" (lset-difference eq? '(expected ...) - fields))))))))))))) + fields))))))) + ((_ bindings (... ...)) + ;; One of BINDINGS doesn't match the (field value) pattern. + ;; Report precisely which one is faulty, instead of letting the + ;; "source expression failed to match any pattern" error. + (report-invalid-field-specifier 'name + #'(bindings (... ...)))))))))) (define-syntax-rule (define-field-property-predicate predicate property) "Define PREDICATE as a procedure that takes a syntax object and, when passed diff --git a/tests/records.scm b/tests/records.scm index c6f85d4a81..d6d27bb96a 100644 --- a/tests/records.scm +++ b/tests/records.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,6 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (test-records) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-64) #:use-module (ice-9 match) #:use-module (ice-9 regex) @@ -214,6 +215,32 @@ (equal? (foo-bar y) 1)) ;promise was already forced (eq? (foo-baz y) 'b))))) +(test-assert "define-record-type* & wrong field specifier" + (let ((exp '(begin + (define-record-type* foo make-foo + foo? + (bar foo-bar (default 42)) + (baz foo-baz)) + + (foo (baz 1 2 3 4 5)))) ;syntax error + (loc (current-source-location))) ;keep this alignment! + (catch 'syntax-error + (lambda () + (eval exp (test-module)) + #f) + (lambda (key proc message location form . args) + (and (eq? proc 'foo) + (string-match "invalid field" message) + (equal? form '(baz 1 2 3 4 5)) + + ;; Make sure the location is that of the field specifier. + ;; See . + (lset= equal? + (pk 'expected-loc + `((line . ,(- (assq-ref loc 'line) 1)) + ,@(alist-delete 'line loc))) + (pk 'actual-loc location))))))) + (test-assert "define-record-type* & missing initializers" (catch 'syntax-error (lambda () From a16db014d10659051037eb76a0424b46e94f2f2d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 5 Jul 2016 14:29:56 -0400 Subject: [PATCH 341/435] doc: Mention commit signatures in HACKING. * HACKING: Mention commit signatures. --- HACKING | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/HACKING b/HACKING index 41838ee816..d5828f6836 100644 --- a/HACKING +++ b/HACKING @@ -35,6 +35,10 @@ upgrading GnuTLS or GLib.) We have a mailing list for commit notifications (guix-commits@gnu.org), so people can notice. Before pushing your changes, make sure to run ‘git pull --rebase’. +All commits that are pushed to the central repository on Savannah should be +signed with a PGP key, and the public key should be uploaded to your user +account on Savannah. + For anything else, please post to guix-devel@gnu.org and leave time for a review, without committing anything. If you didn’t receive any reply after two weeks, and if you’re confident, it’s OK to commit. From f0344d936938b6b9102bb1a3804709dab19dd831 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 14 Jul 2016 15:49:50 -0400 Subject: [PATCH 342/435] gnu: git: Update to 2.9.1. * gnu/packages/version-control.scm (git): Update to 2.9.1. (git-manpages)[source]: Update hash. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 48a1bbc8af..61560d5fe7 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -112,14 +112,14 @@ as well as the classic centralized workflow.") ;; Keep in sync with 'git-manpages'! (package (name "git") - (version "2.9.0") + (version "2.9.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "02dl8yvvl7m4zy39s0xmqr958ah7krvkv94lmx4vz3wl95wsj7zl")))) + "18l2jb4bkp9ljz6p2aviwzxqyzza9z3v6h1pnkz7kjf1fay61zp8")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -292,7 +292,7 @@ everything from small to very large projects with speed and efficiency.") version ".tar.xz")) (sha256 (base32 - "0ic4zs4axkkwa44nqv5iihj3q2nm42kx0j8scnfp1z93m6pw31fw")))) + "1v9icsf85vvrrg7fakm91d11q23rvnh6dq4b4c4ya8v95z00mg8p")))) (build-system trivial-build-system) (arguments '(#:modules ((guix build utils)) From 9ce2a95c305c9ea88743ee57c314948c719d8d15 Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Wed, 13 Jul 2016 23:29:31 +0800 Subject: [PATCH 343/435] gnu: racket: Update to 6.5. * gnu/packages/scheme.scm (racket): Update to 6.5. Signed-off-by: Andreas Enge --- gnu/packages/scheme.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index e4a26ed16e..e7cf95021f 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -394,7 +394,7 @@ implementation techniques and as an expository tool.") (define-public racket (package (name "racket") - (version "6.2.1") + (version "6.5") (source (origin (method url-fetch) (uri (list (string-append "http://mirror.racket-lang.org/installers/" @@ -404,7 +404,7 @@ implementation techniques and as an expository tool.") version "/racket/racket-" version "-src-unix.tgz"))) (sha256 (base32 - "0555j63k7fs10iv0icmivlxpzgp6s7gwcbfddmbwxlf2rk80qhq0")))) + "0gvh7i5k87mg1gpqk8gaq50ja9ksbhnvdqn7qqh0n17byidd6999")))) (build-system gnu-build-system) (arguments '(#:phases From f0fbf2c11cac98bedcab33a86ed7c477852b6033 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 14 Jul 2016 15:07:49 +0200 Subject: [PATCH 344/435] install: Add mdadm to the image. * gnu/system/install.scm (installation-os)[packages]: Add mdadm. --- gnu/system/install.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 329c7aba32..734a361c37 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2016 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -392,6 +393,7 @@ Use Alt-F2 for documentation. parted ddrescue grub ;mostly so xrefs to its manual work cryptsetup + mdadm btrfs-progs wireless-tools iw wpa-supplicant-minimal iproute ;; XXX: We used to have GNU fdisk here, but as of version From e05647add7d4ebddf68626b84fa640956ee35301 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 15 Jul 2016 14:29:22 +0200 Subject: [PATCH 345/435] Update e-mail address for Tobias Geerinckx-Rice. * .mailmap: Add Tobias Geerinckx-Rice. * gnu/packages/disk.scm: Replace "tobias.geerinckx.rice@gmail.com" with "me@tobias.gr". * gnu/packages/linux.scm: Likewise. * gnu/packages/networking.scm: Likewise. Co-authored-by: Tobias Geerinckx-Rice --- .mailmap | 1 + gnu/packages/disk.scm | 2 +- gnu/packages/linux.scm | 2 +- gnu/packages/networking.scm | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.mailmap b/.mailmap index 50b6e685bc..2af7760b16 100644 --- a/.mailmap +++ b/.mailmap @@ -42,3 +42,4 @@ Ricardo Wurmus Sou Bunnbu (宋文武) Taylan Ulrich Bayırlı/Kammer Tomáš Čech +Tobias Geerinckx-Rice \ No newline at end of file diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 83ba4e4f7c..54f23db01e 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2015 Mathieu Lirzin ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2016 Tobias Geerinckx-Rice +;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9c33830ec6..601d4ac8d6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015, 2016 Efraim Flashner ;;; Copyright © 2016 Christopher Allan Webber -;;; Copyright © 2016 Tobias Geerinckx-Rice +;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2016 Raymond Nicholson ;;; Copyright © 2016 Mathieu Lirzin diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 72c601102c..9e4f7bb010 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Stefan Reichör ;;; Copyright © 2016 Raimon Grau -;;; Copyright © 2016 Tobias Geerinckx-Rice +;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; Copyright 2016 John Darrington ;;; Copyright © 2016 Nicolas Goaziou ;;; From 7fb18f578aa06be524f7b06ba36aab18b1a82cb8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 14 Jul 2016 17:07:25 +0200 Subject: [PATCH 346/435] gnu: Import (guix licenses) with #:prefix. * gnu/packages/crypto.scm: Add 'license:' #:prefix for (guix licenses). Signed-off-by: Andreas Enge --- gnu/packages/crypto.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index f167f3320c..041dc2015b 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -29,7 +29,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages serialization) #:use-module (gnu packages tls) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -54,7 +54,7 @@ (description "Sodium is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc.") - (license isc) + (license license:isc) (home-page "http://libsodium.org"))) (define-public signify @@ -91,10 +91,11 @@ OpenBSD tool of the same name.") (home-page "https://github.com/aperezdc/signify") ;; This package includes third-party code that was originally released under ;; various non-copyleft licenses. See the source files for clarification. - (license (list bsd-3 bsd-4 expat isc public-domain - (non-copyleft "file://base64.c" - "See base64.c in the distribution for - the license from IBM."))))) + (license (list license:bsd-3 license:bsd-4 license:expat license:isc + license:public-domain (license:non-copyleft + "file://base64.c" + "See base64.c in the distribution for + the license from IBM."))))) (define-public opendht @@ -146,4 +147,4 @@ OpenBSD tool of the same name.") (description "OpenDHT is a Distributed Hash Table (DHT) library. It may be used to manage peer-to-peer network connections as needed for real time communication.") - (license gpl3))) + (license license:gpl3))) From e538a245f3f7580f1f4bc7ab5a14645c66299c2a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 15 Jul 2016 11:35:05 -0400 Subject: [PATCH 347/435] gnu: diffoscope: Update to 54. * gnu/packages/package-management.scm (diffoscope): Update to 54. --- gnu/packages/package-management.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index c3035c3921..cd58fde249 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -475,13 +475,13 @@ transactions from C or Python.") (define-public diffoscope (package (name "diffoscope") - (version "51") + (version "54") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "18rn6rrwh586228vnaf1nq0wayh19zbvfc0qmnbys6ln2pv2v007")))) + "1dv46ywzcll3mlqgvr48mq7rncizfvsic62c6dd2kdhynb22087n")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases From 2102ae2e30a23b3202f4eeabdc8f37eeb16de691 Mon Sep 17 00:00:00 2001 From: David Craven Date: Wed, 13 Jul 2016 18:13:11 +0200 Subject: [PATCH 348/435] gnu: lsh: Move to (gnu packages ssh) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lsh.scm: Remove. Move 'lsh and liboop' to... * gnu/packages/ssh.scm (liboop, lsh): ... here. New variables. * gnu/services/ssh.scm, gnu/services/base.scm: Adjust accordingly. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 - gnu/packages/lsh.scm | 159 --------------------------------------- gnu/packages/ssh.scm | 170 +++++++++++++++++++++++++++++++++++++----- gnu/services/base.scm | 2 +- gnu/services/ssh.scm | 2 +- 5 files changed, 154 insertions(+), 180 deletions(-) delete mode 100644 gnu/packages/lsh.scm diff --git a/gnu/local.mk b/gnu/local.mk index d011844074..71409b9735 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -215,7 +215,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/llvm.scm \ %D%/packages/lout.scm \ %D%/packages/logging.scm \ - %D%/packages/lsh.scm \ %D%/packages/lsof.scm \ %D%/packages/lua.scm \ %D%/packages/lxde.scm \ diff --git a/gnu/packages/lsh.scm b/gnu/packages/lsh.scm deleted file mode 100644 index 2ea1591354..0000000000 --- a/gnu/packages/lsh.scm +++ /dev/null @@ -1,159 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gnu packages lsh) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (gnu packages) - #:use-module (gnu packages m4) - #:use-module (gnu packages linux) - #:use-module (gnu packages nettle) - #:use-module (gnu packages compression) - #:use-module (gnu packages multiprecision) - #:use-module (gnu packages readline) - #:use-module (gnu packages gperf) - #:use-module (gnu packages guile) - #:use-module (gnu packages xorg)) - -(define-public liboop - (package - (name "liboop") - (version "1.0") - (source - (origin - (method url-fetch) - (uri (string-append "http://download.ofb.net/liboop/liboop-" - version ".tar.gz")) - (sha256 - (base32 - "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l")) - (patches (search-patches "liboop-mips64-deplibs-fix.patch")))) - (build-system gnu-build-system) - (home-page "http://www.lysator.liu.se/liboop/") - (synopsis "Event loop library") - (description "Liboop is a low-level event loop management library for -POSIX-based operating systems. It supports the development of modular, -multiplexed applications which may respond to events from several sources. It -replaces the \"select() loop\" and allows the registration of event handlers -for file and network I/O, timers and signals. Since processes use these -mechanisms for almost all external communication, liboop can be used as the -basis for almost any application.") - (license license:lgpl2.1+))) - -(define-public lsh - (package - (name "lsh") - (version "2.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/lsh/lsh-" - version ".tar.gz")) - (sha256 - (base32 - "1qqjy9zfzgny0rkb27c8c7dfsylvb6n0ld8h3an2r83pmaqr9gwb")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "src/testsuite/functions.sh" - (("localhost") - ;; Avoid host name lookups since they don't work in - ;; chroot builds. - "127.0.0.1") - (("set -e") - ;; Make tests more verbose. - "set -e\nset -x")) - - (substitute* (find-files "src/testsuite" "-test$") - (("localhost") "127.0.0.1")) - - (substitute* "src/testsuite/login-auth-test" - (("/bin/cat") "cat")))))) - (build-system gnu-build-system) - (native-inputs - `(("m4" ,m4) - ("guile" ,guile-2.0) - ("gperf" ,gperf) - ("psmisc" ,psmisc))) ; for `killall' - (inputs - `(("nettle" ,nettle-2) - ("linux-pam" ,linux-pam) - - ;; 'rl.c' uses the 'CPPFunction' type, which is no longer in - ;; Readline 6.3. - ("readline" ,readline-6.2) - - ("liboop" ,liboop) - ("zlib" ,zlib) - ("gmp" ,gmp) - - ;; The server (lshd) invokes xauth when X11 forwarding is requested. - ;; This adds 24 MiB (or 27%) to the closure of lsh. - ("xauth" ,xauth))) - (arguments - '(;; Skip the `configure' test that checks whether /dev/ptmx & - ;; co. work as expected, because it relies on impurities (for - ;; instance, /dev/pts may be unavailable in chroots.) - #:configure-flags '("lsh_cv_sys_unix98_ptys=yes") - - ;; FIXME: Tests won't run in a chroot, presumably because - ;; /etc/profile is missing, and thus clients get an empty $PATH - ;; and nothing works. - #:tests? #f - - #:phases - (modify-phases %standard-phases - (add-before 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) - (let* ((nettle (assoc-ref inputs "nettle")) - (sexp-conv (string-append nettle "/bin/sexp-conv"))) - ;; Make sure 'lsh' and 'lshd' pick 'sexp-conv' in the right place - ;; by default. - (substitute* "src/environ.h.in" - (("^#define PATH_SEXP_CONV.*") - (string-append "#define PATH_SEXP_CONV \"" - sexp-conv "\"\n"))) - - ;; Same for the 'lsh-authorize' script. - (substitute* "src/lsh-authorize" - (("=sexp-conv") - (string-append "=" sexp-conv))) - - ;; Tell lshd where 'xauth' lives. Another option would be to - ;; hardcode "/run/current-system/profile/bin/xauth", thereby - ;; reducing the closure size, but that wouldn't work on foreign - ;; distros. - (with-fluids ((%default-port-encoding "ISO-8859-1")) - (substitute* "src/server_x11.c" - (("define XAUTH_PROGRAM.*") - (string-append "define XAUTH_PROGRAM \"" - (assoc-ref inputs "xauth") - "/bin/xauth\"\n"))))) - - ;; Tests rely on $USER being set. - (setenv "USER" "guix")))))) - (home-page "http://www.lysator.liu.se/~nisse/lsh/") - (synopsis "GNU implementation of the Secure Shell (ssh) protocols") - (description - "GNU lsh is a free implementation of the SSH version 2 protocol. It is -used to create a secure line of communication between two computers, -providing shell access to the server system from the client. It provides -both the server daemon and the client application, as well as tools for -manipulating key files.") - (license license:gpl2+))) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index c782d4d869..71310ecf94 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -1,4 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015, 2016 Efraim Flashner @@ -20,27 +21,34 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages ssh) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages compression) - #:use-module (gnu packages gnupg) - #:use-module (gnu packages groff) - #:use-module (gnu packages elf) - #:use-module (gnu packages guile) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages autotools) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages perl) - #:use-module (gnu packages ncurses) - #:autoload (gnu packages protobuf) (protobuf) - #:autoload (gnu packages boost) (boost) - #:use-module (gnu packages base) - #:use-module (gnu packages tls) #:use-module (gnu packages) - #:use-module (guix packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:autoload (gnu packages boost) (boost) + #:use-module (gnu packages compression) + #:use-module (gnu packages elf) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages gperf) + #:use-module (gnu packages groff) + #:use-module (gnu packages guile) + #:use-module (gnu packages linux) + #:use-module (gnu packages m4) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages nettle) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:autoload (gnu packages protobuf) (protobuf) + #: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 download) #:use-module (guix git-download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system cmake)) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) (define-public libssh (package @@ -355,3 +363,129 @@ client. It runs on a variety of POSIX-based platforms. Dropbear is particularly useful for embedded systems, such as wireless routers.") (home-page "https://matt.ucc.asn.au/dropbear/dropbear.html") (license (license:x11-style "" "See file LICENSE.")))) + +(define-public liboop + (package + (name "liboop") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://download.ofb.net/liboop/liboop-" + version ".tar.gz")) + (sha256 + (base32 + "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l")) + (patches (search-patches "liboop-mips64-deplibs-fix.patch")))) + (build-system gnu-build-system) + (home-page "http://www.lysator.liu.se/liboop/") + (synopsis "Event loop library") + (description "Liboop is a low-level event loop management library for +POSIX-based operating systems. It supports the development of modular, +multiplexed applications which may respond to events from several sources. It +replaces the \"select() loop\" and allows the registration of event handlers +for file and network I/O, timers and signals. Since processes use these +mechanisms for almost all external communication, liboop can be used as the +basis for almost any application.") + (license license:lgpl2.1+))) + +(define-public lsh + (package + (name "lsh") + (version "2.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/lsh/lsh-" + version ".tar.gz")) + (sha256 + (base32 + "1qqjy9zfzgny0rkb27c8c7dfsylvb6n0ld8h3an2r83pmaqr9gwb")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "src/testsuite/functions.sh" + (("localhost") + ;; Avoid host name lookups since they don't work in + ;; chroot builds. + "127.0.0.1") + (("set -e") + ;; Make tests more verbose. + "set -e\nset -x")) + + (substitute* (find-files "src/testsuite" "-test$") + (("localhost") "127.0.0.1")) + + (substitute* "src/testsuite/login-auth-test" + (("/bin/cat") "cat")))))) + (build-system gnu-build-system) + (native-inputs + `(("m4" ,m4) + ("guile" ,guile-2.0) + ("gperf" ,gperf) + ("psmisc" ,psmisc))) ; for `killall' + (inputs + `(("nettle" ,nettle-2) + ("linux-pam" ,linux-pam) + + ;; 'rl.c' uses the 'CPPFunction' type, which is no longer in + ;; Readline 6.3. + ("readline" ,readline-6.2) + + ("liboop" ,liboop) + ("zlib" ,zlib) + ("gmp" ,gmp) + + ;; The server (lshd) invokes xauth when X11 forwarding is requested. + ;; This adds 24 MiB (or 27%) to the closure of lsh. + ("xauth" ,xauth))) + (arguments + '(;; Skip the `configure' test that checks whether /dev/ptmx & + ;; co. work as expected, because it relies on impurities (for + ;; instance, /dev/pts may be unavailable in chroots.) + #:configure-flags '("lsh_cv_sys_unix98_ptys=yes") + + ;; FIXME: Tests won't run in a chroot, presumably because + ;; /etc/profile is missing, and thus clients get an empty $PATH + ;; and nothing works. + #:tests? #f + + #:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda* (#:key inputs #:allow-other-keys) + (let* ((nettle (assoc-ref inputs "nettle")) + (sexp-conv (string-append nettle "/bin/sexp-conv"))) + ;; Make sure 'lsh' and 'lshd' pick 'sexp-conv' in the right place + ;; by default. + (substitute* "src/environ.h.in" + (("^#define PATH_SEXP_CONV.*") + (string-append "#define PATH_SEXP_CONV \"" + sexp-conv "\"\n"))) + + ;; Same for the 'lsh-authorize' script. + (substitute* "src/lsh-authorize" + (("=sexp-conv") + (string-append "=" sexp-conv))) + + ;; Tell lshd where 'xauth' lives. Another option would be to + ;; hardcode "/run/current-system/profile/bin/xauth", thereby + ;; reducing the closure size, but that wouldn't work on foreign + ;; distros. + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (substitute* "src/server_x11.c" + (("define XAUTH_PROGRAM.*") + (string-append "define XAUTH_PROGRAM \"" + (assoc-ref inputs "xauth") + "/bin/xauth\"\n"))))) + + ;; Tests rely on $USER being set. + (setenv "USER" "guix")))))) + (home-page "http://www.lysator.liu.se/~nisse/lsh/") + (synopsis "GNU implementation of the Secure Shell (ssh) protocols") + (description + "GNU lsh is a free implementation of the SSH version 2 protocol. It is +used to create a secure line of communication between two computers, +providing shell access to the server system from the client. It provides +both the server daemon and the client application, as well as tools for +manipulating key files.") + (license license:gpl2+))) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 02e3b41904..c9c2594533 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -36,7 +36,7 @@ #:use-module ((gnu packages base) #:select (canonical-package glibc)) #:use-module (gnu packages package-management) - #:use-module (gnu packages lsh) + #:use-module (gnu packages ssh) #:use-module (gnu packages lsof) #:use-module ((gnu build file-systems) #:select (mount-flags->bit-mask)) diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 33e1951a6e..1eb9382a84 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -22,7 +22,7 @@ #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu system pam) - #:use-module (gnu packages lsh) + #:use-module (gnu packages ssh) #:use-module (srfi srfi-26) #:export (lsh-service)) From 71b0601a97da9f12f76de0480c341e06acf8f2bc Mon Sep 17 00:00:00 2001 From: David Craven Date: Wed, 13 Jul 2016 18:13:12 +0200 Subject: [PATCH 349/435] services: Add 'dropbear-service'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/ssh.scm (): New record type. (dropbear-activation, dropbear-shepherd-service, dropbear-service): New procedures. (dropbear-service-type): New variable. * doc/guix.texi (Networking Services): Document it. Co-authored-by: Ludovic Courtès --- doc/guix.texi | 43 +++++++++++++++++++- gnu/services/ssh.scm | 97 +++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 134 insertions(+), 6 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4b55473c93..a2732deded 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7754,7 +7754,7 @@ In addition, @var{extra-settings} specifies a string to append to the configuration file. @end deffn -Furthermore, @code{(gnu services ssh)} provides the following service. +Furthermore, @code{(gnu services ssh)} provides the following services. @deffn {Scheme Procedure} lsh-service [#:host-key "/etc/lsh/host-key"] @ [#:daemonic? #t] [#:interfaces '()] [#:port-number 22] @ @@ -7792,6 +7792,47 @@ root. The other options should be self-descriptive. @end deffn +@deffn {Scheme Procedure} dropbear-service [@var{config}] +Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH +daemon} with the given @var{config}, a @code{} +object. + +For example, to specify a Dropbear service listening on port 1234, add +this call to the operating system's @code{services} field: + +@example +(dropbear-service (dropbear-configuration + (port-number 1234))) +@end example +@end deffn + +@deftp {Data Type} dropbear-configuration +This data type represents the configuration of a Dropbear SSH daemon. + +@table @asis +@item @code{dropbear} (default: @var{dropbear}) +The Dropbear package to use. + +@item @code{port-number} (default: 22) +The TCP port where the daemon waits for incoming connections. + +@item @code{syslog-output?} (default: @code{#t}) +Whether to enable syslog output. + +@item @code{pid-file} (default: @code{"/var/run/dropbear.pid"}) +File name of the daemon's PID file. + +@item @code{root-login?} (default: @code{#f}) +Whether to allow @code{root} logins. + +@item @code{allow-empty-passwords?} (default: @code{#f}) +Whether to allow empty passwords. + +@item @code{password-authentication?} (default: @code{#t}) +Whether to enable password-based authentication. +@end table +@end deftp + @defvr {Scheme Variable} %facebook-host-aliases This variable contains a string for use in @file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference Manual}). Each diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 1eb9382a84..743b5e3805 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2016 David Craven ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,14 +18,19 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu services ssh) - #:use-module (guix gexp) - #:use-module (guix records) + #:use-module (gnu packages ssh) #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu system pam) - #:use-module (gnu packages ssh) + #:use-module (guix gexp) + #:use-module (guix records) #:use-module (srfi srfi-26) - #:export (lsh-service)) + #:export (lsh-service + + dropbear-configuration + dropbear-configuration? + dropbear-service-type + dropbear-service)) ;;; Commentary: ;;; @@ -235,4 +241,85 @@ The other options should be self-descriptive." public-key-authentication?) (initialize? initialize?)))) + +;;; +;;; Dropbear. +;;; + +(define-record-type* + dropbear-configuration make-dropbear-configuration + dropbear-configuration? + (dropbear dropbear-configuration-dropbear + (default dropbear)) + (port-number dropbear-configuration-port-number + (default 22)) + (syslog-output? dropbear-configuration-syslog-output? + (default #t)) + (pid-file dropbear-configuration-pid-file + (default "/var/run/dropbear.pid")) + (root-login? dropbear-configuration-root-login? + (default #f)) + (allow-empty-passwords? dropbear-configuration-allow-empty-passwords? + (default #f)) + (password-authentication? dropbear-configuration-password-authentication? + (default #t))) + +(define (dropbear-activation config) + "Return the activation gexp for CONFIG." + #~(begin + (mkdir-p "/etc/dropbear"))) + +(define (dropbear-shepherd-service config) + "Return a for dropbear with CONFIG." + (define dropbear + (dropbear-configuration-dropbear config)) + + (define pid-file + (dropbear-configuration-pid-file config)) + + (define dropbear-command + #~(list (string-append #$dropbear "/sbin/dropbear") + + ;; '-R' allows host keys to be automatically generated upon first + ;; connection, at a time when /dev/urandom is more likely securely + ;; seeded. + "-F" "-R" + + "-p" #$(number->string (dropbear-configuration-port-number config)) + "-P" #$pid-file + #$@(if (dropbear-configuration-syslog-output? config) '() '("-E")) + #$@(if (dropbear-configuration-root-login? config) '() '("-w")) + #$@(if (dropbear-configuration-password-authentication? config) + '() + '("-s" "-g")) + #$@(if (dropbear-configuration-allow-empty-passwords? config) + '("-B") + '()))) + + (define requires + (if (dropbear-configuration-syslog-output? config) + '(networking syslogd) '(networking))) + + (list (shepherd-service + (documentation "Dropbear SSH server.") + (requirement requires) + (provision '(ssh-daemon)) + (start #~(make-forkexec-constructor #$dropbear-command + #:pid-file #$pid-file)) + (stop #~(make-kill-destructor))))) + +(define dropbear-service-type + (service-type (name 'dropbear) + (extensions + (list (service-extension shepherd-root-service-type + dropbear-shepherd-service) + (service-extension activation-service-type + dropbear-activation))))) + +(define* (dropbear-service #:optional (config (dropbear-configuration))) + "Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH +daemon} with the given @var{config}, a @code{} +object." + (service dropbear-service-type config)) + ;;; ssh.scm ends here From 2d74d94b17b23ab95072da68553d85ac0b3bfede Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 7 Jul 2016 13:46:00 -0400 Subject: [PATCH 350/435] gnu: borg: Update to 1.0.6. * gnu/packages/backup.scm (borg): Update to 1.0.6. [source]: Use pypi-uri. --- gnu/packages/backup.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index cb47ef36cb..889102deb4 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -418,17 +418,14 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.0.3") + (version "1.0.6") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/" - "c9/c6/1efc338724b054d4d264dfeadfcba11cefa6c3c50f474cec91b8f0c21d3a" - "/borgbackup-" version ".tar.gz")) + (uri (pypi-uri "borgbackup" version)) (sha256 (base32 - "0kzr0xa00yjfxx27aipli67qg5ffj52yrnqhpf3sdy6k5wzwaybs")))) + "1dxn9p4xm0zd32xzzd9hs4a542db34clykrrnnv3hrdnc394895p")))) (build-system python-build-system) (arguments `(#:phases From ee6a5d0e3e8d147c49876df3bd89f0e5dafc0619 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 15 Jul 2016 19:18:36 +0200 Subject: [PATCH 351/435] gnu: lm-sensors: Add alternate source URL. * gnu/packages/linux.scm (lm-sensors)[source]: Add URL. --- gnu/packages/linux.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 601d4ac8d6..d20314fc60 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1861,9 +1861,14 @@ country-specific regulations for the wireless spectrum.") (version "3.3.5") (source (origin (method url-fetch) - (uri (string-append - "ftp://ftp.netroedge.com/pub/lm-sensors/lm_sensors-" - version ".tar.bz2")) + (uri (list (string-append + "ftp://ftp.netroedge.com/pub/lm-sensors/" + "lm_sensors-" version ".tar.bz2") + (string-append + "http://pkgs.fedoraproject.org/repo/pkgs/" + "lm_sensors/lm_sensors-3.3.5.tar.bz2/" + "da506dedceb41822e64865f6ba34828a/" + "lm_sensors-3.3.5.tar.bz2"))) (sha256 (base32 "1ksgrynxgrq590nb2fwxrl1gwzisjkqlyg3ljfd1al0ibrk6mbjx")) From b9bb50c608447170891af524a614748210deea89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 16 Jul 2016 00:03:41 +0200 Subject: [PATCH 352/435] services: dbus: Synchronize startup using dbus-daemon's PID file. * gnu/services/dbus.scm (dbus-shepherd-service): Pass #:pid-file to 'make-forkexec-constructor'. --- gnu/services/dbus.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index d06b2dde23..6ef13568ef 100644 --- a/gnu/services/dbus.scm +++ b/gnu/services/dbus.scm @@ -169,7 +169,8 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in (requirement '(user-processes)) (start #~(make-forkexec-constructor (list (string-append #$dbus "/bin/dbus-daemon") - "--nofork" "--system"))) + "--nofork" "--system") + #:pid-file "/var/run/dbus/pid")) (stop #~(make-kill-destructor))))))) (define dbus-root-service-type From f82ce8f6b1e1f64aad08e66eec77d72d8e53b1ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 16 Jul 2016 12:52:42 +0200 Subject: [PATCH 353/435] build: Substitute URLs now default to "mirror.hydra.gnu.org" alone. * config-daemon.ac: Remove "hydra.gnu.org" from 'guix_substitute_urls'. * guix/store.scm (%default-substitute-urls): Remove "hydra.gnu.org". --- config-daemon.ac | 4 ++-- guix/store.scm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config-daemon.ac b/config-daemon.ac index 803eb53699..f66f31269d 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -113,10 +113,10 @@ if test "x$guix_build_daemon" = "xyes"; then dnl Determine the appropriate default list of substitute URLs. GUILE_MODULE_AVAILABLE([have_gnutls], [(gnutls)]) if test "x$have_gnutls" = "xyes"; then - guix_substitute_urls="https://mirror.hydra.gnu.org https://hydra.gnu.org" + guix_substitute_urls="https://mirror.hydra.gnu.org" else AC_MSG_WARN([GnuTLS is missing, substitutes will be downloaded in the clear]) - guix_substitute_urls="http://mirror.hydra.gnu.org http://hydra.gnu.org" + guix_substitute_urls="http://mirror.hydra.gnu.org" fi AC_MSG_CHECKING([for default substitute URLs]) AC_MSG_RESULT([$guix_substitute_urls]) diff --git a/guix/store.scm b/guix/store.scm index 276684e2fb..9f409b4209 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -510,7 +510,7 @@ encoding conversion errors." (map (if (false-if-exception (resolve-interface '(gnutls))) (cut string-append "https://" <>) (cut string-append "http://" <>)) - '("mirror.hydra.gnu.org" "hydra.gnu.org"))) + '("mirror.hydra.gnu.org"))) (define* (set-build-options server #:key keep-failed? keep-going? fallback? From fb8a5d633abad0f39027a9d3840cecbf9b4ec521 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 16 Jul 2016 02:35:35 +0200 Subject: [PATCH 354/435] gnu: Add encfs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/crypto.scm (rlog, encfs): New variables. Signed-off-by: Ludovic Courtès --- gnu/packages/crypto.scm | 75 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 041dc2015b..7d61164b05 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Lukas Gradl +;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,10 +23,14 @@ (define-module (gnu packages crypto) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages boost) + #:use-module (gnu packages gettext) #:use-module (gnu packages pkg-config) #:use-module (gnu packages libbsd) + #:use-module (gnu packages linux) #:use-module (gnu packages nettle) #:use-module (gnu packages password-utils) + #:use-module (gnu packages perl) #:use-module (gnu packages readline) #:use-module (gnu packages serialization) #:use-module (gnu packages tls) @@ -148,3 +153,73 @@ OpenBSD tool of the same name.") be used to manage peer-to-peer network connections as needed for real time communication.") (license license:gpl3))) + +(define rlog + (package + (name "rlog") + (version "1.4") + (source + (origin + (method url-fetch) + (uri + (string-append "http://rlog.googlecode.com/files/rlog-" + version ".tar.gz")) + (sha256 + (base32 + "0y9zg0pd7vmnskwac1qdyzl282z7kb01nmn57lsg2mjdxgnywf59")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'configure 'patch-/bin/sh + (lambda _ + (substitute* "docs/Makefile.in" + (("/bin/sh") "sh"))))))) + (home-page "http://www.arg0.net/rlog") + (synopsis "Flexible message logging library for EncFS") + (description + "RLog provides message logging for EncFS. It is no longer maintained.") + (license license:lgpl2.1+))) + +(define-public encfs + (package + (name "encfs") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/vgough/encfs/releases/download/v" + version "/encfs-" version ".tar.gz")) + (sha256 + (base32 + "1lfmcsk187qr6ahy8c8959p7jrk9d5rd9kcsx572850ca3zmf0la")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--with-boost-serialization=boost_wserialization" + "--with-boost-filesystem=boost_filesystem") + #:phases (modify-phases %standard-phases + (add-before 'configure 'autoconf + (lambda _ + (zero? (system* "autoreconf" "-vfi"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gnu-gettext) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("fuse" ,fuse) + ("openssl" ,openssl) + ("rlog" ,rlog))) + (home-page "https://vgough.github.io/encfs") + (synopsis "Encrypted virtual file system") + (description + "EncFS creates a virtual encrypted file system in user-space. Each file +created under an EncFS mount point is stored as a separate encrypted file on +the underlying file system. Like most encrypted file systems, EncFS is meant +to provide security against off-line attacks, such as a drive falling into +the wrong hands.") + (license (list license:lgpl3+ ;encfs library + license:gpl3+)))) ;command-line tools From 1187a27112be10f2ff74144f50c88714ccf30301 Mon Sep 17 00:00:00 2001 From: Vincent Legoll Date: Sat, 16 Jul 2016 10:05:48 +0200 Subject: [PATCH 355/435] guix gc: Display of saved space for garbage collection. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . * guix/scripts/gc.scm (guix-gc): Display freed bytes. Signed-off-by: Vincent Legoll Signed-off-by: Ludovic Courtès --- guix/scripts/gc.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guix/scripts/gc.scm b/guix/scripts/gc.scm index 8db28138c8..bdfee4308c 100644 --- a/guix/scripts/gc.scm +++ b/guix/scripts/gc.scm @@ -24,6 +24,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) #:export (guix-gc)) @@ -221,9 +222,11 @@ Invoke the garbage collector.\n")) (free-space (ensure-free-space store free-space)) (min-freed - (collect-garbage store min-freed)) + (let-values (((paths freed) (collect-garbage store min-freed))) + (info (_ "freed ~h bytes~%") freed))) (else - (collect-garbage store))))) + (let-values (((paths freed) (collect-garbage store))) + (info (_ "freed ~h bytes~%") freed)))))) ((delete) (delete-paths store (map direct-store-path paths))) ((list-references) From 2352c97df40c2f1de283a1f217b7a6566c91dfe4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 13 Jul 2016 21:23:40 +0200 Subject: [PATCH 356/435] gnu: geda-gaf: Use modify-phases syntax. * gnu/packages/engineering.scm (geda-gaf)[arguments]: Use modify-phases syntax. --- gnu/packages/engineering.scm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 9066386646..3b1bcbd777 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -121,13 +121,12 @@ plans and designs.") (build-system gnu-build-system) (arguments '(#:phases - ;; tests require a writable HOME - (alist-cons-before - 'check 'set-home - (lambda _ - (setenv "HOME" (getenv "TMPDIR"))) - %standard-phases - ) + (modify-phases %standard-phases + ;; tests require a writable HOME + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" (getenv "TMPDIR")) + #t))) #:configure-flags (let ((pcb (assoc-ref %build-inputs "pcb"))) (list (string-append "--with-pcb-datadir=" pcb "/share") From 12356eb8b015da242aeab2e8eb5104945af6bd96 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 13 Jul 2016 21:24:14 +0200 Subject: [PATCH 357/435] gnu: geda-gaf: Update to 1.9.2. * gnu/packages/engineering.scm (geda-gaf): Update to 1.9.2. --- gnu/packages/engineering.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 3b1bcbd777..b3e4431138 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -108,16 +108,16 @@ plans and designs.") (define-public geda-gaf (package (name "geda-gaf") - (version "1.8.2") + (version "1.9.2") (source (origin (method url-fetch) (uri (string-append - "http://ftp.geda-project.org/geda-gaf/stable/v" + "http://ftp.geda-project.org/geda-gaf/unstable/v" (version-major+minor version) "/" version "/geda-gaf-" version ".tar.gz")) (sha256 (base32 - "08dpa506xk4gjbbi8vnxcb640wq4ihlgmhzlssl52nhvxwx7gx5v")))) + "14mk45pfz11v54q66gafw2l68n1p5ssvvjmdm8ffgc8x1w5ajfrz")))) (build-system gnu-build-system) (arguments '(#:phases From e31f05d4355d106ea5e857ae8ceb8e9de7034e46 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 16 Jul 2016 11:45:18 -0400 Subject: [PATCH 358/435] gnu: pidgin: Update to 2.11.0 [security fixes]. Fixes CVE-2016-{2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376, 2377,2378,2379,2380,4323}. * gnu/packages/messaging.scm (pidgin): Update to 2.11.0. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 215fa19bb8..de9ac179bb 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -257,7 +257,7 @@ supports IPv6, SSL-protected connections as well as PAM for authentication.") (define-public pidgin (package (name "pidgin") - (version "2.10.11") + (version "2.11.0") (source (origin (method url-fetch) @@ -265,7 +265,7 @@ supports IPv6, SSL-protected connections as well as PAM for authentication.") version "/" name "-" version ".tar.bz2")) (sha256 (base32 - "01s0q30qrjlzj7kkz6f8lvrwsdd55a9yjh2xjjwyyxzw849j3bpj")) + "0crkggjj6y07v1kdwil9vw532b0vrs6p33nmlvdkpnl60m2169pp")) (patches (search-patches "pidgin-add-search-path.patch")))) (build-system glib-or-gtk-build-system) (native-inputs From b9174ff4493b8c502c06f8ba80183115f542d90c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 15 Jul 2016 14:47:47 -0400 Subject: [PATCH 359/435] gnu: gd: Update to 2.2.2 [fixes CVE-2016-{5767,6161}]. * gnu/packages/gd.scm (gd): Update to 2.2.2. --- gnu/packages/gd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 4d6b1a3c89..b4e634969e 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -40,7 +40,7 @@ ;; Note: With libgd.org now pointing to github.com, genuine old ;; tarballs are no longer available. Notably, versions 2.0.x are ;; missing. - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) @@ -49,7 +49,7 @@ version "/libgd-" version ".tar.xz")) (sha256 (base32 - "0xmrqka1ggqgml84xbmkw1y0r0lg7qn657v5b1my8pry92p651vh")))) + "1311g5mva2xlzqv3rjqjc4jjkn5lzls4skvr395h633zw1n7b7s8")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From a1537ac2bae1d7eae39188317daf1186a673e6a2 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 15 Jul 2016 14:48:09 -0400 Subject: [PATCH 360/435] gnu: gd: Fix CVE-2016-{5766,6128,6132,6214}. * gnu/packages/patches/gd-CVE-2016-5766.patch, gnu/packages/patches/gd-CVE-2016-6128.patch, gnu/packages/patches/gd-CVE-2016-6132.patch, gnu/packages/patches/gd-CVE-2016-6214.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/gd.scm (gd): Use patches. --- gnu/local.mk | 4 + gnu/packages/gd.scm | 4 + gnu/packages/patches/gd-CVE-2016-5766.patch | 81 +++++++ gnu/packages/patches/gd-CVE-2016-6128.patch | 253 ++++++++++++++++++++ gnu/packages/patches/gd-CVE-2016-6132.patch | 55 +++++ gnu/packages/patches/gd-CVE-2016-6214.patch | 66 +++++ 6 files changed, 463 insertions(+) create mode 100644 gnu/packages/patches/gd-CVE-2016-5766.patch create mode 100644 gnu/packages/patches/gd-CVE-2016-6128.patch create mode 100644 gnu/packages/patches/gd-CVE-2016-6132.patch create mode 100644 gnu/packages/patches/gd-CVE-2016-6214.patch diff --git a/gnu/local.mk b/gnu/local.mk index 71409b9735..536ecef4ea 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -510,6 +510,10 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-cross-environment-variables.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-5.0-libvtv-runpath.patch \ + %D%/packages/patches/gd-CVE-2016-5766.patch \ + %D%/packages/patches/gd-CVE-2016-6128.patch \ + %D%/packages/patches/gd-CVE-2016-6132.patch \ + %D%/packages/patches/gd-CVE-2016-6214.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghostscript-CVE-2015-3228.patch \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index b4e634969e..700de33a7a 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -47,6 +47,10 @@ (uri (string-append "https://github.com/libgd/libgd/releases/download/gd-" version "/libgd-" version ".tar.xz")) + (patches (search-patches "gd-CVE-2016-5766.patch" + "gd-CVE-2016-6128.patch" + "gd-CVE-2016-6132.patch" + "gd-CVE-2016-6214.patch")) (sha256 (base32 "1311g5mva2xlzqv3rjqjc4jjkn5lzls4skvr395h633zw1n7b7s8")))) diff --git a/gnu/packages/patches/gd-CVE-2016-5766.patch b/gnu/packages/patches/gd-CVE-2016-5766.patch new file mode 100644 index 0000000000..400cb0ab48 --- /dev/null +++ b/gnu/packages/patches/gd-CVE-2016-5766.patch @@ -0,0 +1,81 @@ +Fix CVE-2016-5766 (Integer Overflow in _gd2GetHeader() resulting in heap +overflow). + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5766 + +Adapted from upstream commits: +https://github.com/libgd/libgd/commit/aba3db8ba159465ecec1089027a24835a6da9cc0 +https://github.com/libgd/libgd/commit/a6a0e7feabb2a9738086a5dc96348f233c87fa79 + +Since `patch` cannot apply Git binary diffs, we omit the addition of +'tests/gd2/php_bug_72339.c' and its associated binary data. + +From aba3db8ba159465ecec1089027a24835a6da9cc0 Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Tue, 28 Jun 2016 16:23:42 +0700 +Subject: [PATCH] fix php bug 72339 (CVE-2016-5766), Integer Overflow in + _gd2GetHeader() resulting in heap overflow + +--- + src/gd_gd2.c | 5 ++++- + tests/gd2/CMakeLists.txt | 1 + + tests/gd2/Makemodule.am | 6 ++++-- + tests/gd2/php_bug_72339.c | 21 +++++++++++++++++++++ + tests/gd2/php_bug_72339_exp.gd2 | Bin 0 -> 67108882 bytes + 5 files changed, 30 insertions(+), 3 deletions(-) + create mode 100644 tests/gd2/php_bug_72339.c + create mode 100644 tests/gd2/php_bug_72339_exp.gd2 + +diff --git a/src/gd_gd2.c b/src/gd_gd2.c +index fd1e0c9..bdbbecf 100644 +--- a/src/gd_gd2.c ++++ b/src/gd_gd2.c +@@ -154,8 +154,11 @@ _gd2GetHeader (gdIOCtxPtr in, int *sx, int *sy, + nc = (*ncx) * (*ncy); + GD2_DBG (printf ("Reading %d chunk index entries\n", nc)); + sidx = sizeof (t_chunk_info) * nc; ++ if (overflow2(sidx, nc)) { ++ goto fail1; ++ } + cidx = gdCalloc (sidx, 1); +- if (!cidx) { ++ if (cidx == NULL) { + goto fail1; + } + for (i = 0; i < nc; i++) { +From a6a0e7feabb2a9738086a5dc96348f233c87fa79 Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Wed, 29 Jun 2016 09:36:26 +0700 +Subject: [PATCH] fix php bug 72339 (CVE-2016-5766), Integer Overflow in + _gd2GetHeader() resulting in heap overflow. Sync with php's sync + +--- + src/gd_gd2.c | 7 ++++++- + tests/gd2/php_bug_72339.c | 2 +- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/gd_gd2.c b/src/gd_gd2.c +index bdbbecf..2837456 100644 +--- a/src/gd_gd2.c ++++ b/src/gd_gd2.c +@@ -152,11 +152,16 @@ _gd2GetHeader (gdIOCtxPtr in, int *sx, int *sy, + + if (gd2_compressed (*fmt)) { + nc = (*ncx) * (*ncy); ++ + GD2_DBG (printf ("Reading %d chunk index entries\n", nc)); ++ if (overflow2(sizeof(t_chunk_info), nc)) { ++ goto fail1; ++ } + sidx = sizeof (t_chunk_info) * nc; +- if (overflow2(sidx, nc)) { ++ if (sidx <= 0) { + goto fail1; + } ++ + cidx = gdCalloc (sidx, 1); + if (cidx == NULL) { + goto fail1; +-- +2.9.1 + diff --git a/gnu/packages/patches/gd-CVE-2016-6128.patch b/gnu/packages/patches/gd-CVE-2016-6128.patch new file mode 100644 index 0000000000..45ee6b0cfa --- /dev/null +++ b/gnu/packages/patches/gd-CVE-2016-6128.patch @@ -0,0 +1,253 @@ +Fix CVE-2016-6128 (invalid color index is not properly handled leading +to denial of service). + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=2016-6128 + +Copied from upstream commits: +https://github.com/libgd/libgd/compare/3fe0a7128bac5000fdcfab888bd2a75ec0c9447d...fd623025505e87bba7ec8555eeb72dae4fb0afd + +From 1ccfe21e14c4d18336f9da8515cd17db88c3de61 Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Mon, 27 Jun 2016 11:17:39 +0700 +Subject: [PATCH 1/8] fix php 72494, invalid color index not handled, can lead + to crash + +--- + src/gd_crop.c | 4 ++++ + tests/CMakeLists.txt | 1 + + tests/Makefile.am | 1 + + 3 files changed, 6 insertions(+) + +diff --git a/src/gd_crop.c b/src/gd_crop.c +index 0296633..532b49b 100644 +--- a/src/gd_crop.c ++++ b/src/gd_crop.c +@@ -136,6 +136,10 @@ BGD_DECLARE(gdImagePtr) gdImageCropThreshold(gdImagePtr im, const unsigned int c + return NULL; + } + ++ if (color < 0 || (!gdImageTrueColor(im) && color >= gdImageColorsTotal(im))) { ++ return NULL; ++ } ++ + /* TODO: Add gdImageGetRowPtr and works with ptr at the row level + * for the true color and palette images + * new formats will simply work with ptr +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 6f5c786..5093d52 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -31,6 +31,7 @@ if (BUILD_TEST) + gdimagecolortransparent + gdimagecopy + gdimagecopyrotated ++ gdimagecrop + gdimagefile + gdimagefill + gdimagefilledellipse +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 4f6e756..5a0ebe8 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -25,6 +25,7 @@ include gdimagecolorresolve/Makemodule.am + include gdimagecolortransparent/Makemodule.am + include gdimagecopy/Makemodule.am + include gdimagecopyrotated/Makemodule.am ++include gdimagecrop/Makemodule.am + include gdimagefile/Makemodule.am + include gdimagefill/Makemodule.am + include gdimagefilledellipse/Makemodule.am +-- +2.9.1 + +From 8c9f39c7cb1f62ea00bc7a48aff64d3811c2d6d0 Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Mon, 27 Jun 2016 11:20:07 +0700 +Subject: [PATCH 2/8] fix php 72494, invalid color index not handled, can lead + to crash + +--- + tests/gdimagecrop/.gitignore | 1 + + 1 file changed, 1 insertion(+) + create mode 100644 tests/gdimagecrop/.gitignore + +diff --git a/tests/gdimagecrop/.gitignore b/tests/gdimagecrop/.gitignore +new file mode 100644 +index 0000000..8e8c9c3 +--- /dev/null ++++ b/tests/gdimagecrop/.gitignore +@@ -0,0 +1 @@ ++/php_bug_72494 +-- +2.9.1 + +From 8de370b7b6263a02268037a7cd13ddd991b43ea9 Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Mon, 27 Jun 2016 11:24:50 +0700 +Subject: [PATCH 3/8] fix php 72494, invalid color index not handled, can lead + to crash + +--- + tests/gdimagecrop/CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + create mode 100644 tests/gdimagecrop/CMakeLists.txt + +diff --git a/tests/gdimagecrop/CMakeLists.txt b/tests/gdimagecrop/CMakeLists.txt +new file mode 100644 +index 0000000..f7e4c7e +--- /dev/null ++++ b/tests/gdimagecrop/CMakeLists.txt +@@ -0,0 +1,5 @@ ++SET(TESTS_FILES ++ php_bug_72494 ++) ++ ++ADD_GD_TESTS() +-- +2.9.1 + +From bca12e4e11ecda8a0ea719472700ad5c2b36a0d6 Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Mon, 27 Jun 2016 11:25:12 +0700 +Subject: [PATCH 4/8] fix php 72494, invalid color index not handled, can lead + to crash + +--- + tests/gdimagecrop/Makemodule.am | 5 +++++ + 1 file changed, 5 insertions(+) + create mode 100644 tests/gdimagecrop/Makemodule.am + +diff --git a/tests/gdimagecrop/Makemodule.am b/tests/gdimagecrop/Makemodule.am +new file mode 100644 +index 0000000..210888b +--- /dev/null ++++ b/tests/gdimagecrop/Makemodule.am +@@ -0,0 +1,5 @@ ++libgd_test_programs += \ ++ gdimagecrop/php_bug_72494 ++ ++EXTRA_DIST += \ ++ gdimagecrop/CMakeLists.txt +-- +2.9.1 + +From 6ff72ae40c7c20ece939afb362d98cc37f4a1c96 Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Mon, 27 Jun 2016 11:25:40 +0700 +Subject: [PATCH 5/8] fix php 72494, invalid color index not handled, can lead + to crash + +--- + tests/gdimagecrop/php_bug_72494.c | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + create mode 100644 tests/gdimagecrop/php_bug_72494.c + +diff --git a/tests/gdimagecrop/php_bug_72494.c b/tests/gdimagecrop/php_bug_72494.c +new file mode 100644 +index 0000000..adaa379 +--- /dev/null ++++ b/tests/gdimagecrop/php_bug_72494.c +@@ -0,0 +1,23 @@ ++#include ++#include ++#include "gd.h" ++ ++#include "gdtest.h" ++ ++int main() ++{ ++ gdImagePtr im, exp; ++ int error = 0; ++ ++ im = gdImageCreate(50, 50); ++ ++ if (!im) { ++ gdTestErrorMsg("gdImageCreate failed.\n"); ++ return 1; ++ } ++ ++ gdImageCropThreshold(im, 1337, 0); ++ gdImageDestroy(im); ++ /* this bug tests a crash, it never reaches this point if the bug exists*/ ++ return 0; ++} +-- +2.9.1 + +From a0f9f8f7bd0d3a6c6afd6d180b8e75d93aadddfa Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Mon, 27 Jun 2016 11:38:07 +0700 +Subject: [PATCH 6/8] fix php 72494, CID 149753, color is unsigned int, remove + useless <0 comparison + +--- + src/gd_crop.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gd_crop.c b/src/gd_crop.c +index 532b49b..d51ad67 100644 +--- a/src/gd_crop.c ++++ b/src/gd_crop.c +@@ -136,7 +136,7 @@ BGD_DECLARE(gdImagePtr) gdImageCropThreshold(gdImagePtr im, const unsigned int c + return NULL; + } + +- if (color < 0 || (!gdImageTrueColor(im) && color >= gdImageColorsTotal(im))) { ++ if (!gdImageTrueColor(im) && color >= gdImageColorsTotal(im)) { + return NULL; + } + +-- +2.9.1 + +From 907115fbb980862934d0de91af4977a216745039 Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Mon, 27 Jun 2016 11:51:40 +0700 +Subject: [PATCH 7/8] fix php 72494, CID 149753, color is unsigned int, remove + useless <0 comparison + +--- + tests/gdimagecrop/php_bug_72494.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/gdimagecrop/php_bug_72494.c b/tests/gdimagecrop/php_bug_72494.c +index adaa379..5cb589b 100644 +--- a/tests/gdimagecrop/php_bug_72494.c ++++ b/tests/gdimagecrop/php_bug_72494.c +@@ -6,7 +6,7 @@ + + int main() + { +- gdImagePtr im, exp; ++ gdImagePtr im; + int error = 0; + + im = gdImageCreate(50, 50); +-- +2.9.1 + +From fd623025505e87bba7ec8555eeb72dae4fb0afdc Mon Sep 17 00:00:00 2001 +From: Pierre Joye +Date: Mon, 27 Jun 2016 12:04:25 +0700 +Subject: [PATCH 8/8] fix php 72494, CID 149753, color is unsigned int, remove + useless <0 comparison + +--- + tests/gdimagecrop/php_bug_72494.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/tests/gdimagecrop/php_bug_72494.c b/tests/gdimagecrop/php_bug_72494.c +index 5cb589b..3bd19be 100644 +--- a/tests/gdimagecrop/php_bug_72494.c ++++ b/tests/gdimagecrop/php_bug_72494.c +@@ -7,7 +7,6 @@ + int main() + { + gdImagePtr im; +- int error = 0; + + im = gdImageCreate(50, 50); + +-- +2.9.1 + diff --git a/gnu/packages/patches/gd-CVE-2016-6132.patch b/gnu/packages/patches/gd-CVE-2016-6132.patch new file mode 100644 index 0000000000..4c475b71b2 --- /dev/null +++ b/gnu/packages/patches/gd-CVE-2016-6132.patch @@ -0,0 +1,55 @@ +Fix CVE-2016-6132 (read out-of-bounds when parsing TGA files). + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=2016-6132 + +Copied from upstream commit: +https://github.com/libgd/libgd/commit/ead349e99868303b37f5e6e9d9d680c9dc71ff8d + +From ead349e99868303b37f5e6e9d9d680c9dc71ff8d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= +Date: Tue, 12 Jul 2016 11:24:09 +0200 +Subject: [PATCH] Fix #247, A read out-of-bands was found in the parsing of TGA + files (CVE-2016-6132) + +--- + src/gd_tga.c | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/src/gd_tga.c b/src/gd_tga.c +index ef20f86..20fe2d2 100644 +--- a/src/gd_tga.c ++++ b/src/gd_tga.c +@@ -237,7 +237,11 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga ) + return -1; + } + +- gdGetBuf(conversion_buffer, image_block_size, ctx); ++ if (gdGetBuf(conversion_buffer, image_block_size, ctx) != image_block_size) { ++ gd_error("gd-tga: premature end of image data\n"); ++ gdFree(conversion_buffer); ++ return -1; ++ } + + while (buffer_caret < image_block_size) { + tga->bitmap[buffer_caret] = (int) conversion_buffer[buffer_caret]; +@@ -257,11 +261,16 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga ) + } + conversion_buffer = (unsigned char *) gdMalloc(image_block_size * sizeof(unsigned char)); + if (conversion_buffer == NULL) { ++ gd_error("gd-tga: premature end of image data\n"); + gdFree( decompression_buffer ); + return -1; + } + +- gdGetBuf( conversion_buffer, image_block_size, ctx ); ++ if (gdGetBuf(conversion_buffer, image_block_size, ctx) != image_block_size) { ++ gdFree(conversion_buffer); ++ gdFree(decompression_buffer); ++ return -1; ++ } + + buffer_caret = 0; + +-- +2.9.1 + diff --git a/gnu/packages/patches/gd-CVE-2016-6214.patch b/gnu/packages/patches/gd-CVE-2016-6214.patch new file mode 100644 index 0000000000..7894a32bb1 --- /dev/null +++ b/gnu/packages/patches/gd-CVE-2016-6214.patch @@ -0,0 +1,66 @@ +Fix CVE-2016-6214 (read out-of-bounds when parsing TGA files). + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6214 + +Adapted from upstream commit: +https://github.com/libgd/libgd/commit/341aa68843ceceae9ba6e083431f14a07bd92308 + +Since `patch` cannot apply Git binary diffs, we omit the addition of +'tests/tga/bug00247a.c' and its associated binary data. + +From 341aa68843ceceae9ba6e083431f14a07bd92308 Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" +Date: Tue, 12 Jul 2016 19:23:13 +0200 +Subject: [PATCH] Unsupported TGA bpp/alphabit combinations should error + gracefully + +Currently, only 24bpp without alphabits and 32bpp with 8 alphabits are +really supported. All other combinations will be rejected with a warning. + +(cherry picked from commit cb1a0b7e54e9aa118270c23a4a6fe560e4590dc9) +--- + src/gd_tga.c | 16 ++++++---------- + tests/tga/.gitignore | 1 + + tests/tga/CMakeLists.txt | 1 + + tests/tga/Makemodule.am | 4 +++- + tests/tga/bug00247a.c | 19 +++++++++++++++++++ + tests/tga/bug00247a.tga | Bin 0 -> 36 bytes + 6 files changed, 30 insertions(+), 11 deletions(-) + create mode 100644 tests/tga/bug00247a.c + create mode 100644 tests/tga/bug00247a.tga + +diff --git a/src/gd_tga.c b/src/gd_tga.c +index 20fe2d2..b4f8fa6 100644 +--- a/src/gd_tga.c ++++ b/src/gd_tga.c +@@ -99,7 +99,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromTgaCtx(gdIOCtx* ctx) + if (tga->bits == TGA_BPP_24) { + *tpix = gdTrueColor(tga->bitmap[bitmap_caret + 2], tga->bitmap[bitmap_caret + 1], tga->bitmap[bitmap_caret]); + bitmap_caret += 3; +- } else if (tga->bits == TGA_BPP_32 || tga->alphabits) { ++ } else if (tga->bits == TGA_BPP_32 && tga->alphabits) { + register int a = tga->bitmap[bitmap_caret + 3]; + + *tpix = gdTrueColorAlpha(tga->bitmap[bitmap_caret + 2], tga->bitmap[bitmap_caret + 1], tga->bitmap[bitmap_caret], gdAlphaMax - (a >> 1)); +@@ -159,16 +159,12 @@ int read_header_tga(gdIOCtx *ctx, oTga *tga) + printf("wxh: %i %i\n", tga->width, tga->height); + #endif + +- switch(tga->bits) { +- case 8: +- case 16: +- case 24: +- case 32: +- break; +- default: +- gd_error("bps %i not supported", tga->bits); ++ if (!((tga->bits == TGA_BPP_24 && tga->alphabits == 0) ++ || (tga->bits == TGA_BPP_32 && tga->alphabits == 8))) ++ { ++ gd_error_ex(GD_WARNING, "gd-tga: %u bits per pixel with %u alpha bits not supported\n", ++ tga->bits, tga->alphabits); + return -1; +- break; + } + + tga->ident = NULL; From 334c00f2bcc4de5df3de35dfefed3183c5cfdf66 Mon Sep 17 00:00:00 2001 From: Alex Griffin Date: Fri, 8 Jul 2016 14:27:32 -0500 Subject: [PATCH 361/435] gnu: Add reptyr. * gnu/packages/screen.scm (reptyr): New variable. Signed-off-by: Leo Famulari --- gnu/packages/screen.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index db8da0ae30..e3f97f4b68 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Alex Griffin ;;; ;;; This file is part of GNU Guix. ;;; @@ -142,3 +143,30 @@ as folding room dividers. The Byobu software includes an enhanced profile, configuration utilities, and system status notifications for the GNU Screen window manager as well as the Tmux terminal multiplexer.") (license gpl3+))) + +(define-public reptyr + (package + (name "reptyr") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/nelhage/reptyr/archive" + "/reptyr-" version ".tar.gz")) + (sha256 + (base32 + "07pfl0rkgm8m3f3jy8r9l2yvnhf8lgllpsk3mh57mhzdxq8fagf7")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases (modify-phases %standard-phases (delete 'configure)))) + (home-page "https://github.com/nelhage/reptyr") + (synopsis "Tool for reparenting a running program to a new terminal") + (description + "reptyr is a utility for taking an existing running program and attaching +it to a new terminal. Started a long-running process over @code{ssh}, but have +to leave and don't want to interrupt it? Just start a @code{screen}, use +reptyr to grab it, and then kill the @code{ssh} session and head on home.") + (license expat))) From a2285798832daa6b4d33aac3382171ec25ea032d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 17 Jul 2016 08:56:03 +0300 Subject: [PATCH 362/435] gnu: Add rlwrap. * gnu/packages/readline.scm (rlwrap): New variable. --- gnu/packages/readline.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm index db469db051..169a7386c4 100644 --- a/gnu/packages/readline.scm +++ b/gnu/packages/readline.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ #:use-module (guix licenses) #:use-module (gnu packages) #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -85,3 +87,29 @@ comfortable for anyone.") (sha256 (base32 "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr")))))) + +(define-public rlwrap + (package + (name "rlwrap") + (version "0.42") + (source + (origin + (method url-fetch) + (uri (string-append "http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-" + version ".tar.gz")) + (sha256 + (base32 + "0i3yz303wscrysyzpdq04h4nrl9ajz9dbwi80risdl5rkm3dhw2s")))) + (build-system gnu-build-system) + (native-inputs `(("perl" ,perl))) + (inputs + `(("readline" ,readline))) + (synopsis "Wrapper to allow the editing of keyboard commands") + (description + "Rlwrap is a 'readline wrapper', a small utility that uses the GNU +readline library to allow the editing of keyboard input for any command. You +should consider rlwrap especially when you need user-defined completion (by way +of completion word lists) and persistent history, or if you want to program +'special effects' using the filter mechanism.") + (home-page "http://utopia.knoware.nl/~hlub/uck/rlwrap/") + (license gpl2+))) From 1c32830b7d3496c2729449ef0d0f9f72d543b308 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 20:27:47 +0200 Subject: [PATCH 363/435] gnu: Add emacs-el-mock. * gnu/packages/emacs.scm (emacs-el-mock): New variable. --- gnu/packages/emacs.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 3e6a2b5df4..95c8d9b756 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1283,6 +1283,28 @@ strings.") files and directories.") (license license:gpl3+))) +(define-public emacs-el-mock + (package + (name "emacs-el-mock") + (version "1.25.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/rejeep/el-mock.el/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16xw94n58xxn3zvgyj72bmzs0k5lkvswjmzs79ws9n7rzdivb38b")))) + (build-system emacs-build-system) + (home-page "http://github.com/rejeep/el-mock.el") + (synopsis "Tiny mock and stub framework in Emacs Lisp") + (description + "Emacs Lisp Mock is a library for mocking and stubbing using readable +syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp +Expectations, but it can be used in other contexts.") + (license license:gpl3+))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From 0c5d837c8238b850cbd1d9a97dfbdd2b1a2cdbae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 20:29:50 +0200 Subject: [PATCH 364/435] gnu: Add emacs-espuds. * gnu/packages/emacs.scm (emacs-espuds): 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 95c8d9b756..fb84d90c1e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1305,6 +1305,30 @@ syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp Expectations, but it can be used in other contexts.") (license license:gpl3+))) +(define-public emacs-espuds + (package + (name "emacs-espuds") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/ecukes/espuds/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xv551376pbmh735a3zjwc9z4qdx6ngj1vpq3xqjpn0a1rwjyn4k")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-s" ,emacs-s) + ("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f))) + (home-page "http://github.com/ecukes/espuds") + (synopsis "Common step definitions for Ecukes") + (description "Espuds is a collection of the most commonly used step +definitions for testing with the Ecukes framework.") + (license license:gpl3+))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From d0e4378266681c294754bb09ad8cfe810ffdb29e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Jul 2016 12:24:05 +0200 Subject: [PATCH 365/435] gnu: Add emacs-expand-region. * gnu/packages/emacs.scm (emacs-expand-region): New variable. --- gnu/packages/emacs.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index fb84d90c1e..371c3fae40 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1329,6 +1329,28 @@ Expectations, but it can be used in other contexts.") definitions for testing with the Ecukes framework.") (license license:gpl3+))) +(define-public emacs-expand-region + (package + (name "emacs-expand-region") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/magnars/expand-region.el" + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zfiaqyb3zqiyqjkpqsjw660j09805nqsg25q6ars2h8gs0rnvxb")))) + (build-system emacs-build-system) + (home-page "https://github.com/magnars/expand-region.el") + (synopsis "Increase selected region by semantic units") + (description + "Expand region increases the selected region by semantic units. Just +keep pressing the key until it selects what you want. There's also +@code{er/contract-region} if you expand too far.") + (license license:gpl3+))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From 655684468e28f841b432ac3f34751e29c6721953 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Jul 2016 13:50:36 +0200 Subject: [PATCH 366/435] gnu: Add emacs-fill-column-indicator. * gnu/packages/emacs.scm (emacs-fill-column-indicator): New variable. --- gnu/packages/emacs.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 371c3fae40..7a67b03f06 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1351,6 +1351,27 @@ keep pressing the key until it selects what you want. There's also @code{er/contract-region} if you expand too far.") (license license:gpl3+))) +(define-public emacs-fill-column-indicator + (package + (name "emacs-fill-column-indicator") + (version "1.81") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/alpaker/Fill-Column-Indicator" + "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xwyqbjbbicmvhlb85vg4j5snwy1vd7rfk89ws4viws5ljkhhyg8")))) + (build-system emacs-build-system) + (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator") + (synopsis "Graphically indicate the fill column") + (description + "Fill-column-indicator graphically indicates the location of the fill +column by drawing a thin line down the length of the editing window.") + (license license:gpl3+))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From 7b9769b04d66c3121c5295676f4d5ae686c96936 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Jul 2016 15:40:02 +0200 Subject: [PATCH 367/435] gnu: Add emacs-znc. * gnu/packages/emacs.scm (emacs-znc): New variable. --- gnu/packages/emacs.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7a67b03f06..d2e306b248 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1372,6 +1372,26 @@ keep pressing the key until it selects what you want. There's also column by drawing a thin line down the length of the editing window.") (license license:gpl3+))) +(define-public emacs-znc + (package + (name "emacs-znc") + (version "0.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://marmalade-repo.org/packages/znc-" + version ".el")) + (sha256 + (base32 + "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh")))) + (build-system emacs-build-system) + (home-page "https://github.com/sshirokov/ZNC.el") + (synopsis "Make ERC and ZNC get along better") + (description + "This is a thin wrapper around @code{erc} that enables one to use the ZNC +IRC bouncer with ERC.") + (license license:expat))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From 07046e5f44577f2a1c00627f7af2a5d8cfb4e2b1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 09:12:16 +0200 Subject: [PATCH 368/435] gnu: Add emacs-paren-face. * gnu/packages/emacs.scm (emacs-paren-face): New variable. --- gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d2e306b248..99fa32cbd0 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1392,6 +1392,31 @@ column by drawing a thin line down the length of the editing window.") IRC bouncer with ERC.") (license license:expat))) +(define-public emacs-paren-face + (package + (name "emacs-paren-face") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/tarsius/paren-face/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0y4qrhxa9332vsvr999jg7qj1ymnfgwpf591yi4a4jgg90pm7qnn")))) + (build-system emacs-build-system) + (home-page "http://github.com/tarsius/paren-face") + (synopsis "Face for parentheses in lisp modes") + (description + "This library defines a face named @code{parenthesis} used just for +parentheses. The intended purpose of this face is to make parentheses less +visible in Lisp code by dimming them. Lispers probably don't need to be +constantly made aware of the existence of the parentheses. Dimming them might +be even more useful for people new to lisp who have not yet learned to +subconsciously blend out the parentheses.") + (license license:gpl3+))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From a46e3c0dc606b0f8e04fcf224113eb3de4d865b7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 11:55:41 +0200 Subject: [PATCH 369/435] gnu: Add emacs-page-break-lines. * gnu/packages/emacs.scm (emacs-page-break-lines): New variable. --- gnu/packages/emacs.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 99fa32cbd0..50f077fa23 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1417,6 +1417,27 @@ be even more useful for people new to lisp who have not yet learned to subconsciously blend out the parentheses.") (license license:gpl3+))) +(define-public emacs-page-break-lines + (package + (name "emacs-page-break-lines") + (version "0.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/purcell/page-break-lines/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zzhziq5kbrm9rxk30kx2glz455fp1blqxg8cpcf6l8xl3w8z4pg")))) + (build-system emacs-build-system) + (home-page "https://github.com/purcell/page-break-lines") + (synopsis "Display page breaks as tidy horizontal lines") + (description + "This library provides a global mode which displays form feed characters +as horizontal rules.") + (license license:gpl3+))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From 1f8a951bf42d10615da66b03b43fa74f1e78d67d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 11:56:03 +0200 Subject: [PATCH 370/435] gnu: Add emacs-simple-httpd. * gnu/packages/emacs.scm (emacs-simple-httpd): New variable. --- gnu/packages/emacs.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 50f077fa23..a251253bfa 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1438,6 +1438,27 @@ subconsciously blend out the parentheses.") as horizontal rules.") (license license:gpl3+))) +(define-public emacs-simple-httpd + (package + (name "emacs-simple-httpd") + (version "1.4.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/skeeto/emacs-web-server/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01r7h3imnj4qx1m53a2wjafvbylcyz5f9r2rg2cs7ky3chlg220r")))) + (build-system emacs-build-system) + (home-page "https://github.com/skeeto/emacs-http-server") + (synopsis "HTTP server in pure Emacs Lisp") + (description + "This package provides a simple HTTP server written in Emacs Lisp to +serve files and directory listings.") + (license license:unlicense))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From 6c04acaa6eb4f3729b116ee34c9f0ede62c12d2f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 11:56:29 +0200 Subject: [PATCH 371/435] gnu: Add emacs-skewer-mode. * gnu/packages/emacs.scm (emacs-skewer-mode): 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 a251253bfa..d8aa86838c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1459,6 +1459,32 @@ as horizontal rules.") serve files and directory listings.") (license license:unlicense))) +(define-public emacs-skewer-mode + (package + (name "emacs-skewer-mode") + (version "1.6.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/skeeto/skewer-mode/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07jpz374j0j964szy3zznrkyja2kpdl3xa87wh7349mzxivqxdx0")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-simple-httpd" ,emacs-simple-httpd) + ("emacs-js2-mode" ,emacs-js2-mode))) + (home-page "https://github.com/skeeto/skewer-mode") + (synopsis "Live web development in Emacs") + (description + "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in +a web browser. Expressions are sent on-the-fly from an editing buffer to be +evaluated in the browser, just like Emacs does with an inferior Lisp process +in Lisp modes.") + (license license:unlicense))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From 8d81016344e67d107b353abe71886320619b4c4d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 16:43:17 +0200 Subject: [PATCH 372/435] gnu: Add emacs-rich-minority. * gnu/packages/emacs.scm (emacs-rich-minority): New variable. --- gnu/packages/emacs.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d8aa86838c..c074ff0691 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1485,6 +1485,27 @@ evaluated in the browser, just like Emacs does with an inferior Lisp process in Lisp modes.") (license license:unlicense))) +(define-public emacs-rich-minority + (package + (name "emacs-rich-minority") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Malabarba/rich-minority/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l0cb0q7kyi88nwfqd542psnkgwnjklpzc5rx32gzd3lkwkrbr8v")))) + (build-system emacs-build-system) + (home-page "https://github.com/Malabarba/rich-minority") + (synopsis "Clean-up and beautify the list of minor modes") + (description + "This Emacs package hides and/or highlights minor modes in the +mode-line.") + (license license:gpl2+))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From b33f913d9cc5154c4f30103256c7ba2c43be5e08 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2016 16:43:41 +0200 Subject: [PATCH 373/435] gnu: Add emacs-smart-mode-line. * gnu/packages/emacs.scm (emacs-smart-mode-line): 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 c074ff0691..a2b8ba2172 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1506,6 +1506,30 @@ in Lisp modes.") mode-line.") (license license:gpl2+))) +(define-public emacs-smart-mode-line + (package + (name "emacs-smart-mode-line") + (version "2.10.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Malabarba/smart-mode-line/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0i9wajabrrsjzwd842q0m2611kf0q31p9hg1pdj81177gynkw8l8")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-rich-minority" ,emacs-rich-minority))) + (home-page "http://github.com/Malabarba/smart-mode-line") + (synopsis "Color-coded smart mode-line.") + (description + "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to +read from small to large monitors by using colors, a prefix feature, and smart +truncation.") + (license license:gpl2+))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From 1f9a709710e651e3a0f0937635689eb698b260cd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 12:13:52 +0200 Subject: [PATCH 374/435] gnu: Add emacs-shut-up. * gnu/packages/emacs.scm (emacs-shut-up): New variable. --- gnu/packages/emacs.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a2b8ba2172..902575f079 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1392,6 +1392,26 @@ column by drawing a thin line down the length of the editing window.") IRC bouncer with ERC.") (license license:expat))) +(define-public emacs-shut-up + (package + (name "emacs-shut-up") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/cask/shut-up/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09kzrjdkb569iviyg7ydwq44yh84m3f9hkl7jizfrlk0w4gz67d1")))) + (build-system emacs-build-system) + (home-page "https://github.com/cask/shut-up") + (synopsis "Silence Emacs") + (description "This package silences most output of Emacs when running an +Emacs shell script.") + (license license:expat))) + (define-public emacs-paren-face (package (name "emacs-paren-face") From dbe38a3a589508986cf91dfac9c641f8da41bf93 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 12:14:24 +0200 Subject: [PATCH 375/435] gnu: Add emacs-undercover. * gnu/packages/emacs.scm (emacs-undercover): 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 902575f079..a1fb88542c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1412,6 +1412,30 @@ IRC bouncer with ERC.") Emacs shell script.") (license license:expat))) +(define-public emacs-undercover + (package + (name "emacs-undercover") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/sviridov/undercover.el/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0f48fi0xnbsqs382rgh85m9mq1wdnr0yib7as9xhwzvq0hsr5m0a")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-shut-up" ,emacs-shut-up))) + (home-page "https://github.com/sviridov/undercover.el") + (synopsis "Test coverage library for Emacs Lisp") + (description + "Undercover is a test coverage library for software written in Emacs +Lisp.") + (license license:expat))) + (define-public emacs-paren-face (package (name "emacs-paren-face") From 3bcb304ea8b0d1f9e134810137e6496f99799c4e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Jul 2016 15:41:04 +0200 Subject: [PATCH 376/435] gnu: Add emacs-shell-switcher. * gnu/packages/emacs.scm (emacs-shell-switcher): New variable. --- gnu/packages/emacs.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a1fb88542c..27c50f7f0e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1574,6 +1574,26 @@ read from small to large monitors by using colors, a prefix feature, and smart truncation.") (license license:gpl2+))) +(define-public emacs-shell-switcher + (package + (name "emacs-shell-switcher") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/DamienCassou/shell-switcher" + "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1c23mfkdqz2g9rixd9smm323vzlvhzz3ng34ambcqjfq309qb2nz")))) + (build-system emacs-build-system) + (home-page "https://github.com/DamienCassou/shell-switcher") + (synopsis "Provide fast switching between shell buffers") + (description + "This package provides commands to quickly switch between shell buffers.") + (license license:gpl3+))) + (define-public emacs-ob-ipython (package (name "emacs-ob-ipython") From e203221f503878a1171a270a1dcbb0e74d4ffc7b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 21:58:42 +0200 Subject: [PATCH 377/435] gnu: Add emacs-tagedit. * gnu/packages/emacs.scm (emacs-tagedit): 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 27c50f7f0e..63c6263797 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1851,6 +1851,30 @@ identifiers in the MIT-Scheme documentation.") constants and units into an Emacs buffer.") (license license:gpl2+))) +(define-public emacs-tagedit + (package + (name "emacs-tagedit") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/magnars/tagedit/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1apfnann4qklfdsmdi7icjsj18x7gwx8d83iqr4z25clszz95xfq")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-s" ,emacs-s) + ("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/magnars/tagedit") + (synopsis "Some paredit-like features for html-mode") + (description + "This package provides a collection of paredit-like functions for editing +in @code{html-mode}.") + (license license:gpl3+))) + (define-public emacs-slime (package (name "emacs-slime") From 480f7350d9dd57be7aad48646f9eb1b4025ec0fe Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 22:48:06 +0200 Subject: [PATCH 378/435] gnu: Add emacs-perspective. * gnu/packages/emacs.scm (emacs-perspective): New variable. --- gnu/packages/emacs.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 63c6263797..1e383f1d1a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2124,6 +2124,33 @@ moving to the next or previous keyword and to invoke @code{occur} with a regexp that matches all known keywords.") (license license:gpl3+))) +(define-public emacs-perspective + (package + (name "emacs-perspective") + (version "1.12") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/nex3/perspective-el/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "078ahh0kmhdylq5ib9c81c76kz1n02xwc83pm729d00i84ibviic")))) + (build-system emacs-build-system) + (home-page "http://github.com/nex3/perspective-el") + (synopsis "Switch between named \"perspectives\"") + (description + "This package provides tagged workspaces in Emacs, similar to workspaces in +windows managers such as Awesome and XMonad. @code{perspective.el} provides +multiple workspaces (or \"perspectives\") for each Emacs frame. Each +perspective is composed of a window configuration and a set of buffers. +Switching to a perspective activates its window configuration, and when in a +perspective only its buffers are available by default.") + ;; This package is released under the same license as Emacs (GPLv3+) or + ;; the Expat license. + (license license:gpl3+))) + (define-public emacs-hydra (package (name "emacs-hydra") From 012c8b35528631bf641d95cdcd33034d4e268b8b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 12 Jul 2016 23:02:18 +0200 Subject: [PATCH 379/435] gnu: Add emacs-solarized-theme. * gnu/packages/emacs.scm (emacs-solarized-theme): 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 1e383f1d1a..3fcf121dad 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2073,6 +2073,30 @@ number.") It is built on top of the custom theme support in Emacs 24 or later.") (license license:gpl3+))) +(define-public emacs-solarized-theme + (package + (name "emacs-solarized-theme") + (version "1.2.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/bbatsov/solarized-emacs/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-s" ,emacs-s))) + (home-page "http://github.com/bbatsov/solarized-emacs") + (synopsis "Port of the Solarized theme for Emacs") + (description + "Solarized for Emacs is a port of the Solarized theme for Vim. This +package provides a light and a dark variant.") + (license license:gpl3+))) + (define-public emacs-smartparens (package (name "emacs-smartparens") From 7b569b01d383592902461d997ea528b086e47b28 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 17 Jul 2016 11:09:31 +0200 Subject: [PATCH 380/435] gnu: lapack: Build the LAPACKE library. * gnu/packages/maths.scm (lapack)[arguments]: Add "-DLAPACKE=ON". --- gnu/packages/maths.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index c0ee0011d8..643bce5156 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -334,7 +334,8 @@ large scale eigenvalue problems.") (inputs `(("fortran" ,gfortran) ("python" ,python-2))) (arguments - `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES") + `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES" + "-DLAPACKE=ON") #:phases (alist-cons-before 'check 'patch-python (lambda* (#:key inputs #:allow-other-keys) From 2c0d8e0d099158cd5722286ecc166f7a2d416a01 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 17 Jul 2016 12:04:04 +0200 Subject: [PATCH 381/435] gnu: eigensoft: Do not refer to "lapacke" output. * gnu/packages/bioinformatics.scm (eigensoft)[inputs]: Remove reference to non-existing "lapacke" output. --- gnu/packages/bioinformatics.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 40a0cd24c1..b1596b6670 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1656,7 +1656,6 @@ data and settings.") (inputs `(("gsl" ,gsl) ("lapack" ,lapack) - ("lapack" ,lapack "lapacke") ("openblas" ,openblas) ("perl" ,perl) ("gfortran" ,gfortran "lib"))) From 4d4cf3dd99952e5ee33365f43c1ea856bbc38074 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 17 Jul 2016 11:14:06 +0300 Subject: [PATCH 382/435] gnu: python-coverage: Update to 4.1. * gnu/packages/python.scm (python-coverage): Update to 4.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 93b1bb9e2f..f7455383ac 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2013,14 +2013,14 @@ have failed since the last commit or what tests are currently failing.") (define-public python-coverage (package (name "python-coverage") - (version "4.0.3") + (version "4.1") (source (origin (method url-fetch) (uri (pypi-uri "coverage" version)) (sha256 (base32 - "0qjlja8ny4gcfp8abqfwdrvr8qw9kr69lkja0b4cqqbsdmdjgcc5")))) + "01rbr4br4lsk0lwn8fb96zwd2xr4f0mg1w7iq3j11i8f5ig2nqs1")))) (build-system python-build-system) (inputs `(("python-setuptools" ,python-setuptools))) From 287cfd1a084e07dce28379b75beae05cb7ed24fd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 17 Jul 2016 11:48:02 +0300 Subject: [PATCH 383/435] gnu: behave: Update to 1.2.5. * gnu/packages/python.scm (behave): Update to 1.2.5. [source]: Use 'pypi-uri' format. --- gnu/packages/python.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index f7455383ac..a12323045c 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2066,14 +2066,13 @@ backported from Python 2.7 for Python 2.4+.") (define-public behave (package (name "behave") - (version "1.2.4") + (version "1.2.5") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/b/" - name "/" name "-" version ".tar.gz")) + (uri (pypi-uri "behave" version ".tar.bz2")) (sha256 (base32 - "1v2rfy8xnf0rk7cj4cgr7lam4015d458i7bg0xqs9czfv6njlm14")))) + "1iypp6z46r19n4xmgx6m1lwmlpfjh8vapq8izigrqlaarvp2y64c")))) (build-system python-build-system) (inputs `(("python-setuptools" ,python-setuptools) From 988d1bad7b5d5aca4c54cdfd0d7afcc0be1e7a2c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 17 Jul 2016 12:01:56 +0300 Subject: [PATCH 384/435] gnu: python-simplejson: Update to 3.8.2. * gnu/packages/python.scm (python-simplejson): Update to 3.8.2. [source]: Use 'pypi-uri' format. --- gnu/packages/python.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index a12323045c..430c7d4456 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1122,15 +1122,14 @@ after Andy Lester’s Perl module WWW::Mechanize.") (define-public python-simplejson (package (name "python-simplejson") - (version "3.3.0") + (version "3.8.2") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/s/simplejson/simplejson-" - version ".tar.gz")) + (uri (pypi-uri "simplejson" version)) (sha256 (base32 - "07wsry5j44l5zzm74l4j2bvasiq8n5m32f31n2p7c68i5vc6p2ks")))) + "0zylrnax8b6r0ndgni4w9c599fi6wm9vx5g6k3ddqfj3932kk16m")))) (build-system python-build-system) (home-page "http://simplejson.readthedocs.org/en/latest/") (synopsis From 8400ba21253d632fabd8acf40fc98afb072f1443 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 17 Jul 2016 16:14:46 +0300 Subject: [PATCH 385/435] gnu: stalonetray: Update to 0.8.3. * gnu/packages/stalonetray.scm (stalonetray): Update to 0.8.3. --- gnu/packages/stalonetray.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/stalonetray.scm b/gnu/packages/stalonetray.scm index e1604327ab..c803fb06f6 100644 --- a/gnu/packages/stalonetray.scm +++ b/gnu/packages/stalonetray.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Raimon Grau +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,16 +27,16 @@ (define-public stalonetray (package (name "stalonetray") - (version "0.8.1") + (version "0.8.3") (source (origin (method url-fetch) (uri - (string-append "mirror://sourceforge/stalonetray/stalonetray-" + (string-append "mirror://sourceforge/stalonetray/stalonetray/stalonetray-" version "/stalonetray-" version ".tar.bz2")) (sha256 (base32 - "1wp8pnlv34w7xizj1vivnc3fkwqq4qgb9dbrsg15598iw85gi8ll")))) + "0k7xnpdb6dvx25d67v0crlr32cdnzykdsi9j889njiididc8lm1n")))) (inputs `(("libx11" ,libx11))) (build-system gnu-build-system) (home-page "http://stalonetray.sourceforge.net") From 67eb38572f62f1e9a6083c403f87bc0966f2b9e8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 17 Jul 2016 16:20:47 +0300 Subject: [PATCH 386/435] gnu: hoedown: Update to 3.0.7. * gnu/packages/markdown.scm (hoedown): Update to 3.0.7. --- gnu/packages/markdown.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/markdown.scm b/gnu/packages/markdown.scm index a20eef6818..dab3d4eab1 100644 --- a/gnu/packages/markdown.scm +++ b/gnu/packages/markdown.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Mathieu Lirzin ;;; Copyright © 2015 David Thompson +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,7 +32,7 @@ (define-public hoedown (package (name "hoedown") - (version "3.0.3") + (version "3.0.7") (source (origin (method url-fetch) (uri (string-append "https://github.com/hoedown/hoedown/archive/" @@ -39,7 +40,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0mmmkfayqgh6k39kbi3pq68mg03x35aiygy3zypxzvwx9y8b53ky")))) + "0859dc2xjasd6kgkshi8mb20kbyw5sql1ln0hw3bfaf33qdh5dh1")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) From 7593e50b2635330edb5e82aa767dac7c12d92660 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Mon, 18 Jul 2016 00:06:21 +1000 Subject: [PATCH 387/435] gnu: diamond: Update to 0.8.15. * gnu/packages/bioinformatics.scm (diamond): Update to 0.8.15. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b1596b6670..1cbf85ff6c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1568,7 +1568,7 @@ identify enrichments with functional annotations of the genome.") (define-public diamond (package (name "diamond") - (version "0.8.12") + (version "0.8.15") (source (origin (method url-fetch) (uri (string-append @@ -1577,7 +1577,7 @@ identify enrichments with functional annotations of the genome.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "09gh6qy0xi9prgxnhc99yz26fmpa058sphwmwq9g6lh5im3lscvr")))) + "14n0p28b4i5j8vvz1fl4xj1gxnpg98bj0kr3i90mhn7miwr4pkpw")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target From 0b07350675ef8b94041605cb53d4763fb97c8d7d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 17 Jul 2016 02:48:42 +0200 Subject: [PATCH 388/435] gnu: Add xdelta. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/compression.scm (xdelta): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/compression.scm | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 97f0546229..6a170031b0 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2015, 2016 Efraim Flashner ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 Danny Milosavljevic +;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -796,3 +797,39 @@ respectively, based on the reference implementation from Google.") (description "Extracts files out of Microsoft Cabinet (.cab) archives") ;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3. (license license:gpl3+))) + +(define-public xdelta + (package + (name "xdelta") + (version "3.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/jmacd/xdelta/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "17g2pbbqy6h20qgdjq7ykib7kg5ajh8fwbsfgyjqg8pwg19wy5bm")) + (file-name (string-append name "-" version ".tar.gz")) + (snippet + ;; This file isn't freely distributable and has no effect on building. + '(delete-file "xdelta3/draft-korn-vcdiff.txt")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-build-directory + (lambda _ (chdir "xdelta3"))) + (add-before 'configure 'autoconf + (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) + (home-page "http://xdelta.com") + (synopsis "Delta encoder for binary files") + (description "xdelta encodes only the differences between two binary files +using the VCDIFF algorithm and patch file format described in RFC 3284. It can +also be used to apply such patches. xdelta is similar to @command{diff} and +@command{patch}, but is not limited to plain text and does not generate +human-readable output.") + (license license:asl2.0))) From 2bdd7ac17ceff60cd5ef77e530f62cea902bf90d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Jul 2016 00:51:02 +0200 Subject: [PATCH 389/435] system: Honor the 'dependencies' field of file systems. This allows mapped devices listed in 'dependencies' to be properly taken into account. Reported by Andreas Enge . * gnu/system.scm (mapped-device-user): Check whether DEVICE is a member of the 'dependencies' of FS. * tests/system.scm (%luks-device, %os-with-mapped-device): New variables. ("operating-system-user-mapped-devices") ("operating-system-boot-mapped-devices") ("operating-system-boot-mapped-devices, implicit dependency"): New tests. --- gnu/system.scm | 7 +++++-- tests/system.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index a49b3f29b3..476720b9f9 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -81,6 +81,8 @@ operating-system-mapped-devices operating-system-file-systems operating-system-store-file-system + operating-system-user-mapped-devices + operating-system-boot-mapped-devices operating-system-activation-script operating-system-user-accounts operating-system-shepherd-service-names @@ -208,8 +210,9 @@ as 'needed-for-boot'." "Return a file system among FILE-SYSTEMS that uses DEVICE, or #f." (let ((target (string-append "/dev/mapper/" (mapped-device-target device)))) (find (lambda (fs) - (and (eq? 'device (file-system-title fs)) - (string=? (file-system-device fs) target))) + (or (member device (file-system-dependencies fs)) + (and (eq? 'device (file-system-title fs)) + (string=? (file-system-device fs) target)))) file-systems))) (define (operating-system-user-mapped-devices os) diff --git a/tests/system.scm b/tests/system.scm index b935bd07eb..b5bb9af016 100644 --- a/tests/system.scm +++ b/tests/system.scm @@ -41,6 +41,25 @@ (users %base-user-accounts))) +(define %luks-device + (mapped-device + (source "/dev/foo") (target "my-luks-device") + (type luks-device-mapping))) + +(define %os-with-mapped-device + (operating-system + (host-name "komputilo") + (timezone "Europe/Berlin") + (locale "en_US.utf8") + (bootloader (grub-configuration (device "/dev/sdX"))) + (mapped-devices (list %luks-device)) + (file-systems (cons (file-system + (inherit %root-fs) + (dependencies (list %luks-device))) + %base-file-systems)) + (users %base-user-accounts))) + + (test-begin "system") (test-assert "operating-system-store-file-system" @@ -71,4 +90,28 @@ %base-file-systems))))) (eq? gnu (operating-system-store-file-system os)))) +(test-equal "operating-system-user-mapped-devices" + '() + (operating-system-user-mapped-devices %os-with-mapped-device)) + +(test-equal "operating-system-boot-mapped-devices" + (list %luks-device) + (operating-system-boot-mapped-devices %os-with-mapped-device)) + +(test-equal "operating-system-boot-mapped-devices, implicit dependency" + (list %luks-device) + + ;; Here we expect the implicit dependency between "/" and + ;; "/dev/mapper/my-luks-device" to be found, in spite of the lack of a + ;; 'dependencies' field in the root file system. + (operating-system-boot-mapped-devices + (operating-system + (inherit %os-with-mapped-device) + (file-systems (cons (file-system + (device "/dev/mapper/my-luks-device") + (title 'device) + (mount-point "/") + (type "ext4")) + %base-file-systems))))) + (test-end) From b1bf155ffd9b160afdf05aff39d3f0b0f6d11589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Jul 2016 00:53:58 +0200 Subject: [PATCH 390/435] tests: install: Generalize 'run-install'. * gnu/tests/install.scm (%simple-installation-script): New variable. Contains installation script formerly in 'run-install'. (run-install): Add 'target-os', 'target-os-source', and #:script parameters. Honor them. (qemu-command/writable-image): New procedure. (%test-installed-os): Use it. --- gnu/tests/install.scm | 181 +++++++++++++++++++++++++++++++----------- 1 file changed, 136 insertions(+), 45 deletions(-) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 3c83da151a..4e79fdb294 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -32,7 +32,8 @@ #:use-module (guix grafts) #:use-module (guix gexp) #:use-module (guix utils) - #:export (%test-installed-os)) + #:export (%test-installed-os + %test-encrypted-os)) ;;; Commentary: ;;; @@ -91,7 +92,33 @@ (define MiB (expt 2 20)) -(define* (run-install #:key +(define %simple-installation-script + ;; Shell script of a simple installation. + "\ +. /etc/profile +set -e -x +guix --version + +export GUIX_BUILD_OPTIONS=--no-grafts +guix build isc-dhcp +parted --script /dev/vdb mklabel gpt \\ + mkpart primary ext2 1M 3M \\ + mkpart primary ext2 3M 1G \\ + set 1 boot on \\ + set 1 bios_grub on +mkfs.ext4 -L my-root /dev/vdb2 +mount /dev/vdb2 /mnt +df -h /mnt +herd start cow-store /mnt +mkdir /mnt/etc +cp /etc/target-config.scm /mnt/etc/config.scm +guix system init /mnt/etc/config.scm /mnt --no-substitutes +sync +reboot\n") + +(define* (run-install target-os target-os-source + #:key + (script %simple-installation-script) (os (marionette-operating-system ;; Since the image has no network access, use the ;; current Guix so the store items we need are in @@ -103,12 +130,13 @@ #:imported-modules '((gnu services herd) (guix combinators)))) (target-size (* 1200 MiB))) - "Run the GuixSD installation procedure from OS and return a VM image of -TARGET-SIZE bytes containing the installed system." + "Run SCRIPT (a shell script following the GuixSD installation procedure) in +OS to install TARGET-OS. Return a VM image of TARGET-SIZE bytes containing +the installed system." (mlet* %store-monad ((_ (set-grafting #f)) (system (current-system)) - (target (operating-system-derivation %minimal-os)) + (target (operating-system-derivation target-os)) ;; Since the installation system has no network access, ;; we cheat a little bit by adding TARGET to its GC @@ -152,39 +180,34 @@ TARGET-SIZE bytes containing the installed system." (start 'term-tty1)) marionette) - (marionette-eval '(call-with-output-file "/etc/litl-config.scm" + (marionette-eval '(call-with-output-file "/etc/target-config.scm" (lambda (port) - (write '#$%minimal-os-source port))) + (write '#$target-os-source port))) marionette) - (exit (marionette-eval '(zero? (system " -. /etc/profile -set -e -x; -guix --version -guix gc --list-live | grep isc-dhcp - -export GUIX_BUILD_OPTIONS=--no-grafts -guix build isc-dhcp -parted --script /dev/vdb mklabel gpt \\ - mkpart primary ext2 1M 3M \\ - mkpart primary ext2 3M 1G \\ - set 1 boot on \\ - set 1 bios_grub on -mkfs.ext4 -L my-root /dev/vdb2 -ls -l /dev/vdb -mount /dev/vdb2 /mnt -df -h /mnt -herd start cow-store /mnt -mkdir /mnt/etc -cp /etc/litl-config.scm /mnt/etc/config.scm -guix system init /mnt/etc/config.scm /mnt --no-substitutes -sync -reboot\n")) + (exit (marionette-eval '(zero? (system #$script)) marionette))))) (gexp->derivation "installation" install))) +(define (qemu-command/writable-image image) + "Return as a monadic value the command to run QEMU on a writable copy of +IMAGE, a disk image." + (mlet %store-monad ((system (current-system))) + (return #~(let ((image #$image)) + ;; First we need a writable copy of the image. + (format #t "copying image '~a'...~%" image) + (copy-file image "disk.img") + (chmod "disk.img" #o644) + `(,(string-append #$qemu-minimal "/bin/" + #$(qemu-command system)) + ,@(if (file-exists? "/dev/kvm") + '("-enable-kvm") + '()) + "-no-reboot" "-m" "256" + "-drive" "file=disk.img,if=virtio"))))) + (define %test-installed-os (system-test (name "installed-os") @@ -193,21 +216,89 @@ reboot\n")) This test is expensive in terms of CPU and storage usage since we need to build (current-guix) and then store a couple of full system images.") (value - (mlet %store-monad ((image (run-install)) - (system (current-system))) - (run-basic-test %minimal-os - #~(let ((image #$image)) - ;; First we need a writable copy of the image. - (format #t "copying image '~a'...~%" image) - (copy-file image "disk.img") - (chmod "disk.img" #o644) - `(,(string-append #$qemu-minimal "/bin/" - #$(qemu-command system)) - ,@(if (file-exists? "/dev/kvm") - '("-enable-kvm") - '()) - "-no-reboot" "-m" "256" - "-drive" "file=disk.img,if=virtio")) + (mlet* %store-monad ((image (run-install %minimal-os %minimal-os-source)) + (command (qemu-command/writable-image image))) + (run-basic-test %minimal-os command "installed-os"))))) + +(define-os-with-source (%encrypted-root-os %encrypted-root-os-source) + ;; The OS we want to install. + (use-modules (gnu) (gnu tests) (srfi srfi-1)) + + (operating-system + (host-name "liberigilo") + (timezone "Europe/Paris") + (locale "en_US.UTF-8") + + (bootloader (grub-configuration (device "/dev/vdb"))) + (kernel-arguments '("console=ttyS0")) + (file-systems (cons (file-system + (device "/dev/mapper/the-root-device") + (title 'device) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (mapped-devices (list (mapped-device + (source "REPLACE-WITH-LUKS-UUID") + (target "the-root-device") + (type luks-device-mapping)))) + (users (cons (user-account + (name "charlie") + (group "users") + (home-directory "/home/charlie") + (supplementary-groups '("wheel" "audio" "video"))) + %base-user-accounts)) + (services (cons (service marionette-service-type + (marionette-configuration + (imported-modules '((gnu services herd) + (guix combinators))))) + %base-services)))) + +(define %encrypted-root-installation-script + ;; Shell script of a simple installation. + "\ +. /etc/profile +set -e -x +guix --version + +export GUIX_BUILD_OPTIONS=--no-grafts +ls -l /run/current-system/gc-roots +parted --script /dev/vdb mklabel gpt \\ + mkpart primary ext2 1M 3M \\ + mkpart primary ext2 3M 1G \\ + set 1 boot on \\ + set 1 bios_grub on +echo -n thepassphrase | cryptsetup luksFormat -q /dev/vdb2 - +echo -n thepassphrase | \\ + cryptsetup open --type luks --key-file - /dev/vdb2 the-root-device +mkfs.ext4 -L my-root /dev/mapper/the-root-device +mount LABEL=my-root /mnt +herd start cow-store /mnt +mkdir /mnt/etc +cp /etc/target-config.scm /mnt/etc/config.scm +cat /mnt/etc/config +luks_uuid=`cryptsetup luksUUID /dev/vdb2` +sed -i /mnt/etc/config.scm \\ + -e \"s/\\\"REPLACE-WITH-LUKS-UUID\\\"/(uuid \\\"$luks_uuid\\\")/g\" +guix system build /mnt/etc/config.scm +guix system init /mnt/etc/config.scm /mnt --no-substitutes +sync +reboot\n") + +(define %test-encrypted-os + (system-test + (name "encrypted-root-os") + (description + "Test basic functionality of an OS installed like one would do by hand. +This test is expensive in terms of CPU and storage usage since we need to +build (current-guix) and then store a couple of full system images.") + (value + (mlet* %store-monad ((image (run-install %encrypted-root-os + %encrypted-root-os-source + #:script + %encrypted-root-installation-script)) + (command (qemu-command/writable-image image))) + (run-basic-test %encrypted-root-os command "encrypted-root-os"))))) + ;;; install.scm ends here From 2517a7b3e2a37f6fa9f1e4cb5c42ef8e03f6acaa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Jul 2016 06:50:21 +0200 Subject: [PATCH 391/435] Set "GUIX_LOCPATH" in 'guix-daemon.service'. Suggested by Thomas Danckaert . * etc/guix-daemon.service.in (Environment): New value. --- etc/guix-daemon.service.in | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in index fc7c811db6..ab0ce090c3 100644 --- a/etc/guix-daemon.service.in +++ b/etc/guix-daemon.service.in @@ -7,6 +7,7 @@ Description=Build daemon for GNU Guix [Service] ExecStart=@bindir@/guix-daemon --build-users-group=guixbuild +Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale RemainAfterExit=yes StandardOutput=syslog StandardError=syslog From 1d743e6bdda65e783087ad8b9b4289d0ef581a5a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 18 Jul 2016 06:55:15 +0200 Subject: [PATCH 392/435] Thank Thomas. --- THANKS | 1 + 1 file changed, 1 insertion(+) diff --git a/THANKS b/THANKS index b0dd79382a..af7afd3576 100644 --- a/THANKS +++ b/THANKS @@ -14,6 +14,7 @@ infrastructure help: Alexandru Cojocaru Aleix Conchillo Flaqué Malcolm Cook + Thomas Danckaert Rafael Ferreira Christian Grothoff Eric Hanchrow From ddaf9b18229e026e535e55338eda269e59d1503e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Jul 2016 14:08:26 +0300 Subject: [PATCH 393/435] gnu: gstreamer: Update to 1.8.2. * gnu/packages/gstreamer.scm (gstreamer): Update to 1.8.2. --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index f9e677bca4..2b769508d5 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -97,7 +97,7 @@ arrays of data.") (define-public gstreamer (package (name "gstreamer") - (version "1.8.0") + (version "1.8.2") (source (origin (method url-fetch) @@ -106,7 +106,7 @@ arrays of data.") version ".tar.xz")) (sha256 (base32 - "1p5y9bbrhywng0prmpxv29p6jsz6vd039d49bnc98p9b45532yll")))) + "0hc3j684nx209p10ampvnkza3gna2yiryr7jyx701ciakh3vxglx")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments From 0c19247ceaee46b6bc53ca22fbe314cc8e5e6ef0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Jul 2016 14:09:03 +0300 Subject: [PATCH 394/435] gnu: gst-plugins-base: Update to 1.8.2. * gnu/pakcages/gstreamer.scm (gst-plugins-base): Update to 1.8.2. --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 2b769508d5..7c2a50c7a1 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -145,7 +145,7 @@ This package provides the core library and elements.") (define-public gst-plugins-base (package (name "gst-plugins-base") - (version "1.8.0") + (version "1.8.2") (source (origin (method url-fetch) @@ -153,7 +153,7 @@ This package provides the core library and elements.") name "-" version ".tar.xz")) (sha256 (base32 - "08hmg7fp519wim1fm04r7f2q2020ssdninawqsbrqjsvs70srh5b")))) + "13fk751vvfrfhbm4ip28vxyvlsm4b4y0bc0pvf7fqp8azg40jwcx")))) (build-system gnu-build-system) (outputs '("out" "doc")) (propagated-inputs From 727a9a5bd48f214dcbcffbf8eb2be34a030f85d2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Jul 2016 14:09:36 +0300 Subject: [PATCH 395/435] gnu: gst-plugins-good: Update to 1.8.2. * gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.8.2. --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 7c2a50c7a1..f917970bbd 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -198,7 +198,7 @@ for the GStreamer multimedia library.") (define-public gst-plugins-good (package (name "gst-plugins-good") - (version "1.8.0") + (version "1.8.2") (source (origin (method url-fetch) @@ -207,7 +207,7 @@ for the GStreamer multimedia library.") name "-" version ".tar.xz")) (sha256 (base32 - "0kczdvqxvl8kxiy2d7czv16jp73hv9k3nykh47ckihnv8x6i6362")))) + "0i1rlbbx3m6ykvcdyaidsd8wa2b7nq2qmcvbrsg00yivi88ljxcd")))) (build-system gnu-build-system) (inputs `(("aalib" ,aalib) From 935742f38fa601b580789be9c290f5e115bd19b7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Jul 2016 14:10:06 +0300 Subject: [PATCH 396/435] gnu: gst-plugins-ugly: Update to 1.8.2. * gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.8.2. --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index f917970bbd..6572fd7e30 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -336,7 +336,7 @@ par compared to the rest.") (define-public gst-plugins-ugly (package (name "gst-plugins-ugly") - (version "1.8.0") + (version "1.8.2") (source (origin (method url-fetch) @@ -344,7 +344,7 @@ par compared to the rest.") name "/" name "-" version ".tar.xz")) (sha256 (base32 - "137b6kqykh5nwbmiv28nn1pc1d2x2rb2xxg382pc9pa9gpxpyrak")))) + "1b58s7z430cbbaw8mgy87kslbpmj3xmm66wsr7bddhcgm6i36nww")))) (build-system gnu-build-system) (inputs `(("gst-plugins-base" ,gst-plugins-base) From 443975ae8e3ffef55e42f3a3767815ce0c9805c5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Jul 2016 14:10:54 +0300 Subject: [PATCH 397/435] gnu: gst-libav: Update to 1.8.2. * gnu/packages/gstreamer.scm (gst-libav): Update to 1.8.2. --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 6572fd7e30..3e8acf1b18 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -374,7 +374,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.") (define-public gst-libav (package (name "gst-libav") - (version "1.8.0") + (version "1.8.2") (source (origin (method url-fetch) (uri (string-append @@ -382,7 +382,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.") name "-" version ".tar.xz")) (sha256 (base32 - "0719njp8aarhvn038pijq6dmsnli0zlg146hyfs3rsdffs4f472s")))) + "0yk8pxg3xi26ndj7pliqdfphy0jmqsq4dmdzy31gbd9rgficgwxm")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-system-libav") From cb277904a430562680770cfdcc743cbb18460cd7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Jul 2016 14:11:21 +0300 Subject: [PATCH 398/435] gnu: python-gst: Update to 1.8.2. * gnu/packages/gstreamer.scm (python-gst): Update to 1.8.2. --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 3e8acf1b18..a39a3b434d 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -411,7 +411,7 @@ compression formats through the use of the libav library.") (define-public python-gst (package (name "python-gst") - (version "1.8.0") + (version "1.8.2") (source (origin (method url-fetch) (uri (string-append @@ -419,7 +419,7 @@ compression formats through the use of the libav library.") "gst-python-" version ".tar.xz")) (sha256 (base32 - "1spn49x7yaj69df6mxh9wwcs0y3abswkfpk84njs71lzqlbzyiff")))) + "15sdfa6lq5pswvi09vk51cs30yf8wr2rlm9myhb4q0c2jhiial2g")))) (build-system gnu-build-system) (arguments ;; XXX: Factorize python-sitedir with python-build-system. From ebb365ed57c9ec8a600fa576a1e95838cf971d0d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Jul 2016 14:29:04 +0300 Subject: [PATCH 399/435] gnu: efl: Remove valgrind from inputs. * gnu/packages/enlightenment.scm (efl)[inputs]: Remove valgrind. --- gnu/packages/enlightenment.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index d4b45e31e0..f8117ac46e 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -47,7 +47,6 @@ #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages tls) - #:use-module (gnu packages valgrind) #:use-module (gnu packages video) #:use-module (gnu packages xorg)) @@ -93,7 +92,6 @@ ("mesa" ,mesa) ("printproto" ,printproto) ("scrnsaverproto" ,scrnsaverproto) - ("valgrind" ,valgrind) ("xextproto" ,xextproto) ("xinput" ,xinput) ("xpr" ,xpr) From cff826ba05a418235b5f7fd45371e63e5e482c4d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Jul 2016 14:40:55 +0300 Subject: [PATCH 400/435] gnu: efl: Use 'modify-phases'. * gnu/packages/enlightenment.scm (efl)[arguments]: Use 'modify-phases'. --- gnu/packages/enlightenment.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index f8117ac46e..a8187f8f85 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -116,12 +116,11 @@ (arguments `(#:configure-flags '("--disable-silent-rules") #:phases - (alist-cons-before - 'configure 'patch-config-files - (lambda _ - (substitute* "po/Makefile.in.in" - (("/bin/sh") (which "bash")))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'configure 'patch-config-files + (lambda _ + (substitute* "po/Makefile.in.in" + (("/bin/sh") (which "bash")))))))) (home-page "http://www.enlightenment.org") (synopsis "Enlightenment Foundation Libraries") (description From 6aabc87d50769ceca8c3ef95bf4c79551efd47e0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 18 Jul 2016 14:49:49 +0300 Subject: [PATCH 401/435] gnu: libinput: Update to 1.4.0. * gnu/packages/freedesktop.scm (libinput): Update to 1.4.0. --- gnu/packages/freedesktop.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 53bd757c1d..458331d703 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -82,14 +82,14 @@ freedesktop.org project.") (define-public libinput (package (name "libinput") - (version "1.3.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" name "-" version ".tar.xz")) (sha256 (base32 - "1sn1s1bz06fa49izqkqf519sjclsvhf42i6slzx1w5hx4vxpb2lr")))) + "085lcxy111j8r1lwyghsc6zrysqh0vg8xip5axxsdl8r8n3i1vvn")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -99,7 +99,7 @@ freedesktop.org project.") `(("libevdev" ,libevdev) ("mtdev" ,mtdev) ("libwacom" ,libwacom))) - (home-page "http://www.freedesktop.org/wiki/Software/libinput/") + (home-page "https://www.freedesktop.org/wiki/Software/libinput/") (synopsis "Input devices handling library") (description "Libinput is a library to handle input devices for display servers and From 1d14bf9f5ff43ff9097f1c5e1e2d37528eb74971 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 17 Jul 2016 13:07:35 -0400 Subject: [PATCH 402/435] gnu: gnutls: Fix test failure. * gnu/packages/patches/gnutls-fix-stale-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/tls.scm (gnutls)[replacement]: New field. (gnutls/fixed): New variable. --- gnu/local.mk | 1 + .../patches/gnutls-fix-stale-test.patch | 50 +++++++++++++++++++ gnu/packages/tls.scm | 8 +++ 3 files changed, 59 insertions(+) create mode 100644 gnu/packages/patches/gnutls-fix-stale-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 536ecef4ea..ef2eb0b173 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -533,6 +533,7 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-tweak-tool-search-paths.patch \ %D%/packages/patches/gnucash-price-quotes-perl.patch \ + %D%/packages/patches/gnutls-fix-stale-test.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ diff --git a/gnu/packages/patches/gnutls-fix-stale-test.patch b/gnu/packages/patches/gnutls-fix-stale-test.patch new file mode 100644 index 0000000000..abb547a4d9 --- /dev/null +++ b/gnu/packages/patches/gnutls-fix-stale-test.patch @@ -0,0 +1,50 @@ +A certificate used in the GnuTLS test suite has expired, causing the +test suite to fail. + +The effect of this patch depends on whether or not the datefudge program +is available. If it is, then it is used to change the date in the test +environment. If it is not, then the test is skipped. + +At the time this patch was added to Guix, datefudge was not available, +so the test is skipped. + +Taken from upstream commit: +https://gitlab.com/gnutls/gnutls/commit/47f25d9e08d4e102572804a2aed186b01db23c65 + +From 47f25d9e08d4e102572804a2aed186b01db23c65 Mon Sep 17 00:00:00 2001 +From: Nikos Mavrogiannopoulos +Date: Wed, 29 Jun 2016 17:31:13 +0200 +Subject: [PATCH] tests: use datefudge in name-constraints test + +This avoids the expiration of the used certificate to affect the test. +--- + tests/cert-tests/name-constraints | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/tests/cert-tests/name-constraints b/tests/cert-tests/name-constraints +index 05d6e9b..59af00f 100755 +--- a/tests/cert-tests/name-constraints ++++ b/tests/cert-tests/name-constraints +@@ -28,7 +28,18 @@ if ! test -z "${VALGRIND}"; then + fi + TMPFILE=tmp.$$.pem + +-${VALGRIND} "${CERTTOOL}" -e --infile "${srcdir}/name-constraints-ip.pem" ++export TZ="UTC" ++ ++# Check for datefudge ++TSTAMP=`datefudge -s "2006-09-23" date -u +%s || true` ++if test "$TSTAMP" != "1158969600"; then ++ echo $TSTAMP ++ echo "You need datefudge to run this test" ++ exit 77 ++fi ++ ++datefudge -s "2016-04-22" \ ++ ${VALGRIND} "${CERTTOOL}" -e --infile "${srcdir}/name-constraints-ip.pem" + rc=$? + + if test "${rc}" != "0"; then +-- +2.9.1 + diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index bdc1d7c997..6ba1776636 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -122,6 +122,7 @@ living in the same process.") (define-public gnutls (package (name "gnutls") + (replacement gnutls/fixed) (version "3.4.7") (source (origin (method url-fetch) @@ -194,6 +195,13 @@ required structures.") (properties '((ftp-server . "ftp.gnutls.org") (ftp-directory . "/gcrypt/gnutls"))))) +(define-public gnutls/fixed + (package + (inherit gnutls) + (source (origin + (inherit (package-source gnutls)) + (patches (search-patches "gnutls-fix-stale-test.patch")))))) + (define-public openssl (package (name "openssl") From 273260646d90bbe78aaf2f07bc22723818201fe9 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 18 Jul 2016 12:32:19 -0400 Subject: [PATCH 403/435] gnu: gd: Fix failing test on i686. * gnu/packages/patches/gd-fix-test-on-i686.patch: New file. * gnu/local.mk (dist_PATCH_DATA): Add it. * gnu/packages/gd.scm (gd)[source]: Add the patch. --- gnu/local.mk | 1 + gnu/packages/gd.scm | 5 +-- .../patches/gd-fix-test-on-i686.patch | 34 +++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/gd-fix-test-on-i686.patch diff --git a/gnu/local.mk b/gnu/local.mk index ef2eb0b173..3257a326d2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -514,6 +514,7 @@ dist_patch_DATA = \ %D%/packages/patches/gd-CVE-2016-6128.patch \ %D%/packages/patches/gd-CVE-2016-6132.patch \ %D%/packages/patches/gd-CVE-2016-6214.patch \ + %D%/packages/patches/gd-fix-test-on-i686.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghostscript-CVE-2015-3228.patch \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index 700de33a7a..3313ee68f2 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2016 Ludovic Courtès -;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016 Leo Famulari ;;; @@ -47,7 +47,8 @@ (uri (string-append "https://github.com/libgd/libgd/releases/download/gd-" version "/libgd-" version ".tar.xz")) - (patches (search-patches "gd-CVE-2016-5766.patch" + (patches (search-patches "gd-fix-test-on-i686.patch" + "gd-CVE-2016-5766.patch" "gd-CVE-2016-6128.patch" "gd-CVE-2016-6132.patch" "gd-CVE-2016-6214.patch")) diff --git a/gnu/packages/patches/gd-fix-test-on-i686.patch b/gnu/packages/patches/gd-fix-test-on-i686.patch new file mode 100644 index 0000000000..6dd2e0fb03 --- /dev/null +++ b/gnu/packages/patches/gd-fix-test-on-i686.patch @@ -0,0 +1,34 @@ +Disable part of the gdimagerotate test on architectures such as i686 +where intermediate floating-point operations are done with 80-bit long +doubles, and typically later rounded to 64-bit doubles. This double +rounding causes small differences in the resulting pixel values +compared with other architectures, causing the image comparison to +fail. + +Patch by Mark H Weaver . + +--- libgd-2.2.2/tests/gdimagerotate/bug00067.c 1969-12-31 19:00:00.000000000 -0500 ++++ libgd-2.2.2/tests/gdimagerotate/bug00067.c 2016-07-18 12:19:19.885423132 -0400 +@@ -1,5 +1,6 @@ + #include + #include ++#include + #include "gd.h" + + #include "gdtest.h" +@@ -41,6 +42,7 @@ + return 1; + } + ++#if FLT_EVAL_METHOD != 2 + sprintf(filename, "bug00067_%03d_exp.png", angle); + path = gdTestFilePath2("gdimagerotate", filename); + if (!gdAssertImageEqualsToFile(path, exp)) { +@@ -48,6 +50,7 @@ + error += 1; + } + free(path); ++#endif + + gdImageDestroy(exp); + } From 2d656a93db5e5c67c47fe8a9cca44ca5fb2a4edf Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 18 Jul 2016 12:47:13 -0400 Subject: [PATCH 404/435] Revert "gnu: gnutls: Fix test failure." This reverts commit 1d14bf9f5ff43ff9097f1c5e1e2d37528eb74971. --- gnu/local.mk | 1 - .../patches/gnutls-fix-stale-test.patch | 50 ------------------- gnu/packages/tls.scm | 8 --- 3 files changed, 59 deletions(-) delete mode 100644 gnu/packages/patches/gnutls-fix-stale-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3257a326d2..d44a52be95 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -534,7 +534,6 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-tweak-tool-search-paths.patch \ %D%/packages/patches/gnucash-price-quotes-perl.patch \ - %D%/packages/patches/gnutls-fix-stale-test.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ diff --git a/gnu/packages/patches/gnutls-fix-stale-test.patch b/gnu/packages/patches/gnutls-fix-stale-test.patch deleted file mode 100644 index abb547a4d9..0000000000 --- a/gnu/packages/patches/gnutls-fix-stale-test.patch +++ /dev/null @@ -1,50 +0,0 @@ -A certificate used in the GnuTLS test suite has expired, causing the -test suite to fail. - -The effect of this patch depends on whether or not the datefudge program -is available. If it is, then it is used to change the date in the test -environment. If it is not, then the test is skipped. - -At the time this patch was added to Guix, datefudge was not available, -so the test is skipped. - -Taken from upstream commit: -https://gitlab.com/gnutls/gnutls/commit/47f25d9e08d4e102572804a2aed186b01db23c65 - -From 47f25d9e08d4e102572804a2aed186b01db23c65 Mon Sep 17 00:00:00 2001 -From: Nikos Mavrogiannopoulos -Date: Wed, 29 Jun 2016 17:31:13 +0200 -Subject: [PATCH] tests: use datefudge in name-constraints test - -This avoids the expiration of the used certificate to affect the test. ---- - tests/cert-tests/name-constraints | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/tests/cert-tests/name-constraints b/tests/cert-tests/name-constraints -index 05d6e9b..59af00f 100755 ---- a/tests/cert-tests/name-constraints -+++ b/tests/cert-tests/name-constraints -@@ -28,7 +28,18 @@ if ! test -z "${VALGRIND}"; then - fi - TMPFILE=tmp.$$.pem - --${VALGRIND} "${CERTTOOL}" -e --infile "${srcdir}/name-constraints-ip.pem" -+export TZ="UTC" -+ -+# Check for datefudge -+TSTAMP=`datefudge -s "2006-09-23" date -u +%s || true` -+if test "$TSTAMP" != "1158969600"; then -+ echo $TSTAMP -+ echo "You need datefudge to run this test" -+ exit 77 -+fi -+ -+datefudge -s "2016-04-22" \ -+ ${VALGRIND} "${CERTTOOL}" -e --infile "${srcdir}/name-constraints-ip.pem" - rc=$? - - if test "${rc}" != "0"; then --- -2.9.1 - diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 6ba1776636..bdc1d7c997 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -122,7 +122,6 @@ living in the same process.") (define-public gnutls (package (name "gnutls") - (replacement gnutls/fixed) (version "3.4.7") (source (origin (method url-fetch) @@ -195,13 +194,6 @@ required structures.") (properties '((ftp-server . "ftp.gnutls.org") (ftp-directory . "/gcrypt/gnutls"))))) -(define-public gnutls/fixed - (package - (inherit gnutls) - (source (origin - (inherit (package-source gnutls)) - (patches (search-patches "gnutls-fix-stale-test.patch")))))) - (define-public openssl (package (name "openssl") From a2d469afaff47f2c1cd819290d9d97ab006ca423 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Mon, 18 Jul 2016 10:52:31 +0200 Subject: [PATCH 405/435] gnu: giac-xcas: Update to 1.2.2-75. * gnu/packages/algebra.scm (giac-xcas): Update to 1.2.2-75. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index b0ffd7009b..92b4d4c27e 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -202,7 +202,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") (define-public giac-xcas (package (name "giac-xcas") - (version "1.2.2-59") + (version "1.2.2-75") (source (origin (method url-fetch) ;; "~parisse/giac" is not used because the maintainer regularly @@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") "source/giac_" version ".tar.gz")) (sha256 (base32 - "02s774v2zg2ya43rm8s7bcwzrmp4wlmn8h2rlg4816zpfrjkrdn4")))) + "0vs111fkd900wkm7yypaxmplc8i8j63d9shc3fbdhddn7cdj70b1")))) (build-system gnu-build-system) (arguments `(#:phases From 2c2ec261a8d3c37e5147038f47ad24c57cde4134 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Jul 2016 15:22:37 +0200 Subject: [PATCH 406/435] services: shepherd: Clarify error message about missing service. Suggested by Tobias Geerinckx-Rice . * gnu/services/shepherd.scm (assert-valid-graph)[assert-satisfied-requirements]: Clarify error message. --- gnu/services/shepherd.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index f35a6bf10a..a14f51592a 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -175,7 +175,7 @@ assertion failure." (&message (message (format #f (_ "service '~a' requires '~a', \ -which is undefined") +which is not provided by any service") (match (shepherd-service-provision service) ((head . _) head) (_ service)) From 721539026dda02e58addbb618f2102b31a2927f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Jul 2016 23:14:14 +0200 Subject: [PATCH 407/435] Add (guix zlib). * guix/zlib.scm, tests/zlib.scm: New files. * Makefile.am (MODULES): Add guix/zlib.scm. (SCM_TESTS): Add tests/zlib.scm. * m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): New macro. * configure.ac (LIBGCRYPT_LIBDIR): Use it. Define and substitute 'LIBZ'. * guix/config.scm.in (%libz): New variable. --- .dir-locals.el | 2 + Makefile.am | 2 + configure.ac | 11 +++ guix/config.scm.in | 6 +- guix/zlib.scm | 234 +++++++++++++++++++++++++++++++++++++++++++++ m4/guix.m4 | 11 +++ tests/zlib.scm | 63 ++++++++++++ 7 files changed, 328 insertions(+), 1 deletion(-) create mode 100644 guix/zlib.scm create mode 100644 tests/zlib.scm diff --git a/.dir-locals.el b/.dir-locals.el index c7ceb9e9f0..572a35f828 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -41,6 +41,8 @@ (eval . (put 'with-atomic-file-output 'scheme-indent-function 1)) (eval . (put 'call-with-compressed-output-port 'scheme-indent-function 2)) (eval . (put 'call-with-decompressed-port 'scheme-indent-function 2)) + (eval . (put 'call-with-gzip-input-port 'scheme-indent-function 1)) + (eval . (put 'call-with-gzip-output-port 'scheme-indent-function 1)) (eval . (put 'signature-case 'scheme-indent-function 1)) (eval . (put 'emacs-batch-eval 'scheme-indent-function 0)) (eval . (put 'emacs-batch-edit-file 'scheme-indent-function 1)) diff --git a/Makefile.am b/Makefile.am index 37a0aef7dc..576177f6d7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -57,6 +57,7 @@ MODULES = \ guix/licenses.scm \ guix/graph.scm \ guix/cve.scm \ + guix/zlib.scm \ guix/build-system.scm \ guix/build-system/ant.scm \ guix/build-system/cmake.scm \ @@ -258,6 +259,7 @@ SCM_TESTS = \ tests/graph.scm \ tests/challenge.scm \ tests/cve.scm \ + tests/zlib.scm \ tests/file-systems.scm \ tests/system.scm \ tests/services.scm \ diff --git a/configure.ac b/configure.ac index 7c6fcc9ec9..8367b41f3c 100644 --- a/configure.ac +++ b/configure.ac @@ -194,6 +194,17 @@ AC_SUBST([LIBGCRYPT_LIBDIR]) GUIX_ASSERT_LIBGCRYPT_USABLE +dnl Library name of zlib suitable for 'dynamic-link'. +GUIX_LIBZ_LIBDIR([libz_libdir]) +if test "x$libz_libdir" = "x"; then + LIBZ="libz" +else + LIBZ="$libz_libdir/libz" +fi +AC_MSG_CHECKING([for zlib's shared library name]) +AC_MSG_RESULT([$LIBZ]) +AC_SUBST([LIBZ]) + AC_CACHE_SAVE m4_include([config-daemon.ac]) diff --git a/guix/config.scm.in b/guix/config.scm.in index adffa0cfec..6d42cf233c 100644 --- a/guix/config.scm.in +++ b/guix/config.scm.in @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +27,7 @@ %guix-register-program %system %libgcrypt + %libz %nix-instantiate %gzip %bzip2 @@ -72,6 +73,9 @@ (define %libgcrypt "@LIBGCRYPT@") +(define %libz + "@LIBZ@") + (define %nix-instantiate "@NIX_INSTANTIATE@") diff --git a/guix/zlib.scm b/guix/zlib.scm new file mode 100644 index 0000000000..51e5e9e426 --- /dev/null +++ b/guix/zlib.scm @@ -0,0 +1,234 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix zlib) + #:use-module (rnrs bytevectors) + #:use-module (ice-9 binary-ports) + #:use-module (ice-9 match) + #:use-module (system foreign) + #:use-module (guix config) + #:export (zlib-available? + make-gzip-input-port + make-gzip-output-port + call-with-gzip-input-port + call-with-gzip-output-port + %default-buffer-size + %default-compression-level)) + +;;; Commentary: +;;; +;;; Bindings to the gzip-related part of zlib's API. The main limitation of +;;; this API is that it requires a file descriptor as the source or sink. +;;; +;;; Code: + +(define %zlib + ;; File name of zlib's shared library. When updating via 'guix pull', + ;; '%libz' might be undefined so protect against it. + (delay (dynamic-link (if (defined? '%libz) + %libz + "libz")))) + +(define (zlib-available?) + "Return true if zlib is available, #f otherwise." + (false-if-exception (force %zlib))) + +(define (zlib-procedure ret name parameters) + "Return a procedure corresponding to C function NAME in libz, or #f if +either zlib or the function could not be found." + (match (false-if-exception (dynamic-func name (force %zlib))) + ((? pointer? ptr) + (pointer->procedure ret ptr parameters)) + (#f + #f))) + +(define-wrapped-pointer-type + ;; Scheme counterpart of the 'gzFile' opaque type. + gzip-file? + pointer->gzip-file + gzip-file->pointer + (lambda (obj port) + (format port "#" + (number->string (object-address obj) 16)))) + +(define gzerror + (let ((proc (zlib-procedure '* "gzerror" '(* *)))) + (lambda (gzfile) + (let* ((errnum* (make-bytevector (sizeof int))) + (ptr (proc (gzip-file->pointer gzfile) + (bytevector->pointer errnum*)))) + (values (bytevector-sint-ref errnum* 0 + (native-endianness) (sizeof int)) + (pointer->string ptr)))))) + +(define gzdopen + (let ((proc (zlib-procedure '* "gzdopen" (list int '*)))) + (lambda (fd mode) + "Open file descriptor FD as a gzip stream with the given MODE. MODE must +be a string denoting the how FD is to be opened, such as \"r\" for reading or +\"w9\" for writing data compressed at level 9 to FD. Calling 'gzclose' also +closes FD." + (let ((result (proc fd (string->pointer mode)))) + (if (null-pointer? result) + (throw 'zlib-error 'gzdopen) + (pointer->gzip-file result)))))) + +(define gzread! + (let ((proc (zlib-procedure int "gzread" (list '* '* unsigned-int)))) + (lambda* (gzfile bv #:optional (start 0) (count (bytevector-length bv))) + "Read up to COUNT bytes from GZFILE into BV at offset START. Return the +number of uncompressed bytes actually read." + (let ((ret (proc (gzip-file->pointer gzfile) + (bytevector->pointer bv start) + count))) + (if (< ret 0) + (throw 'zlib-error 'gzread! ret) + ret))))) + +(define gzwrite + (let ((proc (zlib-procedure int "gzwrite" (list '* '* unsigned-int)))) + (lambda* (gzfile bv #:optional (start 0) (count (bytevector-length bv))) + "Write up to COUNT bytes from BV at offset START into GZFILE. Return +the number of uncompressed bytes written, a strictly positive integer." + (let ((ret (proc (gzip-file->pointer gzfile) + (bytevector->pointer bv start) + count))) + (if (<= ret 0) + (throw 'zlib-error 'gzwrite ret) + ret))))) + +(define gzbuffer! + (let ((proc (zlib-procedure int "gzbuffer" (list '* unsigned-int)))) + (lambda (gzfile size) + "Change the internal buffer size of GZFILE to SIZE bytes." + (let ((ret (proc (gzip-file->pointer gzfile) size))) + (unless (zero? ret) + (throw 'zlib-error 'gzbuffer! ret)))))) + +(define gzeof? + (let ((proc (zlib-procedure int "gzeof" '(*)))) + (lambda (gzfile) + "Return true if the end-of-file has been reached on GZFILE." + (not (zero? (proc (gzip-file->pointer gzfile))))))) + +(define gzclose + (let ((proc (zlib-procedure int "gzclose" '(*)))) + (lambda (gzfile) + "Close GZFILE." + (let ((ret (proc (gzip-file->pointer gzfile)))) + (unless (zero? ret) + (throw 'zlib-error 'gzclose ret (gzerror gzfile))))))) + + + +;;; +;;; Port interface. +;;; + +(define %default-buffer-size + ;; Default buffer size, as documented in . + 8192) + +(define %default-compression-level + ;; Z_DEFAULT_COMPRESSION. + -1) + +(define (close-procedure gzfile port) + "Return a procedure that closes GZFILE, ensuring its underlying PORT is +closed even if closing GZFILE triggers an exception." + (lambda () + (catch 'zlib-error + (lambda () + ;; 'gzclose' closes the underlying file descriptor. 'close-port' + ;; calls close(2), gets EBADF, which is ignores. + (gzclose gzfile) + (close-port port)) + (lambda args + ;; Make sure PORT is closed despite the zlib error. + (close-port port) + (apply throw args))))) + +(define* (make-gzip-input-port port #:key (buffer-size %default-buffer-size)) + "Return an input port that decompresses data read from PORT, a file port. +PORT is automatically closed when the resulting port is closed. BUFFER-SIZE +is the size in bytes of the internal buffer, 8 KiB by default; using a larger +buffer increases decompression speed." + (define gzfile + (gzdopen (fileno port) "r")) + + (define (read! bv start count) + ;; XXX: Can 'gzread!' return zero even though we haven't reached the EOF? + (gzread! gzfile bv start count)) + + (unless (= buffer-size %default-buffer-size) + (gzbuffer! gzfile buffer-size)) + + (make-custom-binary-input-port "gzip-input" read! #f #f + (close-procedure gzfile port))) + +(define* (make-gzip-output-port port + #:key + (level %default-compression-level) + (buffer-size %default-buffer-size)) + "Return an output port that compresses data at the given LEVEL, using PORT, +a file port, as its sink. PORT is automatically closed when the resulting +port is closed." + (define gzfile + (gzdopen (fileno port) + (string-append "w" (number->string level)))) + + (define (write! bv start count) + (gzwrite gzfile bv start count)) + + (unless (= buffer-size %default-buffer-size) + (gzbuffer! gzfile buffer-size)) + + (make-custom-binary-output-port "gzip-output" write! #f #f + (close-procedure gzfile port))) + +(define* (call-with-gzip-input-port port proc + #:key (buffer-size %default-buffer-size)) + "Call PROC with a port that wraps PORT and decompresses data read from it. +PORT is closed upon completion. The gzip internal buffer size is set to +BUFFER-SIZE bytes." + (let ((gzip (make-gzip-input-port port #:buffer-size buffer-size))) + (dynamic-wind + (const #t) + (lambda () + (proc gzip)) + (lambda () + (close-port gzip))))) + +(define* (call-with-gzip-output-port port proc + #:key + (level %default-compression-level) + (buffer-size %default-buffer-size)) + "Call PROC with an output port that wraps PORT and compresses data. PORT is +close upon completion. The gzip internal buffer size is set to BUFFER-SIZE +bytes." + (let ((gzip (make-gzip-output-port port + #:level level + #:buffer-size buffer-size))) + (dynamic-wind + (const #t) + (lambda () + (proc gzip)) + (lambda () + (close-port gzip))))) + +;;; zlib.scm ends here diff --git a/m4/guix.m4 b/m4/guix.m4 index 2d3dfd282e..a4f83f029a 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -308,6 +308,17 @@ AC_DEFUN([GUIX_LIBGCRYPT_LIBDIR], [ $1="$guix_cv_libgcrypt_libdir" ]) +dnl GUIX_LIBZ_LIBDIR VAR +dnl +dnl Attempt to determine libz's LIBDIR; store the result in VAR. +AC_DEFUN([GUIX_LIBZ_LIBDIR], [ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + AC_CACHE_CHECK([zlib's library directory], + [guix_cv_libz_libdir], + [guix_cv_libz_libdir="`$PKG_CONFIG zlib --variable=libdir 2> /dev/null`"]) + $1="$guix_cv_libz_libdir" +]) + dnl GUIX_CURRENT_LOCALSTATEDIR dnl dnl Determine the localstatedir of an existing Guix installation and set diff --git a/tests/zlib.scm b/tests/zlib.scm new file mode 100644 index 0000000000..5455240a71 --- /dev/null +++ b/tests/zlib.scm @@ -0,0 +1,63 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (test-zlib) + #:use-module (guix zlib) + #:use-module (guix tests) + #:use-module (srfi srfi-64) + #:use-module (rnrs bytevectors) + #:use-module (rnrs io ports) + #:use-module (ice-9 match)) + +;; Test the (guix zlib) module. + +(unless (zlib-available?) + (exit 77)) + +(test-begin "zlib") + +(test-assert "compression/decompression pipe" + (let ((data (random-bytevector (+ (random 10000) + (* 20 1024))))) + (match (pipe) + ((parent . child) + (match (primitive-fork) + (0 ;compress + (dynamic-wind + (const #t) + (lambda () + (close-port parent) + (call-with-gzip-output-port child + (lambda (port) + (put-bytevector port data)))) + (lambda () + (primitive-exit 0)))) + (pid ;decompress + (begin + (close-port child) + (let ((received (call-with-gzip-input-port parent + (lambda (port) + (get-bytevector-all port)) + #:buffer-size (* 64 1024)))) + (match (waitpid pid) + ((_ . status) + (and (zero? status) + (port-closed? parent) + (bytevector=? received data)))))))))))) + +(test-end) From 4a1fc562ae5eedf40f6ae4eabe30580b0983b8f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Jul 2016 23:58:34 +0200 Subject: [PATCH 408/435] publish: Add '--compression'. * guix/scripts/publish.scm (show-help, %options): Add '--compression'. (): New record type. (%no-compression, %default-gzip-compression): New variables. (%default-options): Add 'compression' key. (narinfo-string): Add #:compression parameter and honor it. (render-narinfo): Likewise. (render-nar): Likewise. : Add call to 'declare-header!'. (swallow-zlib-error): New macro. (nar-response-port): New procedure. (http-write): Add call to 'force-output'. Use 'nar-response-port' instead of 'response-port'. Use 'swallow-zlib-error'. (make-request-handler): Add #:compression parameter and honor it. Add "nar/gzip" URL handler. (run-publish-server): Add #:compression parameter and honor it. (guix-publish): Honor --compression. * tests/publish.scm (http-get-port, wait-until-ready): New procedures. : Run main server with "-C0". Call 'wait-until-ready'. ("/nar/gzip/*", "/*.narinfo with compression"): New tests. * doc/guix.texi (Invoking guix publish): Document it. --- doc/guix.texi | 12 +++ guix/scripts/publish.scm | 161 +++++++++++++++++++++++++++++++++------ tests/publish.scm | 59 ++++++++++++-- 3 files changed, 202 insertions(+), 30 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a2732deded..6e8fb483f2 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5644,6 +5644,18 @@ accept connections from any interface. Change privileges to @var{user} as soon as possible---i.e., once the server socket is open and the signing key has been read. +@item --compression[=@var{level}] +@itemx -C [@var{level}] +Compress data using the given @var{level}. When @var{level} is zero, +disable compression. The range 1 to 9 corresponds to different gzip +compression levels: 1 is the fastest, and 9 is the best (CPU-intensive). +The default is 3. + +Note compression occurs on the fly and the compressed streams are not +cached. Thus, to reduce load on the machine that runs @command{guix +publish}, it may be a good idea to choose a low compression level, or to +run @command{guix publish} behind a caching proxy. + @item --ttl=@var{ttl} Produce @code{Cache-Control} HTTP headers that advertise a time-to-live (TTL) of @var{ttl}. @var{ttl} must denote a duration: @code{5d} means 5 diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 4c0aa8e419..3e1ecb9d1b 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -27,6 +27,7 @@ #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) + #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) #:use-module (srfi srfi-19) #:use-module (srfi srfi-26) @@ -45,6 +46,7 @@ #:use-module (guix pk-crypto) #:use-module (guix store) #:use-module (guix serialization) + #:use-module (guix zlib) #:use-module (guix ui) #:use-module (guix scripts) #:export (guix-publish)) @@ -58,6 +60,9 @@ Publish ~a over HTTP.\n") %store-directory) --listen=HOST listen on the network interface for HOST")) (display (_ " -u, --user=USER change privileges to USER as soon as possible")) + (display (_ " + -C, --compression[=LEVEL] + compress archives at LEVEL")) (display (_ " --ttl=TTL announce narinfos can be cached for TTL seconds")) (display (_ " @@ -79,6 +84,20 @@ Publish ~a over HTTP.\n") %store-directory) (leave (_ "lookup of host '~a' failed: ~a~%") host (gai-strerror error))))) +;; Nar compression parameters. +(define-record-type + (compression type level) + compression? + (type compression-type) + (level compression-level)) + +(define %no-compression + (compression 'none 0)) + +(define %default-gzip-compression + ;; Since we compress on the fly, default to fast compression. + (compression 'gzip 3)) + (define %options (list (option '(#\h "help") #f #f (lambda _ @@ -102,6 +121,14 @@ Publish ~a over HTTP.\n") %store-directory) (() (leave (_ "lookup of host '~a' returned nothing") name))))) + (option '(#\C "compression") #f #t + (lambda (opt name arg result) + (match (if arg (string->number* arg) 3) + (0 + (alist-cons 'compression %no-compression result)) + (level + (alist-cons 'compression (compression 'gzip level) + result))))) (option '("ttl") #t #f (lambda (opt name arg result) (let ((duration (string->duration arg))) @@ -117,6 +144,12 @@ Publish ~a over HTTP.\n") %store-directory) (define %default-options `((port . 8080) + + ;; Default to fast & low compression. + (compression . ,(if (zlib-available?) + %default-gzip-compression + %no-compression)) + (address . ,(make-socket-address AF_INET INADDR_ANY 0)) (repl . #f))) @@ -152,12 +185,20 @@ Publish ~a over HTTP.\n") %store-directory) (define base64-encode-string (compose base64-encode string->utf8)) -(define (narinfo-string store store-path key) +(define* (narinfo-string store store-path key + #:key (compression %no-compression)) "Generate a narinfo key/value string for STORE-PATH; an exception is raised -if STORE-PATH is invalid. The narinfo is signed with KEY." +if STORE-PATH is invalid. Produce a URL that corresponds to COMPRESSION. The +narinfo is signed with KEY." (let* ((path-info (query-path-info store store-path)) - (url (encode-and-join-uri-path (list "nar" - (basename store-path)))) + (url (encode-and-join-uri-path + `("nar" + ,@(match compression + (($ 'none) + '()) + (($ type) + (list (symbol->string type)))) + ,(basename store-path)))) (hash (bytevector->nix-base32-string (path-info-hash path-info))) (size (path-info-nar-size path-info)) @@ -166,13 +207,16 @@ if STORE-PATH is invalid. The narinfo is signed with KEY." " ")) (deriver (path-info-deriver path-info)) (base-info (format #f - "StorePath: ~a + "\ +StorePath: ~a URL: ~a -Compression: none +Compression: ~a NarHash: sha256:~a NarSize: ~d References: ~a~%" - store-path url hash size references)) + store-path url + (compression-type compression) + hash size references)) ;; Do not render a "Deriver" or "System" line if we are rendering ;; info for a derivation. (info (if (not deriver) @@ -209,7 +253,8 @@ References: ~a~%" (format port "~a: ~a~%" key value))) %nix-cache-info)))) -(define* (render-narinfo store request hash #:key ttl) +(define* (render-narinfo store request hash + #:key ttl (compression %no-compression)) "Render metadata for the store path corresponding to HASH. If TTL is true, advertise it as the maximum validity period (in seconds) via the 'Cache-Control' header. This allows 'guix substitute' to cache it for an @@ -222,18 +267,35 @@ appropriate duration." `((cache-control (max-age . ,ttl))) '())) (cut display - (narinfo-string store store-path (force %private-key)) - <>))))) + (narinfo-string store store-path (force %private-key) + #:compression compression) + <>))))) -(define (render-nar store request store-item) +;; XXX: Declare the 'Guix-Compression' HTTP header, which is in fact for +;; internal consumption: it allows us to pass the compression info to +;; 'http-write', as part of the workaround to . +(declare-header! "Guix-Nar-Compression" + (lambda (str) + (match (call-with-input-string str read) + (('compression type level) + (compression type level)))) + compression? + (lambda (compression port) + (match compression + (($ type level) + (write `(compression ,type ,level) port))))) + +(define* (render-nar store request store-item + #:key (compression %no-compression)) "Render archive of the store path corresponding to STORE-ITEM." (let ((store-path (string-append %store-directory "/" store-item))) ;; The ISO-8859-1 charset *must* be used otherwise HTTP clients will ;; interpret the byte stream as UTF-8 and arbitrarily change invalid byte ;; sequences. (if (valid-path? store store-path) - (values '((content-type . (application/x-nix-archive - (charset . "ISO-8859-1")))) + (values `((content-type . (application/x-nix-archive + (charset . "ISO-8859-1"))) + (guix-nar-compression . ,compression)) ;; XXX: We're not returning the actual contents, deferring ;; instead to 'http-write'. This is a hack to work around ;; . @@ -282,6 +344,28 @@ example: \"/foo/bar\" yields '(\"foo\" \"bar\")." (values) (apply throw args))))) +(define-syntax-rule (swallow-zlib-error exp ...) + "Swallow 'zlib-error' exceptions raised by EXP..." + (catch 'zlib-error + (lambda () + exp ...) + (const #f))) + +(define (nar-response-port response) + "Return a port on which to write the body of RESPONSE, the response of a +/nar request, according to COMPRESSION." + (match (assoc-ref (response-headers response) 'guix-nar-compression) + (($ 'gzip level) + ;; Note: We cannot used chunked encoding here because + ;; 'make-gzip-output-port' wants a file port. + (make-gzip-output-port (response-port response) + #:level level + #:buffer-size (* 64 1024))) + (($ 'none) + (response-port response)) + (#f + (response-port response)))) + (define (http-write server client response body) "Write RESPONSE and BODY to CLIENT, possibly in a separate thread to avoid blocking." @@ -293,16 +377,20 @@ blocking." (lambda () (let* ((response (write-response (sans-content-length response) client)) - (port (response-port response))) + (port (begin + (force-output client) + (nar-response-port response)))) ;; XXX: Given our ugly workaround for in ;; 'render-nar', BODY here is just the file name of the store item. ;; We call 'write-file' from here because we know that's the only ;; way to avoid building the whole nar in memory, which could ;; quickly become a real problem. As a bonus, we even do ;; sendfile(2) directly from the store files to the socket. - (swallow-EPIPE - (write-file (utf8->string body) port)) - (close-port port) + (swallow-zlib-error + (swallow-EPIPE + (write-file (utf8->string body) port))) + (swallow-zlib-error + (close-port port)) (values))))) (_ ;; Handle other responses sequentially. @@ -316,7 +404,10 @@ blocking." http-write (@@ (web server http) http-close)) -(define* (make-request-handler store #:key narinfo-ttl) +(define* (make-request-handler store + #:key + narinfo-ttl + (compression %no-compression)) (lambda (request body) (format #t "~a ~a~%" (request-method request) @@ -330,16 +421,37 @@ blocking." (((= extract-narinfo-hash (? string? hash))) ;; TODO: Register roots for HASH that will somehow remain for ;; NARINFO-TTL. - (render-narinfo store request hash #:ttl narinfo-ttl)) + (render-narinfo store request hash + #:ttl narinfo-ttl + #:compression compression)) + + ;; Use different URLs depending on the compression type. This + ;; guarantees that /nar URLs remain valid even when 'guix publish' + ;; is restarted with different compression parameters. + ;; /nar/ (("nar" store-item) - (render-nar store request store-item)) + (render-nar store request store-item + #:compression %no-compression)) + ;; /nar/gzip/ + (("nar" "gzip" store-item) + (if (zlib-available?) + (render-nar store request store-item + #:compression + (match compression + (($ 'gzip) + compression) + (_ + %default-gzip-compression))) + (not-found request))) (_ (not-found request))) (not-found request)))) (define* (run-publish-server socket store - #:key narinfo-ttl) - (run-server (make-request-handler store #:narinfo-ttl narinfo-ttl) + #:key (compression %no-compression) narinfo-ttl) + (run-server (make-request-handler store + #:narinfo-ttl narinfo-ttl + #:compression compression) concurrent-http-server `(#:socket ,socket))) @@ -378,6 +490,7 @@ blocking." (user (assoc-ref opts 'user)) (port (assoc-ref opts 'port)) (ttl (assoc-ref opts 'narinfo-ttl)) + (compression (assoc-ref opts 'compression)) (address (let ((addr (assoc-ref opts 'address))) (make-socket-address (sockaddr:fam addr) (sockaddr:addr addr) @@ -404,4 +517,6 @@ consider using the '--user' option!~%"))) (when repl-port (repl:spawn-server (repl:make-tcp-server-socket #:port repl-port))) (with-store store - (run-publish-server socket store #:narinfo-ttl ttl))))) + (run-publish-server socket store + #:compression compression + #:narinfo-ttl ttl))))) diff --git a/tests/publish.scm b/tests/publish.scm index d6d537c58a..9bf181f1fc 100644 --- a/tests/publish.scm +++ b/tests/publish.scm @@ -28,12 +28,15 @@ #:use-module (guix store) #:use-module (guix base32) #:use-module (guix base64) + #:use-module ((guix records) #:select (recutils->alist)) #:use-module ((guix serialization) #:select (restore-file)) #:use-module (guix pk-crypto) + #:use-module (guix zlib) #:use-module (web uri) #:use-module (web client) #:use-module (web response) #:use-module (rnrs bytevectors) + #:use-module (ice-9 binary-ports) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-64) @@ -52,20 +55,28 @@ (call-with-values (lambda () (http-get uri)) (lambda (response body) body))) +(define (http-get-port uri) + (call-with-values (lambda () (http-get uri #:streaming? #t)) + (lambda (response port) port))) + (define (publish-uri route) (string-append "http://localhost:6789" route)) ;; Run a local publishing server in a separate thread. (call-with-new-thread (lambda () - (guix-publish "--port=6789"))) ; attempt to avoid port collision + (guix-publish "--port=6789" "-C0"))) ;attempt to avoid port collision -;; Wait until the server is accepting connections. -(let ((conn (socket PF_INET SOCK_STREAM 0))) - (let loop () - (unless (false-if-exception - (connect conn AF_INET (inet-pton AF_INET "127.0.0.1") 6789)) - (loop)))) +(define (wait-until-ready port) + ;; Wait until the server is accepting connections. + (let ((conn (socket PF_INET SOCK_STREAM 0))) + (let loop () + (unless (false-if-exception + (connect conn AF_INET (inet-pton AF_INET "127.0.0.1") port)) + (loop))))) + +;; Wait until the two servers are ready. +(wait-until-ready 6789) (test-begin "publish") @@ -145,6 +156,40 @@ References: ~%" (call-with-input-string nar (cut restore-file <> temp))) (call-with-input-file temp read-string)))) +(unless (zlib-available?) + (test-skip 1)) +(test-equal "/nar/gzip/*" + "bar" + (call-with-temporary-output-file + (lambda (temp port) + (let ((nar (http-get-port + (publish-uri + (string-append "/nar/gzip/" (basename %item)))))) + (call-with-gzip-input-port nar + (cut restore-file <> temp))) + (call-with-input-file temp read-string)))) + +(unless (zlib-available?) + (test-skip 1)) +(test-equal "/*.narinfo with compression" + `(("StorePath" . ,%item) + ("URL" . ,(string-append "nar/gzip/" (basename %item))) + ("Compression" . "gzip")) + (let ((thread (call-with-new-thread + (lambda () + (guix-publish "--port=6799" "-C5"))))) + (wait-until-ready 6799) + (let* ((url (string-append "http://localhost:6799/" + (store-path-hash-part %item) ".narinfo")) + (body (http-get-port url))) + (filter (lambda (item) + (match item + (("Compression" . _) #t) + (("StorePath" . _) #t) + (("URL" . _) #t) + (_ #f))) + (recutils->alist body))))) + (test-equal "/nar/ with properly encoded '+' sign" "Congrats!" (let ((item (add-text-to-store %store "fake-gtk+" "Congrats!"))) From a53c486dadca8d8a0265ccb32f26d40856a82f05 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 7 Jul 2016 00:06:40 -0500 Subject: [PATCH 409/435] gnu: llvm: Update to 3.5.2. * gnu/packages/llvm.scm (llvm-3.5): Update to 3.5.2. --- gnu/packages/llvm.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 3bf019fa83..3ed60489c1 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014, 2016 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Ludovic Courtès ;;; @@ -183,7 +183,7 @@ code analysis tools.") (define-public llvm-3.5 (package (inherit llvm) - (version "3.5.0") + (version "3.5.2") (source (origin (method url-fetch) @@ -191,13 +191,13 @@ code analysis tools.") version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98")))))) + "0xf5q17kkxsrm2gsi93h4pwlv663kji73r2g4asb97klsmb626a4")))))) (define-public clang-runtime-3.5 (clang-runtime-from-llvm llvm-3.5 - "0dl1kbrhz96djsxqr61iw5h788s7ncfpfb7aayixky1bhdaydcx4")) + "1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal")) (define-public clang-3.5 (clang-from-llvm llvm-3.5 clang-runtime-3.5 - "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w")) + "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg")) From ac00973cd9aa2051b20bcd27054e00a5467c1218 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 7 Jul 2016 00:06:41 -0500 Subject: [PATCH 410/435] gnu: llvm: Add "license:" prefix. * gnu/packages/llvm.scm: Import (guix licenses) with "license:" prefix. --- gnu/packages/llvm.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 3ed60489c1..185dbdab4e 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -20,7 +20,7 @@ (define-module (gnu packages llvm) #:use-module (guix packages) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) @@ -60,7 +60,7 @@ languages. It currently supports compilation of C and C++ programs, using front-ends derived from GCC 4.0.1. A new front-end for the C family of languages is in development. The compiler infrastructure includes mirror sets of programming tools as well as libraries with equivalent functionality.") - (license ncsa))) + (license license:ncsa))) (define (clang-runtime-from-llvm llvm hash) (package @@ -87,7 +87,7 @@ of programming tools as well as libraries with equivalent functionality.") functions for C and C++ programs. It also provides header files that allow C and C++ source code to interface with the \"sanitization\" passes of the clang compiler. In LLVM this library is called \"compiler-rt\".") - (license ncsa) + (license license:ncsa) ;; doesn't list MIPS as supported. (supported-systems (delete "mips64el-linux" %supported-systems)))) @@ -170,7 +170,7 @@ compiler. In LLVM this library is called \"compiler-rt\".") Objective-C++ programming languages. It uses LLVM as its back end. The Clang project includes the Clang front end, the Clang static analyzer, and several code analysis tools.") - (license ncsa))) + (license license:ncsa))) (define-public clang-runtime (clang-runtime-from-llvm From ee0774305f3f814c5bef65864c0b3543097fb7fc Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 7 Jul 2016 00:06:42 -0500 Subject: [PATCH 411/435] gnu: llvm: Add libffi and zlib inputs. * gnu/packages/llvm.scm (llvm)[inputs]: Add libffi and zlib. [arguments]: Add cmake flag for libffi to #:configure-flags. Co-authored-by: Dennis Mungai --- gnu/packages/llvm.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 185dbdab4e..103b93ee4a 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2016 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2016 Dennis Mungai ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,8 @@ #:use-module (gnu packages) #:use-module (gnu packages gcc) #:use-module (gnu packages bootstrap) ;glibc-dynamic-linker + #:use-module (gnu packages compression) + #:use-module (gnu packages libffi) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages xml)) @@ -48,9 +51,13 @@ (native-inputs `(("python" ,python-wrapper) ("perl" ,perl))) + (inputs + `(("libffi" ,libffi) + ("zlib" ,zlib))) (arguments `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"))) + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" + "-DLLVM_ENABLE_FFI:BOOL=TRUE"))) (home-page "http://www.llvm.org") (synopsis "Optimizing compiler infrastructure") (description From 3ebc09057a082bc911ee11f45d6cc8b0f76edec6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 7 Jul 2016 00:06:43 -0500 Subject: [PATCH 412/435] gnu: llvm: Update to 3.7.1. * gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 3.7.1 (llvm-3.6, clang-runtime-3.6, clang-3.6): New variables. --- gnu/packages/llvm.scm | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 103b93ee4a..65b0ef38ca 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -38,7 +38,7 @@ (define-public llvm (package (name "llvm") - (version "3.6.2") + (version "3.7.1") (source (origin (method url-fetch) @@ -46,10 +46,10 @@ version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "153vcvj8gvgwakzr4j0kndc0b7wn91c2g1vy2vg24s6spxcc23gn")))) + "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))) (build-system cmake-build-system) (native-inputs - `(("python" ,python-wrapper) + `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 ("perl" ,perl))) (inputs `(("libffi" ,libffi) @@ -182,10 +182,31 @@ code analysis tools.") (define-public clang-runtime (clang-runtime-from-llvm llvm - "11qx8d3pbfqjaj2x207pvlvzihbs1z2xbw4crpz7aid6h1yz6bqg")) + "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx")) (define-public clang (clang-from-llvm llvm clang-runtime + "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn")) + +(define-public llvm-3.6 + (package (inherit llvm) + (version "3.6.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/llvm-" version ".src.tar.xz")) + (sha256 + (base32 + "153vcvj8gvgwakzr4j0kndc0b7wn91c2g1vy2vg24s6spxcc23gn")))))) + +(define-public clang-runtime-3.6 + (clang-runtime-from-llvm + llvm-3.6 + "11qx8d3pbfqjaj2x207pvlvzihbs1z2xbw4crpz7aid6h1yz6bqg")) + +(define-public clang-3.6 + (clang-from-llvm llvm-3.6 clang-runtime-3.6 "1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df")) (define-public llvm-3.5 From 3b956a3392fc277e80ffe0477592c1d00664f513 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 7 Jul 2016 00:06:44 -0500 Subject: [PATCH 413/435] gnu: llvm: Update to 3.8.1. * gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 3.8.1. (llvm-3.7, clang-runtime-3.7, clang-3.7): New variables. (clang-runtime-from-llvm)[arguments]: Disable tests, which were not being run for previous versions anyhow but now fail hard. (clang-from-llvm): Add #:patches keyword argument. * gnu/packages/patches/clang-3.8-libc-search-path.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. Co-authored-by: Dennis Mungai --- gnu/local.mk | 1 + gnu/packages/llvm.scm | 37 ++++++++-- .../patches/clang-3.8-libc-search-path.patch | 69 +++++++++++++++++++ 3 files changed, 100 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/patches/clang-3.8-libc-search-path.patch diff --git a/gnu/local.mk b/gnu/local.mk index d44a52be95..5e32d872b8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -452,6 +452,7 @@ dist_patch_DATA = \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/clang-libc-search-path.patch \ + %D%/packages/patches/clang-3.8-libc-search-path.patch \ %D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/cmake-fix-tests.patch \ %D%/packages/patches/cpio-gets-undeclared.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 65b0ef38ca..beb09fa86e 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -38,7 +38,7 @@ (define-public llvm (package (name "llvm") - (version "3.7.1") + (version "3.8.1") (source (origin (method url-fetch) @@ -46,7 +46,7 @@ version "/llvm-" version ".src.tar.xz")) (sha256 (base32 - "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))) + "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))) (build-system cmake-build-system) (native-inputs `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 @@ -85,8 +85,8 @@ of programming tools as well as libraries with equivalent functionality.") `(("llvm" ,llvm))) (arguments `(;; Don't use '-g' during the build to save space. - #:build-type "Release")) - + #:build-type "Release" + #:tests? #f)) ; Tests require gtest (home-page "http://compiler-rt.llvm.org") (synopsis "Runtime library for Clang/LLVM") (description @@ -99,7 +99,8 @@ compiler. In LLVM this library is called \"compiler-rt\".") ;; doesn't list MIPS as supported. (supported-systems (delete "mips64el-linux" %supported-systems)))) -(define (clang-from-llvm llvm clang-runtime hash) +(define* (clang-from-llvm llvm clang-runtime hash + #:key (patches '("clang-libc-search-path.patch"))) (package (name "clang") (version (package-version llvm)) @@ -109,7 +110,7 @@ compiler. In LLVM this library is called \"compiler-rt\".") (uri (string-append "http://llvm.org/releases/" version "/cfe-" version ".src.tar.xz")) (sha256 (base32 hash)) - (patches (search-patches "clang-libc-search-path.patch")))) + (patches (map search-patch patches)))) ;; Using cmake allows us to treat llvm as an external library. There ;; doesn't seem to be any way to do this with clang's autotools-based ;; build system. @@ -182,10 +183,32 @@ code analysis tools.") (define-public clang-runtime (clang-runtime-from-llvm llvm - "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx")) + "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d")) (define-public clang (clang-from-llvm llvm clang-runtime + "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc" + #:patches '("clang-3.8-libc-search-path.patch"))) + +(define-public llvm-3.7 + (package (inherit llvm) + (version "3.7.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/llvm-" version ".src.tar.xz")) + (sha256 + (base32 + "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))))) + +(define-public clang-runtime-3.7 + (clang-runtime-from-llvm + llvm-3.7 + "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx")) + +(define-public clang-3.7 + (clang-from-llvm llvm-3.7 clang-runtime-3.7 "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn")) (define-public llvm-3.6 diff --git a/gnu/packages/patches/clang-3.8-libc-search-path.patch b/gnu/packages/patches/clang-3.8-libc-search-path.patch new file mode 100644 index 0000000000..0f7d0a4add --- /dev/null +++ b/gnu/packages/patches/clang-3.8-libc-search-path.patch @@ -0,0 +1,69 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on non-GuixSD systems. + +This patch makes slight adjustments over "clang-libc-search-path.patch" for +changes in clang 3.8. + +--- cfe-3.8.0.src/lib/Driver/ToolChains.cpp ++++ cfe-3.8.0.src/lib/Driver/ToolChains.cpp +@@ -3661,6 +3661,9 @@ + GCCInstallation.getTriple().str() + "/bin") + .str()); + ++ // Comment out the distro-specific tweaks so that they don't bite when ++ // using Guix on a foreign distro. ++#if 0 + Distro Distro = DetectDistro(D, Arch); + + if (IsOpenSUSE(Distro) || IsUbuntu(Distro)) { +@@ -3702,6 +3705,7 @@ + + if (IsOpenSUSE(Distro)) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -3771,14 +3775,12 @@ + addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); + } + +- addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); +- addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); +- addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths); +- addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths); +- + // Try walking via the GCC triple path in case of biarch or multiarch GCC + // installations with strange symlinks. + if (GCCInstallation.isValid()) { ++ // The following code would end up adding things like ++ // "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. ++#if 0 + addPathIfExists(D, + SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + + "/../../" + OSLibDir, +@@ -3791,6 +3793,7 @@ + BiarchSibling.gccSuffix(), + Paths); + } ++#endif + + // See comments above on the multilib variant for details of why this is + // included even from outside the sysroot. +@@ -3815,8 +3818,9 @@ + if (StringRef(D.Dir).startswith(SysRoot)) + addPathIfExists(D, D.Dir + "/../lib", Paths); + +- addPathIfExists(D, SysRoot + "/lib", Paths); +- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); + } + + bool Linux::HasNativeLLVMSupport() const { return true; } From 0935fb271b69d14d56829595ad39c8b9979c7cf9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 18 Jul 2016 20:27:24 -0500 Subject: [PATCH 414/435] gnu: llvm: Build without debugging symbols. * gnu/packages/llvm.scm (llvm)[arguments]: Add #:build-type. --- gnu/packages/llvm.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index beb09fa86e..c380eba122 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -57,7 +57,10 @@ (arguments `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" - "-DLLVM_ENABLE_FFI:BOOL=TRUE"))) + "-DLLVM_ENABLE_FFI:BOOL=TRUE") + + ;; Don't use '-g' during the build, to save space. + #:build-type "Release")) (home-page "http://www.llvm.org") (synopsis "Optimizing compiler infrastructure") (description From f04a7943f44bf1df22d60ac319c48f91a5e693ef Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 17 Jul 2016 23:15:48 +0000 Subject: [PATCH 415/435] gnu: libassuan: Update to 2.4.3. * gnu/packages/gnupg.scm (libassuan): Update to 2.4.3. Signed-off-by: Leo Famulari --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index b99a13cb05..72f4194932 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -121,7 +121,7 @@ generation.") (define-public libassuan (package (name "libassuan") - (version "2.4.2") + (version "2.4.3") (source (origin (method url-fetch) @@ -129,7 +129,7 @@ generation.") version ".tar.bz2")) (sha256 (base32 - "086bbcdnvs48qq5g4iac7dpk76j0q3jrp16mchdvyx0b720xq1mv")))) + "0w9bmasln4z8mn16s1is55a06w3nv8jbyal496z5jvr5vcxkm112")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error) ("pth" ,pth))) From 72fb1b24d904ad63a11c3850899cfd5e157b76e2 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 17 Jul 2016 23:21:52 +0000 Subject: [PATCH 416/435] gnu: Use HTTPS home-page URLs for PGP-related packages. * gnu/packages/gnupg.scm (gnupg, gpgme, libassuan, libgcrypt, libgpg-error, libksba, npth, pius, python-gnupg, signing-party)[home-page]: Use HTTPS URLs. Signed-off-by: Leo Famulari --- gnu/packages/gnupg.scm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 72f4194932..f26574cf73 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -59,7 +59,7 @@ (base32 "0kdq2cbnk84fr4jqcv689rlxpbyl6bda2cn6y3ll19v3mlydpnxp")))) (build-system gnu-build-system) - (home-page "http://gnupg.org") + (home-page "https://gnupg.org") (synopsis "Library of error values for GnuPG components") (description "Libgpg-error is a small library that defines common error values @@ -95,7 +95,7 @@ Daemon and possibly more in the future.") (list (string-append "--with-gpg-error-prefix=" (assoc-ref %build-inputs "libgpg-error-host"))))) (outputs '("out" "debug")) - (home-page "http://gnupg.org/") + (home-page "https://gnupg.org/") (synopsis "Cryptographic function library") (description "Libgcrypt is a general-purpose cryptographic library. It provides the @@ -133,7 +133,7 @@ generation.") (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error) ("pth" ,pth))) - (home-page "http://gnupg.org") + (home-page "https://gnupg.org") (synopsis "IPC library used by GnuPG and related software") (description @@ -170,7 +170,7 @@ provided.") '()) (string-append "--with-gpg-error-prefix=" (assoc-ref %build-inputs "libgpg-error"))))) - (home-page "http://www.gnupg.org") + (home-page "https://www.gnupg.org") (synopsis "CMS and X.509 access library") (description "KSBA (pronounced Kasbah) is a library to make X.509 certificates @@ -194,7 +194,7 @@ specifications are building blocks of S/MIME and TLS.") (base32 "12n0nvhw4fzwp0k7gjv3rc6pdml0qiinbbfiz4ilg6pl5kdxvnvd")))) (build-system gnu-build-system) - (home-page "http://www.gnupg.org") + (home-page "https://www.gnupg.org") (synopsis "Non-preemptive thread library") (description "Npth is a library to provide the GNU Pth API and thus a non-preemptive @@ -241,7 +241,7 @@ compatible to GNU Pth.") (substitute* "tests/openpgp/defs.inc" (("/bin/pwd") (which "pwd")))) %standard-phases))) - (home-page "http://gnupg.org/") + (home-page "https://gnupg.org/") (synopsis "GNU Privacy Guard") (description "The GNU Privacy Guard is a complete implementation of the OpenPGP @@ -331,7 +331,7 @@ libskba (working with X.509 certificates and CMS data).") `(("gnupg" ,gnupg-2.0) ("libassuan" ,libassuan))) (arguments '(#:make-flags '("GPG=gpg2"))) - (home-page "http://www.gnupg.org/related_software/gpgme/") + (home-page "https://www.gnupg.org/related_software/gpgme/") (synopsis "Library providing simplified access to GnuPG functionality") (description "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG @@ -417,7 +417,7 @@ decrypt messages using the OpenPGP format by making use of GPGME.") "test_gnupg.py" "--no-doctests"))))))) (native-inputs `(("gnupg" ,gnupg-1))) - (home-page "http://packages.python.org/python-gnupg/index.html") + (home-page "https://packages.python.org/python-gnupg/index.html") (synopsis "Wrapper for the GNU Privacy Guard") (description "This module allows easy access to GnuPG’s key management, encryption @@ -465,7 +465,7 @@ to the process. pius-keyring-mgr and pius-party-worksheet help organisers of PGP keysigning parties.") (license license:gpl2) - (home-page "http://www.phildev.net/pius/index.shtml"))) + (home-page "https://www.phildev.net/pius/index.shtml"))) (define-public signing-party (package @@ -565,7 +565,7 @@ including tools for signing keys, keyring analysis, and party preparation. ;; and caff and gpgsigs: bsd-3, see ;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright (license license:gpl2) - (home-page "http://pgp-tools.alioth.debian.org/"))) + (home-page "https://pgp-tools.alioth.debian.org/"))) (define-public pinentry-tty (package From 053fa76ae7bb579fe5fc9dedfc492411e6804cf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 19 Jul 2016 16:46:16 +0200 Subject: [PATCH 417/435] publish: Keep compression disabled when zlib is missing. Reported by David Thompson. * guix/scripts/publish.scm (%options)[--compression]: Warn if LEVEL > 0 and zlib is missing, and return RESULT. --- guix/scripts/publish.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 3e1ecb9d1b..3baceaf645 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -127,8 +127,14 @@ Publish ~a over HTTP.\n") %store-directory) (0 (alist-cons 'compression %no-compression result)) (level - (alist-cons 'compression (compression 'gzip level) - result))))) + (if (zlib-available?) + (alist-cons 'compression + (compression 'gzip level) + result) + (begin + (warning (_ "zlib support is missing; \ +compression disabled~%")) + result)))))) (option '("ttl") #t #f (lambda (opt name arg result) (let ((duration (string->duration arg))) From d58a32037eded061213629887f67e9447374724a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 Jul 2016 20:11:32 +0300 Subject: [PATCH 418/435] gnu: python-lxml: Update to 3.6.0. * gnu/packages/python.scm (python-lxml): Update to 3.6.0. --- gnu/packages/python.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 430c7d4456..913f14c86c 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4595,14 +4595,14 @@ translate the complete SQLite API into Python.") (define-public python-lxml (package (name "python-lxml") - (version "3.5.0") + (version "3.6.0") (source (origin (method url-fetch) (uri (pypi-uri "lxml" version)) (sha256 - (base32 - "0y7m2s8ci6q642zl85y5axkj8z827l0vhjl532acb75hlkir77rl")))) + (base32 + "1pvbmiy2m7jwv493kilbghhj2pkh8wy1na3ji350vhzhlwlclx4w")))) (build-system python-build-system) (inputs `(("libxml2" ,libxml2) From 31e8a074c703d2d6a654e267a32c6afc0b22ab0c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 Jul 2016 20:47:25 +0300 Subject: [PATCH 419/435] gnu: calibre: Update to 2.62.0. * gnu/packages/ebook.scm (calibre): Update to 2.62.0. --- gnu/packages/ebook.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index f7e15584f3..69946b1e78 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -61,7 +61,7 @@ (define-public calibre (package (name "calibre") - (version "2.58.0") + (version "2.62.0") (source (origin (method url-fetch) @@ -70,7 +70,7 @@ version ".tar.xz")) (sha256 (base32 - "0npqvfjqj1vwa7nmnsyd4d30z40brydw275ldf1jankrp6dr9dyd")) + "15qskfsdg3fy9cpw1m3mccwgn45366yn7lci5kim0fdzpw9pnkna")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) From 58d1d816ba28deeab58d943d3967b0433e06b5b4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 Jul 2016 21:00:52 +0300 Subject: [PATCH 420/435] gnu: python2-cssutils: Update to 1.0.1. * gnu/packages/python.scm (python2-cssutils): Update to 1.0.1. [source]: Use 'pypi-uri' format. --- gnu/packages/python.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 913f14c86c..55096671f2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4655,17 +4655,14 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.") (define-public python2-cssutils (package (name "python2-cssutils") - (version "1.0") + (version "1.0.1") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/c/cssutils/cssutils-" - version - ".zip")) + (uri (pypi-uri "cssutils" version)) (sha256 - (base32 - "1bwim1353r4hqiir73sn4sc43y7ymh09qx0kly7vj048blppc125")))) + (base32 + "0qwha9x1wml2qmipbcz03gndnlwhzrjdvw9i09si247a90l8p8fq")))) (build-system python-build-system) (native-inputs `(("python2-mock" ,python2-mock) ; for the tests From d5ccd9abf69829f8969d1f4262461612145c9b65 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 Jul 2016 21:03:31 +0300 Subject: [PATCH 421/435] gnu: python-cssselect: Update to 0.9.2. * gnu/packages/python.scm (python-cssselect): Update to 0.9.2. [source]: Use 'pypi-uri' format. --- gnu/packages/python.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 55096671f2..8c59511545 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4685,17 +4685,14 @@ options.") (define-public python-cssselect (package (name "python-cssselect") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/c/cssselect/cssselect-" - version - ".tar.gz")) + (uri (pypi-uri "cssselect" version)) (sha256 - (base32 - "10h623qnp6dp1191jri7lvgmnd4yfkl36k9smqklp1qlf3iafd85")))) + (base32 + "1xg6gbva1yswghiycmgincv6ab4bn7hpm720ndbj40h8xycmnfvi")))) (build-system python-build-system) (inputs `(("python-setuptools" ,python-setuptools))) From aab76e80d2d2b5cb9cece4999b632de3b29f7c8d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 Jul 2016 21:07:37 +0300 Subject: [PATCH 422/435] gnu: python-pyquery: Update to 1.2.13. * gnu/packages/python.scm (python-pyquery): Update to 1.2.13. --- 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 8c59511545..2dba8bbbb8 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7971,14 +7971,14 @@ layouts.") (define-public python-pyquery (package (name "python-pyquery") - (version "1.2.11") + (version "1.2.13") (source (origin (method url-fetch) (uri (pypi-uri "pyquery" version)) (sha256 (base32 - "1ikz1387nsp0pp7mzzr6ip9n5gr67acpap24yn33987v7fkjp0sa")))) + "0j9fsisip21qv4xljsg5dmni1pgpvwrjyyhhql0glydc4bs5rjgv")))) (build-system python-build-system) (propagated-inputs `(("python-lxml" ,python-lxml) From 4591c02ea934313638629b33ea47a148a1c38b53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 19 Jul 2016 19:04:10 +0200 Subject: [PATCH 423/435] doc: Mention zlib as an optional dependency. * doc/guix.texi (Requirements): Mention zlib. (Invoking guix publish): Fix typo. --- doc/guix.texi | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 6e8fb483f2..1c4d57c811 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -546,6 +546,10 @@ Installing allow you to use the @command{guix import pypi} command (@pxref{Invoking guix import}). It is of interest primarily for developers and not for casual users. + +@item +When @url{http://zlib.net, zlib} is available, @command{guix publish} +can compress build byproducts (@pxref{Invoking guix publish}). @end itemize Unless @code{--disable-daemon} was passed to @command{configure}, the @@ -5651,7 +5655,7 @@ disable compression. The range 1 to 9 corresponds to different gzip compression levels: 1 is the fastest, and 9 is the best (CPU-intensive). The default is 3. -Note compression occurs on the fly and the compressed streams are not +Compression occurs on the fly and the compressed streams are not cached. Thus, to reduce load on the machine that runs @command{guix publish}, it may be a good idea to choose a low compression level, or to run @command{guix publish} behind a caching proxy. From 584f2e1bc14fee5fb823e1b3bca279987d15d38d Mon Sep 17 00:00:00 2001 From: David Craven Date: Mon, 18 Jul 2016 18:55:46 +0200 Subject: [PATCH 424/435] gnu: gl: Change 'l:' prefix to 'license:'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gl.scm: Change #:prefix l: to #:prefix license:. Signed-off-by: Ludovic Courtès --- gnu/packages/gl.scm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 907e3bf30a..b774c4c592 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -22,7 +22,7 @@ (define-module (gnu packages gl) #:use-module (ice-9 match) #:use-module (guix build utils) - #:use-module ((guix licenses) #:prefix l:) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -71,7 +71,7 @@ matrices for creating perspective and orthographic projections, positioning a camera, and selection/picking, Rendering of disk, cylinder, and sphere primitives, Interpreting OpenGL error values as ASCII text.") - (license (l:x11-style "http://directory.fsf.org/wiki/License:SGIFreeBv2")))) + (license (license:x11-style "http://directory.fsf.org/wiki/License:SGIFreeBv2")))) (define-public freeglut (package @@ -112,7 +112,7 @@ GLUT (and hence freeglut) allows the user to create and manage windows containing OpenGL contexts on a wide range of platforms and also read the mouse, keyboard and joystick functions. Freeglut is released under the X-Consortium license.") - (license l:x11))) + (license license:x11))) (define-public ftgl (package @@ -138,7 +138,7 @@ the X-Consortium license.") "FTGL is a font rendering library for OpenGL applications. Supported rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines, Polygon meshes, and Extruded polygon meshes.") - (license l:x11))) + (license license:x11))) (define-public s2tc (package @@ -170,7 +170,7 @@ Polygon meshes, and Extruded polygon meshes.") (description "S2TC is a patent-free implementation of S3 Texture Compression (S3TC, also known as DXTn or DXTC) for Mesa.") - (license l:expat))) + (license license:expat))) ;;; Mesa needs LibVA headers to build its Gallium-based VA API implementation; ;;; LibVA itself depends on Mesa. We use the following to solve the circular @@ -287,7 +287,7 @@ also known as DXTn or DXTC) for Mesa.") a system for rendering interactive 3D graphics. A variety of device drivers allows Mesa to be used in many different environments ranging from software emulation to complete hardware acceleration for modern GPUs.") - (license l:x11))) + (license license:x11))) (define-public mesa-headers (package @@ -355,7 +355,7 @@ emulation to complete hardware acceleration for modern GPUs.") "The mesa-utils package contains several utility tools for Mesa: glxdemo, glxgears, glxheads, and glxinfo.") ;; glxdemo is public domain; others expat. - (license (list l:expat l:public-domain)))) + (license (list license:expat license:public-domain)))) (define-public glew (package @@ -399,7 +399,7 @@ glxgears, glxheads, and glxinfo.") loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file.") - (license l:bsd-3))) + (license license:bsd-3))) (define-public guile-opengl (package @@ -445,7 +445,7 @@ extension functionality is exposed in a single header file.") (description "Guile-OpenGL is a library for Guile that provides bindings to the OpenGL graphics API.") - (license l:lgpl3+))) + (license license:lgpl3+))) (define-public libepoxy (package @@ -502,7 +502,7 @@ OpenGL graphics API.") (synopsis "A library for handling OpenGL function pointer management") (description "A library for handling OpenGL function pointer management.") - (license l:x11))) + (license license:x11))) (define-public soil (package @@ -544,4 +544,4 @@ OpenGL graphics API.") (description "SOIL is a tiny C library used primarily for uploading textures into OpenGL.") - (license l:public-domain))) + (license license:public-domain))) From 3a92a5b36d68ad1edab6df3a9d58b841f218f95b Mon Sep 17 00:00:00 2001 From: David Craven Date: Mon, 18 Jul 2016 18:55:45 +0200 Subject: [PATCH 425/435] gnu: Order module imports in (gnu packages gl) alphabetically. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gl.scm: Order module imports alphabetically. Signed-off-by: Ludovic Courtès --- gnu/packages/gl.scm | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index b774c4c592..4ac926ed4a 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -20,29 +20,29 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages gl) - #:use-module (ice-9 match) - #:use-module (guix build utils) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system cmake) - #:use-module (guix packages) - #:use-module (guix utils) #:use-module (gnu packages autotools) #:use-module (gnu packages bison) #:use-module (gnu packages flex) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages gettext) - #:use-module (gnu packages linux) - #:use-module (gnu packages python) - #:use-module (gnu packages xorg) - #:use-module (gnu packages xml) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) #:use-module (gnu packages guile) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages video) #:use-module (gnu packages xdisorg) - #:use-module (gnu packages zip)) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) + #:use-module (gnu packages zip) + #:use-module (guix download) + #:use-module (guix build utils) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (ice-9 match)) (define-public glu (package From 7fe3f8cf6ef0fb220267caca616aadc5d5e28608 Mon Sep 17 00:00:00 2001 From: David Craven Date: Mon, 18 Jul 2016 18:55:50 +0200 Subject: [PATCH 426/435] gnu: mesa-utils: Update to 8.3.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gl.scm (mesa-utils): Update to 8.3.0. Signed-off-by: Ludovic Courtès --- gnu/packages/gl.scm | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 4ac926ed4a..7fa79bbde3 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -317,12 +317,12 @@ emulation to complete hardware acceleration for modern GPUs.") (method url-fetch) (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/demos/" version "/mesa-demos-" version ".tar.bz2")) - (sha256 (base32 "14msj0prbl3ljwd24yaqv9pz1xzicdmqgg616xxlppbdh6syrgz4")))) + (sha256 (base32 "1vqb7s5m3fcg2csbiz45mha1pys2xx6rhw94fcyvapqdpm5iawy1")))) (define-public mesa-utils (package (name "mesa-utils") - (version "8.2.0") + (version "8.3.0") (source (mesa-demos-source version)) (build-system gnu-build-system) (inputs @@ -332,12 +332,7 @@ emulation to complete hardware acceleration for modern GPUs.") (native-inputs `(("pkg-config" ,pkg-config))) (arguments - '(;; XXX: fails to build against latest mesa: - ;; eglut.c: error: 'EGL_SCREEN_BIT_MESA' undeclared - ;; - ;; - #:configure-flags '("--disable-egl") - #:phases + '(#:phases (modify-phases %standard-phases (replace 'install From 592ccdd38850d581f669f834f051ee8f92d7ee31 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 19 Jul 2016 04:05:29 +0200 Subject: [PATCH 427/435] gnu: Add ssdeep. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/datastructures.scm (ssdeep): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/datastructures.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index 74b9fff4af..b9e6061238 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Ricardo Wurmus +;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,3 +71,24 @@ probing. This method is space-efficient -- there is no pointer overhead -- and time-efficient for good hash functions.") (home-page "https://github.com/sparsehash/sparsehash") (license license:bsd-3))) + +(define-public ssdeep + (package + (name "ssdeep") + (version "2.13") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ssdeep/" + name "-" version "/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1igqy0j7jrklb8fdlrm6ald4cyl1fda5ipfl8crzyl6bax2ajk3f")))) + (build-system gnu-build-system) + (home-page "http://ssdeep.sourceforge.net") + (synopsis "Context-triggered piecewise hashing algorithm") + (description "ssdeep computes and matches context triggered piecewise +hashes (CTPH), also called fuzzy checksums. It can identify similar files +that have sequences of identical bytes in the same order, even though bytes +in between these sequences may be different in both content and length.") + (license license:gpl2+))) From 58d6a1f227a09da0d17c0252978a583ff8e8b38e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 19 Jul 2016 04:45:19 +0200 Subject: [PATCH 428/435] gnu: Add cpupower. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/linux.scm (cpupower): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/linux.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d20314fc60..291ae0b4df 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2752,3 +2752,41 @@ from that to the system kernel's @file{/dev/random} machinery.") ;; The source package is offered under the GPL2+, but the files ;; 'rngd_rdrand.c' and 'rdrand_asm.S' are only available under the GPL2. (license (list license:gpl2 license:gpl2+)))) + +(define-public cpupower + (package + (name "cpupower") + (version (package-version linux-libre)) + (source (package-source linux-libre)) + (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'enter-subdirectory + (lambda _ + (chdir "tools/power/cpupower"))) + (delete 'configure) + (add-before 'build 'fix-makefiles + (lambda _ + (substitute* "Makefile" + (("/usr/") "/") + (("/bin/(install|pwd)" _ command) command)) + (substitute* "bench/Makefile" + (("\\$\\(CC\\) -o") "$(CC) $(LDFLAGS) -o"))))) + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list (string-append "DESTDIR=" out) + (string-append "LDFLAGS=-Wl,-rpath=" out "/lib") + "docdir=/share/doc/cpupower" + "confdir=$(docdir)/examples" + ;; The Makefile recommends the following changes + "DEBUG=false" + "PACKAGE_BUGREPORT=bug-guix@gnu.org")) + #:tests? #f)) ;no tests + (native-inputs `(("gettext" ,gnu-gettext))) + (inputs `(("pciutils" ,pciutils))) + (home-page (package-home-page linux-libre)) + (synopsis "CPU frequency and voltage scaling tools for Linux") + (description + "cpupower is a set of user-space tools that use the cpufreq feature of the +Linux kernel to retrieve and control processor features related to power saving, +such as frequency and voltage scaling.") + (license license:gpl2))) From d97c429a34b432bfae4be4bb5c8b727def8eb117 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 19 Jul 2016 04:45:20 +0200 Subject: [PATCH 429/435] gnu: atlas: Use cpupower in description. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (atlas)[description]: Replace 'cpufreq-selector' with its replacement 'cpupower --governor'. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 643bce5156..776963e567 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2120,14 +2120,11 @@ Optimization occurs at build time. For this reason, the library is built on the machine where it is installed, without resorting to pre-built substitutes. Before building the library, CPU throttling should be disabled. This can be -done in the BIOS, or, on GNU/Linux, with the following commands: +done in the BIOS, or, on GNU/Linux, with the following command: -cpufreq-selector -g performance -c 0 -... -cpufreq-selector -g performance -c N-1 +# cpupower --governor performance -where N is the number of cores of your CPU. Failure to do so will result in a -library with poor performance.") +Failure to do so will result in a library with poor performance.") (license license:bsd-3))) (define-public glm From 8e9ba611cbc3c0c7425d44ade0ad5e603d680ff6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 19 Jul 2016 23:03:09 +0200 Subject: [PATCH 430/435] gnu: atlas: Use @example in description. * gnu/packages/maths.scm (atlas)[description]: Use "@example". --- gnu/packages/maths.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 776963e567..b8ec213d8b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2122,7 +2122,9 @@ the machine where it is installed, without resorting to pre-built substitutes. Before building the library, CPU throttling should be disabled. This can be done in the BIOS, or, on GNU/Linux, with the following command: +@example # cpupower --governor performance +@end example Failure to do so will result in a library with poor performance.") (license license:bsd-3))) From 909147e43f8c9f8c9b9d33597d5dd83facca699c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 12 Oct 2015 07:11:51 +0200 Subject: [PATCH 431/435] services: Add pam-limits-service. * gnu/system/pam.scm (): New record type. (pam-limits-entry, pam-limits-entry->string): New procedures. * gnu/services/base.scm (pam-limits-service-type): New variable. (pam-limits-service): New procedure. * doc/guix.texi (Base Services): Document it. --- doc/guix.texi | 30 +++++++++++++++++++++ gnu/services/base.scm | 43 ++++++++++++++++++++++++++++++ gnu/system/pam.scm | 61 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 1c4d57c811..7ea9ddfe35 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17,6 +17,7 @@ Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016 Leo Famulari@* +Copyright @copyright{} 2015, 2016 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016 Chris Marusich@* Copyright @copyright{} 2016 Efraim Flashner @@ -7570,6 +7571,35 @@ to add @var{device} to the kernel's entropy pool. The service will fail if @var{device} does not exist. @end deffn +@anchor{pam-limits-service} +@cindex session limits +@cindex ulimit +@cindex priority +@deffn {Scheme Procedure} pam-limits-service [#:limits @var{limits}] + +Return a service that installs a configuration file for the +@uref{http://linux-pam.org/Linux-PAM-html/sag-pam_limits.html, +@code{pam_limits} module}. The procedure optionally takes a list of +@code{pam-limits-entry} values, which can be used to specify +@code{ulimit} limits and nice priority limits to user sessions. + +The following limits definition sets two hard and soft limits for all +login sessions of users in the @code{realtime} group: + +@example +(pam-limits-service + (list + (pam-limits-entry "@@realtime" 'both 'rtprio 99) + (pam-limits-entry "@@realtime" 'both 'memlock 'unlimited))) +@end example + +The first entry increases the maximum realtime priority for +non-privileged processes; the second entry lifts any restriction of the +maximum address space that can be locked in memory. These settings are +commonly used for real-time audio systems. +@end deffn + + @node Scheduled Job Execution @subsubsection Scheduled Job Execution diff --git a/gnu/services/base.scm b/gnu/services/base.scm index c9c2594533..805ba7d12c 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 David Craven +;;; Copyright © 2016 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -100,6 +101,8 @@ urandom-seed-service rngd-service-type rngd-service + pam-limits-service-type + pam-limits-service %base-services)) @@ -924,6 +927,46 @@ settings. information on the configuration file syntax." (service syslog-service-type config-file)) +(define pam-limits-service-type + (let ((security-limits + ;; Create /etc/security containing the provided "limits.conf" file. + (lambda (limits-file) + `(("security" + ,(computed-file + "security" + #~(begin + (mkdir #$output) + (stat #$limits-file) + (symlink #$limits-file + (string-append #$output "/limits.conf")))))))) + (pam-extension + (lambda (pam) + (let ((pam-limits (pam-entry + (control "required") + (module "pam_limits.so") + (arguments '("conf=/etc/security/limits.conf"))))) + (if (member (pam-service-name pam) + '("login" "su" "slim")) + (pam-service + (inherit pam) + (session (cons pam-limits + (pam-service-session pam)))) + pam))))) + (service-type + (name 'limits) + (extensions + (list (service-extension etc-service-type security-limits) + (service-extension pam-root-service-type + (lambda _ (list pam-extension)))))))) + +(define* (pam-limits-service #:optional (limits '())) + "Return a service that makes selected programs respect the list of +pam-limits-entry specified in LIMITS via pam_limits.so." + (service pam-limits-service-type + (plain-file "limits.conf" + (string-join (map pam-limits-entry->string limits) + "\n")))) + ;;; ;;; Guix services. diff --git a/gnu/system/pam.scm b/gnu/system/pam.scm index 743039daf6..cd7a3427ed 100644 --- a/gnu/system/pam.scm +++ b/gnu/system/pam.scm @@ -23,6 +23,7 @@ #:use-module (gnu services) #:use-module (ice-9 match) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module ((guix utils) #:select (%current-system)) @@ -38,6 +39,13 @@ pam-entry-module pam-entry-arguments + pam-limits-entry + pam-limits-entry-domain + pam-limits-entry-type + pam-limits-entry-item + pam-limits-entry-value + pam-limits-entry->string + pam-services->directory unix-pam-service base-pam-services @@ -76,6 +84,59 @@ (arguments pam-entry-arguments ; list of string-valued g-expressions (default '()))) +;; PAM limits entries are used by the pam_limits PAM module to set or override +;; limits on system resources for user sessions. The format is specified +;; here: http://linux-pam.org/Linux-PAM-html/sag-pam_limits.html +(define-record-type + (make-pam-limits-entry domain type item value) + pam-limits-entry? + (domain pam-limits-entry-domain) ; string + (type pam-limits-entry-type) ; symbol + (item pam-limits-entry-item) ; symbol + (value pam-limits-entry-value)) ; symbol or number + +(define (pam-limits-entry domain type item value) + "Construct a pam-limits-entry ensuring that the provided values are valid." + (define (valid? value) + (case item + ((priority) (number? value)) + ((nice) (and (number? value) + (>= value -20) + (<= value 19))) + (else (or (and (number? value) + (>= value -1)) + (member value '(unlimited infinity)))))) + (define items + (list 'core 'data 'fsize + 'memlock 'nofile 'rss + 'stack 'cpu 'nproc + 'as 'maxlogins 'maxsyslogins + 'priority 'locks 'sigpending + 'msgqueue 'nice 'rtprio)) + (when (not (member type '(hard soft both))) + (error "invalid limit type" type)) + (when (not (member item items)) + (error "invalid limit item" item)) + (when (not (valid? value)) + (error "invalid limit value" value)) + (make-pam-limits-entry domain type item value)) + +(define (pam-limits-entry->string entry) + "Convert a pam-limits-entry record to a string." + (match entry + (($ domain type item value) + (string-join (list domain + (if (eq? type 'both) + "-" + (symbol->string type)) + (symbol->string item) + (cond + ((symbol? value) + (symbol->string value)) + (else + (number->string value)))) + " ")))) + (define (pam-service->configuration service) "Return the derivation building the configuration file for SERVICE, to be dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE." From 885fa1eec5a630b36a74e783ae512f3585cfeacb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 20 Jul 2016 06:49:12 +0300 Subject: [PATCH 432/435] gnu: aria2: Update to 1.25.0. * gnu/packages/bittorrent.scm (aria2): Update to 1.25.0. --- gnu/packages/bittorrent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 75e5519a77..f04dc95196 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -207,7 +207,7 @@ interface, for the Transmission BitTorrent daemon.") (define-public aria2 (package (name "aria2") - (version "1.24.0") + (version "1.25.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/tatsuhiro-t/aria2/" @@ -215,7 +215,7 @@ interface, for the Transmission BitTorrent daemon.") name "-" version ".tar.xz")) (sha256 (base32 - "0dxzyy3x20vla4c4563zjqkl71djv731db6wn3h0gysgf399d91m")))) + "0d8drwc5m5ps4bw63iq2gng36gyc2vadzixbynk1dj6gfr6fp2gz")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-libaria2") From 95bf72eeb0b99d6b26c3515fa78a587207c6f779 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 20 Jul 2016 09:11:16 +0300 Subject: [PATCH 433/435] gnu: julia: Build with zlib. * gnu/packages/julia.scm (julia)[inputs]: Add zlib. --- gnu/packages/debug.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 556a1051f1..4237a15f0a 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016 Eric Bavier +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -84,16 +85,16 @@ program to exhibit a bug.") (define-public c-reduce (package (name "c-reduce") - (version "2.3.0") + (version "2.5.0") (source (origin (method url-fetch) (uri (list - (string-append "http://embed.cs.utah.edu/creduce/" + (string-append "https://embed.cs.utah.edu/creduce/" "creduce-" version ".tar.gz"))) (sha256 (base32 - "0r9lvnifjcnsrkrk8k4mha1kmmb93jya7alm523ck59y3173bpi0")) + "1r23lhzq3dz8vi2dalxk5las8bf0av2w94hxxbs61pr73m77ik9d")) (modules '((guix build utils))) (snippet '(substitute* "clang_delta/TransformationManager.cpp" @@ -131,7 +132,7 @@ program to exhibit a bug.") "file-which" "getopt-tabular" "regex-common" "sys-cpu")))))) %standard-phases))) - (home-page "http://embed.cs.utah.edu/creduce") + (home-page "https://embed.cs.utah.edu/creduce") (synopsis "Reducer for interesting code") (description "C-Reduce is a tool that takes a large C or C++ program that has a From c23c628ea7a6435460d12969af5a3ba0e8d82004 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 20 Jul 2016 11:35:32 +0300 Subject: [PATCH 434/435] Revert "gnu: julia: Build with zlib." This reverts commit 95bf72eeb0b99d6b26c3515fa78a587207c6f779. --- gnu/packages/debug.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 4237a15f0a..556a1051f1 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -1,6 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016 Eric Bavier -;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -85,16 +84,16 @@ program to exhibit a bug.") (define-public c-reduce (package (name "c-reduce") - (version "2.5.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (list - (string-append "https://embed.cs.utah.edu/creduce/" + (string-append "http://embed.cs.utah.edu/creduce/" "creduce-" version ".tar.gz"))) (sha256 (base32 - "1r23lhzq3dz8vi2dalxk5las8bf0av2w94hxxbs61pr73m77ik9d")) + "0r9lvnifjcnsrkrk8k4mha1kmmb93jya7alm523ck59y3173bpi0")) (modules '((guix build utils))) (snippet '(substitute* "clang_delta/TransformationManager.cpp" @@ -132,7 +131,7 @@ program to exhibit a bug.") "file-which" "getopt-tabular" "regex-common" "sys-cpu")))))) %standard-phases))) - (home-page "https://embed.cs.utah.edu/creduce") + (home-page "http://embed.cs.utah.edu/creduce") (synopsis "Reducer for interesting code") (description "C-Reduce is a tool that takes a large C or C++ program that has a From 5f01078129f4eaa4760a14f22761cf357afb6738 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 20 Jul 2016 11:36:33 +0300 Subject: [PATCH 435/435] gnu: julia: Build with zlib. * gnu/packages/julia.scm (julia)[inputs]: Add zlib. --- gnu/packages/julia.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 1cda5d89c8..e3cefb4330 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Ricardo Wurmus +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages base) + #:use-module (gnu packages compression) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -262,6 +264,7 @@ ("mpfr" ,mpfr) ("wget" ,wget) ("which" ,which) + ("zlib" ,zlib) ("gmp" ,gmp) ;; FIXME: The following inputs are downloaded from upstream to allow us ;; to use the lightweight Julia release tarball. Ideally, these inputs