diff options
author | Andreas Enge <andreas@enge.fr> | 2023-03-20 18:21:47 +0100 |
---|---|---|
committer | Andreas Enge <andreas@enge.fr> | 2023-03-20 18:49:06 +0100 |
commit | ccb62d8feb50e2859d7c41429a9e3d9e0fe30bfe (patch) | |
tree | 4ab573cee33f277828ad553a22579175b1dda22d /guix | |
parent | 098bd280f82350073e8280e37d56a14162eed09c (diff) | |
parent | f80215c7c4ae5ea0c316f4766e6c05ae4218ede3 (diff) |
Merge remote-tracking branch 'origin/master' into core-updates
Diffstat (limited to 'guix')
123 files changed, 169 insertions, 361 deletions
diff --git a/guix/android-repo-download.scm b/guix/android-repo-download.scm index 1c3502e673..1d1b9e2f09 100644 --- a/guix/android-repo-download.scm +++ b/guix/android-repo-download.scm @@ -29,10 +29,7 @@ #:use-module (guix modules) #:autoload (guix build-system gnu) (standard-packages) #:use-module (ice-9 match) - #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-34) - #:use-module (srfi srfi-35) #:export (android-repo-reference android-repo-reference? android-repo-reference-manifest-url @@ -81,6 +78,9 @@ generic name if unset." (define guile-json (module-ref (resolve-interface '(gnu packages guile)) 'guile-json-4)) + (define guile-lzlib + (module-ref (resolve-interface '(gnu packages guile)) 'guile-lzlib)) + (define gnutls (module-ref (resolve-interface '(gnu packages tls)) 'gnutls)) @@ -102,7 +102,8 @@ generic name if unset." (define build (with-imported-modules modules - (with-extensions (list gnutls guile-json) ;for (guix swh) + (with-extensions (list gnutls guile-json ;for (guix swh) + guile-lzlib) #~(begin (use-modules (guix build android-repo) (guix build utils) diff --git a/guix/base32.scm b/guix/base32.scm index 8f097d4e77..dd18a796f2 100644 --- a/guix/base32.scm +++ b/guix/base32.scm @@ -17,7 +17,6 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (guix base32) - #:use-module (srfi srfi-1) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (srfi srfi-60) diff --git a/guix/build-system/android-ndk.scm b/guix/build-system/android-ndk.scm index 211fd11311..047f884b19 100644 --- a/guix/build-system/android-ndk.scm +++ b/guix/build-system/android-ndk.scm @@ -26,8 +26,6 @@ #:use-module (guix packages) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (android-ndk-build-system)) (define %android-ndk-build-system-modules diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm index 08a4c996f9..cfb033f6a5 100644 --- a/guix/build-system/ant.scm +++ b/guix/build-system/ant.scm @@ -26,8 +26,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%ant-build-system-modules ant-build ant-build-system)) diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index 74a3e47da1..2b17cee37b 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -33,9 +33,7 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (ice-9 match) - #:use-module (ice-9 regex) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:use-module (gnu packages) #:export (%asdf-build-system-modules %asdf-build-modules diff --git a/guix/build-system/chicken.scm b/guix/build-system/chicken.scm index 07666d1321..9f518e66e6 100644 --- a/guix/build-system/chicken.scm +++ b/guix/build-system/chicken.scm @@ -27,7 +27,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%chicken-build-system-modules chicken-build chicken-build-system diff --git a/guix/build-system/clojure.scm b/guix/build-system/clojure.scm index 2a0713d297..fb897356bc 100644 --- a/guix/build-system/clojure.scm +++ b/guix/build-system/clojure.scm @@ -33,8 +33,6 @@ #:select ((search-path-specification->sexp . search-path-spec->sexp))) #:use-module (guix utils) - - #:use-module (ice-9 match) #:export (%clojure-build-system-modules clojure-build clojure-build-system)) diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index effb54f044..323e4aed16 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -24,12 +24,10 @@ #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix monads) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%cmake-build-system-modules cmake-build cmake-build-system)) diff --git a/guix/build-system/copy.scm b/guix/build-system/copy.scm index 6cd3ec0216..d58931b33c 100644 --- a/guix/build-system/copy.scm +++ b/guix/build-system/copy.scm @@ -28,7 +28,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%copy-build-system-modules default-glibc diff --git a/guix/build-system/dub.scm b/guix/build-system/dub.scm index 8aa93d5b0f..b4011cdb83 100644 --- a/guix/build-system/dub.scm +++ b/guix/build-system/dub.scm @@ -29,8 +29,6 @@ #:use-module (guix packages) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (dub-build-system)) (define (default-ldc) diff --git a/guix/build-system/dune.scm b/guix/build-system/dune.scm index dc280242fb..3ce930c6d7 100644 --- a/guix/build-system/dune.scm +++ b/guix/build-system/dune.scm @@ -25,10 +25,8 @@ #:use-module (guix gexp) #:use-module (guix search-paths) #:use-module (guix build-system) - #:use-module ((guix build-system gnu) #:prefix gnu:) #:use-module ((guix build-system ocaml) #:prefix ocaml:) #:use-module (guix packages) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%dune-build-system-modules dune-build diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm index 3df68789ff..ebf97a5344 100644 --- a/guix/build-system/emacs.scm +++ b/guix/build-system/emacs.scm @@ -28,8 +28,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%emacs-build-system-modules emacs-build emacs-build-system) diff --git a/guix/build-system/font.scm b/guix/build-system/font.scm index 925933516c..c57c304f52 100644 --- a/guix/build-system/font.scm +++ b/guix/build-system/font.scm @@ -22,7 +22,6 @@ #:use-module (guix monads) #:use-module (guix utils) #:use-module (guix packages) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) diff --git a/guix/build-system/glib-or-gtk.scm b/guix/build-system/glib-or-gtk.scm index f4f431273b..726d19efad 100644 --- a/guix/build-system/glib-or-gtk.scm +++ b/guix/build-system/glib-or-gtk.scm @@ -24,14 +24,12 @@ #:use-module (guix utils) #:use-module (guix gexp) #:use-module (guix monads) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module ((guix build glib-or-gtk-build-system) #:select (%gdk-pixbuf-loaders-cache-file)) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%glib-or-gtk-build-system-modules glib-or-gtk-build glib-or-gtk-cross-build diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index bb7552084c..3308302472 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -22,7 +22,6 @@ #:use-module (guix memoization) #:use-module (guix gexp) #:use-module (guix monads) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix packages) diff --git a/guix/build-system/guile.scm b/guix/build-system/guile.scm index ffc892260a..1bd292e267 100644 --- a/guix/build-system/guile.scm +++ b/guix/build-system/guile.scm @@ -25,7 +25,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:use-module (srfi srfi-26) #:export (%guile-build-system-modules guile-build-system)) @@ -129,6 +128,7 @@ (phases '%standard-phases) (source-directory ".") + (scheme-file-regexp %scheme-file-regexp) not-compiled-file-regexp (compile-flags %compile-flags) (imported-modules %guile-build-system-modules) @@ -154,6 +154,7 @@ #:target #$target #:outputs %outputs #:source-directory #$source-directory + #:scheme-file-regexp #$scheme-file-regexp #:not-compiled-file-regexp #$not-compiled-file-regexp #:compile-flags #$compile-flags #:inputs %build-target-inputs diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm index a37b3a938c..b8858421c2 100644 --- a/guix/build-system/haskell.scm +++ b/guix/build-system/haskell.scm @@ -32,7 +32,6 @@ #:use-module (guix build-system gnu) #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (hackage-uri %haskell-build-system-modules diff --git a/guix/build-system/julia.scm b/guix/build-system/julia.scm index 66e7711bcd..b5521e38e4 100644 --- a/guix/build-system/julia.scm +++ b/guix/build-system/julia.scm @@ -29,8 +29,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%julia-build-system-modules julia-build julia-build-system)) diff --git a/guix/build-system/maven.scm b/guix/build-system/maven.scm index 9a17dea977..4bbeaed6a4 100644 --- a/guix/build-system/maven.scm +++ b/guix/build-system/maven.scm @@ -26,7 +26,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%maven-build-system-modules default-maven diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm index bf43303027..7c617bffb0 100644 --- a/guix/build-system/meson.scm +++ b/guix/build-system/meson.scm @@ -30,7 +30,6 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%meson-build-system-modules meson-build-system make-cross-file)) diff --git a/guix/build-system/minify.scm b/guix/build-system/minify.scm index 7d4745ab32..787235deeb 100644 --- a/guix/build-system/minify.scm +++ b/guix/build-system/minify.scm @@ -26,8 +26,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%minify-build-system-modules minify-build minify-build-system)) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 24bd677bfc..3f73390809 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -29,7 +29,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:export (%node-build-system-modules node-build node-build-system)) diff --git a/guix/build-system/ocaml.scm b/guix/build-system/ocaml.scm index 6e1fc62a62..582d00b4cd 100644 --- a/guix/build-system/ocaml.scm +++ b/guix/build-system/ocaml.scm @@ -25,7 +25,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%ocaml-build-system-modules package-with-ocaml4.07 diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm index 43ec2fdcb6..7c6deb34bf 100644 --- a/guix/build-system/perl.scm +++ b/guix/build-system/perl.scm @@ -22,12 +22,10 @@ #:use-module (guix utils) #:use-module (guix gexp) #:use-module (guix monads) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%perl-build-system-modules perl-build perl-cross-build diff --git a/guix/build-system/pyproject.scm b/guix/build-system/pyproject.scm index 8f3b562ca3..44d6650ba9 100644 --- a/guix/build-system/pyproject.scm +++ b/guix/build-system/pyproject.scm @@ -22,18 +22,14 @@ #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix utils) - #:use-module (guix memoization) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix build-system python) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (%pyproject-build-system-modules default-python pyproject-build diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm index c8f04b2298..cca009fb28 100644 --- a/guix/build-system/python.scm +++ b/guix/build-system/python.scm @@ -24,7 +24,6 @@ #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix utils) - #:use-module (guix memoization) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) @@ -32,9 +31,7 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (%python-build-system-modules package-with-python2 strip-python2-variant diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm index 25fd18f8a8..978aed0fc1 100644 --- a/guix/build-system/qt.scm +++ b/guix/build-system/qt.scm @@ -33,7 +33,6 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%qt-build-system-modules qt-build qt-build-system)) diff --git a/guix/build-system/r.scm b/guix/build-system/r.scm index 9b360ae581..708b9e18fe 100644 --- a/guix/build-system/r.scm +++ b/guix/build-system/r.scm @@ -27,7 +27,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%r-build-system-modules r-build r-build-system diff --git a/guix/build-system/rakudo.scm b/guix/build-system/rakudo.scm index 05a4d9c2ad..3b30fdfd0e 100644 --- a/guix/build-system/rakudo.scm +++ b/guix/build-system/rakudo.scm @@ -26,7 +26,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%rakudo-build-system-modules rakudo-build rakudo-build-system)) diff --git a/guix/build-system/rebar.scm b/guix/build-system/rebar.scm index 6ca5abe4d6..de1294ec3f 100644 --- a/guix/build-system/rebar.scm +++ b/guix/build-system/rebar.scm @@ -26,8 +26,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (hexpm-uri hexpm-package-url %rebar-build-system-modules diff --git a/guix/build-system/renpy.scm b/guix/build-system/renpy.scm index f1070951ee..3039e3c63b 100644 --- a/guix/build-system/renpy.scm +++ b/guix/build-system/renpy.scm @@ -21,16 +21,13 @@ (define-module (guix build-system renpy) #:use-module (guix store) #:use-module (guix utils) - #:use-module (guix memoization) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (%renpy-build-system-modules default-renpy renpy-build diff --git a/guix/build-system/ruby.scm b/guix/build-system/ruby.scm index 0aa273b4f4..a3793a9381 100644 --- a/guix/build-system/ruby.scm +++ b/guix/build-system/ruby.scm @@ -23,11 +23,9 @@ #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:export (rubygems-uri %ruby-build-system-modules ruby-build diff --git a/guix/build-system/scons.scm b/guix/build-system/scons.scm index 9af24d40f8..046ddef740 100644 --- a/guix/build-system/scons.scm +++ b/guix/build-system/scons.scm @@ -25,7 +25,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:export (%scons-build-system-modules scons-build scons-build-system)) diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm index 336e192d83..d970c1beb9 100644 --- a/guix/build-system/texlive.scm +++ b/guix/build-system/texlive.scm @@ -28,7 +28,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix svn-download) - #:use-module (ice-9 match) #:export (%texlive-build-system-modules texlive-build texlive-build-system diff --git a/guix/build-system/trivial.scm b/guix/build-system/trivial.scm index 378ae481b9..e08884baf1 100644 --- a/guix/build-system/trivial.scm +++ b/guix/build-system/trivial.scm @@ -18,12 +18,10 @@ (define-module (guix build-system trivial) #:use-module (guix store) - #:use-module (guix utils) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) #:use-module (guix build-system) - #:use-module (ice-9 match) #:export (trivial-build-system)) (define* (lower name diff --git a/guix/build-system/waf.scm b/guix/build-system/waf.scm index 1d520050f6..91b3d0d100 100644 --- a/guix/build-system/waf.scm +++ b/guix/build-system/waf.scm @@ -22,14 +22,11 @@ #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module ((guix build-system python) #:select (default-python default-python2)) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%waf-build-system-modules waf-build waf-build-system)) diff --git a/guix/build/android-ndk-build-system.scm b/guix/build/android-ndk-build-system.scm index 3c8f726d1d..0298292ac9 100644 --- a/guix/build/android-ndk-build-system.scm +++ b/guix/build/android-ndk-build-system.scm @@ -18,14 +18,9 @@ (define-module (guix build android-ndk-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) - #:use-module (guix build syscalls) #:use-module (guix build utils) - #:use-module (ice-9 popen) - #:use-module (ice-9 rdelim) - #:use-module (ice-9 ftw) #:use-module (ice-9 format) #:use-module (ice-9 match) - #:use-module (rnrs io ports) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (%standard-phases diff --git a/guix/build/chicken-build-system.scm b/guix/build/chicken-build-system.scm index a669822dad..8f9f59cc25 100644 --- a/guix/build/chicken-build-system.scm +++ b/guix/build/chicken-build-system.scm @@ -18,7 +18,6 @@ (define-module (guix build chicken-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) - #:use-module (guix build union) #:use-module (guix build utils) #:use-module (ice-9 match) #:use-module (ice-9 ftw) diff --git a/guix/build/clojure-utils.scm b/guix/build/clojure-utils.scm index c5322141d3..57081d30f7 100644 --- a/guix/build/clojure-utils.scm +++ b/guix/build/clojure-utils.scm @@ -20,7 +20,6 @@ #:use-module (guix build utils) #:use-module (ice-9 ftw) #:use-module (ice-9 match) - #:use-module (ice-9 regex) #:use-module (srfi srfi-1) #:use-module (srfi srfi-8) #:use-module (srfi srfi-26) diff --git a/guix/build/download-nar.scm b/guix/build/download-nar.scm index 867f3c10bb..1b5b5503eb 100644 --- a/guix/build/download-nar.scm +++ b/guix/build/download-nar.scm @@ -18,9 +18,8 @@ (define-module (guix build download-nar) #:use-module (guix build download) - #:use-module (guix build utils) #:use-module ((guix serialization) #:hide (dump-port*)) - #:autoload (zlib) (call-with-gzip-input-port) + #:autoload (lzlib) (call-with-lzip-input-port) #:use-module (guix progress) #:use-module (web uri) #:use-module (srfi srfi-11) @@ -42,52 +41,21 @@ "Return the fallback nar URL for ITEM--e.g., \"/gnu/store/cabbag3…-foo-1.2-checkout\"." ;; Here we hard-code nar URLs without checking narinfos. That's probably OK - ;; though. Use berlin.guix.gnu.org instead of its ci.guix.gnu.org front end to - ;; avoid sending these requests to CDN providers without user consent. + ;; though. ;; TODO: Use HTTPS? The downside is the extra dependency. - (let ((bases '("http://berlin.guix.gnu.org")) + (let ((bases '("http://bordeaux.guix.gnu.org" + "http://ci.guix.gnu.org")) (item (basename item))) - (append (map (cut string-append <> "/nar/gzip/" item) bases) + (append (map (cut string-append <> "/nar/lzip/" item) bases) (map (cut string-append <> "/nar/" item) bases)))) -(define (restore-gzipped-nar port item size) - "Restore the gzipped nar read from PORT, of SIZE bytes (compressed), to +(define (restore-lzipped-nar port item size) + "Restore the lzipped nar read from PORT, of SIZE bytes (compressed), to ITEM." - ;; Since PORT is typically a non-file port (for instance because 'http-get' - ;; returns a delimited port), create a child process so we're back to a file - ;; port that can be passed to 'call-with-gzip-input-port'. - (match (pipe) - ((input . output) - (match (primitive-fork) - (0 - (dynamic-wind - (const #t) - (lambda () - (close-port output) - (close-port port) - (catch #t - (lambda () - (call-with-gzip-input-port input - (cut restore-file <> item))) - (lambda (key . args) - (print-exception (current-error-port) - (stack-ref (make-stack #t) 1) - key args) - (primitive-exit 1)))) - (lambda () - (primitive-exit 0)))) - (child - (close-port input) - (dump-port* port output - #:reporter (progress-reporter/file item size - #:abbreviation - store-path-abbreviation)) - (close-port output) - (newline) - (match (waitpid child) - ((_ . status) - (unless (zero? status) - (error "nar decompression failed" status))))))))) + (call-with-lzip-input-port port + (lambda (decompressed-port) + (restore-file decompressed-port + item)))) (define (download-nar item) "Download and extract the normalized archive for ITEM. Return #t on @@ -109,17 +77,25 @@ success, #f otherwise." (values #f #f))))) (if (not port) (loop rest) - (begin + (let* ((reporter (progress-reporter/file + url + size + (current-error-port) + #:abbreviation nar-uri-abbreviation)) + (port-with-progress + (progress-report-port reporter port + #:download-size size))) (if size (format #t "Downloading from ~a (~,2h MiB)...~%" url (/ size (expt 2 20.))) (format #t "Downloading from ~a...~%" url)) - (if (string-contains url "/gzip") - (restore-gzipped-nar port item size) + (if (string-contains url "/lzip") + (restore-lzipped-nar port-with-progress + item + size) (begin - ;; FIXME: Add progress report. - (restore-file port item) - (close-port port))) + (restore-file port-with-progress + item))) #t)))) (() #f)))) diff --git a/guix/build/gnu-dist.scm b/guix/build/gnu-dist.scm index fce1cd0759..cc48d3bdbf 100644 --- a/guix/build/gnu-dist.scm +++ b/guix/build/gnu-dist.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2015, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2015, 2020, 2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -52,6 +52,7 @@ (delete 'strip) (replace 'install install-dist) (add-after 'build 'build-dist build) - (delete 'build))) + (delete 'build) + (delete 'install-license-files))) ;don't create 'OUT/share/doc' ;;; gnu-dist.scm ends here diff --git a/guix/build/linux-module-build-system.scm b/guix/build/linux-module-build-system.scm index 18ccf7cd8b..b93c5eaf93 100644 --- a/guix/build/linux-module-build-system.scm +++ b/guix/build/linux-module-build-system.scm @@ -21,10 +21,6 @@ (define-module (guix build linux-module-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) #:use-module (guix build utils) - #:use-module (ice-9 ftw) - #:use-module (ice-9 match) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (%standard-phases linux-module-build)) diff --git a/guix/build/svn.scm b/guix/build/svn.scm index 44d77a968f..2d960cb364 100644 --- a/guix/build/svn.scm +++ b/guix/build/svn.scm @@ -22,7 +22,6 @@ (define-module (guix build svn) #:use-module (guix build utils) #:use-module (srfi srfi-34) - #:use-module (ice-9 format) #:export (svn-fetch)) ;;; Commentary: diff --git a/guix/channels.scm b/guix/channels.scm index d44e7a0a3a..1ff72b7e72 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -29,8 +29,6 @@ #:use-module (guix base16) #:use-module (guix records) #:use-module (guix gexp) - #:use-module (guix modules) - #:use-module (guix discovery) #:use-module (guix monads) #:use-module (guix profiles) #:use-module (guix packages) @@ -55,8 +53,6 @@ #:use-module (ice-9 format) #:use-module (ice-9 match) #:use-module (ice-9 vlist) - #:use-module ((ice-9 rdelim) #:select (read-string)) - #:use-module ((rnrs bytevectors) #:select (bytevector=?)) #:export (channel channel? channel-name diff --git a/guix/cvs-download.scm b/guix/cvs-download.scm index 943d971622..22af2461e9 100644 --- a/guix/cvs-download.scm +++ b/guix/cvs-download.scm @@ -61,8 +61,8 @@ "Return a fixed-output derivation that fetches REF, a <cvs-reference> object. The output is expected to have recursive hash HASH of type HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." - (define guile-zlib - (module-ref (resolve-interface '(gnu packages guile)) 'guile-zlib)) + (define guile-lzlib + (module-ref (resolve-interface '(gnu packages guile)) 'guile-lzlib)) (define guile-json (module-ref (resolve-interface '(gnu packages guile)) 'guile-json-4)) @@ -77,7 +77,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define build (with-imported-modules modules (with-extensions (list guile-json gnutls ;for (guix swh) - guile-zlib) + guile-lzlib) #~(begin (use-modules (guix build cvs) (guix build download-nar)) diff --git a/guix/derivations.scm b/guix/derivations.scm index 0bb6a28147..9fec7f4f0b 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -41,8 +41,6 @@ #:use-module (guix i18n) #:use-module (guix monads) #:use-module (gcrypt hash) - #:use-module (guix base32) - #:use-module (guix records) #:use-module (guix sets) #:export (<derivation> derivation? diff --git a/guix/discovery.scm b/guix/discovery.scm index 81d4ca600f..0edc7fd1ae 100644 --- a/guix/discovery.scm +++ b/guix/discovery.scm @@ -24,7 +24,6 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:use-module (ice-9 vlist) - #:use-module (ice-9 ftw) #:export (scheme-files scheme-modules scheme-modules* diff --git a/guix/ftp-client.scm b/guix/ftp-client.scm index 9cc34cc7ec..c1d99bd75f 100644 --- a/guix/ftp-client.scm +++ b/guix/ftp-client.scm @@ -20,10 +20,8 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) - #:use-module (srfi srfi-26) #:use-module (srfi srfi-31) #:use-module (ice-9 binary-ports) - #:use-module (rnrs bytevectors) #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (ice-9 rdelim) diff --git a/guix/git-authenticate.scm b/guix/git-authenticate.scm index 419cb85afc..37c69d0880 100644 --- a/guix/git-authenticate.scm +++ b/guix/git-authenticate.scm @@ -35,7 +35,6 @@ #:use-module (guix progress) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) - #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (rnrs bytevectors) diff --git a/guix/git-download.scm b/guix/git-download.scm index a1566bed4d..027ef47468 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm @@ -1,8 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014-2021, 2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -84,22 +85,24 @@ object. The output is expected to have recursive hash HASH of type HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define inputs - ;; When doing 'git clone --recursive', we need sed, grep, etc. to be - ;; available so that 'git submodule' works. - (if (git-reference-recursive? ref) - (standard-packages) + `(("git" ,git) - ;; The 'swh-download' procedure requires tar and gzip. - `(("gzip" ,(module-ref (resolve-interface '(gnu packages compression)) - 'gzip)) - ("tar" ,(module-ref (resolve-interface '(gnu packages base)) - 'tar))))) + ;; When doing 'git clone --recursive', we need sed, grep, etc. to be + ;; available so that 'git submodule' works. + ,@(if (git-reference-recursive? ref) + (standard-packages) + + ;; The 'swh-download' procedure requires tar and gzip. + `(("gzip" ,(module-ref (resolve-interface '(gnu packages compression)) + 'gzip)) + ("tar" ,(module-ref (resolve-interface '(gnu packages base)) + 'tar)))))) (define guile-json (module-ref (resolve-interface '(gnu packages guile)) 'guile-json-4)) - (define guile-zlib - (module-ref (resolve-interface '(gnu packages guile)) 'guile-zlib)) + (define guile-lzlib + (module-ref (resolve-interface '(gnu packages guile)) 'guile-lzlib)) (define gnutls (module-ref (resolve-interface '(gnu packages tls)) 'gnutls)) @@ -120,7 +123,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define build (with-imported-modules modules (with-extensions (list guile-json gnutls ;for (guix swh) - guile-zlib) + guile-lzlib) #~(begin (use-modules (guix build git) (guix build utils) @@ -151,7 +154,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (or (git-fetch (getenv "git url") (getenv "git commit") #$output #:recursive? recursive? - #:git-command (string-append #+git "/bin/git")) + #:git-command "git") (download-nar #$output) ;; As a last resort, attempt to download from Software Heritage. @@ -162,8 +165,24 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (parameterize ((%verify-swh-certificate? #f)) (format (current-error-port) "Trying to download from Software Heritage...~%") + (swh-download (getenv "git url") (getenv "git commit") - #$output)))))))) + #$output) + (when (file-exists? + (string-append #$output "/.gitattributes")) + ;; Perform CR/LF conversion and other changes + ;; specificied by '.gitattributes'. + (invoke "git" "-C" #$output "init") + (invoke "git" "-C" #$output "config" "--local" + "user.email" "you@example.org") + (invoke "git" "-C" #$output "config" "--local" + "user.name" "Your Name") + (invoke "git" "-C" #$output "add" ".") + (invoke "git" "-C" #$output "commit" "-am" "init") + (invoke "git" "-C" #$output "read-tree" "--empty") + (invoke "git" "-C" #$output "reset" "--hard") + (delete-file-recursively + (string-append #$output "/.git")))))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "git-checkout") build diff --git a/guix/git.scm b/guix/git.scm index 4019323327..be20cde019 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -23,8 +23,6 @@ (define-module (guix git) #:use-module (git) - #:use-module (git object) - #:use-module (git submodule) #:use-module (guix i18n) #:use-module (guix base32) #:use-module (guix cache) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 0aa70243b5..32712f7218 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -23,15 +23,12 @@ #:use-module (web uri) #:use-module (web client) #:use-module (web response) - #:use-module (sxml simple) #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) - #:use-module (srfi srfi-34) #:use-module (rnrs io ports) - #:use-module (system foreign) #:use-module ((guix http-client) #:hide (open-socket-for-uri)) ;; not required in many cases, so autoloaded to reduce start-up costs. #:autoload (guix download) (%mirrors) diff --git a/guix/graph.scm b/guix/graph.scm index 41219ab67d..aee0021d6c 100644 --- a/guix/graph.scm +++ b/guix/graph.scm @@ -24,7 +24,6 @@ #:use-module (guix sets) #:autoload (guix diagnostics) (formatted-message) #:autoload (guix i18n) (G_) - #:use-module (rnrs io ports) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-26) diff --git a/guix/hg-download.scm b/guix/hg-download.scm index 382c34922a..13135082fa 100644 --- a/guix/hg-download.scm +++ b/guix/hg-download.scm @@ -25,7 +25,6 @@ #:use-module (guix records) #:use-module (guix modules) #:use-module (guix packages) - #:autoload (guix build-system gnu) (standard-packages) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (ice-9 match) @@ -73,8 +72,8 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." ("tar" ,(module-ref (resolve-interface '(gnu packages base)) 'tar)))) - (define guile-zlib - (module-ref (resolve-interface '(gnu packages guile)) 'guile-zlib)) + (define guile-lzlib + (module-ref (resolve-interface '(gnu packages guile)) 'guile-lzlib)) (define guile-json (module-ref (resolve-interface '(gnu packages guile)) 'guile-json-4)) @@ -91,7 +90,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define build (with-imported-modules modules (with-extensions (list guile-json gnutls ;for (guix swh) - guile-zlib) + guile-lzlib) #~(begin (use-modules (guix build hg) (guix build utils) ;for `set-path-environment-variable' diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm index 4410c12500..fe03c30254 100644 --- a/guix/import/cabal.scm +++ b/guix/import/cabal.scm @@ -22,7 +22,6 @@ #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (ice-9 rdelim) - #:use-module (ice-9 receive) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index 8972b87080..eeb142a9b8 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -31,10 +31,10 @@ #:use-module (json) #:use-module (gcrypt hash) #:use-module (guix diagnostics) + #:use-module (guix i18n) #:use-module (guix store) #:use-module (guix utils) #:use-module (guix base32) - #:use-module (guix ui) #:use-module ((guix download) #:select (download-to-store url-fetch)) #:use-module ((guix import utils) #:select (factorize-uri)) #:use-module (guix import json) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 17c19a2dcf..210cb40ec7 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -29,12 +29,10 @@ #:use-module ((ice-9 rdelim) #:select (read-string read-line)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (srfi srfi-71) - #:use-module (ice-9 receive) #:use-module (web uri) #:use-module (guix memoization) #:use-module (guix http-client) @@ -52,11 +50,9 @@ #:use-module (guix utils) #:use-module (guix git) #:use-module ((guix build-system r) #:select (cran-uri bioconductor-uri)) - #:use-module (guix ui) #:use-module (guix upstream) #:use-module (guix packages) #:use-module (guix sets) - #:use-module (gnu packages) #:export (%input-style cran->guix-package diff --git a/guix/import/crate.scm b/guix/import/crate.scm index c17d96ef41..514eca2229 100644 --- a/guix/import/crate.scm +++ b/guix/import/crate.scm @@ -23,14 +23,11 @@ (define-module (guix import crate) #:use-module (guix base32) #:use-module (guix build-system cargo) - #:use-module ((guix download) #:prefix download:) #:use-module (gcrypt hash) #:use-module (guix http-client) #:use-module (guix import json) #:use-module (guix import utils) - #:use-module ((guix licenses) #:prefix license:) #:use-module (guix memoization) - #:use-module (guix monads) #:use-module (guix packages) #:use-module (guix upstream) #:use-module (guix utils) diff --git a/guix/import/egg.scm b/guix/import/egg.scm index 90d97909b5..e3bc158475 100644 --- a/guix/import/egg.scm +++ b/guix/import/egg.scm @@ -26,18 +26,14 @@ #:use-module (srfi srfi-71) #:use-module (gcrypt hash) #:use-module (guix git) - #:use-module (guix i18n) #:use-module (guix base32) - #:use-module (guix diagnostics) #:use-module (guix memoization) #:use-module (guix packages) #:use-module (guix upstream) - #:use-module (guix build-system) #:use-module (guix build-system chicken) #:use-module (guix store) #:use-module ((guix download) #:select (download-to-store url-fetch)) #:use-module (guix import utils) - #:use-module ((guix licenses) #:prefix license:) #:export (egg->guix-package egg-recursive-import %egg-updater diff --git a/guix/import/elm.scm b/guix/import/elm.scm index c8fb15343f..508bac5462 100644 --- a/guix/import/elm.scm +++ b/guix/import/elm.scm @@ -18,10 +18,8 @@ (define-module (guix import elm) #:use-module (ice-9 match) - #:use-module (ice-9 regex) #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) @@ -32,20 +30,11 @@ #:use-module (guix memoization) #:use-module (guix diagnostics) #:use-module (guix i18n) - #:use-module ((guix ui) #:select (display-hint)) - #:use-module ((guix build utils) - #:select ((package-name->name+version - . hyphen-package-name->name+version) - find-files - invoke)) #:use-module (guix import utils) #:use-module (guix git) #:use-module (guix import json) #:autoload (gcrypt hash) (hash-algorithm sha256) #:use-module (json) - #:use-module (guix packages) - #:use-module (guix upstream) - #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system elm) #:export (elm-recursive-import %elm-package-registry diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm index f9e9f2de53..f71e758db4 100644 --- a/guix/import/elpa.scm +++ b/guix/import/elpa.scm @@ -34,22 +34,19 @@ #:use-module (srfi srfi-9 gnu) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) - #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) + #:use-module (guix i18n) #:use-module (guix diagnostics) #:use-module ((guix download) #:select (download-to-store)) #:use-module (guix import utils) #:use-module (guix http-client) #:use-module (guix git) #:use-module (guix hash) - #:use-module ((guix serialization) #:select (write-file)) #:use-module (guix store) - #:use-module (guix ui) #:use-module (guix base32) #:use-module (guix upstream) #:use-module (guix packages) #:use-module (guix memoization) - #:use-module ((guix utils) #:select (call-with-temporary-output-file)) #:export (elpa->guix-package guix-package->elpa-name %elpa-updater diff --git a/guix/import/gem.scm b/guix/import/gem.scm index c8d6cd4d2d..4e2be0f5f8 100644 --- a/guix/import/gem.scm +++ b/guix/import/gem.scm @@ -27,7 +27,6 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (json) - #:use-module ((guix download) #:prefix download:) #:use-module (guix import utils) #:use-module (guix import json) #:use-module (guix packages) diff --git a/guix/import/git.scm b/guix/import/git.scm index c15943bd7c..ab51719255 100644 --- a/guix/import/git.scm +++ b/guix/import/git.scm @@ -20,17 +20,14 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (guix import git) - #:use-module (guix build utils) + #:use-module (guix i18n) #:use-module (guix diagnostics) #:use-module (guix git) #:use-module (guix git-download) - #:use-module (guix i18n) #:use-module (guix packages) #:use-module (guix upstream) #:use-module (guix utils) - #:use-module (ice-9 format) #:use-module (ice-9 match) - #:use-module (ice-9 rdelim) #:use-module (ice-9 regex) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) diff --git a/guix/import/github.scm b/guix/import/github.scm index a1bda5ec43..7409c9a202 100644 --- a/guix/import/github.scm +++ b/guix/import/github.scm @@ -35,13 +35,11 @@ #:use-module ((guix download) #:prefix download:) #:use-module ((guix git-download) #:prefix download:) #:autoload (guix build download) (open-connection-for-uri) - #:use-module (guix import utils) #:use-module (json) #:use-module (guix packages) #:use-module (guix upstream) #:use-module (guix http-client) #:use-module (web uri) - #:use-module (web response) #:export (%github-api %github-updater)) ;; For tests. diff --git a/guix/import/gnome.scm b/guix/import/gnome.scm index 3c5a96fdde..054ae44f7a 100644 --- a/guix/import/gnome.scm +++ b/guix/import/gnome.scm @@ -25,8 +25,6 @@ #:use-module (guix http-client) #:use-module (json) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) - #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (web uri) #:use-module (ice-9 match) diff --git a/guix/import/gnu.scm b/guix/import/gnu.scm index cff088f423..fb61332fb8 100644 --- a/guix/import/gnu.scm +++ b/guix/import/gnu.scm @@ -23,19 +23,16 @@ #:use-module (guix gnu-maintenance) #:use-module (guix import utils) #:use-module (guix i18n) - #:use-module (guix utils) #:use-module (guix store) #:use-module (gcrypt hash) #:use-module (guix base32) #:use-module (guix upstream) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (web uri) #:use-module (ice-9 match) - #:use-module (ice-9 regex) #:export (gnu->guix-package)) ;;; Commentary: diff --git a/guix/import/go.scm b/guix/import/go.scm index 90d4c8931d..0357e6a1eb 100644 --- a/guix/import/go.scm +++ b/guix/import/go.scm @@ -32,25 +32,20 @@ #:use-module (guix import utils) #:use-module (guix import json) #:use-module (guix packages) - #:use-module ((guix utils) #:select (string-replace-substring)) #:use-module (guix http-client) - #:use-module ((guix licenses) #:prefix license:) #:use-module (guix memoization) #:autoload (htmlprag) (html->sxml) ;from Guile-Lib - #:autoload (guix serialization) (write-file) #:autoload (guix base32) (bytevector->nix-base32-string) #:autoload (guix build utils) (mkdir-p) #:autoload (gcrypt hash) (hash-algorithm sha256) #:use-module (ice-9 format) #:use-module (ice-9 match) #:use-module (ice-9 peg) - #:use-module (ice-9 rdelim) #:use-module (ice-9 receive) #:use-module (ice-9 regex) #:use-module (ice-9 textual-ports) #:use-module ((rnrs io ports) #:select (call-with-port)) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-2) #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) @@ -61,10 +56,7 @@ (if (eq? 'filter s) 'xfilter s))) - #:use-module (web client) - #:use-module (web response) #:use-module (web uri) - #:export (go-module->guix-package go-module->guix-package* go-module-recursive-import)) diff --git a/guix/import/hexpm.scm b/guix/import/hexpm.scm index dac5d1756f..628a44ff24 100644 --- a/guix/import/hexpm.scm +++ b/guix/import/hexpm.scm @@ -22,10 +22,6 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (guix import hexpm) - #:use-module (guix base32) - #:use-module ((guix download) #:prefix download:) - #:use-module (gcrypt hash) - #:use-module (guix http-client) #:use-module (json) #:use-module (guix import utils) #:use-module ((guix import json) #:select (json-fetch)) @@ -33,16 +29,11 @@ #:select ((package-name->name+version . hyphen-package-name->name+version) dump-port)) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix monads) #:use-module (guix packages) #:use-module (guix upstream) #:use-module (guix utils) #:use-module (ice-9 match) - #:use-module (ice-9 regex) - #:use-module (ice-9 popen) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-2) #:use-module (srfi srfi-26) #:use-module (guix build-system rebar) #:export (hexpm->guix-package diff --git a/guix/import/kde.scm b/guix/import/kde.scm index 3566312eca..0ae457ef3d 100644 --- a/guix/import/kde.scm +++ b/guix/import/kde.scm @@ -20,7 +20,6 @@ (define-module (guix import kde) #:use-module (guix http-client) - #:use-module (guix memoization) #:use-module (guix gnu-maintenance) #:use-module (guix packages) #:use-module (guix upstream) diff --git a/guix/import/minetest.scm b/guix/import/minetest.scm index e5775e2fa9..7e7b6dd6ac 100644 --- a/guix/import/minetest.scm +++ b/guix/import/minetest.scm @@ -19,24 +19,17 @@ (define-module (guix import minetest) #:use-module (ice-9 match) - #:use-module (ice-9 receive) #:use-module (ice-9 threads) #:use-module (ice-9 hash-table) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-2) - #:use-module (srfi srfi-11) - #:use-module (srfi srfi-26) #:use-module (guix diagnostics) #:use-module ((guix packages) #:prefix package:) #:use-module (guix upstream) - #:use-module (guix utils) - #:use-module (guix ui) #:use-module (guix i18n) #:use-module (guix memoization) #:use-module (guix serialization) #:use-module (guix import utils) #:use-module (guix import json) - #:use-module ((gcrypt hash) #:select (open-sha256-port port-sha256)) #:use-module (json) #:use-module (guix base32) #:use-module (guix git) diff --git a/guix/import/opam.scm b/guix/import/opam.scm index 938a88f69d..e336936306 100644 --- a/guix/import/opam.scm +++ b/guix/import/opam.scm @@ -22,23 +22,19 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (guix import opam) - #:use-module (ice-9 ftw) #:use-module (ice-9 match) #:use-module (ice-9 peg) #:use-module ((ice-9 popen) #:select (open-pipe*)) - #:use-module (ice-9 receive) #:use-module (ice-9 textual-ports) - #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) #:use-module ((srfi srfi-26) #:select (cut)) #:use-module ((web uri) #:select (string->uri uri->string)) #:use-module ((guix build utils) #:select (dump-port find-files mkdir-p)) #:use-module (guix build-system) - #:use-module (guix build-system ocaml) + #:use-module (guix i18n) #:use-module (guix diagnostics) #:use-module (guix http-client) - #:use-module (guix ui) #:use-module (guix packages) #:use-module (guix upstream) #:use-module ((guix utils) #:select (cache-directory @@ -49,7 +45,6 @@ recursive-import spdx-string->license url-fetch)) - #:use-module ((guix licenses) #:prefix license:) #:export (opam->guix-package opam-recursive-import %opam-updater diff --git a/guix/import/print.scm b/guix/import/print.scm index 2f54adbd8c..08a484f5f3 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -19,12 +19,11 @@ (define-module (guix import print) #:use-module (guix base32) - #:use-module (guix utils) #:use-module (guix licenses) #:use-module (guix packages) + #:use-module ((guix diagnostics) #:select (location-file)) #:use-module (guix search-paths) #:use-module (guix build-system) - #:use-module (gnu packages) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (guix import utils) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index c9aaacbc3f..261fdb46d9 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -36,7 +36,6 @@ #:use-module (ice-9 receive) #:use-module ((ice-9 rdelim) #:select (read-line)) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) @@ -51,13 +50,11 @@ find-files invoke)) #:use-module (guix import utils) - #:use-module ((guix download) #:prefix download:) #:use-module (guix import json) #:use-module (json) #:use-module (guix packages) #:use-module (guix upstream) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix build-system python) #:export (parse-requires.txt parse-wheel-metadata specification->requirement-name diff --git a/guix/import/test.scm b/guix/import/test.scm index 767dcd5b61..b1ed0b455d 100644 --- a/guix/import/test.scm +++ b/guix/import/test.scm @@ -18,8 +18,6 @@ (define-module (guix import test) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) - #:use-module (web uri) #:use-module (guix packages) #:use-module (guix upstream) #:use-module ((guix utils) #:select (version-prefix?)) diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index 6bf7f92e60..82014ee568 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -35,9 +35,6 @@ #:use-module (guix serialization) #:use-module (guix svn-download) #:use-module (guix import utils) - #:use-module (guix utils) - #:use-module (guix upstream) - #:use-module (guix packages) #:use-module (guix build-system texlive) #:export (files-differ? texlive->guix-package diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 72795d2c61..e1f6519287 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -39,7 +39,6 @@ #:use-module (guix packages) #:use-module (guix discovery) #:use-module (guix build-system) - #:use-module (guix gexp) #:use-module ((guix i18n) #:select (G_)) #:use-module (guix store) #:use-module (guix download) @@ -198,6 +197,7 @@ thrown." ("CPL-1.0" . license:cpl1.0) ("EPL-1.0" . license:epl1.0) ("EPL-2.0" . license:epl2.0) + ("EUPL-1.1" . license:eupl1.1) ("EUPL-1.2" . license:eupl1.2) ("MIT" . license:expat) ("MIT-0" . license:expat-0) @@ -244,6 +244,7 @@ thrown." ("LGPL-3.0-only" . license:lgpl3) ("LGPL-3.0+" . license:lgpl3+) ("LGPL-3.0-or-later" . license:lgpl3+) + ("LPL-1.02" . license:lpl1.02) ("LPPL-1.0" . license:lppl) ("LPPL-1.1" . license:lppl) ("LPPL-1.2" . license:lppl1.2) diff --git a/guix/ipfs.scm b/guix/ipfs.scm index 31a89888a7..3c25f2a499 100644 --- a/guix/ipfs.scm +++ b/guix/ipfs.scm @@ -18,15 +18,10 @@ (define-module (guix ipfs) #:use-module (json) - #:use-module (guix base64) - #:use-module ((guix build utils) #:select (dump-port)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) - #:use-module (srfi srfi-26) #:use-module (rnrs io ports) - #:use-module (rnrs bytevectors) #:use-module (ice-9 match) - #:use-module (ice-9 ftw) #:use-module (web uri) #:use-module (web client) #:use-module (web response) diff --git a/guix/licenses.scm b/guix/licenses.scm index f7df5826bf..e7e6ef3545 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -75,6 +75,7 @@ knuth lal1.3 lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ llgpl + lpl1.02 lppl lppl1.0+ lppl1.1+ lppl1.2 lppl1.2+ lppl1.3 lppl1.3+ lppl1.3a lppl1.3a+ @@ -516,6 +517,11 @@ at URI, which may be a file:// URI pointing the package's tree." "https://opensource.franz.com/preamble.html" "Lisp Lesser General Public License")) +(define lpl1.02 ;Lucent + (license "LPL 1.02" + "https://directory.fsf.org/wiki/License:LPL-1.02" + "https://www.gnu.org/licenses/license-list.html#lucent102")) + (define lppl (license "LPPL (any version)" "https://www.latex-project.org/lppl/lppl-1-0/" diff --git a/guix/lint.scm b/guix/lint.scm index a8a375e502..ea43a15141 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -33,7 +33,6 @@ (define-module (guix lint) #:use-module (guix store) #:autoload (guix base16) (bytevector->base16-string) - #:use-module (guix base32) #:autoload (guix base64) (base64-encode) #:use-module (guix build-system) #:use-module (guix diagnostics) @@ -533,7 +532,8 @@ of a package, and INPUT-NAMES, a list of package specifications such as ;; Emit a warning if some inputs of PACKAGE are likely to should not be ;; an input at all. (let ((input-names '("python-setuptools" - "python-pip"))) + "python-pip" + "python-pre-commit"))) (map (lambda (input) (make-warning package diff --git a/guix/packages.scm b/guix/packages.scm index 041a872f9d..4c0c194652 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> @@ -9,6 +9,7 @@ ;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 jgart <jgart@dismail.de> +;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,10 +52,10 @@ #:use-module (ice-9 regex) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9 gnu) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) + #:use-module (srfi srfi-71) #:use-module (rnrs bytevectors) #:use-module (web uri) #:autoload (texinfo) (texi-fragment->stexi) @@ -1239,8 +1240,13 @@ input list." (define (package-direct-sources package) "Return all source origins associated with PACKAGE; including origins in -PACKAGE's inputs." - `(,@(or (and=> (package-source package) list) '()) +PACKAGE's inputs and patches." + (define (expand source) + (cons + source + (filter origin? (origin-patches source)))) + + `(,@(or (and=> (package-source package) expand) '()) ,@(filter-map (match-lambda ((_ (? origin? orig) _ ...) orig) @@ -1527,15 +1533,16 @@ package and returns its new name after rewrite." (define* (package-input-rewriting/spec replacements #:key (deep? #t)) "Return a procedure that, given a package, applies the given REPLACEMENTS to all the package graph, including implicit inputs unless DEEP? is false. + REPLACEMENTS is a list of spec/procedures pair; each spec is a package specification such as \"gcc\" or \"guile@2\", and each procedure takes a -matching package and returns a replacement for that package." +matching package and returns a replacement for that package. Matching +packages that have the 'hidden?' property set are not replaced." (define table (fold (lambda (replacement table) (match replacement ((spec . proc) - (let-values (((name version) - (package-name->name+version spec))) + (let ((name version (package-name->name+version spec))) (vhash-cons name (list version proc) table))))) vlist-null replacements)) @@ -1558,7 +1565,8 @@ matching package and returns a replacement for that package." (gensym " package-replacement")) (define (rewrite p) - (if (assq-ref (package-properties p) replacement-property) + (if (or (assq-ref (package-properties p) replacement-property) + (hidden-package? p)) p (match (find-replacement p) (#f p) diff --git a/guix/pki.scm b/guix/pki.scm index c5b2fb9634..93932128cd 100644 --- a/guix/pki.scm +++ b/guix/pki.scm @@ -24,7 +24,6 @@ #:autoload (srfi srfi-1) (delete-duplicates) #:use-module (ice-9 match) #:use-module (ice-9 rdelim) - #:use-module (ice-9 binary-ports) #:export (%public-key-file %private-key-file %acl-file diff --git a/guix/read-print.scm b/guix/read-print.scm index ccddca732d..515eb7669c 100644 --- a/guix/read-print.scm +++ b/guix/read-print.scm @@ -219,6 +219,27 @@ BLANK-LINE? is true, assume PORT is at the beginning of a new line." (list 'quote (loop #f return))) ((eq? chr #\`) (list 'quasiquote (loop #f return))) + ((eq? chr #\#) + (match (read-char port) + (#\~ (list 'gexp (loop #f return))) + (#\$ (list (match (peek-char port) + (#\@ + (read-char port) ;consume + 'ungexp-splicing) + (_ + 'ungexp)) + (loop #f return))) + (#\+ (list (match (peek-char port) + (#\@ + (read-char port) ;consume + 'ungexp-native-splicing) + (_ + 'ungexp-native)) + (loop #f return))) + (chr + (unread-char chr port) + (unread-char #\# port) + (read port)))) ((eq? chr #\,) (list (match (peek-char port) (#\@ @@ -299,6 +320,7 @@ expressions and blanks that were read." ('unless 2) ('package 1) ('origin 1) + ('channel 1) ('modify-inputs 2) ('modify-phases 2) ('add-after '(((modify-phases) . 3))) @@ -342,7 +364,8 @@ expressions and blanks that were read." ('services '(operating-system)) ('set-xorg-configuration '()) ('services '(home-environment)) - ('home-bash-configuration '(service)))) + ('home-bash-configuration '(service)) + ('introduction '(channel)))) (define (prefix? candidate lst) "Return true if CANDIDATE is a prefix of LST." @@ -527,6 +550,12 @@ FORMAT-VERTICAL-SPACE; a useful value of 'canonicalize-vertical-space'." (pair? tail))) (_ #f))) + (define (starts-with-line-comment? lst) + ;; Return true if LST starts with a line comment. + (match lst + ((x . _) (and (comment? x) (not (comment-margin? x)))) + (_ #f))) + (let loop ((indent indent) (column indent) (delimited? #t) ;true if comes after a delimiter @@ -708,7 +737,8 @@ FORMAT-VERTICAL-SPACE; a useful value of 'canonicalize-vertical-space'." (+ indent 1) (+ column (if delimited? 1 2)))) (newline? (or (newline-form? head context) - (list-of-lists? head tail))) ;'let' bindings + (list-of-lists? head tail) ;'let' bindings + (starts-with-line-comment? tail))) (context (cons head context))) (if overflow? (begin diff --git a/guix/records.scm b/guix/records.scm index 1f097c7108..7d43b064d8 100644 --- a/guix/records.scm +++ b/guix/records.scm @@ -22,7 +22,6 @@ #:use-module (srfi srfi-9) #:use-module (srfi srfi-26) #:use-module (ice-9 match) - #:use-module (ice-9 regex) #:use-module (ice-9 rdelim) #:autoload (system base target) (target-most-positive-fixnum) #:export (define-record-type* diff --git a/guix/remote.scm b/guix/remote.scm index f6adb22846..a58ec2103c 100644 --- a/guix/remote.scm +++ b/guix/remote.scm @@ -32,8 +32,6 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) - #:use-module (ice-9 format) - #:use-module (ice-9 match) #:export (remote-eval)) ;;; Commentary: diff --git a/guix/scripts.scm b/guix/scripts.scm index 395df864a3..5d11ce7fe9 100644 --- a/guix/scripts.scm +++ b/guix/scripts.scm @@ -28,7 +28,6 @@ #:use-module (guix monads) #:use-module (guix packages) #:use-module (guix derivations) - #:use-module ((guix profiles) #:select (%profile-directory)) #:autoload (guix describe) (current-profile-date) #:use-module (guix build syscalls) #:use-module (srfi srfi-1) diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index 3b2bdee835..a7ff1593a6 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -18,7 +18,6 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (guix scripts archive) - #:use-module (guix config) #:use-module (guix utils) #:use-module (guix combinators) #:use-module ((guix build utils) #:select (mkdir-p)) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 6a4a32fc0a..72a24f91ac 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -27,7 +27,6 @@ #:use-module (guix store) #:use-module (guix derivations) #:use-module (guix packages) - #:use-module (guix memoization) #:use-module (guix utils) #:use-module (guix monads) #:use-module (guix gexp) @@ -36,10 +35,8 @@ #:autoload (guix http-client) (http-fetch http-get-error?) #:use-module (ice-9 format) #:use-module (ice-9 match) - #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm index 620a1762a1..4821e11bf6 100644 --- a/guix/scripts/challenge.scm +++ b/guix/scripts/challenge.scm @@ -24,7 +24,6 @@ #:use-module (guix utils) #:use-module (guix monads) #:use-module (guix base32) - #:use-module (guix packages) #:use-module ((guix progress) #:hide (dump-port*)) #:use-module (guix serialization) #:use-module (guix substitutes) diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index ef6f9acc86..14ce736174 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -26,7 +26,6 @@ #:use-module (guix store) #:use-module (guix gexp) #:use-module (guix ui) - #:use-module (guix utils) #:use-module ((guix status) #:select (with-status-verbosity)) #:use-module (guix diagnostics) #:use-module (guix i18n) diff --git a/guix/scripts/discover.scm b/guix/scripts/discover.scm index dadade81bb..8970f835c9 100644 --- a/guix/scripts/discover.scm +++ b/guix/scripts/discover.scm @@ -23,7 +23,6 @@ #:use-module (guix scripts) #:use-module (guix ui) #:use-module (guix utils) - #:use-module (guix build syscalls) #:use-module (guix build utils) #:use-module (guix scripts publish) #:use-module (avahi) diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index 5a91390358..0ab5c8c39c 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -35,11 +35,8 @@ #:use-module (web uri) #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-14) #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) - #:use-module (rnrs bytevectors) - #:use-module (ice-9 binary-ports) #:export (guix-download)) diff --git a/guix/scripts/edit.scm b/guix/scripts/edit.scm index 8e777d1405..5ce2870c5a 100644 --- a/guix/scripts/edit.scm +++ b/guix/scripts/edit.scm @@ -22,7 +22,8 @@ #:use-module (guix ui) #:use-module (guix scripts) #:use-module ((guix scripts build) #:select (%standard-build-options)) - #:use-module (guix utils) + #:use-module ((guix diagnostics) + #:select (location-file location-line)) #:use-module (gnu packages) #:use-module (srfi srfi-1) #:use-module (srfi srfi-37) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 44cfcb4f76..a4939ea63c 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -514,6 +514,11 @@ by running 'set' in the shell." (catch #t (lambda () (load-profile profile manifest #:pure? #t) + + ;; Mark the terminal as "unknown" do avoid ANSI escape codes such + ;; as bracketed paste that would mess up the output of the script. + (setenv "TERM" "") + (setenv "GUIX_ENVIRONMENT" profile) (close-fdes controller) (login-tty inferior) @@ -767,14 +772,17 @@ WHILE-LIST." (append (override-user-mappings user home - (append user-mappings - ;; Share current working directory, unless asked not to. - (if map-cwd? - (list (file-system-mapping - (source cwd) - (target cwd) - (writable? #t))) - '()))) + (append + ;; Share current working directory, unless asked not to. + (if map-cwd? + (list (file-system-mapping + (source cwd) + (target cwd) + (writable? #t))) + '()) + ;; Add the user mappings *after* the current working directory + ;; so that a user can layer bind mounts on top of it. + user-mappings)) ;; Mappings for the union closure of all inputs. (map (lambda (dir) (file-system-mapping diff --git a/guix/scripts/graph.scm b/guix/scripts/graph.scm index 6847dd1962..c075e0ec29 100644 --- a/guix/scripts/graph.scm +++ b/guix/scripts/graph.scm @@ -20,7 +20,6 @@ (define-module (guix scripts graph) #:use-module (guix ui) #:use-module (guix graph) - #:use-module (guix grafts) #:use-module (guix scripts) #:use-module (guix packages) #:use-module (guix monads) diff --git a/guix/scripts/hash.scm b/guix/scripts/hash.scm index 4e792c6a03..6dc67a2416 100644 --- a/guix/scripts/hash.scm +++ b/guix/scripts/hash.scm @@ -23,18 +23,14 @@ (define-module (guix scripts hash) #:use-module (gcrypt hash) - #:use-module (guix serialization) #:use-module (guix ui) #:use-module (guix hash) #:use-module (guix scripts) #:use-module (guix base16) #:use-module (guix base32) #:autoload (guix base64) (base64-encode) - #:use-module (ice-9 binary-ports) - #:use-module (rnrs files) #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) #:autoload (disarchive git-hash) (git-hash-file git-hash-directory) diff --git a/guix/scripts/home.scm b/guix/scripts/home.scm index 445853d01f..7b2c3ff6f0 100644 --- a/guix/scripts/home.scm +++ b/guix/scripts/home.scm @@ -23,9 +23,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (guix scripts home) - #:use-module (gnu packages admin) #:use-module ((gnu services) #:hide (delete)) - #:use-module (gnu packages) #:autoload (gnu packages base) (coreutils) #:autoload (gnu packages bash) (bash) #:autoload (gnu packages gnupg) (guile-gcrypt) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index fe1d7a8dda..f84a964a53 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -28,9 +28,6 @@ #:use-module (guix read-print) #:use-module (guix utils) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) - #:use-module (srfi srfi-26) - #:use-module (srfi srfi-37) #:use-module (ice-9 format) #:use-module (ice-9 match) #:export (%standard-import-options diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index 8c6132e7c3..7b76126d35 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -39,7 +39,6 @@ #:autoload (guix derivations) (read-derivation-from-file derivation-file-name build-derivations) - #:autoload (guix serialization) (nar-error? nar-error-file) #:autoload (guix nar) (restore-file-set) #:use-module ((guix utils) #:select (%current-system)) #:use-module ((guix build syscalls) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index eb41eb5563..0dc9979194 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -28,7 +28,6 @@ #:use-module (guix scripts) #:use-module (guix ui) #:use-module (guix gexp) - #:use-module ((guix build utils) #:select (%xz-parallel-args)) #:use-module (guix utils) #:use-module (guix store) #:use-module ((guix status) #:select (with-status-verbosity)) @@ -54,7 +53,6 @@ #:use-module ((gnu packages compression) #:hide (zip)) #:use-module (gnu packages guile) #:use-module (gnu packages base) - #:autoload (gnu packages package-management) (guix) #:autoload (gnu packages gnupg) (guile-gcrypt) #:autoload (gnu packages guile) (guile2.0-json guile-json) #:use-module (srfi srfi-1) @@ -1203,12 +1201,10 @@ last resort for relocation." (utf8->string bv))))) (define (runpath file) - ;; Return the RUNPATH of FILE as a list of directories. - (let* ((bv (call-with-input-file file get-bytevector-all)) - (elf (parse-elf bv)) - (dyninfo (elf-dynamic-info elf))) - (or (and=> dyninfo elf-dynamic-info-runpath) - '()))) + ;; Return the "recursive" RUNPATH of FILE as a list of + ;; directories. + (delete-duplicates + (map dirname (file-needed/recursive file)))) (define (elf-loader-compile-flags program) ;; Return the cpp flags defining macros for the ld.so/fakechroot diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index cb58f56d5a..ab1968b62d 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -39,9 +39,7 @@ #:use-module (guix profiles) #:use-module (guix search-paths) #:autoload (guix import json) (json->scheme-file) - #:use-module (guix monads) #:use-module (guix utils) - #:use-module (guix config) #:use-module (guix scripts) #:use-module (guix scripts build) #:use-module (guix transformations) @@ -54,7 +52,6 @@ #:use-module (ice-9 format) #:use-module (ice-9 match) #:autoload (ice-9 pretty-print) (pretty-print) - #:use-module (ice-9 regex) #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 6307ae54bb..ada81838ac 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -23,16 +23,13 @@ (define-module (guix scripts publish) #:use-module ((system repl server) #:prefix repl:) - #:use-module (ice-9 binary-ports) #:use-module (ice-9 format) #:use-module (ice-9 match) #:use-module (ice-9 poll) - #:use-module (ice-9 regex) #:use-module (ice-9 rdelim) #:use-module (ice-9 threads) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-2) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) #:use-module (srfi srfi-19) @@ -50,7 +47,6 @@ #:use-module (guix base32) #:use-module (guix base64) #:use-module (guix config) - #:use-module (guix derivations) #:use-module (gcrypt hash) #:use-module (guix pki) #:use-module (gcrypt pk-crypto) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index 2be8de3b9c..cd2e470289 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -30,7 +30,6 @@ #:use-module (guix packages) #:use-module (guix derivations) #:use-module (guix profiles) - #:use-module (guix gexp) #:use-module (guix memoization) #:use-module (guix monads) #:use-module (guix channels) @@ -45,7 +44,6 @@ #:autoload (gnu packages) (fold-available-packages) #:autoload (guix scripts package) (build-and-use-profile delete-matching-generations) - #:autoload (gnu packages base) (canonical-package) #:autoload (gnu packages bootstrap) (%bootstrap-guile) #:autoload (gnu packages certs) (le-certs) #:use-module (srfi srfi-1) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 6498d73c2b..ee94ed29a1 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -43,15 +43,12 @@ #:use-module (gnu packages) #:use-module ((gnu packages commencement) #:select (%final-inputs)) #:use-module (ice-9 match) - #:use-module (ice-9 regex) - #:use-module (ice-9 vlist) #:use-module (ice-9 format) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) #:use-module (srfi srfi-71) - #:use-module (ice-9 binary-ports) #:export (guix-refresh)) diff --git a/guix/scripts/repl.scm b/guix/scripts/repl.scm index 0b978ae35f..fd23a2b982 100644 --- a/guix/scripts/repl.scm +++ b/guix/scripts/repl.scm @@ -23,10 +23,8 @@ #:use-module (guix scripts) #:use-module (guix repl) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) #:use-module (ice-9 match) - #:use-module (rnrs bytevectors) #:autoload (guix describe) (current-profile) #:autoload (system repl repl) (start-repl) #:autoload (system repl server) diff --git a/guix/scripts/search.scm b/guix/scripts/search.scm index 27b9da5278..307ea410b9 100644 --- a/guix/scripts/search.scm +++ b/guix/scripts/search.scm @@ -24,7 +24,6 @@ #:select (%standard-build-options)) #:use-module (guix scripts) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) #:export (guix-search)) diff --git a/guix/scripts/show.scm b/guix/scripts/show.scm index c747eedd21..f6d8256951 100644 --- a/guix/scripts/show.scm +++ b/guix/scripts/show.scm @@ -23,7 +23,6 @@ #:select (%standard-build-options)) #:use-module (guix scripts) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) #:export (guix-show)) diff --git a/guix/scripts/style.scm b/guix/scripts/style.scm index fa7175fb16..8e89a58948 100644 --- a/guix/scripts/style.scm +++ b/guix/scripts/style.scm @@ -31,7 +31,6 @@ #:autoload (gnu packages) (specification->package fold-packages) #:use-module (guix scripts) #:use-module ((guix scripts build) #:select (%standard-build-options)) - #:use-module (guix combinators) #:use-module (guix ui) #:use-module (guix packages) #:use-module (guix utils) @@ -42,7 +41,6 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) - #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-37) #:export (guix-style)) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index fedb33019d..109b0c7900 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -26,7 +26,6 @@ #:use-module (guix store) #:use-module (guix substitutes) #:use-module (guix utils) - #:use-module (guix combinators) #:use-module (guix config) #:use-module (guix records) #:use-module (guix diagnostics) @@ -36,7 +35,6 @@ #:autoload (guix scripts discover) (read-substitute-urls) #:use-module (gcrypt hash) #:use-module (guix base32) - #:use-module (guix base64) #:use-module (guix cache) #:use-module (gcrypt pk-crypto) #:use-module (guix pki) @@ -55,10 +53,8 @@ #:use-module (ice-9 ftw) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-19) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) - #:use-module (srfi srfi-35) #:use-module (srfi srfi-71) #:use-module (web uri) #:use-module (guix http-client) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index c0bc295c00..d7163dd3eb 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -55,20 +55,14 @@ #:autoload (guix scripts pull) (channel-commit-hyperlink) #:autoload (guix graph) (export-graph node-type graph-backend-name lookup-backend) - #:use-module (guix scripts graph) #:use-module (guix scripts system reconfigure) #:use-module (guix build utils) #:use-module (guix progress) - #:use-module ((guix build syscalls) #:select (terminal-columns)) #:use-module (gnu build image) #:use-module (gnu build install) #:autoload (gnu build file-systems) (find-partition-by-label find-partition-by-uuid) - #:autoload (gnu build linux-modules) - (device-module-aliases matching-modules) - #:use-module (gnu system linux-initrd) #:use-module (gnu image) - #:use-module (guix platform) #:use-module (gnu system) #:use-module (gnu bootloader) #:use-module (gnu system file-systems) @@ -81,7 +75,6 @@ #:use-module (gnu services shepherd) #:use-module (gnu services herd) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-19) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm index 5179ea035f..d7c71ef705 100644 --- a/guix/scripts/time-machine.scm +++ b/guix/scripts/time-machine.scm @@ -22,7 +22,6 @@ #:use-module (guix ui) #:use-module (guix scripts) #:use-module (guix inferior) - #:use-module (guix channels) #:use-module (guix store) #:use-module (guix status) #:use-module ((guix git) diff --git a/guix/search-paths.scm b/guix/search-paths.scm index 4a8f5131ed..fcbe7b7953 100644 --- a/guix/search-paths.scm +++ b/guix/search-paths.scm @@ -34,6 +34,7 @@ $PATH $GUIX_EXTENSIONS_PATH + $PKG_CONFIG_PATH $SSL_CERT_DIR $SSL_CERT_FILE @@ -83,6 +84,13 @@ (variable "GUIX_EXTENSIONS_PATH") (files '("share/guix/extensions")))) +(define $PKG_CONFIG_PATH + ;; 'PKG_CONFIG_PATH' is used by pkg-config to locate available header files + ;; and libraries, via their .pc files. + (search-path-specification + (variable "PKG_CONFIG_PATH") + (files '("lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig")))) + ;; Two variables for certificates (info "(guix)X.509 Certificates"), ;; respected by OpenSSL and possibly GnuTLS in the future ;; (https://gitlab.com/gnutls/gnutls/-/merge_requests/1541) diff --git a/guix/self.scm b/guix/self.scm index 93019e1c64..d1dcde34ac 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -19,7 +19,6 @@ (define-module (guix self) #:use-module (guix config) - #:use-module (guix i18n) #:use-module (guix modules) #:use-module (guix gexp) #:use-module (guix store) diff --git a/guix/serialization.scm b/guix/serialization.scm index 9b888a7d25..9656e5ac2a 100644 --- a/guix/serialization.scm +++ b/guix/serialization.scm @@ -17,7 +17,6 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (guix serialization) - #:use-module (guix combinators) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) diff --git a/guix/status.scm b/guix/status.scm index a192cd789a..d4d3fca026 100644 --- a/guix/status.scm +++ b/guix/status.scm @@ -27,7 +27,6 @@ #:autoload (guix build download) (nar-uri-abbreviation) #:use-module (guix store) #:use-module (guix derivations) - #:use-module (guix memoization) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) diff --git a/guix/store.scm b/guix/store.scm index a36dce416e..f8e77b2cd9 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -24,7 +24,6 @@ #:use-module (guix utils) #:use-module (guix config) #:use-module (guix deprecation) - #:use-module (guix memoization) #:use-module (guix serialization) #:use-module (guix monads) #:use-module (guix records) @@ -45,7 +44,6 @@ #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) - #:use-module (srfi srfi-39) #:use-module (ice-9 match) #:use-module (ice-9 vlist) #:use-module (ice-9 popen) diff --git a/guix/store/database.scm b/guix/store/database.scm index e664015673..2968f13492 100644 --- a/guix/store/database.scm +++ b/guix/store/database.scm @@ -22,7 +22,6 @@ (define-module (guix store database) #:use-module (sqlite3) #:use-module (guix config) - #:use-module (guix serialization) #:use-module (guix store deduplication) #:use-module (guix base16) #:use-module (guix progress) @@ -36,7 +35,6 @@ #:use-module (srfi srfi-26) #:use-module (rnrs io ports) #:use-module (ice-9 match) - #:use-module (system foreign) #:export (sql-schema %default-database-file store-database-file diff --git a/guix/store/deduplication.scm b/guix/store/deduplication.scm index acb6ffcc4a..129574c073 100644 --- a/guix/store/deduplication.scm +++ b/guix/store/deduplication.scm @@ -28,9 +28,7 @@ #:use-module (srfi srfi-11) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) - #:use-module (rnrs bytevectors) #:use-module (rnrs io ports) - #:use-module (ice-9 ftw) #:use-module (ice-9 match) #:use-module (guix serialization) #:export (nar-sha256 diff --git a/guix/substitutes.scm b/guix/substitutes.scm index edff84aac3..84c7be83ca 100644 --- a/guix/substitutes.scm +++ b/guix/substitutes.scm @@ -25,26 +25,19 @@ #:use-module (guix utils) #:use-module (guix combinators) #:use-module (guix config) - #:use-module (guix records) #:use-module (guix diagnostics) #:use-module (guix i18n) #:use-module (gcrypt hash) #:use-module (guix base32) - #:use-module (guix base64) #:use-module (guix cache) - #:use-module (gcrypt pk-crypto) - #:use-module (guix pki) #:use-module ((guix build utils) #:select (mkdir-p dump-port)) #:use-module ((guix build download) #:select ((open-connection-for-uri . guix:open-connection-for-uri) resolve-uri-reference)) #:use-module (guix progress) - #:use-module (ice-9 rdelim) - #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (ice-9 format) - #:use-module (ice-9 ftw) #:use-module (ice-9 binary-ports) #:use-module (ice-9 vlist) #:use-module (rnrs bytevectors) @@ -52,8 +45,6 @@ #:use-module (srfi srfi-11) #:use-module (srfi srfi-19) #:use-module (srfi srfi-26) - #:use-module (srfi srfi-34) - #:use-module (srfi srfi-35) #:use-module (web uri) #:use-module (web request) #:use-module (web response) diff --git a/guix/tests/gnupg.scm b/guix/tests/gnupg.scm index 09f02a2b67..0e4573ae4d 100644 --- a/guix/tests/gnupg.scm +++ b/guix/tests/gnupg.scm @@ -21,7 +21,6 @@ #:use-module (guix utils) #:use-module (guix build utils) #:use-module (rnrs io ports) - #:use-module (ice-9 match) #:export (gpg-command gpgconf-command with-fresh-gnupg-setup diff --git a/guix/tests/http.scm b/guix/tests/http.scm index 8f50eaefca..37e5744353 100644 --- a/guix/tests/http.scm +++ b/guix/tests/http.scm @@ -23,7 +23,6 @@ #:use-module (web server http) #:use-module (web response) #:use-module (srfi srfi-11) - #:use-module (srfi srfi-39) #:use-module (ice-9 match) #:export (with-http-server call-with-http-server diff --git a/guix/ui.scm b/guix/ui.scm index b6c3bd04ba..7540e2194f 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -323,7 +323,7 @@ other objects that must match the 'format' escapes in MESSAGE." ;; XXX: We should arrange so that the initial indent is wider. (parameterize ((%text-width (max 15 (- (terminal-columns) 5)))) (texi->plain-text (match arguments - (() message) + (() (format #f message)) (_ (apply format #f message (map (match-lambda ((? string? str) diff --git a/guix/upstream.scm b/guix/upstream.scm index 4c72388bf3..52fae11832 100644 --- a/guix/upstream.scm +++ b/guix/upstream.scm @@ -48,7 +48,6 @@ #:use-module (srfi srfi-35) #:use-module (rnrs bytevectors) #:use-module (ice-9 match) - #:use-module (ice-9 regex) #:export (upstream-source upstream-source? upstream-source-package diff --git a/guix/utils.scm b/guix/utils.scm index f47c565ab5..b9657df292 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -36,10 +36,8 @@ (define-module (guix utils) #:use-module (guix config) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) - #:use-module (srfi srfi-39) #:use-module (srfi srfi-71) #:use-module (rnrs io ports) ;need 'port-position' etc. #:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!)) @@ -51,7 +49,6 @@ #:use-module ((guix combinators) #:select (fold2)) #:use-module (guix diagnostics) ;<location>, &error-location, etc. #:use-module (ice-9 format) - #:use-module (ice-9 ftw) #:use-module ((ice-9 iconv) #:prefix iconv:) #:use-module (ice-9 match) #:use-module (ice-9 regex) |