aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/package-management.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/package-management.scm')
-rw-r--r--gnu/packages/package-management.scm356
1 files changed, 218 insertions, 138 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 491423d41e..ad3a6db9af 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,10 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
@@ -18,7 +18,7 @@
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;;
@@ -80,6 +80,7 @@
#:use-module (gnu packages libedit)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages nettle)
@@ -111,6 +112,7 @@
#:use-module (gnu packages version-control)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system guile)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
@@ -120,6 +122,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
+ #:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@@ -156,8 +159,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.3.0")
- (commit "2fb4304ee7eb7d17d48bee345677ef1f288a0b86")
- (revision 24))
+ (commit "598f7289db9955584457ffc11c8504f3938a1618")
+ (revision 27))
(package
(name "guix")
@@ -173,7 +176,7 @@
(commit commit)))
(sha256
(base32
- "0pwizj76n9wpzcb4a631gj8yfxfpzq11p5kmmvmv6j4cqhn61dr0"))
+ "0i4rdmh74dws57i8cjsrcdxrb3r8lph3mnvwafdqlfripxvn7yry"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -472,14 +475,9 @@ $(prefix)/etc/openrc\n")))
(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")))))
-
+ $SSL_CERT_DIR))
(home-page "https://www.gnu.org/software/guix/")
(synopsis "Functional package manager for installed software packages and versions")
(description
@@ -491,6 +489,30 @@ the Nix package manager.")
(license license:gpl3+)
(properties '((ftp-server . "alpha.gnu.org"))))))
+(define-public guix-for-cuirass
+ ;; Known-good revision before commit
+ ;; bd86bbd300474204878e927f6cd3f0defa1662a5, which introduced
+ ;; 'primitive-fork' in 'open-inferior'.
+ (let ((version "1.3.0")
+ (commit "a27e47f9d1e22dc32bb250cfeef88cfacb930e23")
+ (revision 23))
+ (package
+ (inherit guix)
+ (version (string-append version "-"
+ (number->string revision)
+ "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.savannah.gnu.org/git/guix.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "12jmvagbw05hmmlrb82i0qazhlv7mcfnl4dmknwx3a9hd760g9y1"))
+ (file-name (string-append "guix-" version "-checkout"))))
+ (properties `((hidden? . #t)
+ ,@(package-properties guix))))))
+
(define-public guix-daemon
;; This package is for internal consumption: it allows us to quickly build
;; the 'guix-daemon' program and use that in (guix self), used by 'guix
@@ -660,6 +682,50 @@ out) and returning a package that uses that as its 'source'."
the Icon Theme Specification. They can be used by applications querying the
GTK icon cache for instance.")))
+(define-public guix-modules
+ (package
+ (name "guix-modules")
+ (version "0.1.0")
+ (home-page "https://gitlab.inria.fr/guix-hpc/guix-modules")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (string-append "guix-modules-" version "-checkout"))
+ (sha256
+ (base32
+ "1ckvrrmkgzz93i35sj1372wxs7ln4gzszpri1pcdf473z0p7nh7w"))))
+ (build-system guile-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'install 'move-to-extension-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (target (string-append
+ out
+ "/share/guix/extensions/module.scm")))
+ (mkdir-p (dirname target))
+ (rename-file (car (find-files out "module.scm"))
+ target)))))))
+ (native-inputs (list (lookup-package-input guix "guile") guix))
+ (synopsis "Generate environment modules from Guix packages")
+ (description
+ "Guix-Modules is an extension of Guix that provides a new @command{guix
+module} command. The @command{guix module create} sub-command creates
+@dfn{environment modules}, allowing you to manipulate software environments
+with the @command{module} command commonly found on @acronym{HPC,
+high-performance computing} clusters.
+
+To use this extension, set the @env{GUIX_EXTENSIONS_PATH} environment
+variable, along these lines:
+
+@example
+export GUIX_EXTENSIONS_PATH=\"$HOME/.guix-profile/share/guix/extensions\"
+@end example
+
+Replace @code{$HOME/.guix-profile} with the appropriate profile.")
+ (license license:gpl3+)))
+
;;;
;;; Other tools.
@@ -784,7 +850,7 @@ features of Stow with some extensions.")
(define-public rpm
(package
(name "rpm")
- (version "4.16.1.3")
+ (version "4.17.0")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.rpm.org/releases/rpm-"
@@ -792,35 +858,40 @@ features of Stow with some extensions.")
version ".tar.bz2"))
(sha256
(base32
- "07g2g0adgjm29wqy94iqhpp5dk0hacfw1yf7kzycrrxnfbwwfgai"))))
+ "0sjyqs6hc57k46f45b68dfxnp985s0gar0fi1s0ig6vl4h5j439f"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("--with-external-db" ;use the system's bdb
- "--enable-python"
- "--without-lua")
+ '(#:configure-flags '("--with-external-db" ;use the system's bdb
+ "--enable-python")
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'fix-lua-check
+ (lambda _
+ (substitute* "configure"
+ (("lua >= 5.3")
+ "lua-5.3 >= 5.3"))))
(add-before 'configure 'set-nss-library-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((nss (assoc-ref inputs "nss")))
(setenv "LIBRARY_PATH"
(string-append (getenv "LIBRARY_PATH") ":"
- nss "/lib/nss"))
- #t))))))
+ nss "/lib/nss"))))))))
(native-inputs
(list pkg-config))
(inputs
- (list python
- xz
- bdb
- popt
- nss
- nspr
+ (list bdb
+ bzip2
+ cpio
+ file
libarchive
libgcrypt
- file
- bzip2
- zlib
- cpio))
+ lua
+ nspr
+ nss
+ popt
+ python
+ sqlite
+ xz
+ zlib))
(home-page "https://rpm.org/")
(synopsis "The RPM Package Manager")
(description
@@ -1067,7 +1138,7 @@ written entirely in Python.")
(define-public conan
(package
(name "conan")
- (version "1.42.0")
+ (version "1.47.0")
(source
(origin
(method git-fetch) ;no tests in PyPI archive
@@ -1077,7 +1148,7 @@ written entirely in Python.")
(file-name (git-file-name name version))
(sha256
(base32
- "153npvj81m1c33gfcv2nry7xhyikxnhjns7lvs525f1x20ck6asg"))))
+ "1zs2xb22rsy5fsc0fd7c95vrx1mfz7vasyg1lqkzyfimvn5zah6n"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1088,7 +1159,9 @@ written entirely in Python.")
(("node-semver==0.6.1")
"node-semver>=0.6.1")
(("Jinja2>=2.9, <3")
- "Jinja2>=2.9"))))
+ "Jinja2>=2.9")
+ (("PyYAML>=3.11, <6.0")
+ "PyYAML"))))
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((coreutils (assoc-ref inputs "coreutils")))
@@ -1144,6 +1217,8 @@ written entirely in Python.")
;; This one fails for unknown reasons (see:
;; https://github.com/conan-io/conan/issues/9671).
"and not test_build "
+ ;; This test expects the 'apt' command to be available.
+ "and not test_apt_check "
(if (not (string-prefix? "x86_64" system))
;; These tests either assume the machine is
;; x86_64, or require a cross-compiler to target
@@ -1183,7 +1258,7 @@ written entirely in Python.")
python-pluginbase
python-pygments
python-pyjwt
- python-pyyaml
+ python-pyyaml-5
python-requests
python-six
python-tqdm
@@ -1267,8 +1342,8 @@ environments.")
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
(define-public guix-build-coordinator
- (let ((commit "f1223225144b866951f13ece7f0583fd826a5705")
- (revision "50"))
+ (let ((commit "3de63f1f66d5f0eb157ee60bc864404f386ee2b0")
+ (revision "53"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1279,7 +1354,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "1yw5hzmkhgb2s29wv7bsi3w50ps9zi0zd1n0faxbcfyglsryvgbs"))
+ "1ld761c48ad925p3kisnjvad50p6hyk77z0yjcr29681n73xzzz4"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -1575,8 +1650,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
- (let ((commit "f69da3686583d53974e720a9e66103126631cb69")
- (revision "4"))
+ (let ((commit "a24fbd108f75c8f27d2f68f2d1a051e2f3f3e191")
+ (revision "7"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@@ -1587,7 +1662,7 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
- "0glcmma6gkxna45bv0yki3l13r34ha7v0jrli3vmh4ysnhsnc4ii"))
+ "1jm6ks2sjcwih7j4wnp252qd73n8pydg7sd000ismpvg5p21l7fg"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -1618,6 +1693,7 @@ in an isolated environment, in separate namespaces.")
"guile-gcrypt"
"guix"
"guile-lib"
+ "guile-prometheus"
"guile-sqlite3"
"gnutls"
"guile-fibers")))
@@ -1654,6 +1730,7 @@ in an isolated environment, in separate namespaces.")
guile-gcrypt
guix
guile-fibers-1.1
+ guile-prometheus
guile-lib
guile-sqlite3))
(inputs
@@ -1664,6 +1741,7 @@ in an isolated environment, in separate namespaces.")
guile-gcrypt
guix
guile-fibers-1.1
+ guile-prometheus
guile-lib
guile-sqlite3
gnutls))
@@ -1742,7 +1820,7 @@ for packaging and deployment of cross-compiled Windows applications.")
(define-public libostree
(package
(name "libostree")
- (version "2022.1")
+ (version "2022.3")
(source
(origin
(method url-fetch)
@@ -1750,7 +1828,7 @@ for packaging and deployment of cross-compiled Windows applications.")
"https://github.com/ostreedev/ostree/releases/download/v"
(version-major+minor version) "/libostree-" version ".tar.xz"))
(sha256
- (base32 "1mfakwm0sjvb1vvl3jhc451yyf723k7c4vv1yqs8law4arw0x823"))))
+ (base32 "04pn4ibak8k7qlm0722im5ng8gyn1r5y5ggyz75ca0smrnfzs8xq"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1759,8 +1837,7 @@ for packaging and deployment of cross-compiled Windows applications.")
(lambda _
;; Don't try to use the non-existing '/var/tmp' as test
;; directory.
- (setenv "TEST_TMPDIR" (getenv "TMPDIR"))
- #t)))
+ (setenv "TEST_TMPDIR" (getenv "TMPDIR")))))
;; XXX: fails with:
;; tap-driver.sh: missing test plan
;; tap-driver.sh: internal error getting exit status
@@ -1795,115 +1872,118 @@ the boot loader configuration.")
(define-public flatpak
(package
- (name "flatpak")
- (version "1.12.7")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
- version "/flatpak-" version ".tar.xz"))
- (sha256
- (base32 "05lkpbjiwp69q924i1jfyk5frcqbdbv9kyzbqwm2hy723i9jmdbd"))
- (patches (search-patches "flatpak-fix-path.patch"))))
-
- ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to
- ;; find the TLS backend in glib-networking.
- (build-system glib-or-gtk-build-system)
-
- (arguments
- '(#:configure-flags
- (list
- "--enable-documentation=no" ;; FIXME
- "--enable-system-helper=no"
- "--localstatedir=/var"
- (string-append "--with-system-bubblewrap="
- (assoc-ref %build-inputs "bubblewrap")
- "/bin/bwrap")
- (string-append "--with-system-dbus-proxy="
- (assoc-ref %build-inputs "xdg-dbus-proxy")
- "/bin/xdg-dbus-proxy"))
+ (name "flatpak")
+ (version "1.12.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
+ version "/flatpak-" version ".tar.xz"))
+ (sha256
+ (base32 "05lkpbjiwp69q924i1jfyk5frcqbdbv9kyzbqwm2hy723i9jmdbd"))
+ (patches
+ (search-patches "flatpak-fix-path.patch"
+ "flatpak-unset-gdk-pixbuf-for-sandbox.patch"))))
+
+ ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to
+ ;; find the TLS backend in glib-networking.
+ (build-system glib-or-gtk-build-system)
+
+ (arguments
+ (list
+ #:configure-flags
+ #~(list
+ "--enable-documentation=no" ;; FIXME
+ "--enable-system-helper=no"
+ "--localstatedir=/var"
+ (string-append "--with-system-bubblewrap="
+ (assoc-ref %build-inputs "bubblewrap")
+ "/bin/bwrap")
+ (string-append "--with-system-dbus-proxy="
+ (assoc-ref %build-inputs "xdg-dbus-proxy")
+ "/bin/xdg-dbus-proxy"))
#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda* (#:key inputs #:allow-other-keys)
- (copy-recursively
- (search-input-directory inputs "lib/locale")
- "/tmp/locale")
- (for-each make-file-writable (find-files "/tmp"))
- (substitute* "tests/make-test-runtime.sh"
- (("cp `which.*") "echo guix\n")
- (("cp -r /usr/lib/locale/C\\.\\*")
- (string-append "mkdir ${DIR}/usr/lib/locale/en_US; \
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively
+ (search-input-directory inputs "lib/locale")
+ "/tmp/locale")
+ (for-each make-file-writable (find-files "/tmp"))
+ (substitute* "tests/make-test-runtime.sh"
+ (("cp `which.*") "echo guix\n")
+ (("cp -r /usr/lib/locale/C\\.\\*")
+ (string-append "mkdir ${DIR}/usr/lib/locale/en_US; \
cp -r /tmp/locale/*/en_US.*")))
- (substitute* "tests/libtest.sh"
- (("/bin/kill") (which "kill"))
- (("/usr/bin/python3") (which "python3")))
- #t))
- (add-after 'unpack 'p11-kit-fix
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((p11-path (search-input-file inputs "/bin/p11-kit")))
- (substitute* "session-helper/flatpak-session-helper.c"
- (("\"p11-kit\",")
- (string-append "\"" p11-path "\","))
- (("if \\(g_find_program_in_path \\(\"p11-kit\"\\)\\)")
- (string-append "if (g_find_program_in_path (\""
- p11-path "\"))"))))))
- ;; Many tests fail for unknown reasons, so we just run a few basic
- ;; tests.
- (replace 'check
- (lambda _
- (setenv "HOME" "/tmp")
- (invoke "make" "check"
- "TESTS=tests/test-basic.sh tests/test-config.sh testcommon"))))))
- (native-inputs
- (list bison
- dbus ; for dbus-daemon
- gettext-minimal
- `(,glib "bin") ; for glib-mkenums + gdbus-codegen
- glibc-utf8-locales
- gobject-introspection
- libcap
- pkg-config
- python
- python-pyparsing
- socat
- which))
- (inputs
- (list appstream-glib
- bubblewrap
- dconf
- fuse
- gdk-pixbuf
- gpgme
- json-glib
- libarchive
- libostree
- libseccomp
- libsoup-minimal-2
- libxau
- libxml2
- p11-kit-next
- util-linux
- xdg-dbus-proxy))
- (propagated-inputs (list glib-networking gnupg gsettings-desktop-schemas))
- (home-page "https://flatpak.org")
- (synopsis "System for building, distributing, and running sandboxed desktop
+ (substitute* "tests/libtest.sh"
+ (("/bin/kill") (which "kill"))
+ (("/usr/bin/python3") (which "python3")))
+ #t))
+ (add-after 'unpack 'p11-kit-fix
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((p11-path (search-input-file inputs "/bin/p11-kit")))
+ (substitute* "session-helper/flatpak-session-helper.c"
+ (("\"p11-kit\",")
+ (string-append "\"" p11-path "\","))
+ (("if \\(g_find_program_in_path \\(\"p11-kit\"\\)\\)")
+ (string-append "if (g_find_program_in_path (\""
+ p11-path "\"))"))))))
+ ;; Many tests fail for unknown reasons, so we just run a few basic
+ ;; tests.
+ (replace 'check
+ (lambda _
+ (setenv "HOME" "/tmp")
+ (invoke "make" "check"
+ "TESTS=tests/test-basic.sh tests/test-config.sh testcommon"))))))
+ (native-inputs
+ (list bison
+ dbus ; for dbus-daemon
+ gettext-minimal
+ `(,glib "bin") ; for glib-mkenums + gdbus-codegen
+ glibc-utf8-locales
+ gobject-introspection
+ libcap
+ pkg-config
+ python
+ python-pyparsing
+ socat
+ which))
+ (inputs
+ (list appstream-glib
+ bubblewrap
+ dconf
+ fuse
+ gdk-pixbuf
+ gpgme
+ json-glib
+ libarchive
+ libostree
+ libseccomp
+ libsoup-minimal-2
+ libxau
+ libxml2
+ p11-kit-next
+ util-linux
+ xdg-dbus-proxy))
+ (propagated-inputs (list glib-networking gnupg gsettings-desktop-schemas))
+ (home-page "https://flatpak.org")
+ (synopsis "System for building, distributing, and running sandboxed desktop
applications")
- (description "Flatpak is a system for building, distributing, and running
+ (description "Flatpak is a system for building, distributing, and running
sandboxed desktop applications on GNU/Linux.")
- (license license:lgpl2.1+)))
+ (license license:lgpl2.1+)))
(define-public akku
(package
(name "akku")
- (version "1.0.1")
+ (version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/akkuscm/akku.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
- (sha256 (base32 "1dm32ws3nshnnscd7k75zswxxs1pp25y2q4k8j5ms241hz47by3c"))))
+ (sha256 (base32 "1pi18aamg1fd6f9ynfl7zx92052xzf0zwmhi2pwcwjs1kbah19f5"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases