X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/a485a98ca8296d760251e9d870583117ac50979e..e0f983c0d55e301fc646d956039cc425ad18076d:/gnu/packages/package-management.scm diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 4a6881d475..08050e9747 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1,21 +1,22 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès -;;; Copyright © 2015, 2017, 2020 Ricardo Wurmus +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2015, 2017, 2020, 2021 Ricardo Wurmus ;;; Copyright © 2017 Muriithi Frederick Muriuki ;;; Copyright © 2017, 2018 Oleg Pykhalov ;;; Copyright © 2017 Roel Janssen -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Julien Lepiller ;;; Copyright © 2018, 2019 Rutger Helling ;;; Copyright © 2018 Sou Bunnbu ;;; Copyright © 2018, 2019 Eric Bavier -;;; Copyright © 2019, 2020 Efraim Flashner +;;; Copyright © 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2019 Jonathan Brielmaier ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2020 Jesse Gibbons ;;; Copyright © 2020 Martin Becze +;;; Copyright © 2020 Vincent Legoll ;;; ;;; This file is part of GNU Guix. ;;; @@ -130,9 +131,9 @@ ;; Latest version of Guix, which may or may not correspond to a release. ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. - (let ((version "1.2.0rc2") - (commit "0d4b1afb6bfa4bdeade2cb6409ece9467d513e39") - (revision 1)) + (let ((version "1.2.0") + (commit "4dff6ecde85eec473ab231cf75f51e98e8aca1e9") + (revision 21)) (package (name "guix") @@ -148,11 +149,18 @@ (commit commit))) (sha256 (base32 - "1d0pifzrr14f1n0fn21rlh0hzfjvfsavf9as1vcjga47bdjjvrpp")) + "1n16j7rb4n4pjmp8ck5g206rphmzxii2mbyz1nk4qk70zc3mwszq")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list + + ;; Provide channel metadata for 'guix describe'. + ;; Don't pass '--with-channel-url' and + ;; '--with-channel-introduction' and instead use + ;; the defaults. + ,(string-append "--with-channel-commit=" commit) + "--localstatedir=/var" "--sysconfdir=/etc" (string-append "--with-bash-completion-dir=" @@ -204,7 +212,7 @@ $(prefix)/etc/init.d\n"))) (substitute* "nix/local.mk" (("^openrcservicedir = .*$") (string-append "openrcservicedir = \ -$(prefix)/etc/init.d\n"))) +$(prefix)/etc/openrc\n"))) (invoke "sh" "bootstrap"))) (add-before 'build 'use-host-compressors @@ -294,19 +302,25 @@ $(prefix)/etc/init.d\n"))) (guile ,@(if (%current-target-system) '((assoc-ref native-inputs "guile")) '((assoc-ref inputs "guile")))) + (avahi (assoc-ref inputs "guile-avahi")) (gcrypt (assoc-ref inputs "guile-gcrypt")) + (guile-lib (assoc-ref inputs "guile-lib")) (json (assoc-ref inputs "guile-json")) (sqlite (assoc-ref inputs "guile-sqlite3")) (zlib (assoc-ref inputs "guile-zlib")) (lzlib (assoc-ref inputs "guile-lzlib")) + (zstd (assoc-ref inputs "guile-zstd")) (git (assoc-ref inputs "guile-git")) (bs (assoc-ref inputs "guile-bytestructures")) (ssh (assoc-ref inputs "guile-ssh")) (gnutls (assoc-ref inputs "gnutls")) (locales (assoc-ref inputs "glibc-utf8-locales")) - (deps (list gcrypt json sqlite gnutls - git bs ssh zlib lzlib)) + (deps (list gcrypt json sqlite gnutls git + bs ssh zlib lzlib zstd)) + (deps* ,@(if (%current-target-system) + '(deps) + '((cons avahi deps)))) (effective (read-line (open-pipe* OPEN_READ @@ -316,13 +330,13 @@ $(prefix)/etc/init.d\n"))) (map (cut string-append <> "/share/guile/site/" effective) - (delete #f deps)) + (delete #f deps*)) ":")) (gopath (string-join (map (cut string-append <> "/lib/guile/" effective "/site-ccache") - (delete #f deps)) + (delete #f deps*)) ":")) (locpath (string-append locales "/lib/locale"))) @@ -349,18 +363,23 @@ $(prefix)/etc/init.d\n"))) ;; cross-compilation. ("guile" ,guile-3.0-latest) ;for faster builds ("gnutls" ,gnutls) + ,@(if (%current-target-system) + '() + `(("guile-avahi" ,guile-avahi))) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) + ("guile-lib" ,guile-lib) ("guile-sqlite3" ,guile-sqlite3) ("guile-zlib" ,guile-zlib) ("guile-lzlib" ,guile-lzlib) + ("guile-zstd" ,guile-zstd) ("guile-ssh" ,guile-ssh) ("guile-git" ,guile-git) ;; XXX: Keep the development inputs here even though ;; they're unnecessary, just so that 'guix environment ;; guix' always contains them. - ("autoconf" ,autoconf-wrapper) + ("autoconf" ,autoconf) ("automake" ,automake) ("gettext" ,gettext-minimal) ("texinfo" ,texinfo) @@ -398,14 +417,31 @@ $(prefix)/etc/init.d\n"))) ("glibc-utf8-locales" ,glibc-utf8-locales))) (propagated-inputs - `(("gnutls" ,(if (%current-target-system) gnutls-3.6.14 gnutls)) + `(("gnutls" ,gnutls) + ;; Avahi requires "glib" which doesn't cross-compile yet. + ,@(if (%current-target-system) + '() + `(("guile-avahi" ,guile-avahi))) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) + ("guile-lib" ,guile-lib) ("guile-sqlite3" ,guile-sqlite3) ("guile-ssh" ,guile-ssh) ("guile-git" ,guile-git) ("guile-zlib" ,guile-zlib) - ("guile-lzlib" ,guile-lzlib))) + ("guile-lzlib" ,guile-lzlib) + ("guile-zstd" ,guile-zstd))) + (native-search-paths + (list (search-path-specification + (variable "GUIX_EXTENSIONS_PATH") + (files '("share/guix/extensions"))) + + ;; (guix git) and (guix build download) honor this variable whose + ;; name comes from OpenSSL. + (search-path-specification + (variable "SSL_CERT_DIR") + (separator #f) ;single entry + (files '("etc/ssl/certs"))))) (home-page "https://www.gnu.org/software/guix/") (synopsis "Functional package manager for installed software packages and versions") @@ -572,14 +608,14 @@ out) and returning a package that uses that as its 'source'." (define-public nix (package (name "nix") - (version "2.3.8") + (version "2.3.10") (source (origin (method url-fetch) (uri (string-append "https://nixos.org/releases/nix/nix-" version "/nix-" version ".tar.xz")) (sha256 (base32 - "0amd5nnqslvkfpz042l4ydihw2qsy68nmjbwaagcrggaq4irh4f7")))) + "1axphwkx270c10bjyn4icq9wlx46npgnw0qkpymigl23vramxa58")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--sysconfdir=/etc" "--enable-gc") @@ -669,7 +705,7 @@ features of Stow with some extensions.") (define-public rpm (package (name "rpm") - (version "4.14.2.1") + (version "4.16.1.3") (source (origin (method url-fetch) (uri (string-append "http://ftp.rpm.org/releases/rpm-" @@ -677,7 +713,7 @@ features of Stow with some extensions.") version ".tar.bz2")) (sha256 (base32 - "1nmck2fq9h85fgs3zhh6w1avlw5y16cbz5khd459ry3jfd5w4f8i")))) + "07g2g0adgjm29wqy94iqhpp5dk0hacfw1yf7kzycrrxnfbwwfgai")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-external-db" ;use the system's bdb @@ -701,6 +737,7 @@ features of Stow with some extensions.") ("nss" ,nss) ("nspr" ,nspr) ("libarchive" ,libarchive) + ("libgcrypt" ,libgcrypt) ("file" ,file) ("bzip2" ,bzip2) ("zlib" ,zlib) @@ -969,24 +1006,18 @@ written entirely in Python.") (define-public gwl (package (name "gwl") - (version "0.2.1") + (version "0.3.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gwl/gwl-" version ".tar.gz")) (sha256 (base32 - "1ji5jvzni8aml9fmimlr11g3k8isrnlvnbzhmwgdjh72hils0alc")))) + "1lqif00mq7fsaknbc2gvvcv1j89k311sm44jp9jklbrv0v2lc83n")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'fix-tests - (lambda _ - ;; Avoid cross-device link. - (substitute* "tests/cache.scm" - (("/tmp/gwl-test-input-XXXXXX") - (string-append (getcwd) "/gwl-test-input-XXXXXX"))) - #t))))) + `(#:parallel-build? #false ; for reproducibility + #:make-flags + '("GUILE_AUTO_COMPILE=0"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -994,14 +1025,17 @@ written entirely in Python.") ("texinfo" ,texinfo) ("graphviz" ,graphviz))) (inputs - `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")))) - (propagated-inputs - `(("guix" ,guix) - ("guile-commonmark" ,guile-commonmark) - ("guile-gcrypt" ,guile-gcrypt) - ("guile-pfds" ,guile-pfds) - ("guile-syntax-highlight" ,guile-syntax-highlight) - ("guile-wisp" ,guile-wisp))) + (let ((p (package-input-rewriting + `((,guile-3.0 . ,guile-3.0-latest)) + #:deep? #false))) + `(("guix" ,guix) + ("guile" ,guile-3.0-latest) + ("guile-commonmark" ,(p guile-commonmark)) + ("guile-config" ,(p guile-config)) + ("guile-gcrypt" ,(p guile-gcrypt)) + ("guile-pfds" ,(p guile-pfds)) + ("guile-syntax-highlight" ,(p guile-syntax-highlight)) + ("guile-wisp" ,(p guile-wisp))))) (home-page "https://workflows.guix.info") (synopsis "Workflow management extension for GNU Guix") (description "The @dfn{Guix Workflow Language} (GWL) provides an @@ -1015,8 +1049,8 @@ environments.") (license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) (define-public guix-build-coordinator - (let ((commit "98f50831612b9d1253ae8ca2bceb547fed373f41") - (revision "5")) + (let ((commit "6fb5eafc33efa109b220efe71594cfcdb2efe133") + (revision "24")) (package (name "guix-build-coordinator") (version (git-version "0" revision commit)) @@ -1027,7 +1061,7 @@ environments.") (commit commit))) (sha256 (base32 - "08xwb5phh14cxgwv4fxcd2hhpjgqxfknm9zkx9qp26zb56w2xzkz")) + "1lf7jry18kwglvyakfkmi8bif8ppsdinl0xjgmkgkp4mvmymh2gj")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1044,7 +1078,7 @@ environments.") (setenv "GUILE_AUTO_COMPILE" "0") #t)) (add-after 'install 'wrap-executable - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key inputs outputs target #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (guile (assoc-ref inputs "guile")) @@ -1054,18 +1088,51 @@ environments.") (for-each (lambda (file) (simple-format (current-error-port) "wrapping: ~A\n" file) - (wrap-program file - `("PATH" ":" prefix - (,bin - ;; Support building without sqitch as an input, as it - ;; can't be cross-compiled yet - ,@(or (and=> (assoc-ref inputs "sqitch") - list) - '()))) - `("GUILE_LOAD_PATH" ":" prefix - (,scm ,(getenv "GUILE_LOAD_PATH"))) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix - (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))) + (let ((guile-inputs (list + "guile-json" + "guile-gcrypt" + "guix" + "guile-prometheus" + "guile-lib" + "guile-lzlib" + "guile-zlib" + "gnutls" + ,@(if (hurd-target?) + '() + '("guile-fibers"))))) + (wrap-program file + `("PATH" ":" prefix + (,bin + ;; Support building without sqitch as an input, as it + ;; can't be cross-compiled yet + ,@(or (and=> (assoc-ref inputs "sqitch") + list) + '()))) + `("GUILE_LOAD_PATH" ":" prefix + (,scm ,(string-join + (map (lambda (input) + (simple-format + #f "~A/share/guile/site/~A" + (assoc-ref inputs input) + version)) + guile-inputs) + ":"))) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix + (,go ,(string-join + (map (lambda (input) + (simple-format + #f "~A/lib/guile/~A/site-ccache" + (assoc-ref inputs input) + version)) + guile-inputs) + ":")))) + (when target + ;; XXX work around wrap-program picking bash for the + ;; host rather than target + (let ((bash (assoc-ref inputs "bash"))) + (substitute* file + (("^#!.*/bash") + (string-append "#! " bash "/bin/bash"))))))) (find-files bin))) #t)) (delete 'strip)))) ; As the .go files aren't compatible @@ -1076,7 +1143,7 @@ environments.") ("gnutls" ,gnutls) ;; Guile libraries are needed here for cross-compilation. - ("guile-json" ,guile-json-3) + ("guile-json" ,guile-json-4) ("guile-gcrypt" ,guile-gcrypt) ("guix" ,guix) ("guile-prometheus" ,guile-prometheus) @@ -1085,10 +1152,17 @@ environments.") ("guile" ,@(assoc-ref (package-native-inputs guix) "guile")))) (inputs `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) + ,@(if (%current-target-system) + `(("bash" ,bash-minimal)) + '()) ("sqlite" ,sqlite) - ("sqitch" ,sqitch))) + ,@(if (hurd-target?) + '() + `(("sqitch" ,sqitch))))) (propagated-inputs - `(("guile-fibers" ,guile-fibers) + `(,@(if (hurd-target?) + '() + `(("guile-fibers" ,guile-fibers))) ("guile-prometheus" ,guile-prometheus) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) @@ -1109,7 +1183,7 @@ outputs of those builds.") (define-public guix-jupyter (package (name "guix-jupyter") - (version "0.1.0") + (version "0.2.1") (home-page "https://gitlab.inria.fr/guix-hpc/guix-kernel") (source (origin (method git-fetch) @@ -1117,24 +1191,7 @@ outputs of those builds.") (commit (string-append "v" version)))) (sha256 (base32 - "01z7jjkc7r7lj6637rcgpz40v8xqqyfp6871h94yvcnwm7zy9h1n")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Allow builds with Guile 3.0. - (substitute* "configure.ac" - (("^GUILE_PKG.*") - "GUILE_PKG([3.0 2.2])\n")) - - ;; Avoid name clash and build failure now that - ;; 'define-json-mapping' is also provided by Guile-JSON, as - ;; of version 4.3. - (substitute* (find-files "." "\\.scm$") - (("define-json-mapping") - "define-json-mapping*") - (("<=>") - "<->")) - #t)) + "1kqwfp5h95s6mirq5nbydsbmlhsinn32grz1ld5mbxvhl6sn2i0j")) (file-name (string-append "guix-jupyter-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1327,14 +1384,14 @@ the boot loader configuration.") (define-public flatpak (package (name "flatpak") - (version "1.8.2") + (version "1.10.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/flatpak/flatpak/releases/download/" version "/flatpak-" version ".tar.xz")) (sha256 - (base32 "1c45a0k7wx685n5b3ihv7dk0mm2kmwbw7cx8w5g2la62yxfn49kr")))) + (base32 "1r6xw7r3ir2vaa30n3mily6m7d51cf4qv22fkqlzzy3js0wjf5fv")))) ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to ;; find the TLS backend in glib-networking.