diff options
Diffstat (limited to 'gnu/packages/package-management.scm')
-rw-r--r-- | gnu/packages/package-management.scm | 257 |
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")))) |