From b41c7beb0b5b7a16656d6acf53f77eaf2a58e125 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 19 Jul 2019 11:48:19 +0200 Subject: file-systems: Use 'no-atime' for %IMMUTABLE-STORE. * gnu/system/file-systems.scm (%immutable-store): Add 'no-atime'. --- gnu/system/file-systems.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 393dd0df70..d11b36f25d 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -352,7 +352,7 @@ TARGET in the other system." (mount-point (%store-prefix)) (type "none") (check? #f) - (flags '(read-only bind-mount)))) + (flags '(read-only bind-mount no-atime)))) (define %control-groups (let ((parent (file-system -- cgit v1.2.3 From bacfec8611530dc3e849fb804b51f50b299796f0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 15 Jul 2019 16:14:31 +0200 Subject: linux-container: Add 'eval/container'. * gnu/system/linux-container.scm (eval/container): New procedure. * tests/containers.scm ("eval/container, exit status") ("eval/container, writable user mapping"): New tests. --- gnu/system/linux-container.scm | 49 ++++++++++++++++++++++++++++++++++++++++- tests/containers.scm | 50 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index 61248c62b9..6273cee3d3 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -35,7 +35,8 @@ #:use-module (gnu system file-systems) #:export (system-container containerized-operating-system - container-script)) + container-script + eval/container)) (define* (container-essential-services os #:key shared-network?) "Return a list of essential services corresponding to OS, a @@ -205,3 +206,49 @@ that will be shared with the host system." %namespaces))))) (gexp->script "run-container" script))) + +(define* (eval/container exp + #:key + (mappings '()) + (namespaces %namespaces)) + "Evaluate EXP, a gexp, in a new process executing in separate namespaces as +listed in NAMESPACES. Add MAPPINGS, a list of , to the +set of directories visible in the process's mount namespace. Return the +process' exit status as a monadic value. + +This is useful to implement processes that, unlike derivations, are not +entirely pure and need to access the outside world or to perform side +effects." + (mlet %store-monad ((lowered (lower-gexp exp))) + (define inputs + (cons (lowered-gexp-guile lowered) + (lowered-gexp-inputs lowered))) + + (define items + (append (append-map derivation-input-output-paths inputs) + (lowered-gexp-sources lowered))) + + (mbegin %store-monad + (built-derivations inputs) + (mlet %store-monad ((closure ((store-lift requisites) items))) + (return (call-with-container (map file-system-mapping->bind-mount + (append (map (lambda (item) + (file-system-mapping + (source item) + (target source))) + closure) + mappings)) + (lambda () + (apply execl + (string-append (derivation-input-output-path + (lowered-gexp-guile lowered)) + "/bin/guile") + "guile" + (append (map (lambda (directory) `("-L" ,directory)) + (lowered-gexp-load-path lowered)) + (map (lambda (directory) `("-C" ,directory)) + (lowered-gexp-load-compiled-path + lowered)) + (list "-c" + (object->string + (lowered-gexp-sexp lowered)))))))))))) diff --git a/tests/containers.scm b/tests/containers.scm index 37408f380d..c6c738f234 100644 --- a/tests/containers.scm +++ b/tests/containers.scm @@ -21,7 +21,15 @@ #:use-module (guix utils) #:use-module (guix build syscalls) #:use-module (gnu build linux-container) + #:use-module ((gnu system linux-container) + #:select (eval/container)) #:use-module (gnu system file-systems) + #:use-module (guix store) + #:use-module (guix monads) + #:use-module (guix gexp) + #:use-module (guix derivations) + #:use-module (guix tests) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-64) #:use-module (ice-9 match)) @@ -219,4 +227,46 @@ (lambda () (* 6 7)))) +(skip-if-unsupported) +(test-equal "eval/container, exit status" + 42 + (let* ((store (open-connection-for-tests)) + (status (run-with-store store + (eval/container #~(exit 42))))) + (close-connection store) + (status:exit-val status))) + +(skip-if-unsupported) +(test-assert "eval/container, writable user mapping" + (call-with-temporary-directory + (lambda (directory) + (define store + (open-connection-for-tests)) + (define result + (string-append directory "/r")) + (define requisites* + (store-lift requisites)) + + (call-with-output-file result (const #t)) + (run-with-store store + (mlet %store-monad ((status (eval/container + #~(begin + (use-modules (ice-9 ftw)) + (call-with-output-file "/result" + (lambda (port) + (write (scandir #$(%store-prefix)) + port)))) + #:mappings + (list (file-system-mapping + (source result) + (target "/result") + (writable? #t))))) + (reqs (requisites* + (list (derivation->output-path + (%guile-for-build)))))) + (close-connection store) + (return (and (zero? (pk 'status status)) + (lset= string=? (cons* "." ".." (map basename reqs)) + (pk (call-with-input-file result read)))))))))) + (test-end) -- cgit v1.2.3 From dd9560a050ed99952046a2bbd99dc6b331100c63 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 19 Jul 2019 16:33:54 +0200 Subject: gnu: glog: Disable test that fails on non-x86_64 platforms. This was removed in 4678cc46a4c1e0538402d8df6d85d3caedc7f00b, but turned out to still be needed. * gnu/packages/logging.scm (glog)[arguments]: New field. --- gnu/packages/logging.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 42404636f6..1481f5b5ee 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -75,6 +75,16 @@ staying as close to their API as is reasonable.") "1xd3maiipfbxmhc9rrblc5x52nxvkwxp14npg31y5njqvkvzax9b")) (file-name (git-file-name name version)))) (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'check 'disable-signal-tests + (lambda _ + ;; XXX: This test fails on non x86_64. See e.g. + ;; https://github.com/google/glog/issues/219 and + ;; https://github.com/google/glog/issues/256. + (substitute* "Makefile" + (("\tsignalhandler_unittest_sh") "\t$(EMPTY)")) + #t))))) (native-inputs `(("perl" ,perl) ;for tests ("autoconf" ,autoconf-wrapper) -- cgit v1.2.3 From ddc586ea5c1fd65e29d626c54da1d192c71b6750 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 19 Jul 2019 17:17:35 +0200 Subject: gnu: python-jupyter-client: Patch file name of 'ip'. * gnu/packages/python-xyz.scm (python-jupyter-client)[arguments]: Add #:phases. [inputs]: New field. --- gnu/packages/python-xyz.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3852f5b1ee..6e90c9a933 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5122,7 +5122,19 @@ without using the configuration machinery.") ;; Tests fail because of missing native python kernel which I assume is ;; provided by the ipython package, which we cannot use because it would ;; cause a dependency cycle. - (arguments `(#:tests? #f)) + (arguments + `(#:tests? #f + + #:phases (modify-phases %standard-phases + (add-after 'unpack 'set-tool-file-names + (lambda* (#:key inputs #:allow-other-keys) + (let ((iproute (assoc-ref inputs "iproute"))) + (substitute* "jupyter_client/localinterfaces.py" + (("'ip'") + (string-append "'" iproute "/sbin/ip'"))) + #t)))))) + (inputs + `(("iproute" ,iproute))) (propagated-inputs `(("python-pyzmq" ,python-pyzmq) ("python-traitlets" ,python-traitlets) -- cgit v1.2.3 From dd3779c276931047928536c34bd0ac162762252b Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Mon, 15 Jul 2019 11:21:24 +0200 Subject: gnu: Add emacs-zerodark-theme. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-zerodark-theme): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 110a053b29..2f04375773 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -49,6 +49,7 @@ ;;; Copyright © 2019 LaFreniere, Joseph ;;; Copyright © 2019 Amar Singh ;;; Copyright © 2019 Baptiste Strazzulla +;;; Copyright © 2019 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -16720,3 +16721,29 @@ directories, direct visualisation of image files, jumping directly to links by name (with autocompletion), a simple bookmark management system and connections using TLS encryption.") (license license:gpl3+))) + +(define-public emacs-zerodark-theme + (package + (name "emacs-zerodark-theme") + (version "4.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.petton.fr/nico/zerodark-theme.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nnlxzsmhsbszqigcyxak9i1a0digrd13gv6v18ck4h760mihh1m")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-all-the-icons" ,emacs-all-the-icons))) + (home-page + "https://gitlab.petton.fr/nico/zerodark-theme") + (synopsis + "Dark, medium contrast theme for Emacs") + (description + "Zerodark is a dark theme inspired from One Dark and Niflheim. +An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.") + (license license:gpl3+))) -- cgit v1.2.3 From f26f2e757ff206a24bc2a0b49f9bb1c292a0971a Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 20 Jun 2019 07:55:34 +0200 Subject: gnu: Add ghc-validity. * gnu/packages/haskell.scm (ghc-validity): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a30b4376eb..19cd39e690 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11563,6 +11563,32 @@ stand for certain ASCII character sequences, i.e. → instead of @code{->}, ∀ instead of @code{forall} and many others.") (license license:bsd-3))) +(define-public ghc-validity + (package + (name "ghc-validity") + (version "0.7.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/validity/validity-" + version + ".tar.gz")) + (sha256 + (base32 + "0xribw98amafihw87ddajk6vlirp7w9b26lrnjgq7jfm4710j95f")))) + (build-system haskell-build-system) + (native-inputs `(("ghc-hspec" ,ghc-hspec) + ("hspec-discover" ,hspec-discover))) + (home-page + "https://github.com/NorfairKing/validity") + (synopsis "Validity typeclass") + (description + "Values of custom types usually have invariants imposed upon them. This +package provides the @code{Validity} type class, which makes these invariants +explicit by providing a function to check whether the invariants hold.") + (license license:expat))) + (define-public ghc-stylish-haskell (package (name "ghc-stylish-haskell") -- cgit v1.2.3 From 522b61ab80ae9fd7696b452c99a16b5b026e8072 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 20 Jun 2019 07:56:04 +0200 Subject: gnu: Add ghc-genvalidity. * gnu/packages/haskell.scm (ghc-genvalidity): New variable. --- gnu/packages/haskell.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 19cd39e690..a9b0dd71ca 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11563,6 +11563,37 @@ stand for certain ASCII character sequences, i.e. → instead of @code{->}, ∀ instead of @code{forall} and many others.") (license license:bsd-3))) +(define-public ghc-genvalidity + (package + (name "ghc-genvalidity") + (version "0.5.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/genvalidity/genvalidity-" + version + ".tar.gz")) + (sha256 + (base32 + "17ykq38j9a2lzir6dqz5jgy6ndaafrpkhqhcg96c5ppg7wcxaaj0")))) + (build-system haskell-build-system) + (inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-validity" ,ghc-validity))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("hspec-discover" ,hspec-discover) + ("ghc-hspec-core" ,ghc-hspec-core))) + (home-page + "https://github.com/NorfairKing/validity") + (synopsis + "Testing utilities for the @code{validity} library") + (description + "This package provides testing utilities that are useful in conjunction +with the @code{Validity} typeclass.") + (license license:expat))) + (define-public ghc-validity (package (name "ghc-validity") -- cgit v1.2.3 From 51c8370385173c1055595c2721b1e70137e7dbd7 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 20 Jun 2019 07:56:21 +0200 Subject: gnu: Add ghc-genvalidity-property. * gnu/packages/haskell.scm (ghc-genvalidity-property): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a9b0dd71ca..e2a7f20697 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11594,6 +11594,38 @@ stand for certain ASCII character sequences, i.e. → instead of @code{->}, with the @code{Validity} typeclass.") (license license:expat))) +(define-public ghc-genvalidity-property + (package + (name "ghc-genvalidity-property") + (version "0.2.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/" + "genvalidity-property/genvalidity-property-" + version + ".tar.gz")) + (sha256 + (base32 + "0cjw5i2pydidda9bnp6x37ylhxdk9g874x5sadr6sscg5kq85a1b")))) + (build-system haskell-build-system) + (inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-genvalidity" ,ghc-genvalidity) + ("ghc-hspec" ,ghc-hspec) + ("hspec-discover" ,hspec-discover) + ("ghc-validity" ,ghc-validity))) + (native-inputs `(("ghc-doctest" ,ghc-doctest))) + (home-page + "https://github.com/NorfairKing/validity") + (synopsis + "Standard properties for functions on @code{Validity} types") + (description + "This package supplements the @code{Validity} typeclass with standard +properties for functions operating on them.") + (license license:expat))) + (define-public ghc-validity (package (name "ghc-validity") -- cgit v1.2.3 From efc55bf6f3d2984dba00fbfa6f10a3e8f9e44146 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 20 Jun 2019 07:56:47 +0200 Subject: gnu: Add ghc-path. * gnu/packages/haskell.scm (ghc-path): New variable. --- gnu/packages/haskell.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e2a7f20697..9bbf0878c6 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11652,6 +11652,45 @@ package provides the @code{Validity} type class, which makes these invariants explicit by providing a function to check whether the invariants hold.") (license license:expat))) +(define-public ghc-path + (package + (name "ghc-path") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/path/path-" + version + ".tar.gz")) + (sha256 + (base32 + "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb")))) + (build-system haskell-build-system) + (arguments + ;; TODO: There are some Windows-related tests and modules that need to be + ;; danced around. + `(#:tests? #f + #:cabal-revision + ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463"))) + (inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-hashable" ,ghc-hashable))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-genvalidity" ,ghc-genvalidity) + ("ghc-genvalidity-property" ,ghc-genvalidity-property) + ("ghc-hspec" ,ghc-hspec) + ("ghc-validity" ,ghc-validity))) + (home-page + "http://hackage.haskell.org/package/path") + (synopsis "Support for well-typed paths") + (description "This package introduces a type for paths upholding useful +invariants.") + (license license:bsd-3))) + (define-public ghc-stylish-haskell (package (name "ghc-stylish-haskell") -- cgit v1.2.3 From ca20ee07b2ef05f37fc870c29439b3c980669ac4 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 20 Jun 2019 07:57:01 +0200 Subject: gnu: Add ghc-path-io. * gnu/packages/haskell.scm (ghc-path-io): New variable. --- gnu/packages/haskell.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 9bbf0878c6..2aaa0585dd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11691,6 +11691,42 @@ explicit by providing a function to check whether the invariants hold.") invariants.") (license license:bsd-3))) +(define-public ghc-path-io + (package + (name "ghc-path-io") + (version "1.3.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/path-io/path-io-" + version + ".tar.gz")) + (sha256 + (base32 + "1g9m3qliqjk1img894wsb89diym5zrq51qkkrwhz4sbm9a8hbv1a")))) + (build-system haskell-build-system) + (inputs + `(("ghc-dlist" ,ghc-dlist) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-path" ,ghc-path) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-unix-compat" ,ghc-unix-compat) + ("ghc-temporary" ,ghc-temporary))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec))) + (arguments + `(#:cabal-revision + ("3" "1h9hsibbflkxpjl2fqamqiv3x3gasf51apnmklrs9l9x8r32hzcc"))) + (home-page + "https://github.com/mrkkrp/path-io") + (synopsis "Functions for manipulating well-typed paths") + (description "This package provides an interface to the @code{directory} +package for users of @code{path}. It also implements some missing stuff like +recursive scanning and copying of directories, working with temporary +files/directories, and more.") + (license license:bsd-3))) + (define-public ghc-stylish-haskell (package (name "ghc-stylish-haskell") -- cgit v1.2.3 From a60056b5d309c76c0d88a962f106a158c1b38914 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 21 Jun 2019 03:44:27 +0200 Subject: gnu: Add ghc-descriptive. * gnu/packages/haskell.scm (ghc-descriptive): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2aaa0585dd..fe860fb81f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11727,6 +11727,38 @@ recursive scanning and copying of directories, working with temporary files/directories, and more.") (license license:bsd-3))) +(define-public ghc-descriptive + (package + (name "ghc-descriptive") + (version "0.9.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/descriptive/descriptive-" + version + ".tar.gz")) + (sha256 + (base32 + "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237")))) + (build-system haskell-build-system) + (inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-bifunctors" ,ghc-bifunctors) + ("ghc-scientific" ,ghc-scientific) + ("ghc-vector" ,ghc-vector))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-hspec" ,ghc-hspec))) + (home-page + "https://github.com/chrisdone/descriptive") + (synopsis + "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.") + (description + "This package provides datatypes and functions for creating consumers +and parsers with useful semantics.") + (license license:bsd-3))) + (define-public ghc-stylish-haskell (package (name "ghc-stylish-haskell") -- cgit v1.2.3 From 697cae2a67ae65ed7e14bf3cdf1e76d4c7579639 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 21 Jun 2019 03:44:39 +0200 Subject: gnu: Add ghc-exactprint. * gnu/packages/haskell.scm (ghc-exactprint): New variable. --- gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index fe860fb81f..c7056a262a 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11759,6 +11759,38 @@ files/directories, and more.") and parsers with useful semantics.") (license license:bsd-3))) +(define-public ghc-exactprint + (package + (name "ghc-exactprint") + (version "0.5.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/" + "ghc-exactprint/ghc-exactprint-" version ".tar.gz")) + (sha256 + (base32 + "141k6qiys0m0r4br7ikp4i546vs3xcil9cwglzcdfcbnb5nj1z87")))) + (build-system haskell-build-system) + (inputs + `(("ghc-paths" ,ghc-paths) + ("ghc-syb" ,ghc-syb) + ("ghc-free" ,ghc-free))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-diff" ,ghc-diff) + ("ghc-silently" ,ghc-silently) + ("ghc-filemanip" ,ghc-filemanip))) + (home-page + "http://hackage.haskell.org/package/ghc-exactprint") + (synopsis "ExactPrint for GHC") + (description + "Using the API Annotations available from GHC 7.10.2, this library +provides a means to round-trip any code that can be compiled by GHC, currently +excluding @file{.lhs} files.") + (license license:bsd-3))) + (define-public ghc-stylish-haskell (package (name "ghc-stylish-haskell") -- cgit v1.2.3 From 64b7c06e188c7d5a05a5d726eba0cf46698cb78e Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 22 Jun 2019 23:47:32 +0200 Subject: gnu: Add ghc-hindent. * gnu/packages/haskell.scm (ghc-hindent): New variable. --- gnu/packages/haskell.scm | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index c7056a262a..2e845d0e93 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -42,6 +42,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages elf) + #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) @@ -11727,6 +11728,65 @@ recursive scanning and copying of directories, working with temporary files/directories, and more.") (license license:bsd-3))) +(define-public ghc-hindent + (package + (name "ghc-hindent") + (version "5.3.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/hindent/hindent-" + version + ".tar.gz")) + (sha256 + (base32 + "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg")))) + (build-system haskell-build-system) + (arguments + `(#:modules ((guix build haskell-build-system) + (guix build utils) + (guix build emacs-utils)) + #:imported-modules (,@%haskell-build-system-modules + (guix build emacs-utils)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'emacs-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (elisp-file "elisp/hindent.el") + (dest (string-append out "/share/emacs/site-lisp" + "/guix.d/hindent-" ,version)) + (emacs (string-append (assoc-ref inputs "emacs") + "/bin/emacs"))) + (make-file-writable elisp-file) + (emacs-substitute-variables elisp-file + ("hindent-process-path" + (string-append out "/bin/hindent"))) + (install-file elisp-file dest) + (emacs-generate-autoloads "hindent" dest))))))) + (inputs + `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts) + ("ghc-monad-loops" ,ghc-monad-loops) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-yaml" ,ghc-yaml) + ("ghc-unix-compat" ,ghc-unix-compat) + ("ghc-path" ,ghc-path) + ("ghc-path-io" ,ghc-path-io) + ("ghc-optparse-applicative" ,ghc-optparse-applicative))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-diff" ,ghc-diff) + ("emacs" ,emacs-minimal))) + (home-page + "https://github.com/commercialhaskell/hindent") + (synopsis "Extensible Haskell pretty printer") + (description + "This package provides automatic formatting for Haskell files. Both a +library and an executable.") + (license license:bsd-3))) + (define-public ghc-descriptive (package (name "ghc-descriptive") -- cgit v1.2.3 From ef803cb520f73bf51fa653064e8310b4723f8447 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 18 Jul 2019 07:22:18 +0200 Subject: gnu: Add ghc-microlens-mtl. * gnu/packages/haskell.scm (ghc-microlens-mtl): New variable. --- gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 2e845d0e93..d86173f697 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11851,6 +11851,35 @@ provides a means to round-trip any code that can be compiled by GHC, currently excluding @file{.lhs} files.") (license license:bsd-3))) +(define-public ghc-microlens-mtl + (package + (name "ghc-microlens-mtl") + (version "0.1.11.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-" + version + ".tar.gz")) + (sha256 + (base32 + "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk")))) + (build-system haskell-build-system) + (inputs + `(("ghc-microlens" ,ghc-microlens) + ("ghc-transformers-compat" ,ghc-transformers-compat))) + (home-page "https://github.com/monadfix/microlens") + (synopsis + "@code{microlens} support for Reader/Writer/State from mtl") + (description + "This package contains functions (like @code{view} or @code{+=}) which +work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the +mtl package. This package is a part of the +@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the +readme @uref{https://github.com/aelve/microlens#readme, on Github}.") + (license license:bsd-3))) + (define-public ghc-stylish-haskell (package (name "ghc-stylish-haskell") -- cgit v1.2.3 From 38dd4c1da55f7047d9307348c845a1677c3b51d4 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 18 Jul 2019 07:22:31 +0200 Subject: gnu: Add ghc-microlens-ghc. * gnu/packages/haskell.scm (ghc-microlens-ghc): New variable. --- gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d86173f697..a532f1595d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11880,6 +11880,32 @@ mtl package. This package is a part of the readme @uref{https://github.com/aelve/microlens#readme, on Github}.") (license license:bsd-3))) +(define-public ghc-microlens-ghc + (package + (name "ghc-microlens-ghc") + (version "0.4.9.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-" + version + ".tar.gz")) + (sha256 + (base32 + "03iwgg8zww9irv59l70c8yy7vzxir1zf66y12210xk91k5hq6jrj")))) + (build-system haskell-build-system) + (inputs `(("ghc-microlens" ,ghc-microlens))) + (home-page "https://github.com/monadfix/microlens") + (synopsis "Use @code{microlens} with GHC libraries like @code{array}") + (description "This library provides everything that @code{microlens} +provides plus instances to make @code{each}, @code{at}, and @code{ix} +usable with arrays, @code{ByteString}, and containers. This package is +a part of the @uref{http://hackage.haskell.org/package/microlens, +microlens} family; see the readme +@uref{https://github.com/aelve/microlens#readme, on Github}.") + (license license:bsd-3))) + (define-public ghc-stylish-haskell (package (name "ghc-stylish-haskell") -- cgit v1.2.3 From 37850fb9a0989d80c6e7375dd323b779cb619c16 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 18 Jul 2019 07:22:47 +0200 Subject: gnu: Add ghc-microlens-platform. * gnu/packages/haskell.scm (ghc-microlens-platform): New variable. --- gnu/packages/haskell.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a532f1595d..1087461dac 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11906,6 +11906,49 @@ microlens} family; see the readme @uref{https://github.com/aelve/microlens#readme, on Github}.") (license license:bsd-3))) +(define-public ghc-microlens-platform + (package + (name "ghc-microlens-platform") + (version "0.3.10") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/" + "microlens-platform/microlens-platform-" version ".tar.gz")) + (sha256 + (base32 + "1d4nhmgf9jq0ixc7qhwm7aaw3xdr0nalw58d0ydsydgf02cyazwv")))) + (build-system haskell-build-system) + (inputs + `(("ghc-hashable" ,ghc-hashable) + ("ghc-microlens" ,ghc-microlens) + ("ghc-microlens-ghc" ,ghc-microlens-ghc) + ("ghc-microlens-mtl" ,ghc-microlens-mtl) + ("ghc-microlens-th" ,ghc-microlens-th) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/monadfix/microlens") + (synopsis "Feature-complete microlens") + (description + "This package exports a module which is the recommended starting point +for using @uref{http://hackage.haskell.org/package/microlens, microlens} if +you aren't trying to keep your dependencies minimal. By importing +@code{Lens.Micro.Platform} you get all functions and instances from +@uref{http://hackage.haskell.org/package/microlens, microlens}, +@uref{http://hackage.haskell.org/package/microlens-th, microlens-th}, +@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl}, +@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as +well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The +minor and major versions of @code{microlens-platform} are incremented whenever +the minor and major versions of any other @code{microlens} package are +incremented, so you can depend on the exact version of +@code{microlens-platform} without specifying the version of @code{microlens} +you need. This package is a part of the +@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the +readme @uref{https://github.com/aelve/microlens#readme, on Github}.") + (license license:bsd-3))) + (define-public ghc-stylish-haskell (package (name "ghc-stylish-haskell") -- cgit v1.2.3 From 14e0ae7ff7c30963ec02990f320cc8b15306e847 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 18 Jul 2019 07:23:02 +0200 Subject: gnu: Add ghc-hasktags. * gnu/packages/haskell.scm (ghc-hasktags): New variable. --- gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1087461dac..bced44579d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -11949,6 +11949,36 @@ you need. This package is a part of the readme @uref{https://github.com/aelve/microlens#readme, on Github}.") (license license:bsd-3))) +(define-public ghc-hasktags + (package + (name "ghc-hasktags") + (version "0.71.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/hasktags/hasktags-" + version + ".tar.gz")) + (sha256 + (base32 + "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c")))) + (build-system haskell-build-system) + (inputs + `(("ghc-system-filepath" ,ghc-system-filepath) + ("ghc-optparse-applicative" ,ghc-optparse-applicative))) + (native-inputs + `(("ghc-json" ,ghc-json) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-microlens-platform" ,ghc-microlens-platform) + ("ghc-hunit" ,ghc-hunit))) + (home-page "http://github.com/MarcWeber/hasktags") + (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs") + (description + "This package provides a means of generating tag files for Emacs and +Vim.") + (license license:bsd-3))) + (define-public ghc-stylish-haskell (package (name "ghc-stylish-haskell") -- cgit v1.2.3 From e6df9c7e85ea48765c152b27c88ba30c50c92bb2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 21 Jul 2019 08:45:30 +0300 Subject: gnu: qtwebkit: Update to 5.212.0-alpha3. * gnu/packages/qt.scm (qtwebkit): Update to 5.212.0-alpha3. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index afc4d8dc06..daef46faf6 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2144,7 +2144,7 @@ different kinds of sliders, and much more.") (define-public qtwebkit (package (name "qtwebkit") - (version "5.212.0-alpha2") + (version "5.212.0-alpha3") (source (origin (method url-fetch) @@ -2152,7 +2152,7 @@ different kinds of sliders, and much more.") name "-" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "12lg7w00d8wsj672s1y5z5gm0xdcgs16nas0b5bgq4byavg03ygq")) + "05syvwi3jw9abwsc93rmjkna0vyh6bkfrsqhwir48ms54icfwzim")) (patches (search-patches "qtwebkit-pbutils-include.patch")))) (build-system cmake-build-system) (native-inputs -- cgit v1.2.3 From a18a27be9f6f6f43cc5909d55712058031de4831 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 20 Jul 2019 22:39:33 +0800 Subject: gnu: Add python-gdal. For , thank to Arne Babenhauserheide for the original patch. * gnu/packages/geo.scm (python-gdal): New package. --- gnu/packages/geo.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index e4b6a262c7..8005c46129 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -604,6 +604,25 @@ utilities for data translation and processing.") ;; frmts/mrf/libLERC license:asl2.0)))) +(define-public python-gdal + (package (inherit gdal) + (name "python-gdal") + (build-system python-build-system) + (arguments + '(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (add-before 'build 'chdir + (lambda _ + (chdir "swig/python") + #t))))) + (native-inputs '()) + (propagated-inputs + `(("python-numpy" ,python-numpy))) + (inputs + `(("gdal" ,gdal))) + (synopsis "GDAL (Geospatial Data Abstraction Library) python bindings"))) + (define-public postgis (package (name "postgis") -- cgit v1.2.3 From 3aec5263a3a718e9987910defbd19e1e8b30c2dc Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 20 Jul 2019 22:35:50 +0200 Subject: gnu: emacs-ivy: Update to 0.12.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-ivy): Update to 0.12.0. Signed-off-by: 宋文武 --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2f04375773..a808749444 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4578,7 +4578,7 @@ automatically.") (define-public emacs-ivy (package (name "emacs-ivy") - (version "0.11.0") + (version "0.12.0") (source (origin (method git-fetch) @@ -4588,7 +4588,7 @@ automatically.") (file-name (git-file-name name version)) (sha256 (base32 - "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13")))) + "0xgngn3jhmyn6mlkk9kmgfgh0w5i50b27syr4cgfgarg6p77j05w")))) (build-system emacs-build-system) (arguments `(#:phases -- cgit v1.2.3 From 2f4698d7d1b8baed51f313d2250809232d801db5 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 21 Jul 2019 11:12:36 -0400 Subject: gnu: Add darkice. * gnu/packages/audio.scm (darkice): New variable. * gnu/packages/patches/darkice-workaround-fpermissive-error.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/audio.scm | 33 ++++++++++++ .../darkice-workaround-fpermissive-error.patch | 62 ++++++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 gnu/packages/patches/darkice-workaround-fpermissive-error.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index c2b6f149a8..eb3b0dcd3b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -748,6 +748,7 @@ dist_patch_DATA = \ %D%/packages/patches/cube-nocheck.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ + %D%/packages/patches/darkice-workaround-fpermissive-error.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-CVE-2019-12749.patch \ %D%/packages/patches/dealii-mpi-deprecations.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 3c5b6307eb..c6c42f66c6 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -3751,3 +3751,36 @@ binaural beat tracks of different frequencies and exporting of tracks into different audio formats. Gnaural can also be linked over the internet with other Gnaural instances, allowing synchronous sessions between many users.") (license license:gpl2+))) + +(define-public darkice + (package + (name "darkice") + (version "1.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/darkice/darkice/" + version "/darkice-" version ".tar.gz")) + (sha256 + (base32 "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c")) + (patches + (search-patches "darkice-workaround-fpermissive-error.patch")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("lame" ,lame) + ("libvorbis" ,libvorbis) + ("opus" ,opus) + ("twolame" ,twolame) + ("alsa-lib" ,alsa-lib) + ("pulseaudio" ,pulseaudio) + ("jack" ,jack-1) + ("libsamplerate" ,libsamplerate))) + (arguments + `(#:configure-flags + (list (string-append "--with-lame-prefix=" + (assoc-ref %build-inputs "lame"))))) + (home-page "http://www.darkice.org/") + (synopsis "Live audio streamer") + (description "DarkIce is a live audio streamer. It takes audio input from +a sound card, encodes it into Ogg Vorbis and/or mp3, and sends the audio +stream to one or more IceCast and/or ShoutCast servers.") + (license license:gpl3+))) diff --git a/gnu/packages/patches/darkice-workaround-fpermissive-error.patch b/gnu/packages/patches/darkice-workaround-fpermissive-error.patch new file mode 100644 index 0000000000..5ee29147c2 --- /dev/null +++ b/gnu/packages/patches/darkice-workaround-fpermissive-error.patch @@ -0,0 +1,62 @@ +Copied from Debian: + + +From 1e2eb18d349f205c70cb2836232825442359b6e3 Mon Sep 17 00:00:00 2001 +From: belette +Date: Wed, 26 Oct 2016 02:43:43 +0200 +Subject: Cast float* in SRC lib calls to delete fpermissive compilation error + +--- + darkice/trunk/src/FaacEncoder.cpp | 2 +- + darkice/trunk/src/OpusLibEncoder.cpp | 2 +- + darkice/trunk/src/VorbisLibEncoder.cpp | 2 +- + darkice/trunk/src/aacPlusEncoder.cpp | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +--- a/src/FaacEncoder.cpp ++++ b/src/FaacEncoder.cpp +@@ -164,7 +164,7 @@ FaacEncoder :: write ( const void * buf, + if ( converter ) { + unsigned int converted; + #ifdef HAVE_SRC_LIB +- src_short_to_float_array ((short *) b, converterData.data_in, samples); ++ src_short_to_float_array ((short *) b, (float *) converterData.data_in, samples); + converterData.input_frames = nSamples; + converterData.data_out = resampledOffset + (resampledOffsetSize * channels); + int srcError = src_process (converter, &converterData); +--- a/src/OpusLibEncoder.cpp ++++ b/src/OpusLibEncoder.cpp +@@ -403,7 +403,7 @@ OpusLibEncoder :: write ( const void * buf, + #ifdef HAVE_SRC_LIB + (void)inCount; + converterData.input_frames = processed; +- src_short_to_float_array (shortBuffer, converterData.data_in, totalSamples); ++ src_short_to_float_array (shortBuffer, (float *) converterData.data_in, totalSamples); + int srcError = src_process (converter, &converterData); + if (srcError) + throw Exception (__FILE__, __LINE__, "libsamplerate error: ", src_strerror (srcError)); +--- a/src/VorbisLibEncoder.cpp ++++ b/src/VorbisLibEncoder.cpp +@@ -337,7 +337,7 @@ VorbisLibEncoder :: write ( const void * buf, + int converted; + #ifdef HAVE_SRC_LIB + converterData.input_frames = nSamples; +- src_short_to_float_array (shortBuffer, converterData.data_in, totalSamples); ++ src_short_to_float_array (shortBuffer, (float *) converterData.data_in, totalSamples); + int srcError = src_process (converter, &converterData); + if (srcError) + throw Exception (__FILE__, __LINE__, "libsamplerate error: ", src_strerror (srcError)); +--- a/src/aacPlusEncoder.cpp ++++ b/src/aacPlusEncoder.cpp +@@ -155,7 +155,7 @@ aacPlusEncoder :: write ( const void * buf, + if ( converter ) { + unsigned int converted; + #ifdef HAVE_SRC_LIB +- src_short_to_float_array ((short *) b, converterData.data_in, samples); ++ src_short_to_float_array ((short *) b, (float *) converterData.data_in, samples); + converterData.input_frames = nSamples; + converterData.data_out = resampledOffset + (resampledOffsetSize * channels); + int srcError = src_process (converter, &converterData); +-- +2.11.0 + -- cgit v1.2.3 From 1ad9c105c208caa9059924cbfbe4759c8101f6c9 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 21 Jul 2019 08:41:43 -0400 Subject: gnu: linux-libre: Deblob the linux-libre source tarball ourselves. * gnu/packages/linux.scm (linux-libre-deblob-scripts, deblob-scripts-5.2) (deblob-scripts-4.19, deblob-scripts-4.14, deblob-scripts-4.9) (deblob-scripts-4.4, computed-origin-method, %upstream-linux-source) (source-with-patches, make-linux-libre-source, linux-libre-5.2-version) (linux-libre-5.2-pristine-source, linux-libre-5.2-source) (linux-libre-4.19-pristine-source, linux-libre-4.19-source) (linux-libre-4.14-pristine-source, linux-libre-4.14-source) (linux-libre-4.9-pristine-source, linux-libre-4.9-source) (linux-libre-4.4-pristine-source, linux-libre-4.4-source) (linux-libre-pristine-source, linux-libre-source) (linux-libre-headers-4.9, linux-libre-headers-4.4) (make-linux-libre-headers*, make-linux-libre*): New variables. (%linux-libre-version): Rename to ... (linux-libre-version): ... this, and make it equal to linux-libre-5.2-version. (%linux-libre-4.19-version, %linux-libre-4.14-version) (%linux-libre-4.9-version, %linux-libre-4.4-version): Rename to ... (linux-libre-4.19-version, linux-libre-4.14-version) (linux-libre-4.9-version, linux-libre-4.4-version): ... these. (%linux-libre-4.19-hash, %linux-libre-4.19-patches) (%linux-libre-4.14-hash, %linux-libre-4.14-patches) (%linux-libre-hash, %linux-libre-5.2-patches): Remove variables. (make-linux-libre-headers, make-linux-libre): Reformulate in terms of make-linux-libre-headers* and make-linux-libre*, respectively. (linux-libre-5.2, linux-libre-4.19, linux-libre-4.14, linux-libre-4.9) (linux-libre-4.4, linux-libre-arm-veyron, linux-libre-arm-generic) (linux-libre-arm-generic-4.19, linux-libre-arm-generic-4.14) (linux-libre-arm-omap2plus, linux-libre-arm-omap2plus-4.19) (linux-libre-arm-omap2plus-4.14): Adapt and use make-linux-libre*. (linux-libre-headers-5.2, linux-libre-headers-4.19) (linux-libre-headers-4.14): Adapt and use make-linux-libre-headers*. --- gnu/packages/linux.scm | 548 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 415 insertions(+), 133 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8ffa18a312..8911ec19d5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -127,6 +127,9 @@ #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix store) + #:use-module (guix monads) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) @@ -155,6 +158,174 @@ defconfig. Return the appropriate make target if applicable, otherwise return ((string-prefix? "powerpc64le-" system) "ppc64_defconfig") (else "defconfig"))) + +;;; +;;; Kernel source code deblobbing. +;;; + +(define (linux-libre-deblob-scripts version + deblob-hash + deblob-check-hash) + (list (version-major+minor version) + (origin + (method url-fetch) + (uri (string-append "https://linux-libre.fsfla.org" + "/pub/linux-libre/releases/" version "-gnu/" + "deblob-" (version-major+minor version))) + (sha256 deblob-hash)) + (origin + (method url-fetch) + (uri (string-append "https://linux-libre.fsfla.org" + "/pub/linux-libre/releases/" version "-gnu/" + "deblob-check")) + (sha256 deblob-check-hash)))) + +(define deblob-scripts-5.2 + (linux-libre-deblob-scripts + "5.2.1" + (base32 "076fwxlm6jq6z4vg1xq3kr474zz7qk71r90sf9dnfia3rw2pb4fa") + (base32 "030cccchli7vnzvxcw261spyzsgnq0m113bjsz8y4vglf6gaz4n9"))) + +(define deblob-scripts-4.19 + (linux-libre-deblob-scripts + "4.19.59" + (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") + (base32 "07z1bsyny8lldncfh27lb16mgx9r38nswx4vmd24c7n4xva12k2s"))) + +(define deblob-scripts-4.14 + (linux-libre-deblob-scripts + "4.14.133" + (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") + (base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n"))) + +(define deblob-scripts-4.9 + (linux-libre-deblob-scripts + "4.9.185" + (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") + (base32 "1gmjn5cwxydg6qb47wcmahwkv37npsjx4papynzkkdxyidmrccya"))) + +(define deblob-scripts-4.4 + (linux-libre-deblob-scripts + "4.4.185" + (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") + (base32 "1x40lbiaizksy8z38ax7wpqr9ldgq7qvkxbb0ca98vd1axpklb10"))) + +(define* (computed-origin-method gexp-promise hash-algo hash + #:optional (name "source") + #:key (system (%current-system)) + (guile (default-guile))) + "Return a derivation that executes the G-expression that results +from forcing GEXP-PROMISE." + (mlet %store-monad ((guile (package->derivation guile system))) + (gexp->derivation (or name "computed-origin") + (force gexp-promise) + #:graft? #f ;nothing to graft + #:system system + #:guile-for-build guile))) + +(define (make-linux-libre-source version + upstream-source + deblob-scripts) + "Return a 'computed' origin that generates a Linux-libre tarball from the +corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." + (match deblob-scripts + ((deblob-version (? origin? deblob) (? origin? deblob-check)) + (unless (string=? deblob-version (version-major+minor version)) + ;; The deblob script cannot be expected to work properly on a + ;; different version (major+minor) of Linux, even if no errors + ;; are signaled during execution. + (error "deblob major+minor version mismatch")) + (origin + (method computed-origin-method) + (file-name (string-append "linux-libre-" version "-guix.tar.xz")) + (sha256 #f) + (uri + (delay + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (srfi srfi-1) + (ice-9 match) + (ice-9 ftw)) + (let ((dir (string-append "linux-" #$version))) + + (mkdir "/tmp/bin") + (set-path-environment-variable + "PATH" '("bin") + (list "/tmp" + #+(canonical-package bash) + #+(canonical-package coreutils) + #+(canonical-package diffutils) + #+(canonical-package findutils) + #+(canonical-package patch) + #+(canonical-package xz) + #+(canonical-package sed) + #+(canonical-package grep) + #+(canonical-package bzip2) + #+(canonical-package gzip) + #+(canonical-package tar) + ;; The comments in the 'deblob-check' script + ;; claim that it supports Python 2 and 3, but + ;; in fact it fails when run in Python 3 as + ;; of version 5.1.3. + #+python-2)) + + (with-directory-excursion "/tmp/bin" + + (copy-file #+deblob "deblob") + (chmod "deblob" #o755) + (substitute* "deblob" + (("/bin/sh") (which "sh"))) + + (copy-file #+deblob-check "deblob-check") + (chmod "deblob-check" #o755) + (substitute* "deblob-check" + (("/bin/sh") (which "sh")) + (("/bin/sed") (which "sed")) + (("/usr/bin/python") (which "python")))) + + (if (file-is-directory? #+upstream-source) + (begin + (format #t "Copying upstream linux source...~%") + (force-output) + (invoke "cp" "--archive" #+upstream-source dir) + (invoke "chmod" "--recursive" "u+w" dir)) + (begin + (format #t "Unpacking upstream linux tarball...~%") + (force-output) + (invoke "tar" "xf" #$upstream-source) + (match (scandir "." + (lambda (name) + (and (not (member name '("." ".."))) + (file-is-directory? name)))) + ((unpacked-dir) + (unless (string=? dir unpacked-dir) + (rename-file unpacked-dir dir))) + (dirs + (error "multiple directories found" dirs))))) + + (with-directory-excursion dir + (setenv "PYTHON" (which "python")) + (format #t "Running deblob script...~%") + (force-output) + (invoke "/tmp/bin/deblob")) + + (format #t "~%Packing new Linux-libre tarball...~%") + (force-output) + (invoke "tar" "cfa" #$output + ;; Avoid non-determinism in the archive. + "--mtime=@0" + "--owner=root:0" + "--group=root:0" + "--sort=name" + "--hard-dereference" + dir)))))))))) + + +;;; +;;; Kernel sources. +;;; + (define (linux-libre-urls version) "Return a list of URLs for Linux-Libre VERSION." (list (string-append @@ -171,14 +342,121 @@ defconfig. Return the appropriate make target if applicable, otherwise return "mirror://gnu/linux-libre/" version "-gnu/linux-libre-" version "-gnu.tar.xz"))) -(define (make-linux-libre-headers version hash) +(define (%upstream-linux-source version hash) + (origin + (method url-fetch) + (uri (string-append "mirror://kernel.org" + "/linux/kernel/v" (version-major version) ".x/" + "linux-" version ".tar.xz")) + (sha256 hash))) + +(define-public linux-libre-5.2-version "5.2.1") +(define-public linux-libre-5.2-pristine-source + (let ((version linux-libre-5.2-version) + (hash (base32 "01k5v3kdwk65cfx6bw4cl32jbfvf976jbya7q4a8lab3km7fi09m"))) + (make-linux-libre-source version + (%upstream-linux-source version hash) + deblob-scripts-5.2))) + +(define-public linux-libre-4.19-version "4.19.59") +(define-public linux-libre-4.19-pristine-source + (let ((version linux-libre-4.19-version) + (hash (base32 "0nxkr196q0b1hs3a3zavpsjp0jgbqmcwdf0y0f3hbpirshjiid5q"))) + (make-linux-libre-source version + (%upstream-linux-source version hash) + deblob-scripts-4.19))) + +(define-public linux-libre-4.14-version "4.14.133") +(define-public linux-libre-4.14-pristine-source + (let ((version linux-libre-4.14-version) + (hash (base32 "005pg4f8l2qz8g6hd71pj567z91hwjwdwb37h4dbb3fj6kjl965y"))) + (make-linux-libre-source version + (%upstream-linux-source version hash) + deblob-scripts-4.14))) + +(define-public linux-libre-4.9-version "4.9.185") +(define-public linux-libre-4.9-pristine-source + (let ((version linux-libre-4.9-version) + (hash (base32 "16z3ijfzffpkp4mj42j3j8zbnpba1a67kd5cdqwb28spf32a66vc"))) + (make-linux-libre-source version + (%upstream-linux-source version hash) + deblob-scripts-4.9))) + +(define-public linux-libre-4.4-version "4.4.185") +(define-public linux-libre-4.4-pristine-source + (let ((version linux-libre-4.4-version) + (hash (base32 "1ll694m5193dmwn8ys4sf2p6a6njd5pm38v862ih1iw7l3vj0l3s"))) + (make-linux-libre-source version + (%upstream-linux-source version hash) + deblob-scripts-4.4))) + +(define %boot-logo-patch + ;; Linux-Libre boot logo featuring Freedo and a gnu. + (origin + (method url-fetch) + (uri (string-append "http://www.fsfla.org/svn/fsfla/software/linux-libre/" + "lemote/gnewsense/branches/3.16/100gnu+freedo.patch")) + (sha256 + (base32 + "1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06")))) + +(define %linux-libre-arm-export-__sync_icache_dcache-patch + (origin + (method url-fetch) + (uri (string-append + "https://salsa.debian.org/kernel-team/linux" + "/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0" + "/debian/patches/bugfix/arm/" + "arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch")) + (file-name "linux-libre-arm-export-__sync_icache_dcache.patch") + (sha256 + (base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f")))) + +(define (source-with-patches source patches) + (origin + (inherit source) + (patches (append (origin-patches source) + patches)))) + +(define-public linux-libre-5.2-source + (source-with-patches linux-libre-5.2-pristine-source + (list %boot-logo-patch + %linux-libre-arm-export-__sync_icache_dcache-patch))) + +(define-public linux-libre-4.19-source + (source-with-patches linux-libre-4.19-pristine-source + (list %boot-logo-patch + %linux-libre-arm-export-__sync_icache_dcache-patch))) + +(define-public linux-libre-4.14-source + (source-with-patches linux-libre-4.14-pristine-source + (list %boot-logo-patch))) + +(define-public linux-libre-4.9-source + (source-with-patches linux-libre-4.9-pristine-source + (list %boot-logo-patch))) + +(define-public linux-libre-4.4-source + (source-with-patches linux-libre-4.4-pristine-source + (list %boot-logo-patch))) + + +;;; +;;; Kernel headers. +;;; + +(define (make-linux-libre-headers version hash-string) + (make-linux-libre-headers* version + (origin + (method url-fetch) + (uri (linux-libre-urls version)) + (sha256 (base32 hash-string))))) + +(define (make-linux-libre-headers* version source) (package (name "linux-libre-headers") (version version) - (source (origin - (method url-fetch) - (uri (linux-libre-urls version)) - (sha256 (base32 hash)))) + (source source) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ,@(if (version>=? version "4.16") @@ -232,27 +510,38 @@ defconfig. Return the appropriate make target if applicable, otherwise return (description "Headers of the Linux-Libre kernel.") (license license:gpl2))) -(define %boot-logo-patch - ;; Linux-Libre boot logo featuring Freedo and a gnu. - (origin - (method url-fetch) - (uri (string-append "http://www.fsfla.org/svn/fsfla/software/linux-libre/" - "lemote/gnewsense/branches/3.16/100gnu+freedo.patch")) - (sha256 - (base32 - "1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06")))) +(define-public linux-libre-headers-5.2 + (make-linux-libre-headers* linux-libre-5.2-version + linux-libre-5.2-source)) -(define %linux-libre-arm-export-__sync_icache_dcache-patch - (origin - (method url-fetch) - (uri (string-append - "https://salsa.debian.org/kernel-team/linux" - "/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0" - "/debian/patches/bugfix/arm/" - "arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch")) - (file-name "linux-libre-arm-export-__sync_icache_dcache.patch") - (sha256 - (base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f")))) +(define-public linux-libre-headers-4.19 + (make-linux-libre-headers* linux-libre-4.19-version + linux-libre-4.19-source)) + +(define-public linux-libre-headers-4.14 + (make-linux-libre-headers* linux-libre-4.14-version + linux-libre-4.14-source)) + +(define-public linux-libre-headers-4.9 + (make-linux-libre-headers* linux-libre-4.9-version + linux-libre-4.9-source)) + +(define-public linux-libre-headers-4.4 + (make-linux-libre-headers* linux-libre-4.4-version + linux-libre-4.4-source)) + +;; The following package is used in the early bootstrap, and thus must be kept +;; stable and with minimal build requirements. +(define-public linux-libre-headers-4.14.67 + (make-linux-libre-headers "4.14.67" + "050zvdxjy6sc64q75pr1gxsmh49chwav2pwxz8xlif39bvahnrpg")) + +(define-public linux-libre-headers linux-libre-headers-4.14.67) + + +;;; +;;; Kernel configurations. +;;; (define* (kernel-config arch #:key variant) "Return the absolute file name of the Linux-Libre build configuration file @@ -295,7 +584,12 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." options) "\n")) -(define* (make-linux-libre version hash supported-systems + +;;; +;;; Kernel package utilities. +;;; + +(define* (make-linux-libre version hash-string supported-systems #:key ;; A function that takes an arch and a variant. ;; See kernel-config for an example. @@ -304,16 +598,32 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (defconfig "defconfig") (extra-options %default-extra-linux-options) (patches (list %boot-logo-patch))) + (make-linux-libre* version + (origin + (method url-fetch) + (uri (linux-libre-urls version)) + (sha256 (base32 hash-string)) + (patches patches)) + supported-systems + #:extra-version extra-version + #:configuration-file configuration-file + #:defconfig defconfig + #:extra-options extra-options)) + +(define* (make-linux-libre* version source supported-systems + #:key + ;; A function that takes an arch and a variant. + ;; See kernel-config for an example. + (extra-version #f) + (configuration-file #f) + (defconfig "defconfig") + (extra-options %default-extra-linux-options)) (package (name (if extra-version (string-append "linux-libre-" extra-version) "linux-libre")) (version version) - (source (origin - (method url-fetch) - (uri (linux-libre-urls version)) - (sha256 (base32 hash)) - (patches patches))) + (source source) (supported-systems supported-systems) (build-system gnu-build-system) (native-inputs @@ -425,133 +735,105 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) -(define %linux-libre-version "5.2.1") -(define %linux-libre-hash "1qj3zsjynz45p97n6sngdbh4xfd1jks3hbn85nmhzds6sxgg4c54") - -(define %linux-libre-5.2-patches - (list %boot-logo-patch - %linux-libre-arm-export-__sync_icache_dcache-patch)) + +;;; +;;; Generic kernel packages. +;;; (define-public linux-libre-5.2 - (make-linux-libre %linux-libre-version - %linux-libre-hash - '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") - #:patches %linux-libre-5.2-patches - #:configuration-file kernel-config)) + (make-linux-libre* linux-libre-5.2-version + linux-libre-5.2-source + '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") + #:configuration-file kernel-config)) -(define-public linux-libre-headers-5.2 - (make-linux-libre-headers %linux-libre-version - %linux-libre-hash)) - -(define %linux-libre-4.19-version "4.19.59") -(define %linux-libre-4.19-hash "1c9qfw1mnz68ki48kg1brmv47wmsdvq41ip6202rlnmwgncj5yrw") - -(define %linux-libre-4.19-patches - (list %boot-logo-patch - %linux-libre-arm-export-__sync_icache_dcache-patch)) +(define-public linux-libre-version linux-libre-5.2-version) +(define-public linux-libre-pristine-source linux-libre-5.2-pristine-source) +(define-public linux-libre-source linux-libre-5.2-source) +(define-public linux-libre linux-libre-5.2) (define-public linux-libre-4.19 - (make-linux-libre %linux-libre-4.19-version - %linux-libre-4.19-hash - '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") - #:patches %linux-libre-4.19-patches - #:configuration-file kernel-config)) - -(define-public linux-libre-headers-4.19 - (make-linux-libre-headers %linux-libre-4.19-version - %linux-libre-4.19-hash)) - -(define %linux-libre-4.14-version "4.14.133") -(define %linux-libre-4.14-hash "16ay2x0r5i96lg4rgcg151352igvwxa7wh98kwdsjbckiw7fhn08") + (make-linux-libre* linux-libre-4.19-version + linux-libre-4.19-source + '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") + #:configuration-file kernel-config)) (define-public linux-libre-4.14 - (make-linux-libre %linux-libre-4.14-version - %linux-libre-4.14-hash - '("x86_64-linux" "i686-linux" "armhf-linux") - #:configuration-file kernel-config)) - -(define-public linux-libre-headers-4.14 - (make-linux-libre-headers %linux-libre-4.14-version - %linux-libre-4.14-hash)) + (make-linux-libre* linux-libre-4.14-version + linux-libre-4.14-source + '("x86_64-linux" "i686-linux" "armhf-linux") + #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.185" - "1byz9cxvslm45nv01abhzvrm2isdskx5k11gi5rpa39r7lx6bmjp" - '("x86_64-linux" "i686-linux") - #:configuration-file kernel-config)) + (make-linux-libre* linux-libre-4.9-version + linux-libre-4.9-source + '("x86_64-linux" "i686-linux") + #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.185" - "0df22wqj1nwqp60v8341qcmjhwmdr0hgfraishpc7hic8aqdr4p7" - '("x86_64-linux" "i686-linux") - #:configuration-file kernel-config - #:extra-options - (append - `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html - ;; This option was removed upstream in version 4.7. - ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)) - %default-extra-linux-options))) + (make-linux-libre* linux-libre-4.4-version + linux-libre-4.4-source + '("x86_64-linux" "i686-linux") + #:configuration-file kernel-config + #:extra-options + (append + `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html + ;; This option was removed upstream in version 4.7. + ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)) + %default-extra-linux-options))) -(define-public linux-libre-arm-veyron - (make-linux-libre %linux-libre-version - %linux-libre-hash - '("armhf-linux") - #:patches %linux-libre-5.2-patches - #:configuration-file kernel-config-veyron - #:extra-version "arm-veyron")) - -(define-public linux-libre-headers-4.14.67 - (make-linux-libre-headers "4.14.67" - "050zvdxjy6sc64q75pr1gxsmh49chwav2pwxz8xlif39bvahnrpg")) + +;;; +;;; Specialized kernel variants. +;;; -(define-public linux-libre-headers linux-libre-headers-4.14.67) -(define-public linux-libre linux-libre-5.2) +(define-public linux-libre-arm-veyron + (make-linux-libre* linux-libre-version + linux-libre-source + '("armhf-linux") + #:configuration-file kernel-config-veyron + #:extra-version "arm-veyron")) (define-public linux-libre-arm-generic - (make-linux-libre %linux-libre-version - %linux-libre-hash - '("armhf-linux") - #:patches %linux-libre-5.2-patches - #:defconfig "multi_v7_defconfig" - #:extra-version "arm-generic")) + (make-linux-libre* linux-libre-version + linux-libre-source + '("armhf-linux") + #:defconfig "multi_v7_defconfig" + #:extra-version "arm-generic")) (define-public linux-libre-arm-generic-4.19 - (make-linux-libre %linux-libre-4.19-version - %linux-libre-4.19-hash - '("armhf-linux") - #:patches %linux-libre-4.19-patches - #:defconfig "multi_v7_defconfig" - #:extra-version "arm-generic")) + (make-linux-libre* linux-libre-4.19-version + linux-libre-4.19-source + '("armhf-linux") + #:defconfig "multi_v7_defconfig" + #:extra-version "arm-generic")) (define-public linux-libre-arm-generic-4.14 - (make-linux-libre %linux-libre-4.14-version - %linux-libre-4.14-hash - '("armhf-linux") - #:defconfig "multi_v7_defconfig" - #:extra-version "arm-generic")) + (make-linux-libre* linux-libre-4.14-version + linux-libre-4.14-source + '("armhf-linux") + #:defconfig "multi_v7_defconfig" + #:extra-version "arm-generic")) (define-public linux-libre-arm-omap2plus - (make-linux-libre %linux-libre-version - %linux-libre-hash - '("armhf-linux") - #:patches %linux-libre-5.2-patches - #:defconfig "omap2plus_defconfig" - #:extra-version "arm-omap2plus")) + (make-linux-libre* linux-libre-version + linux-libre-source + '("armhf-linux") + #:defconfig "omap2plus_defconfig" + #:extra-version "arm-omap2plus")) (define-public linux-libre-arm-omap2plus-4.19 - (make-linux-libre %linux-libre-4.19-version - %linux-libre-4.19-hash - '("armhf-linux") - #:patches %linux-libre-4.19-patches - #:defconfig "omap2plus_defconfig" - #:extra-version "arm-omap2plus")) + (make-linux-libre* linux-libre-4.19-version + linux-libre-4.19-source + '("armhf-linux") + #:defconfig "omap2plus_defconfig" + #:extra-version "arm-omap2plus")) (define-public linux-libre-arm-omap2plus-4.14 - (make-linux-libre %linux-libre-4.14-version - %linux-libre-4.14-hash - '("armhf-linux") - #:defconfig "omap2plus_defconfig" - #:extra-version "arm-omap2plus")) + (make-linux-libre* linux-libre-4.14-version + linux-libre-4.14-source + '("armhf-linux") + #:defconfig "omap2plus_defconfig" + #:extra-version "arm-omap2plus")) ;;; -- cgit v1.2.3 From aa84be4375debe9882d7596e99411b1ce674f4b4 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 21 Jul 2019 08:57:23 -0400 Subject: gnu: linux-libre@4.4: Update to 4.4.186. * gnu/packages/linux.scm (linux-libre-4.4-version): Update to 4.4.186. (linux-libre-4.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8911ec19d5..67b5335604 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -382,10 +382,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.185") +(define-public linux-libre-4.4-version "4.4.186") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "1ll694m5193dmwn8ys4sf2p6a6njd5pm38v862ih1iw7l3vj0l3s"))) + (hash (base32 "113rjf8842glzi23y1g1yrwncihv2saah6wz0r726r06bk9p64hb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) -- cgit v1.2.3 From 5d8187c2ac40905c5768c6595bc9580a5d839dfb Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 21 Jul 2019 08:59:04 -0400 Subject: gnu: linux-libre@4.9: Update to 4.9.186. * gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.186. (linux-libre-4.9-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 67b5335604..d67441270b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -374,10 +374,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.185") +(define-public linux-libre-4.9-version "4.9.186") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "16z3ijfzffpkp4mj42j3j8zbnpba1a67kd5cdqwb28spf32a66vc"))) + (hash (base32 "0sjbp7m6d625rw06wv34a0805d1lgldii4pxiqfpja871m1q8914"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -- cgit v1.2.3 From 267ce6679e63453679beca6b8f15736f7b316556 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 21 Jul 2019 08:59:57 -0400 Subject: gnu: linux-libre@4.14: Update to 4.14.134. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.134. (linux-libre-4.14-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d67441270b..212312aa25 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -366,10 +366,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.133") +(define-public linux-libre-4.14-version "4.14.134") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "005pg4f8l2qz8g6hd71pj567z91hwjwdwb37h4dbb3fj6kjl965y"))) + (hash (base32 "0b9xj1rwr5fpw2giirfghzxxc0wp1hwf4nqvalx314pxxysyf88b"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -- cgit v1.2.3 From c39304ce18531d49deb5e4595bba6974ef5f316f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 21 Jul 2019 09:00:46 -0400 Subject: gnu: linux-libre@4.19: Update to 4.19.60. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.60. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 212312aa25..acf0606c97 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -358,10 +358,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.2))) -(define-public linux-libre-4.19-version "4.19.59") +(define-public linux-libre-4.19-version "4.19.60") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0nxkr196q0b1hs3a3zavpsjp0jgbqmcwdf0y0f3hbpirshjiid5q"))) + (hash (base32 "0ibayrvrnw2lw7si78vdqnr20mm1d3z0g6a0ykndvgn5vdax5x9a"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From 59f79254bbd2cfe31dd063a6949f94e09308e799 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 21 Jul 2019 09:01:41 -0400 Subject: gnu: linux-libre: Update to 5.2.2. * gnu/packages/linux.scm (linux-libre-5.2-version): Update to 5.2.2. (linux-libre-5.2-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index acf0606c97..7d3800c541 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -350,10 +350,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.2-version "5.2.1") +(define-public linux-libre-5.2-version "5.2.2") (define-public linux-libre-5.2-pristine-source (let ((version linux-libre-5.2-version) - (hash (base32 "01k5v3kdwk65cfx6bw4cl32jbfvf976jbya7q4a8lab3km7fi09m"))) + (hash (base32 "173da67d51qcjwrczqsfd6g9phzazqzr11xfxwlf54ckd6117ng5"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.2))) -- cgit v1.2.3 From d1e766e5c6b9e25ff0fa8e0a2adf3e764401a3a2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 21 Jul 2019 20:20:27 +0200 Subject: gnu: libosinfo: Update to 1.5.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (libosinfo): Update to 1.5.0. [arguments]: Remove ‘disable-broken-test’ phase. [native-inputs]: Remove check. --- gnu/packages/virtualization.scm | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index d5792b7ede..e68007ec2c 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -286,7 +286,7 @@ server and embedded PowerPC, and S390 guests.") (define-public libosinfo (package (name "libosinfo") - (version "1.0.0") + (version "1.5.0") (source (origin (method url-fetch) @@ -294,30 +294,21 @@ server and embedded PowerPC, and S390 guests.") version ".tar.gz")) (sha256 (base32 - "0srrs2m6irqd4f867g8ls6jp2dq3ql0l9d0fh80d55sivvn2bd7p")))) + "12b0xj9fz9q91d1pz9xm6aqap5k1ip0m9m3qvqmwjy1lk1kjasdz")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "--with-usb-ids-path=" (assoc-ref %build-inputs "usb.ids")) (string-append "--with-pci-ids-path=" - (assoc-ref %build-inputs "pci.ids"))) - #:phases - (modify-phases %standard-phases - ;; This odd test fails for unknown reasons. - (add-after 'unpack 'disable-broken-test - (lambda _ - (substitute* "test/Makefile.in" - (("test-isodetect\\$\\(EXEEXT\\)") "")) - #t))))) + (assoc-ref %build-inputs "pci.ids"))))) (inputs `(("libsoup" ,libsoup) ("libxml2" ,libxml2) ("libxslt" ,libxslt) ("gobject-introspection" ,gobject-introspection))) (native-inputs - `(("check" ,check) - ("glib" ,glib "bin") ; glib-mkenums, etc. + `(("glib" ,glib "bin") ; glib-mkenums, etc. ("gtk-doc" ,gtk-doc) ("vala" ,vala) ("intltool" ,intltool) -- cgit v1.2.3 From afb986e77cd669c2f21953f501f7893237730ca7 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Mon, 15 Jul 2019 22:42:07 -0700 Subject: gnu: libreoffice: Fix xdg-open absolute paths. Fixes: . * gnu/packages/libreoffice.scm (libreoffice) [inputs]: Add xdg-utils. [arguments][#:phases][prepare-src]: Replace hard-coded absolute paths to xdg-open in the source with the path to xdg-open in the xdg-utils input. --- gnu/packages/libreoffice.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 9f5bedd913..026ce92aab 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Jonathan Brielmaier +;;; Copyright © 2019 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,7 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -1045,6 +1047,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") ("unixodbc" ,unixodbc) ("unzip" ,unzip) ("vigra" ,vigra) + ("xdg-utils" ,xdg-utils) ("xmlsec" ,xmlsec-nss) ("zip" ,zip))) (arguments @@ -1077,6 +1080,13 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (assoc-ref inputs "gpgme") "/include/gpgme++"))) + ;; /usr/bin/xdg-open doesn't exist on Guix System. + (substitute* '("shell/source/unix/exec/shellexec.cxx" + "shell/source/unix/misc/senddoc.sh") + (("/usr/bin/xdg-open") + (string-append (assoc-ref inputs "xdg-utils") + "/bin/xdg-open"))) + #t)) (add-after 'install 'bin-and-desktop-install ;; Create 'soffice' and 'libreoffice' symlinks to the executable -- cgit v1.2.3 From 7284b11f6c924c3b47e825d1c57eda8c44043a05 Mon Sep 17 00:00:00 2001 From: Robert Vollmert Date: Fri, 19 Jul 2019 18:50:56 +0200 Subject: gnu: oil-shell: Update to 0.6.0 * gnu/packages/shells.scm (oil-shell): Update to 0.6.0. Signed-off-by: Efraim Flashner --- gnu/packages/shells.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index f8c0fdf71f..1900925022 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -749,14 +749,14 @@ Shell (pdksh).") (define-public oil-shell (package (name "oil-shell") - (version "0.6.pre22") + (version "0.6.0") (source (origin (method url-fetch) (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.xz")) (sha256 (base32 - "1kslycqa8rrzk9p2265dy045xd88q675w4baqiygcrnvxwn588c5")))) + "1dw4mgnlmaxlfygasfihgvbj32d3m9w6k5j7azb9d9lp35f3l7hl")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; the tests are not distributed in the tarballs -- cgit v1.2.3 From 5246655fa12d3d5981377ae813bf15e2d2e20194 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 22 Jul 2019 09:48:50 +0300 Subject: gnu: mallard-ducktype: Run tests. * gnu/packages/python-xyz.scm (mallard-ducktype)[arguments]: Replace 'check phase to run test suite. --- gnu/packages/python-xyz.scm | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 6e90c9a933..d8f144893d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3136,6 +3136,13 @@ and is very extensible.") (base32 "0crland0kmpsyjfmnflcw7gaqy5b87b6ah17cmr9d5z1kyazf54n")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (with-directory-excursion "tests" + (invoke "sh" "runtests"))))))) (home-page "http://projectmallard.org") (synopsis "Convert Ducktype to Mallard documentation markup") (description -- cgit v1.2.3 From 2756ab80588668e5d8b5a47d9491a9209d1e06c7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 22 Jul 2019 09:05:24 +0300 Subject: gnu: perl-hash-merge: Update to 0.300. * gnu/packages/perl.scm (perl-hash-merge): Update to 0.300. [inputs]: Add perl-clone-choose. --- gnu/packages/perl.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 9ab7c37a24..2c5027e9be 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4072,7 +4072,7 @@ relic support.") (define-public perl-hash-merge (package (name "perl-hash-merge") - (version "0.200") + (version "0.300") (source (origin (method url-fetch) @@ -4080,8 +4080,10 @@ relic support.") "Hash-Merge-" version ".tar.gz")) (sha256 (base32 - "0r1a2axz85wn6573zrl9rk8mkfl2cvf1gp9vwya5qndp60rz1ya7")))) + "0h3wfnpv5d4d3f9xzmwkchay6251nhzngdv3f6xia56mj4hxabs0")))) (build-system perl-build-system) + (inputs + `(("perl-clone-choose" ,perl-clone-choose))) (home-page "https://metacpan.org/release/Hash-Merge") (synopsis "Merge arbitrarily deep hashes into a single hash") (description "Hash::Merge merges two arbitrarily deep hashes into a single -- cgit v1.2.3 From 6f4d20e387901df0e2912856175245574f5db9d7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 22 Jul 2019 09:06:04 +0300 Subject: gnu: perl-clone: Update to 0.42. * gnu/packages/perl.scm (perl-clone): Update to 0.42. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2c5027e9be..73986ba420 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1266,14 +1266,14 @@ arrays for their internal representation.") (define-public perl-clone (package (name "perl-clone") - (version "0.41") + (version "0.42") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/G/GA/GARU/" "Clone-" version ".tar.gz")) (sha256 (base32 - "060mlm31lacirpnp5fl9jqk4m9cl07vjlh89k83qk25wykf5dh78")))) + "1r87rdm0nilfayxwlzvylwc8r3hr5m24180x437j30qpizdk1aal")))) (build-system perl-build-system) (synopsis "Recursively copy Perl datatypes") (description -- cgit v1.2.3 From 94b9b67618617502e5593105001abd7f46323865 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 22 Jul 2019 09:06:41 +0300 Subject: gnu: perl-cpan-meta: Update to 2.150010. * gnu/packages/perl.scm (perl-cpan-meta): Update to 2.150010. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 73986ba420..2a40b2c736 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -9518,7 +9518,7 @@ grammars to generate Perl object oriented parser modules.") (define-public perl-cpan-meta (package (name "perl-cpan-meta") - (version "2.143240") + (version "2.150010") (source (origin (method url-fetch) @@ -9526,7 +9526,7 @@ grammars to generate Perl object oriented parser modules.") "CPAN-Meta-" version ".tar.gz")) (sha256 (base32 - "1d80bxphpp5dq7fx5ipxszn7j8q9d85w6fnapdrbym21k1vsmlf6")))) + "1mm3dfw3ffyzb2ikpqn9l6zyqrxijb4vyywmbx2l21ryqwp0zy74")))) (build-system perl-build-system) (propagated-inputs `(("perl-cpan-meta-requirements" ,perl-cpan-meta-requirements) -- cgit v1.2.3 From bbbed2e60de043c576612e9f8a9f08c005868ad3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 22 Jul 2019 09:07:58 +0300 Subject: gnu: perl-test-simple: Update to 1.302164. * gnu/packages/perl-check.scm (perl-test-simple): Update to 1.302164. --- gnu/packages/perl-check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 47e25083cd..98d01d598a 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -1240,14 +1240,14 @@ makes fork(2) safe to use in test cases.") (define-public perl-test-simple (package (name "perl-test-simple") - (version "1.302162") + (version "1.302164") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/" "Test-Simple-" version ".tar.gz")) (sha256 (base32 - "1i0zsgp5ypygsfbl5gdsgnzlqv57bx69yl6sh440cpkk7my1k83k")))) + "05b61ndlf2d6xphq13caps001f0p0p76jb5hhzmm5k897xhpn9sh")))) (build-system perl-build-system) (synopsis "Basic utilities for writing tests") (description -- cgit v1.2.3 From 1bb4122ce6edd5b43d99aaed3c05506ba690e7a9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 22 Jul 2019 10:14:41 +0300 Subject: gnu: perl-net-http: Update to 6.19. * gnu/packages/web.scm (perl-net-httpd): Update to 6.19. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f1083505ee..f81d12c7ce 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3333,7 +3333,7 @@ and retry a few times.") (define-public perl-net-http (package (name "perl-net-http") - (version "6.18") + (version "6.19") (source (origin (method url-fetch) (uri (string-append @@ -3341,7 +3341,7 @@ and retry a few times.") "Net-HTTP-" version ".tar.gz")) (sha256 (base32 - "074mp9s37q1j290xa3qj1wwgalzla328i2zpnh73xkmdnwnxyhky")))) + "1i1gbcwdzx74whn5vn6xbr2cp7frldfz2rfrcjp2qljr770nxdsj")))) (build-system perl-build-system) (propagated-inputs `(("perl-io-socket-ssl" ,perl-io-socket-ssl) -- cgit v1.2.3 From 6fd4c6b2675b122fc9000756d0ae579356810191 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 22 Jul 2019 14:23:14 +0200 Subject: gnu: htslib: Propagate zlib. Reported by Vedran Franke . * gnu/packages/bioinformatics.scm (htslib)[inputs]: Move zlib from here... [propagated-inputs]: ...to here. --- gnu/packages/bioinformatics.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d72fde00b4..5412440fb1 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4046,9 +4046,11 @@ performance.") "16ljv43sc3fxmv63w7b2ff8m1s7h89xhazwmbm1bicz8axq8fjz0")))) (build-system gnu-build-system) (inputs - `(("openssl" ,openssl) - ("curl" ,curl) - ("zlib" ,zlib))) + `(("curl" ,curl) + ("openssl" ,openssl))) + ;; This is referred to in the pkg-config file as a required library. + (propagated-inputs + `(("zlib" ,zlib))) (native-inputs `(("perl" ,perl))) (home-page "http://www.htslib.org") -- cgit v1.2.3 From 6a489839a8852dc3428c53b0d35ead32e06dc1ac Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 21 Jul 2019 23:32:04 +0200 Subject: gnu: ungoogled-chromium: Enable parallel build. ...but limit the memory usage. Tested with --cores=8 on a 16 GiB RAM machine. * gnu/packages/chromium.scm (ungoogled-chromium)[arguments]: Remove <#:parallel-build?>. Add "jumbo_file_merge_limit=8" in <#:configure-flags>. --- gnu/packages/chromium.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 90ce787416..d072fc58ad 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -408,9 +408,6 @@ from forcing GEXP-PROMISE." (build-system gnu-build-system) (arguments `(#:tests? #f - ;; Chromiums build processes may consume up to 8GiB of memory per core. - ;; Disable parallel builds to avoid thrashing end user systems. - #:parallel-build? #f ;; FIXME: Chromiums RUNPATH lacks entries for some libraries, so ;; we have to disable validation and add a wrapper below. #:validate-runpath? #f @@ -467,6 +464,9 @@ from forcing GEXP-PROMISE." ;; Optimize for building everything at once, as opposed to ;; incrementally for development. See "docs/jumbo.md". "use_jumbo_build=true" + ;; The default file merge limit of 50 requires huge amounts of RAM. + ;; Cap it to make sure the build succeeds on commodity hardware. + "jumbo_file_merge_limit=8" ;; Prefer system libraries. "use_system_freetype=true" -- cgit v1.2.3 From 3c08479ef966ae602ab50c72517c039c7cd6cc40 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 Jul 2019 00:16:38 +0200 Subject: gnu: x265: Update to 3.1.1. * gnu/packages/video.scm (x265): Update to 3.1.1. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index ef6d9cce82..51af34ccab 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -473,7 +473,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).") (define-public x265 (package (name "x265") - (version "3.0") + (version "3.1.1") (outputs '("out" "static")) (source (origin @@ -482,7 +482,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).") "x265_" version ".tar.gz")) (sha256 (base32 - "0qh65wdpasrspkm1y0dlfa123myax568yi0sas0lmg5b1hkgrff5")) + "1l68lgdbsi4wjz5vad98ggx7mf92rnvzlq34m6w0a08ark3h0yc2")) (patches (search-patches "x265-arm-flags.patch")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 8d3167fe2399656d62d72c280b6a343c5f64a3b4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 Jul 2019 00:17:02 +0200 Subject: gnu: ffmpeg: Update to 4.1.4. * gnu/packages/video.scm (ffmpeg): Update to 4.1.4. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 51af34ccab..7721f937b0 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -756,14 +756,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 "4.1.3") + (version "4.1.4") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "0gdnprc7gk4b7ckq8wbxbrj7i00r76r9a5g9mj7iln40512j0c0c")))) + "1qd7a10gs12ifcp31gramcgqjl77swskjfp7cijibgyg5yl4kw7i")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) -- cgit v1.2.3 From 293e4f9f2df5565bc1e83a39befdf33b57b30783 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 Jul 2019 00:17:20 +0200 Subject: gnu: jsoncpp: Update to 1.9.1. * gnu/packages/serialization.scm (jsoncpp): Update to 1.9.1. --- gnu/packages/serialization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 505c196abd..f0ae0d2cab 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -297,7 +297,7 @@ that implements both the msgpack and msgpack-rpc specifications.") (define-public jsoncpp (package (name "jsoncpp") - (version "1.9.0") + (version "1.9.1") (home-page "https://github.com/open-source-parsers/jsoncpp") (source (origin (method git-fetch) @@ -305,7 +305,7 @@ that implements both the msgpack and msgpack-rpc specifications.") (file-name (git-file-name name version)) (sha256 (base32 - "10wnwlq92gp32f5p55kjcc12jfsl0yq6f2y4abb0si6wym12krw9")))) + "00g356iv3kcp0gadj7gbyzf9jn9avvx9vxbxc7c2i5nnry8z72wj")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES"))) -- cgit v1.2.3 From 8dea61731bf08f4861b7904c1d40d9f5678495a3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 Jul 2019 00:17:39 +0200 Subject: gnu: whois: Update to 5.5.0. * gnu/packages/networking.scm (whois): Update to 5.5.0. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 28779f9a47..bc252fc591 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -550,7 +550,7 @@ and up to 1 Mbit/s downstream.") (define-public whois (package (name "whois") - (version "5.4.3") + (version "5.5.0") (source (origin (method url-fetch) @@ -558,7 +558,7 @@ and up to 1 Mbit/s downstream.") name "_" version ".tar.xz")) (sha256 (base32 - "1hqg14k0q4979a1amgms4sa1d2iiid51rra3jyqmv63hkw189ypy")))) + "0gbg9fis05zf2fl4264jplbphy75l50k3g92cz6mkmbsklrn7v34")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite -- cgit v1.2.3 From ec0de9d8bcc46bb6911b1f9ea135a354bac65b1a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 Jul 2019 14:53:12 +0200 Subject: gnu: zstd: Move libraries to separate outputs. * gnu/packages/compression.scm (zstd)[outputs]: New field. [arguments]: Add phase 'adjust-libary-locations'. Pass LIBDIR and INCLUDEDIR in <#:make-flags>. * gnu/packages/backup.scm (borg)[inputs]: Change ZSTD to ZSTD:LIB. * gnu/packages/sync.scm (casync)[inputs]: Likewise. * gnu/packages/tor.scm (tor)[inputs]: Likewise. * gnu/packages/linux.scm (btrfs-progs)[inputs]: Likewise. Add ZSTD:STATIC. --- gnu/packages/backup.scm | 2 +- gnu/packages/compression.scm | 32 ++++++++++++++++++++++++++++++-- gnu/packages/linux.scm | 3 ++- gnu/packages/sync.scm | 2 +- gnu/packages/tor.scm | 2 +- 5 files changed, 35 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 6f319ccf16..47a6a9bf85 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -627,7 +627,7 @@ detection, and lossless compression.") ;; transitional package for now: ;; ("python-msgpack" ,python-msgpack-transitional) - ("zstd" ,zstd))) + ("zstd" ,zstd "lib"))) (synopsis "Deduplicated, encrypted, authenticated and compressed backups") (description "Borg is a deduplicating backup program. Optionally, it supports compression and authenticated encryption. The main goal of Borg is to diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index a6a2a04f6f..3c5d355519 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2016 David Craven ;;; Copyright © 2016, 2019 Kei Kebreau -;;; Copyright © 2016, 2018 Marius Bakke +;;; Copyright © 2016, 2018, 2019 Marius Bakke ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2017 Theodoros Foradis @@ -1372,13 +1372,41 @@ or junctions, and always follows hard links.") (sha256 (base32 "13nlsqhkn276frxrzjdn7wz0j9zz414lf336885ykyxcvw2a0gr9")))) (build-system gnu-build-system) + (outputs '("out" ;1.1MiB executables and documentation + "lib" ;1MiB shared library and headers + "static")) ;1MiB static library (arguments `(#:phases (modify-phases %standard-phases - (delete 'configure)) ; no configure script + (delete 'configure) ;no configure script + (add-after 'install 'adjust-library-locations + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (assoc-ref outputs "lib")) + (static (assoc-ref outputs "static")) + (shared-libs (string-append lib "/lib")) + (static-libs (string-append static "/lib"))) + ;; Move the static library to its own output to save ~1MiB. + (mkdir-p static-libs) + (for-each (lambda (ar) + (link ar (string-append static-libs "/" + (basename ar))) + (delete-file ar)) + (find-files shared-libs "\\.a$")) + + ;; While here, remove prefix= from the pkg-config file because it + ;; is unused, and because it contains a needless reference to $out. + ;; XXX: It would be great if #:disallow-references worked between + ;; outputs. + (substitute* (string-append shared-libs "/pkgconfig/libzstd.pc") + (("^prefix=.*") "")) + + #t)))) #:make-flags (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "LIBDIR=" (assoc-ref %outputs "lib") "/lib") + (string-append "INCLUDEDIR=" (assoc-ref %outputs "lib") "/include") ;; Skip auto-detection of, and creating a dependency on, the build ;; environment's ‘xz’ for what amounts to a dubious feature anyway. "HAVE_LZMA=0" diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7d3800c541..52883282e8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3862,7 +3862,8 @@ and copy/paste text in the console and in xterm.") ("lzo" ,lzo) ("zlib" ,zlib) ("zlib:static" ,zlib "static") - ("zstd" ,zstd))) + ("zstd" ,zstd "lib") + ("zstd:static" ,zstd "static"))) (native-inputs `(("pkg-config" ,pkg-config) ("asciidoc" ,asciidoc) ("python" ,python) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index faff25ddc1..1c80b7978e 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -227,7 +227,7 @@ and does not hamper local file system performance.") ("rsync" ,rsync))) ;for tests (inputs `(("xz" ,xz) ;for liblzma - ("zstd" ,zstd) + ("zstd" ,zstd "lib") ("curl" ,curl) ("acl" ,acl) ("libselinux" ,libselinux) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 25bd520d6b..8b5e8032ad 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -67,7 +67,7 @@ ("libevent" ,libevent) ("libseccomp" ,libseccomp) ("xz" ,xz) - ("zstd" ,zstd))) + ("zstd" ,zstd "lib"))) (home-page "https://www.torproject.org/") (synopsis "Anonymous network router to improve privacy on the Internet") (description -- cgit v1.2.3 From fb4ea42340f168eb5792828ec6119f6916e2bde9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 Jul 2019 15:01:53 +0200 Subject: gnu: zstd: Update to 1.4.1. * gnu/packages/compression.scm (zstd): Update to 1.4.1. --- gnu/packages/compression.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 3c5d355519..d821298e56 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1363,14 +1363,14 @@ or junctions, and always follows hard links.") (define-public zstd (package (name "zstd") - (version "1.3.8") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/facebook/zstd/releases/download/" "v" version "/zstd-" version ".tar.gz")) (sha256 - (base32 "13nlsqhkn276frxrzjdn7wz0j9zz414lf336885ykyxcvw2a0gr9")))) + (base32 "180sfl0iz5hy43xcr0gh8kz2vxgpb8rh5d7wmpxn3bxkgs320l2k")))) (build-system gnu-build-system) (outputs '("out" ;1.1MiB executables and documentation "lib" ;1MiB shared library and headers -- cgit v1.2.3 From a242776178a4fb4944d33a4e13dc257e77bea223 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 Jul 2019 15:51:49 +0200 Subject: gnu: libvpx: Update to 1.8.1. * gnu/packages/video.scm (libvpx): Update to 1.8.1. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 7721f937b0..cbfef8b781 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1388,7 +1388,7 @@ access to mpv's powerful playback capabilities.") (define-public libvpx (package (name "libvpx") - (version "1.8.0") + (version "1.8.1") (source (origin ;; XXX: Upstream does not provide tarballs for > 1.6.1. (method git-fetch) @@ -1398,7 +1398,7 @@ access to mpv's powerful playback capabilities.") (file-name (git-file-name name version)) (sha256 (base32 - "079pb80am08lj8y5rx99vdr99mdqis9067f172zq12alkz849n93")) + "0mm1dcfa268rwsrgzqpbbgq4lwrvdzgp90h9dxsnkhai70l7gipq")) (patches (search-patches "libvpx-CVE-2016-2818.patch")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From 26986544469ef290885f5f8d71006751e9e8daf8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 22 Jul 2019 16:17:36 +0200 Subject: gnu: vlc: Build against libvpx@1.8. * gnu/packages/video.scm (vlc)[inputs]: Change LIBVPX-1.7 to LIBVPX. --- gnu/packages/video.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index cbfef8b781..2854ae2228 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1073,7 +1073,7 @@ videoformats depend on the configuration flags of ffmpeg.") ("libva" ,libva) ("libvdpau" ,libvdpau) ("libvorbis" ,libvorbis) - ("libvpx" ,libvpx-1.7) + ("libvpx" ,libvpx) ("libtheora" ,libtheora) ("libx264" ,libx264) ("libxext" ,libxext) -- cgit v1.2.3