summary refs log tree commit diff
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.scm257
1 files changed, 124 insertions, 133 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index ca7c720778..13674a0cc3 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013-2023 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>
@@ -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, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
 ;;;
@@ -164,9 +164,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.3.0")
-        (commit "9e4632081ff31bf0d1715edd66f514614c6dc4bb")
-        (revision 29))
+  (let ((version "1.4.0")
+        (commit "d5fece6bfe6b2eaf93f936a4a6dea8fbfe118140")
+        (revision 3))
     (package
       (name "guix")
 
@@ -182,7 +182,7 @@
                       (commit commit)))
                 (sha256
                  (base32
-                  "1x32l8szclv8zlwdjr8yfidxxm4n7dgm6j7xypmx5mg5pkakyan5"))
+                  "1q7qfxhfayhcia30w60klnv3q29a2n72vvf1wkdvwx55q3p8prsc"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -350,7 +350,7 @@ $(prefix)/etc/openrc\n")))
                                (bs     (assoc-ref inputs
                                                   "guile-bytestructures"))
                                (ssh    (assoc-ref inputs "guile-ssh"))
-                               (gnutls (assoc-ref inputs "gnutls"))
+                               (gnutls (assoc-ref inputs "guile-gnutls"))
                                (disarchive (assoc-ref inputs "disarchive"))
                                (lzma (assoc-ref inputs "guile-lzma"))
                                (locales (assoc-ref inputs "glibc-utf8-locales"))
@@ -406,8 +406,8 @@ $(prefix)/etc/openrc\n")))
                        ;; Guile libraries are needed here for
                        ;; cross-compilation.
                        ("guile" ,guile-3.0-latest) ;for faster builds
-                       ("gnutls" ,gnutls)
-                       ,@(if (%current-target-system)
+                       ("guile-gnutls" ,guile-gnutls)
+                       ,@(if (hurd-target?)
                              '()
                              `(("guile-avahi" ,guile-avahi)))
                        ("guile-gcrypt" ,guile-gcrypt)
@@ -435,6 +435,7 @@ $(prefix)/etc/openrc\n")))
          ("gzip" ,gzip)
          ("sqlite" ,sqlite)
          ("libgcrypt" ,libgcrypt)
+         ("zlib" ,zlib)
 
          ("guile" ,guile-3.0-latest)
 
@@ -463,9 +464,9 @@ $(prefix)/etc/openrc\n")))
 
          ("glibc-utf8-locales" ,glibc-utf8-locales)))
       (propagated-inputs
-       `(("gnutls" ,gnutls)
+       `(("guile-gnutls" ,guile-gnutls)
          ;; Avahi requires "glib" which doesn't cross-compile yet.
-         ,@(if (%current-target-system)
+         ,@(if (hurd-target?)
                '()
                `(("guile-avahi" ,guile-avahi)))
          ("guile-gcrypt" ,guile-gcrypt)
@@ -492,8 +493,7 @@ also a distribution thereof.  It includes a virtual machine image.  Besides
 the usual package management features, it also supports transactional
 upgrades and roll-backs, per-user profiles, and much more.  It is based on
 the Nix package manager.")
-      (license license:gpl3+)
-      (properties '((ftp-server . "alpha.gnu.org"))))))
+      (license license:gpl3+))))
 
 (define* (channel-source->package source #:key commit)
   "Return a package for the given channel SOURCE, a lowerable object."
@@ -510,30 +510,6 @@ the Nix package manager.")
 
 (export channel-source->package)
 
-(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
@@ -550,7 +526,7 @@ the Nix package manager.")
     (inputs
      (modify-inputs (package-inputs guix)
        (delete "boot-guile" "boot-guile/i686" "util-linux")
-       (prepend gnutls guile-git guile-json-3 guile-gcrypt)))
+       (prepend guile-gnutls guile-git guile-json-3 guile-gcrypt)))
 
     (propagated-inputs '())
 
@@ -854,7 +830,7 @@ features of Stow with some extensions.")
 (define-public rpm
   (package
     (name "rpm")
-    (version "4.17.1")
+    (version "4.18.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://ftp.rpm.org/releases/rpm-"
@@ -862,36 +838,25 @@ features of Stow with some extensions.")
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "0pbfj94ha59lbnd8dk0aqyxjv37xixfdcazq3y2mhwkf8s9vf48c"))))
+                "0m250plyananjn0790xmwy6kixmxcdj5iyy2ybnk1aw7f4nia5ra"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--with-external-db" ;use the system's bdb
-                           "--enable-python")
+     '(#:configure-flags '("--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"))))))))
+                        (("lua >= ?.?")
+                         "lua-5.3 >= 5.3")))))))
     (native-inputs
-     (list pkg-config))
+     (list pkg-config
+           python))
     (inputs
-     (list bdb
-           bzip2
-           cpio
+     (list bzip2
            file
            libarchive
            libgcrypt
            lua
-           nspr
-           nss
-           python
            sqlite
            xz
            zlib))
@@ -1006,7 +971,7 @@ extracting, creating, and converting between formats.")
 (define-public conda
   (package
     (name "conda")
-    (version "4.10.3")
+    (version "22.9.0")
     (source
      (origin
        (method git-fetch)
@@ -1016,17 +981,16 @@ extracting, creating, and converting between formats.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1w4yy62bsvkybjvcm5fspck4ns5j16nplzpbx6bxv7zhx69pcp4n"))))
+         "16vz4vx311ry9w35mi5wna8p8n3abd6wdqrpqzjfdlwv7hcr44s4"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'fix-permissions
+         ;; The default version of pytest does not support these options.
+         (add-after 'unpack 'use-older-pytest
            (lambda _
-             ;; This file is no longer writable after downloading with
-             ;; 'git-fetch'
-             (make-file-writable
-              "tests/conda_env/support/saved-env/environment.yml")))
+             (substitute* "setup.cfg"
+               (("--xdoctest-.*") ""))))
          (add-after 'unpack 'fix-ruamel-yaml-dependency
            (lambda _
              (substitute* "setup.py"
@@ -1041,8 +1005,7 @@ extracting, creating, and converting between formats.")
                (substitute* "conda/core/initialize.py"
                  (("python_exe = join")
                   (format #f "python_exe = \"~a/bin/python\" #"
-                          python))))
-             #t))
+                          python))))))
          (add-after 'unpack 'do-not-use-python-root-as-prefix
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out"))
@@ -1065,45 +1028,50 @@ extracting, creating, and converting between formats.")
                  (("os.path.join\\(sys.prefix, bin_dir, exe\\)")
                   (format #f "\"~a/bin/conda\"" out))
                  (("'CONDA_EXE', sys.executable")
-                  (format #f "'CONDA_EXE', \"~a/bin/conda\"" out))))
-             #t))
+                  (format #f "'CONDA_EXE', \"~a/bin/conda\"" out))))))
          (add-before 'build 'create-version-file
            (lambda _
              (with-output-to-file "conda/.version"
-               (lambda () (display ,version)))
-             #t))
+               (lambda () (display ,version)))))
          (replace 'check
-           (lambda _
-             (setenv "HOME" "/tmp")
-             (invoke "py.test" "-vv"
-                     "-k"
-                     (string-append
-                      "not integration"
-                      ;; This one reports a newer version of conda than
-                      ;; expected.
-                      " and not test_auto_update_conda"
-                      ;; This fails because the output directory is not a
-                      ;; Conda environment.
-                      " and not test_list"
-                      ;; This fails because we patched the default root
-                      ;; prefix.
-                      " and not test_default_target_is_root_prefix"
-
-                      ;; These fail because ...
-                      ;; TODO: conda patches its own shebang to
-                      ;; $conda-prefix/bin/python, which is obviously wrong.
-                      " and not test_run_returns_int"
-                      " and not test_run_returns_zero_errorlevel"
-                      " and not test_run_returns_nonzero_errorlevel"
-
-                      ;; TODO: I don't understand what this failure means
-                      " and not test_PrefixData_return_value_contract"
-                      ;; TODO: same here
-                      " and not test_install_1"
-                      ;; Not sure if this is really wrong.  This fails because
-                      ;; /gnu/store/...python-conda-4.8.3/bin/python
-                      ;; is not /gnu/store/...python-wrapper-3.8.2/bin/python
-                      " and not test_make_entry_point"))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             ;; These tests all require network access.
+             (for-each delete-file '("tests/cli/test_main_clean.py"
+                                     "tests/cli/test_main_rename.py"))
+             (when tests?
+               (setenv "HOME" "/tmp")
+               (invoke "py.test" "-vv"
+                       "-k"
+                       (string-append
+                        "not integration"
+                        ;; This one reports a newer version of conda than
+                        ;; expected; conda-1.5.2-py27_0 instead of
+                        ;; conda-1.3.5-py27_0.
+                        " and not test_auto_update_conda"
+                        ;; This fails because the output directory is not a
+                        ;; Conda environment.
+                        " and not test_list"
+                        ;; This fails because we patched the default root
+                        ;; prefix.
+                        " and not test_default_target_is_root_prefix"
+                        ;; This fails because of missing features in python-flaky.
+                        " and not test_no_features"
+                        ;; These fail because they require network access
+                        " and not test_no_ssl"
+                        " and not test_run_readonly_env"
+                        " and not test_run_returns_int"
+                        " and not test_run_returns_nonzero_errorlevel"
+                        " and not test_run_returns_zero_errorlevel"
+                        " and not test_run_uncaptured"
+
+                        ;; TODO: I don't understand what this failure means
+                        " and not test_PrefixData_return_value_contract"
+                        ;; TODO: same here
+                        " and not test_install_1"
+                        ;; Not sure if this is really wrong.  This fails because
+                        ;; /gnu/store/...conda-22.9.0/bin/python
+                        ;; is not /gnu/store/...python-wrapper-3.9.9/bin/python
+                        " and not test_make_entry_point")))))
          (add-after 'install 'init
            ;; This writes a whole bunch of shell initialization files to the
            ;; prefix directory.  Many features of conda can only be used after
@@ -1118,8 +1086,10 @@ extracting, creating, and converting between formats.")
      (list python-wrapper))
     (propagated-inputs
      (list python-anaconda-client
+           python-boto3
            python-conda-package-handling
            python-cytoolz
+           python-pluggy
            python-pycosat
            python-pytest
            python-pyyaml
@@ -1130,7 +1100,10 @@ extracting, creating, and converting between formats.")
            ;; XXX: This is dragged in by libarchive and is needed at runtime.
            zstd))
     (native-inputs
-     (list python-pytest-timeout))
+     (list python-coverage
+           python-flaky
+           python-pytest-timeout
+           python-pytest-xprocess))
     (home-page "https://github.com/conda/conda")
     (synopsis "Cross-platform, OS-agnostic, system-level binary package manager")
     (description
@@ -1309,18 +1282,26 @@ allow for great power and flexibility.
 (define-public gwl
   (package
     (name "gwl")
-    (version "0.5.0")
+    (version "0.5.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/gwl/gwl-" version ".tar.gz"))
               (sha256
                (base32
-                "09r22gqgaj2mxvlwvfach5j1n66y3yggmzc6d2gxq7lyywbcvjvs"))))
+                "08h76ib7hmqyj354aazxqyz0galhywz4093f8hc4py7hbg0rcm27"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-build? #false ; for reproducibility
        #:make-flags
-       '("GUILE_AUTO_COMPILE=0" "GWL_SKIP_INTEGRATION_TESTS=1")))
+       '("GUILE_AUTO_COMPILE=0" "GWL_SKIP_INTEGRATION_TESTS=1")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-test
+           (lambda _
+             ;; This test loads a workflow, which requires a working Guix installation.
+             (substitute* "tests/cache.scm"
+               (("\\(test-assert \"workflows with same file name have different cache prefixes\"" m)
+                (string-append "#;" m))))))))
     (native-inputs
      (list autoconf automake pkg-config texinfo graphviz))
     (inputs
@@ -1366,8 +1347,8 @@ environments.")
                   "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
 
 (define-public guix-build-coordinator
-  (let ((commit "31b3ab65da2d9a02f0453d12a81816b25c8ad75d")
-        (revision "60"))
+  (let ((commit "3768aec91daebb8db58e28cffe481e8878b59700")
+        (revision "68"))
     (package
       (name "guix-build-coordinator")
       (version (git-version "0" revision commit))
@@ -1378,7 +1359,7 @@ environments.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "1hh1qy3xqpani3zfbm3wi4zw7f8cnbfjk4q1z7ynailadlfrkblk"))
+                  "0vh4hndqgpz8rwrlfc6vhypy1hxayb8lvxw1jc41ags3lhw75dcz"))
                 (file-name (string-append name "-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -1414,7 +1395,7 @@ environments.")
                                          "guile-lzlib"
                                          "guile-zlib"
                                          "guile-sqlite3"
-                                         "gnutls"
+                                         "guile-gnutls"
                                          ,@(if (hurd-target?)
                                                '()
                                                '("guile-fibers")))))
@@ -1458,7 +1439,7 @@ environments.")
        (list pkg-config
              autoconf
              automake
-             gnutls
+             guile-gnutls
 
              ;; Guile libraries are needed here for cross-compilation.
              guile-json-4
@@ -1486,7 +1467,7 @@ environments.")
               guile-zlib
               guile-sqlite3
               guix
-              gnutls)
+              guile-gnutls)
         (if (hurd-target?)
             '()
             (list guile-fibers-1.1))))
@@ -1535,7 +1516,7 @@ outputs of those builds.")
                                        "guile-lzlib"
                                        "guile-zlib"
                                        "guile-sqlite3"
-                                       "gnutls")))
+                                       "guile-gnutls")))
                     (wrap-program file
                       `("PATH" ":" prefix (,bin))
                       `("GUILE_LOAD_PATH" ":" prefix
@@ -1563,7 +1544,7 @@ outputs of those builds.")
      (list pkg-config
            autoconf
            automake
-           gnutls
+           guile-gnutls
 
            ;; Guile libraries are needed here for cross-compilation.
            guile-json-4
@@ -1584,7 +1565,7 @@ outputs of those builds.")
                guile-lzlib
                guile-zlib
                guix
-               gnutls)))
+               guile-gnutls)))
     (description
      "The Guix Build Coordinator helps with performing lots of builds across
 potentially many machines, and with doing something with the results and
@@ -1613,7 +1594,7 @@ This package just includes the agent component.")))
                   (ice-9 rdelim)
                   (guix build utils)
                   (guix build gnu-build-system))
-       #:parallel-tests? #f         ;kernels.scm frequently breaks in parallel
+
        #:phases
        (modify-phases %standard-phases
          (add-after 'install 'sed-kernel-json
@@ -1649,9 +1630,17 @@ This package just includes the agent component.")))
                          "-s")
                    "\",\n\t\t\""))
                  (("guix-jupyter-kernel.scm")
-                  (string-append out "/share/guile/site/3.0/"
-                                 "guix-jupyter-kernel.scm")))
-               #t))))))
+                  (string-append out "/share/guile/site/" effective
+                                 "/guix-jupyter-kernel.scm"))))))
+         (add-before 'check 'define-home
+           (lambda _
+             ;; IPython goes awry when HOME points to a non-existent
+             ;; directory:
+             ;;
+             ;; IPython/paths.py:70: UserWarning: IPython parent '/homeless-shelter' is not a writable location, using a temp directory.
+             ;;
+             ;; This in turn leads to test failures, so define HOME.
+             (setenv "HOME" (getcwd)))))))
     (native-inputs
      (list autoconf
            automake
@@ -1661,8 +1650,7 @@ This package just includes the agent component.")))
            python-ipython
            python-ipykernel))
     (inputs
-     `(("guix" ,guix)
-       ("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))))
+     (list guix (lookup-package-native-input guix "guile")))
     (propagated-inputs
      (list guile-json-4 guile-simple-zmq guile-gcrypt))
     (synopsis "Guix kernel for Jupyter")
@@ -1675,8 +1663,8 @@ in an isolated environment, in separate namespaces.")
     (license license:gpl3+)))
 
 (define-public nar-herder
-  (let ((commit "5acfcc0a9d99d78a167c365534aa5bf592f5625e")
-        (revision "9"))
+  (let ((commit "8d219e49c8f1623bdd3622f8c024c40acb0004c2")
+        (revision "10"))
     (package
       (name "nar-herder")
       (version (git-version "0" revision commit))
@@ -1687,7 +1675,7 @@ in an isolated environment, in separate namespaces.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "1mxdkay3l1la7b6m0455s8cansd6qcdhv0k231aik0ayhbck8kby"))
+                  "0bxhwmfywy03iqmy7a039xr4cb9vfjsqpj7w5ybhmiqhf0yv9hpa"))
                 (file-name (string-append name "-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -1719,10 +1707,11 @@ in an isolated environment, in separate namespaces.")
                                          "guix"
                                          "guile-lib"
                                          "guile-lzlib"
+                                         "guile-zstd"
                                          "guile-prometheus"
                                          "guile-sqlite3"
-                                         "gnutls"
-                                         "guile-fibers")))
+                                         "guile-gnutls"
+                                         "guile-fibers-next")))
                       (wrap-program file
                         `("GUILE_LOAD_PATH" ":" prefix
                           (,scm ,(string-join
@@ -1748,17 +1737,18 @@ in an isolated environment, in separate namespaces.")
        (list pkg-config
              autoconf
              automake
-             gnutls
+             guile-gnutls
 
              ;; Guile libraries are needed here for cross-compilation.
              (car (assoc-ref (package-native-inputs guix) "guile"))
              guile-json-4
              guile-gcrypt
              guix
-             guile-fibers-1.1
+             guile-fibers-next
              guile-prometheus
              guile-lib
              guile-lzlib
+             guile-zstd
              guile-sqlite3))
       (inputs
        (list bash-minimal
@@ -1767,12 +1757,13 @@ in an isolated environment, in separate namespaces.")
        (list guile-json-4
              guile-gcrypt
              guix
-             guile-fibers-1.1
+             guile-fibers-next
              guile-prometheus
              guile-lib
              guile-lzlib
+             guile-zstd
              guile-sqlite3
-             gnutls))
+             guile-gnutls))
       (home-page "https://git.cbaines.net/guix/nar-herder")
       (synopsis "Utility for managing and serving nars")
       (description
@@ -1848,7 +1839,7 @@ for packaging and deployment of cross-compiled Windows applications.")
 (define-public libostree
   (package
     (name "libostree")
-    (version "2022.5")
+    (version "2022.7")
     (source
      (origin
        (method url-fetch)
@@ -1856,7 +1847,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 "0gq53g601x09gc4ips6n3zmmdaz8zyv235xf63fxf4f17fclsk4i"))))
+        (base32 "07s14awf9ynlp84s08dkbwj9i18g93y0yf0k87nbks4l3hkakqlb"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -1901,14 +1892,14 @@ the boot loader configuration.")
 (define-public flatpak
   (package
     (name "flatpak")
-    (version "1.14.0")
+    (version "1.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
                            version "/flatpak-" version ".tar.xz"))
        (sha256
-        (base32 "05bqy9kwmaj32y7f94fydcz3k63bsgn4mbcp4pglv8hffxrnj9wf"))
+        (base32 "17ykbp5lmlbv6241vw55zgqdp34wc12jbj5nhs4wb3018crq4g0a"))
        (patches
         (search-patches "flatpak-fix-path.patch"
                         "flatpak-unset-gdk-pixbuf-for-sandbox.patch"))))