From 58f20fa8181bdcd4269671e1d3cef1268947af3a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Mar 2023 13:05:46 +0100 Subject: git-download: Apply Git attributes on checkouts coming from SWH. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes a bug whereby CR/LF conversion, for instance, would not be applied on Git repositories retrieved from SWH: https://sympa.inria.fr/sympa/arc/swh-devel/2023-03/msg00000.html Reported by Simon Tournier . Suggested by Valentin Lorentz . Co-authored by Simon Tournier . * guix/git-download.scm (git-fetch)[build]: Add Git operations conditioned by '.gitattributes' on the result from SWH. Signed-off-by: Ludovic Courtès --- guix/git-download.scm | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) (limited to 'guix') diff --git a/guix/git-download.scm b/guix/git-download.scm index a1566bed4d..3dc306e39d 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 +;;; Copyright © 2014-2021, 2023 Ludovic Courtès ;;; Copyright © 2017 Mathieu Lirzin ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2020 Jakub Kądziołka +;;; Copyright © 2023 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -84,16 +85,18 @@ (define* (git-fetch ref hash-algo hash 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)) @@ -151,7 +154,7 @@ (define recursive? (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 @@ (define recursive? (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 -- cgit v1.2.3 From 7bbeaa87e3796d56cc762dcfbc340f9be301d5f6 Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Mon, 20 Feb 2023 00:19:18 +0100 Subject: build-system/guile: Expose #:scheme-file-regexp when cross-compiling * guix/build-system/guile.scm (guile-cross-build): Accept #:scheme-file-regexp and pass it on to builder. --- guix/build-system/guile.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'guix') diff --git a/guix/build-system/guile.scm b/guix/build-system/guile.scm index ffc892260a..7e2e33c13e 100644 --- a/guix/build-system/guile.scm +++ b/guix/build-system/guile.scm @@ -129,6 +129,7 @@ (define* (guile-cross-build name (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 +155,7 @@ (define %outputs #: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 -- cgit v1.2.3 From aca64d560452812208c654abba1ec3ab7041eefd Mon Sep 17 00:00:00 2001 From: Josselin Poiret Date: Mon, 13 Feb 2023 22:31:21 +0100 Subject: scripts: environment: Fix ordering issue with CWD and --expose. Fixes . * guix/scripts/environment.scm (launch-environment/container): Move the CWD mapping to the front of the file system mappings. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- guix/scripts/environment.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'guix') diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 44cfcb4f76..33a76abff3 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -767,14 +767,17 @@ (define fhs-mappings (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 -- cgit v1.2.3 From ff5f34ae757d709987896d6164bf125319a0f764 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 24 Feb 2023 17:30:03 -0500 Subject: gnu: perl-extutils-pkgconfig: Support cross-compilation. * guix/search-paths.scm ($PKG_CONFIG_PATH): New variable. * gnu/packages/pkg-config.scm (%pkg-config): Use it. * gnu/packages/perl.scm (perl-extutils-pkgconfig-for-target): New procedure. (perl-extutils-pkgconfig): Turn into a syntax that conditionally expands to... (cross-perl-extutils-pkgconfig): ... this when %current-target-system is set, or... (%perl-extutils-pkgconfig): ... this in a native compilation context. [arguments]: New field. [propagated-inputs]: Turn into... [native-inputs]: ... this. [native-search-paths]: New field. --- gnu/packages/perl.scm | 63 +++++++++++++++++++++++++++++++++++++++++---- gnu/packages/pkg-config.scm | 5 ++-- guix/search-paths.scm | 8 ++++++ 3 files changed, 68 insertions(+), 8 deletions(-) (limited to 'guix') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 41b68baea8..08ae11724c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -28,7 +28,7 @@ ;;; Copyright © 2020 Paul Garlick ;;; Copyright © 2020 Nicolas Goaziou ;;; Copyright © 2020 Malte Frank Gerdes -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021, 2023 Maxim Cournoyer ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Raghav Gururajan ;;; Copyright © 2021 Maxime Devos @@ -63,6 +63,8 @@ (define-module (gnu packages perl) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) + #:use-module (guix memoization) + #:use-module (guix search-paths) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages compression) @@ -90,7 +92,8 @@ (define-module (gnu packages perl) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:export (perl-extutils-pkgconfig)) ;;; ;;; Please: Try to add new module packages in alphabetic order. @@ -4616,7 +4619,10 @@ (define-public perl-extutils-parsexs handle Perl/XS typemap files, and their submodules.") (license (package-license perl)))) -(define-public perl-extutils-pkgconfig +;; This is the "primitive" perl-extutils-pkgconfig package. People should use +;; `perl-extutils-pkgconfig' instead (see below)', but we export +;; %perl-extutils-pkgconfig so that `fold-packages' finds it. +(define-public %perl-extutils-pkgconfig (package (name "perl-extutils-pkgconfig") (version "1.16") @@ -4628,8 +4634,32 @@ (define-public perl-extutils-pkgconfig (base32 "0vhwh0731rhh1sswmvagq0myn754dnkab8sizh6d3n6pjpcwxsmv")))) (build-system perl-build-system) - (propagated-inputs - (list pkg-config)) + ;; XXX: Patch the pkg-config references to avoid propagating it, as that + ;; would cause the search path to be wrong when cross-building, due to + ;; propagated inputs being treated as host inputs, not native inputs. + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-pkg-config-path + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let* ((target #$(%current-target-system)) + (pkg-config-name (if target + (string-append target "-pkg-config") + "pkg-config")) + (pkg-config (search-input-file + (or native-inputs inputs) + (string-append "bin/" pkg-config-name)))) + (substitute* '("Makefile.PL" + "lib/ExtUtils/PkgConfig.pm") + (("qx/pkg-config([^/]*)/" _ args) + (string-append "`" pkg-config args "`")) + (("(`|\")pkg-config" _ quote) + (string-append quote pkg-config))))))))) + (native-inputs (list pkg-config)) + ;; Note: do not use the pkg-config syntax here, as the search paths fields + ;; are not thunked and its value could be wrong. + (native-search-paths (list $PKG_CONFIG_PATH)) (home-page "https://metacpan.org/release/ExtUtils-PkgConfig") (synopsis "Simplistic interface to pkg-config") (description @@ -4639,6 +4669,29 @@ (define-public perl-extutils-pkgconfig It is really just boilerplate code that you would have written yourself.") (license license:lgpl2.1+))) +(define-public cross-perl-extutils-pkgconfig + (mlambda (target) + "Return a perl-extutils-pkgconfig for TARGET, adjusting the search paths." + (package + (inherit %perl-extutils-pkgconfig) + ;; Ignore native inputs, and set `PKG_CONFIG_PATH' for target inputs. + (native-search-paths '()) + (search-paths (list $PKG_CONFIG_PATH))))) + +(define (perl-extutils-pkgconfig-for-target target) + "Return a perl-extutils-pkgconfig package for TARGET, which may be either #f +for a native build, or a GNU triplet." + (if target + (cross-perl-extutils-pkgconfig target) + %perl-extutils-pkgconfig)) + +;; This hack mimics the one for pkg-config, to allow automatically choosing +;; the native or the cross `pkg-config' depending on whether it's being used +;; in a cross-build environment or not. +(define-syntax perl-extutils-pkgconfig + (identifier-syntax (perl-extutils-pkgconfig-for-target + (%current-target-system)))) + (define-public perl-extutils-typemaps-default (package (name "perl-extutils-typemaps-default") diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index 6263e90f1f..b15b646416 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -24,6 +24,7 @@ (define-module (gnu packages pkg-config) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) + #:use-module (guix search-paths) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages bash) @@ -66,9 +67,7 @@ (define-public %pkg-config "ac_cv_func_posix_getgrgid_r=yes") '())))) (native-search-paths - (list (search-path-specification - (variable "PKG_CONFIG_PATH") - (files '("lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig"))))) + (list $PKG_CONFIG_PATH)) (home-page "https://www.freedesktop.org/wiki/Software/pkg-config") (license gpl2+) (synopsis "Helper tool used when compiling applications and libraries") 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 @@ (define-module (guix search-paths) $PATH $GUIX_EXTENSIONS_PATH + $PKG_CONFIG_PATH $SSL_CERT_DIR $SSL_CERT_FILE @@ -83,6 +84,13 @@ (define $GUIX_EXTENSIONS_PATH (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) -- cgit v1.2.3 From 11f6bdc547bb80a8c692ce87074058dcd9b0dc8c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 2 Mar 2023 19:37:02 +0100 Subject: read-print: Special-case channel-related forms. * guix/read-print.scm (%special-forms, %newline-forms): Add channel-related forms. --- guix/read-print.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'guix') diff --git a/guix/read-print.scm b/guix/read-print.scm index ccddca732d..46b722eeed 100644 --- a/guix/read-print.scm +++ b/guix/read-print.scm @@ -299,6 +299,7 @@ (define %special-forms ('unless 2) ('package 1) ('origin 1) + ('channel 1) ('modify-inputs 2) ('modify-phases 2) ('add-after '(((modify-phases) . 3))) @@ -342,7 +343,8 @@ (define %newline-forms ('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." -- cgit v1.2.3 From 0a37921d851b94aef6900214098dc5bd62b46e26 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Mar 2023 11:31:12 +0100 Subject: read-print: Correctly handle comments that follow a list head. Fixes . Reported by Maxim Cournoyer . * guix/read-print.scm (pretty-print-with-comments)[starts-with-line-comment?]: New procedure. Use it when printing a list. * tests/read-print.scm: Add two tests. --- guix/read-print.scm | 9 ++++++++- tests/read-print.scm | 9 +++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'guix') diff --git a/guix/read-print.scm b/guix/read-print.scm index 46b722eeed..fdc85c2693 100644 --- a/guix/read-print.scm +++ b/guix/read-print.scm @@ -529,6 +529,12 @@ (define (list-of-lists? head tail) (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 @@ -710,7 +716,8 @@ (define new-column (+ 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/tests/read-print.scm b/tests/read-print.scm index 79a4101be6..952b3e6585 100644 --- a/tests/read-print.scm +++ b/tests/read-print.scm @@ -210,6 +210,15 @@ (define-syntax-rule (test-pretty-print/sequence str args ...) \"abcdefghijklmnopqrstuvwxyz\")" #:max-width 33) +(test-pretty-print "\ +(list ;margin comment + a b c)") + +(test-pretty-print "\ +(list + ;; This is a line comment immediately following the list head. + #:test-flags #~(list \"-m\" \"not external and not samples\"))") + (test-pretty-print "\ (modify-phases %standard-phases (replace 'build -- cgit v1.2.3 From 79ae719ad1e336fd7de93eb954281f0c0521c64b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 9 Mar 2023 12:35:49 +0100 Subject: build-system/gnu: Remove 'install-license-files' from '%dist-phases'. * guix/build/gnu-dist.scm (%dist-phases): Delete 'install-license-files'. --- guix/build/gnu-dist.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'guix') 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 +;;; Copyright © 2013, 2015, 2020, 2023 Ludovic Courtès ;;; Copyright © 2018 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -52,6 +52,7 @@ (define %dist-phases (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 -- cgit v1.2.3 From ea2ff18238afddee330e64cb6faf5fe9026d41b9 Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Fri, 24 Feb 2023 03:22:16 +0000 Subject: licenses: Add LPL 1.02 (Lucent Public Licence). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/licenses.scm (lpl1.02): New variable. * guix/import/utils.scm (spdx-string->license): Add LPL-1.02 identifier. Signed-off-by: Ludovic Courtès --- guix/import/utils.scm | 1 + guix/licenses.scm | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'guix') diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 72795d2c61..ee64faa886 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -244,6 +244,7 @@ (define %spdx-license-identifiers ("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/licenses.scm b/guix/licenses.scm index f7df5826bf..e7e6ef3545 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -75,6 +75,7 @@ (define-module (guix licenses) 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 @@ (define llgpl "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/" -- cgit v1.2.3 From 6529534587989224563221a3f33e316f6fb75822 Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Fri, 24 Feb 2023 03:22:17 +0000 Subject: import: Add EUPL 1.1 to the SPDX license name converter. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/import/utils.scm (spdx-string->license): Add EUPL-1.1 identifier. Signed-off-by: Ludovic Courtès --- guix/import/utils.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'guix') diff --git a/guix/import/utils.scm b/guix/import/utils.scm index ee64faa886..2da5d93a67 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -198,6 +198,7 @@ (define %spdx-license-identifiers ("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) -- cgit v1.2.3 From a70b9fb319e7f8d64ea90e8f659dcf40a6b971b0 Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Sat, 11 Mar 2023 13:39:45 +0000 Subject: lint: Check that python-pre-commit is not an input. pre-commit should never be a native-input of python packages, it's a package manager for commit linting that is irrelevant to builds. * guix/lint.scm (check-inputs-should-not-be-an-input-at-all): Add entry for python-pre-commit. Signed-off-by: Lars-Dominik Braun --- guix/lint.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'guix') diff --git a/guix/lint.scm b/guix/lint.scm index 8e3976171f..17dcc23647 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -533,7 +533,8 @@ (define (check-inputs-should-not-be-an-input-at-all package) ;; 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 -- cgit v1.2.3 From 9fb8a480d5aec9186908e92ad18b31455f4aab6b Mon Sep 17 00:00:00 2001 From: Simon Tournier Date: Sat, 11 Mar 2023 17:51:10 +0100 Subject: packages: Consider 'patches' by 'package-direct-sources'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/packages.scm (package-direct-sources): Return 'origin' from 'patches'. * tests/packages.scm: Test it. Signed-off-by: Ludovic Courtès --- guix/packages.scm | 10 ++++++++-- tests/packages.scm | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 3 deletions(-) (limited to 'guix') diff --git a/guix/packages.scm b/guix/packages.scm index 041a872f9d..7b098e21f0 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2022 jgart +;;; Copyright © 2023 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -1239,8 +1240,13 @@ (define-syntax modify-inputs (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) diff --git a/tests/packages.scm b/tests/packages.scm index f58c47817b..27fb918f90 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos +;;; Copyright © 2023 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -418,12 +419,15 @@ (define read-at (let* ((o (dummy-origin)) (u (dummy-origin)) (i (dummy-origin)) + (j (dummy-origin (patches (list o)))) (a (dummy-package "a")) (b (dummy-package "b" (inputs (list a i)))) (c (package (inherit b) (source o))) (d (dummy-package "d" (build-system trivial-build-system) - (source u) (inputs (list c))))) + (source u) (inputs (list c)))) + (e (dummy-package "e" (source j))) + (f (package (inherit e) (inputs (list u))))) (test-assert "package-direct-sources, no source" (null? (package-direct-sources a))) (test-equal "package-direct-sources, #f source" @@ -437,6 +441,17 @@ (define read-at (and (= (length (pk 's-sources s)) 2) (member o s) (member i s)))) + (test-assert "package-direct-sources, with patches" + (let ((s (package-direct-sources e))) + (and (= (length (pk 's-sources s)) 2) + (member o s) + (member j s)))) + (test-assert "package-direct-sources, with patches and inputs" + (let ((s (package-direct-sources f))) + (and (= (length (pk 's-sources s)) 3) + (member o s) + (member j s) + (member u s)))) (test-assert "package-transitive-sources" (let ((s (package-transitive-sources d))) (and (= (length (pk 'd-sources s)) 3) -- cgit v1.2.3 From 5dd0d7f99f4a71a6ed4a2dab66d32e4b7ed2b70c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Mar 2023 15:48:01 +0100 Subject: packages: Use SRFI-71 instead of SRFI-11. * guix/packages.scm (package-input-rewriting/spec): Use SRFI-71 'let'. --- guix/packages.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'guix') diff --git a/guix/packages.scm b/guix/packages.scm index 7b098e21f0..ca958c6eae 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 +;;; Copyright © 2012-2023 Ludovic Courtès ;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016 Alex Kost @@ -52,10 +52,10 @@ (define-module (guix packages) #: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) @@ -1540,8 +1540,7 @@ (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)) -- cgit v1.2.3 From eee95b5a879b7096dffd533f24107cf8926b621e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 8 Mar 2023 12:53:20 +0100 Subject: packages: 'package-input-rewriting/spec' ignores hidden packages. The primary motivation is to support things like: guix build guix --with-input=guile=guile-next without triggering a rebuild of (@@ (gnu packages commencement) guile-final) and similar things. It is also consistent with package name resolution on the command line: a package that cannot be named cannot be replaced. * guix/packages.scm (package-input-rewriting/spec)[rewrite]: When P is hidden, return it as-is. * tests/packages.scm ("package-input-rewriting/spec, hidden package"): New test. * doc/guix.texi (Defining Package Variants): Update. (Package Transformation Options): Update '--with-input' example. --- doc/guix.texi | 21 ++++++++++++--------- guix/packages.scm | 7 +++++-- tests/packages.scm | 20 +++++++++++++++++++- 3 files changed, 36 insertions(+), 12 deletions(-) (limited to 'guix') diff --git a/doc/guix.texi b/doc/guix.texi index 3814e60467..95c954bfcf 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8331,10 +8331,13 @@ be replaced by name rather than by identity. @deffn {Scheme Procedure} package-input-rewriting/spec @var{replacements} [#:deep? #t] Return a procedure that, given a package, applies the given @var{replacements} to all the package graph, including implicit inputs -unless @var{deep?} is false. @var{replacements} is a list of -spec/procedures pair; each spec is a package specification such as -@code{"gcc"} or @code{"guile@@2"}, and each procedure takes a matching -package and returns a replacement for that package. +unless @var{deep?} is false. + +@var{replacements} is a list of spec/procedures pair; each spec is a +package specification such as @code{"gcc"} or @code{"guile@@2"}, and +each procedure takes a matching package and returns a replacement for +that package. Matching packages that have the @code{hidden?} property +set are not replaced. @end deffn The example above could be rewritten this way: @@ -12664,18 +12667,18 @@ or @code{guile@@1.8}. For instance, the following command builds Guix, but replaces its dependency on the current stable version of Guile with a dependency on -the legacy version of Guile, @code{guile@@2.0}: +the legacy version of Guile, @code{guile@@2.2}: @example -guix build --with-input=guile=guile@@2.0 guix +guix build --with-input=guile=guile@@2.2 guix @end example This is a recursive, deep replacement. So in this example, both @code{guix} and its dependency @code{guile-json} (which also depends on -@code{guile}) get rebuilt against @code{guile@@2.0}. +@code{guile}) get rebuilt against @code{guile@@2.2}. -This is implemented using the @code{package-input-rewriting} Scheme -procedure (@pxref{Defining Packages, @code{package-input-rewriting}}). +This is implemented using the @code{package-input-rewriting/spec} Scheme +procedure (@pxref{Defining Packages, @code{package-input-rewriting/spec}}). @item --with-graft=@var{package}=@var{replacement} This is similar to @option{--with-input} but with an important difference: diff --git a/guix/packages.scm b/guix/packages.scm index ca958c6eae..4c0c194652 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -1533,9 +1533,11 @@ (define (cut? p) (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 @@ -1563,7 +1565,8 @@ (define replacement-property (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/tests/packages.scm b/tests/packages.scm index 27fb918f90..ef97fca86d 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2022 Ludovic Courtès +;;; Copyright © 2012-2023 Ludovic Courtès ;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Maxime Devos @@ -1592,6 +1592,24 @@ (define right-system? (match (delete-duplicates pythons eq?) ((p) (eq? p (rewrite python)))))) +(test-assert "package-input-rewriting/spec, hidden package" + ;; Hidden packages are not subject to rewriting. + (let* ((python (hidden-package python)) + (p0 (dummy-package "chbouib" + (build-system trivial-build-system) + (inputs (list python)))) + (rewrite (package-input-rewriting/spec + `(("python" . ,(const sed))) + #:deep? #t)) + (p1 (rewrite p0)) + (bag1 (package->bag p1)) + (pythons (filter-map (match-lambda + (("python" python) python) + (_ #f)) + (bag-transitive-inputs bag1)))) + (match (delete-duplicates pythons eq?) + ((p) (eq? p python))))) + (test-equal "package-input-rewriting/spec, graft" (derivation-file-name (package-derivation %store sed)) -- cgit v1.2.3 From ae587c2ef041413bc709a555261db752068ea360 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 8 Mar 2023 22:51:17 +0100 Subject: guix: Strip #:use-module lists. This was obtained by setting up this environment: guix shell -D guix --with-input=guile@3.0.9=guile-next \ --with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2 -- make -j5 then adding 'unused-module' to (@@ (guix build compiler) %warnings), building, and checking all the "unused module" warnings and removing those that were definitely unused. --- guix/android-repo-download.scm | 3 --- guix/base32.scm | 1 - guix/build-system/android-ndk.scm | 2 -- guix/build-system/ant.scm | 2 -- guix/build-system/asdf.scm | 2 -- guix/build-system/chicken.scm | 1 - guix/build-system/clojure.scm | 2 -- guix/build-system/cmake.scm | 2 -- guix/build-system/copy.scm | 1 - guix/build-system/dub.scm | 2 -- guix/build-system/dune.scm | 2 -- guix/build-system/emacs.scm | 2 -- guix/build-system/font.scm | 1 - guix/build-system/glib-or-gtk.scm | 2 -- guix/build-system/gnu.scm | 1 - guix/build-system/guile.scm | 1 - guix/build-system/haskell.scm | 1 - guix/build-system/julia.scm | 2 -- guix/build-system/maven.scm | 1 - guix/build-system/meson.scm | 1 - guix/build-system/minify.scm | 2 -- guix/build-system/node.scm | 1 - guix/build-system/ocaml.scm | 1 - guix/build-system/perl.scm | 2 -- guix/build-system/pyproject.scm | 4 ---- guix/build-system/python.scm | 3 --- guix/build-system/qt.scm | 1 - guix/build-system/r.scm | 1 - guix/build-system/rakudo.scm | 1 - guix/build-system/rebar.scm | 2 -- guix/build-system/renpy.scm | 3 --- guix/build-system/ruby.scm | 2 -- guix/build-system/scons.scm | 1 - guix/build-system/texlive.scm | 1 - guix/build-system/trivial.scm | 2 -- guix/build-system/waf.scm | 3 --- guix/build/android-ndk-build-system.scm | 5 ----- guix/build/asdf-build-system.scm | 4 ---- guix/build/chicken-build-system.scm | 1 - guix/build/clojure-utils.scm | 1 - guix/build/download-nar.scm | 1 - guix/build/elm-build-system.scm | 1 - guix/build/guile-build-system.scm | 1 + guix/build/linux-module-build-system.scm | 4 ---- guix/build/lisp-utils.scm | 2 -- guix/build/make-bootstrap.scm | 3 --- guix/build/svn.scm | 1 - guix/build/waf-build-system.scm | 4 ---- guix/channels.scm | 4 ---- guix/derivations.scm | 2 -- guix/discovery.scm | 1 - guix/ftp-client.scm | 2 -- guix/git-authenticate.scm | 1 - guix/git.scm | 2 -- guix/gnu-maintenance.scm | 3 --- guix/graph.scm | 1 - guix/hg-download.scm | 1 - guix/import/cabal.scm | 1 - guix/import/cpan.scm | 2 +- guix/import/cran.scm | 4 ---- guix/import/crate.scm | 3 --- guix/import/egg.scm | 4 ---- guix/import/elm.scm | 11 ----------- guix/import/elpa.scm | 5 +---- guix/import/gem.scm | 1 - guix/import/git.scm | 5 +---- guix/import/github.scm | 2 -- guix/import/gnome.scm | 2 -- guix/import/gnu.scm | 3 --- guix/import/go.scm | 8 -------- guix/import/hexpm.scm | 9 --------- guix/import/kde.scm | 1 - guix/import/minetest.scm | 7 ------- guix/import/opam.scm | 7 +------ guix/import/print.scm | 3 +-- guix/import/pypi.scm | 3 --- guix/import/test.scm | 2 -- guix/import/texlive.scm | 3 --- guix/import/utils.scm | 1 - guix/ipfs.scm | 5 ----- guix/lint.scm | 1 - guix/pki.scm | 1 - guix/records.scm | 1 - guix/remote.scm | 2 -- guix/scripts.scm | 1 - guix/scripts/archive.scm | 1 - guix/scripts/build.scm | 3 --- guix/scripts/challenge.scm | 1 - guix/scripts/deploy.scm | 1 - guix/scripts/discover.scm | 1 - guix/scripts/download.scm | 3 --- guix/scripts/edit.scm | 3 ++- guix/scripts/graph.scm | 1 - guix/scripts/hash.scm | 4 ---- guix/scripts/home.scm | 2 -- guix/scripts/import.scm | 3 --- guix/scripts/offload.scm | 1 - guix/scripts/pack.scm | 2 -- guix/scripts/package.scm | 5 ----- guix/scripts/publish.scm | 4 ---- guix/scripts/pull.scm | 2 -- guix/scripts/refresh.scm | 3 --- guix/scripts/repl.scm | 2 -- guix/scripts/search.scm | 1 - guix/scripts/show.scm | 1 - guix/scripts/style.scm | 2 -- guix/scripts/substitute.scm | 4 ---- guix/scripts/system.scm | 7 ------- guix/scripts/time-machine.scm | 1 - guix/self.scm | 1 - guix/serialization.scm | 1 - guix/status.scm | 1 - guix/store.scm | 2 -- guix/store/database.scm | 2 -- guix/store/deduplication.scm | 2 -- guix/substitutes.scm | 9 --------- guix/tests/gnupg.scm | 1 - guix/tests/http.scm | 1 - guix/upstream.scm | 1 - guix/utils.scm | 3 --- 120 files changed, 8 insertions(+), 279 deletions(-) (limited to 'guix') diff --git a/guix/android-repo-download.scm b/guix/android-repo-download.scm index 1c3502e673..e224cdd295 100644 --- a/guix/android-repo-download.scm +++ b/guix/android-repo-download.scm @@ -29,10 +29,7 @@ (define-module (guix android-repo-download) #: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 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 . (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 @@ (define-module (guix build-system android-ndk) #: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 @@ (define-module (guix build-system ant) #: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 @@ (define-module (guix build-system asdf) #: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 @@ (define-module (guix build-system chicken) #: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 @@ (define-module (guix build-system clojure) #: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 0aabc95b90..09e3ac85db 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -24,12 +24,10 @@ (define-module (guix build-system cmake) #: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 6efc2b2766..4091eb7847 100644 --- a/guix/build-system/copy.scm +++ b/guix/build-system/copy.scm @@ -28,7 +28,6 @@ (define-module (guix build-system copy) #: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 @@ (define-module (guix build-system dub) #: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 3f81d21441..afe5b24f22 100644 --- a/guix/build-system/dune.scm +++ b/guix/build-system/dune.scm @@ -25,10 +25,8 @@ (define-module (guix build-system dune) #: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 @@ (define-module (guix build-system emacs) #: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 a99f76c66b..aac130da4e 100644 --- a/guix/build-system/font.scm +++ b/guix/build-system/font.scm @@ -22,7 +22,6 @@ (define-module (guix build-system font) #: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 aa9703829b..e956354687 100644 --- a/guix/build-system/glib-or-gtk.scm +++ b/guix/build-system/glib-or-gtk.scm @@ -24,14 +24,12 @@ (define-module (guix build-system glib-or-gtk) #: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 e62ee18367..c363c3910f 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -22,7 +22,6 @@ (define-module (guix build-system gnu) #: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 7e2e33c13e..1bd292e267 100644 --- a/guix/build-system/guile.scm +++ b/guix/build-system/guile.scm @@ -25,7 +25,6 @@ (define-module (guix build-system guile) #: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)) 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 @@ (define-module (guix build-system haskell) #: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 @@ (define-module (guix build-system julia) #: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 0af5922692..3daff07323 100644 --- a/guix/build-system/maven.scm +++ b/guix/build-system/maven.scm @@ -26,7 +26,6 @@ (define-module (guix build-system maven) #: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 7d413a991d..d7d807f5b6 100644 --- a/guix/build-system/meson.scm +++ b/guix/build-system/meson.scm @@ -30,7 +30,6 @@ (define-module (guix build-system meson) #: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 @@ (define-module (guix build-system minify) #: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 @@ (define-module (guix build-system node) #: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 921c1f8629..27d5183640 100644 --- a/guix/build-system/ocaml.scm +++ b/guix/build-system/ocaml.scm @@ -25,7 +25,6 @@ (define-module (guix build-system ocaml) #: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 @@ (define-module (guix build-system perl) #: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 @@ (define-module (guix build-system pyproject) #: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 @@ (define-module (guix build-system python) #: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 @@ (define-module (guix build-system python) #: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 7e3a54f1f8..cb33212abd 100644 --- a/guix/build-system/qt.scm +++ b/guix/build-system/qt.scm @@ -33,7 +33,6 @@ (define-module (guix build-system qt) #: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 @@ (define-module (guix build-system r) #: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 @@ (define-module (guix build-system rakudo) #: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 @@ (define-module (guix build-system rebar) #: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 @@ (define-module (guix build-system ruby) #: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 @@ (define-module (guix build-system scons) #: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 @@ (define-module (guix build-system texlive) #: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 @@ (define-module (guix build-system waf) #: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/asdf-build-system.scm b/guix/build/asdf-build-system.scm index 92154e7d34..a47e825439 100644 --- a/guix/build/asdf-build-system.scm +++ b/guix/build/asdf-build-system.scm @@ -24,11 +24,7 @@ (define-module (guix build asdf-build-system) #:use-module (guix build union) #:use-module (guix build lisp-utils) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) - #:use-module (ice-9 rdelim) - #:use-module (ice-9 receive) - #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (ice-9 format) #:use-module (ice-9 ftw) 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 @@ (define-module (guix build clojure-utils) #: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..d760f3ce00 100644 --- a/guix/build/download-nar.scm +++ b/guix/build/download-nar.scm @@ -18,7 +18,6 @@ (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) #:use-module (guix progress) diff --git a/guix/build/elm-build-system.scm b/guix/build/elm-build-system.scm index 02d7c029dd..87a426e2a9 100644 --- a/guix/build/elm-build-system.scm +++ b/guix/build/elm-build-system.scm @@ -23,7 +23,6 @@ (define-module (guix build elm-build-system) #:use-module (guix build union) #:use-module (ice-9 ftw) #:use-module (ice-9 rdelim) - #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (ice-9 popen) #:use-module (ice-9 vlist) diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm index 32a431d347..a293b3f624 100644 --- a/guix/build/guile-build-system.scm +++ b/guix/build/guile-build-system.scm @@ -26,6 +26,7 @@ (define-module (guix build guile-build-system) #:use-module (ice-9 rdelim) #:use-module (ice-9 regex) #:use-module (ice-9 format) + #:autoload (ice-9 threads) (current-processor-count) #:use-module (guix build utils) #:export (target-guile-effective-version %standard-phases 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/lisp-utils.scm b/guix/build/lisp-utils.scm index 646d4a3365..2ebd4bec9b 100644 --- a/guix/build/lisp-utils.scm +++ b/guix/build/lisp-utils.scm @@ -20,11 +20,9 @@ (define-module (guix build lisp-utils) #:use-module (ice-9 format) - #:use-module (ice-9 hash-table) #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:use-module (guix build utils) #:export (%lisp %lisp-type diff --git a/guix/build/make-bootstrap.scm b/guix/build/make-bootstrap.scm index 0d29338ce3..ffa8de175c 100644 --- a/guix/build/make-bootstrap.scm +++ b/guix/build/make-bootstrap.scm @@ -20,9 +20,6 @@ (define-module (guix build make-bootstrap) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) - #:use-module (srfi srfi-19) - #:use-module (srfi srfi-26) #:use-module (guix build utils) #:export (copy-linux-headers make-stripped-libc)) 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/build/waf-build-system.scm b/guix/build/waf-build-system.scm index 56048e7685..63791ee6ed 100644 --- a/guix/build/waf-build-system.scm +++ b/guix/build/waf-build-system.scm @@ -19,10 +19,6 @@ (define-module (guix build waf-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) #:use-module (guix build utils) - #:use-module (ice-9 match) - #:use-module (ice-9 ftw) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (%standard-phases waf-build)) 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 @@ (define-module (guix channels) #: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 @@ (define-module (guix channels) #: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/derivations.scm b/guix/derivations.scm index 0bb6a28147..9fec7f4f0b 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -41,8 +41,6 @@ (define-module (guix derivations) #: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? 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 @@ (define-module (guix discovery) #: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 @@ (define-module (guix ftp-client) #: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 @@ (define-module (guix git-authenticate) #: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.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 @@ (define-module (guix gnu-maintenance) #: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 @@ (define-module (guix graph) #: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..a7022dd431 100644 --- a/guix/hg-download.scm +++ b/guix/hg-download.scm @@ -25,7 +25,6 @@ (define-module (guix hg-download) #: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) 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 @@ (define-module (guix import cabal) #: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 @@ (define-module (guix import cpan) #: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 @@ (define-module (guix import cran) #: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 @@ (define-module (guix import cran) #: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 @@ (define-module (guix import egg) #: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 @@ (define-module (guix import elm) #: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 @@ (define-module (guix import elpa) #: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 @@ (define-module (guix import gem) #: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 . (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 @@ (define-module (guix import github) #: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 @@ (define-module (guix import gnome) #: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 @@ (define-module (guix import gnu) #: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 @@ (define-module (guix import go) #: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 @@ (define-module (guix import go) (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 . (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 @@ (define-module (guix import hexpm) #: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 . (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 @@ (define-module (guix import opam) 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 @@ (define-module (guix import pypi) #: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 @@ (define-module (guix import pypi) 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 @@ (define-module (guix import texlive) #: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 2da5d93a67..e1f6519287 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -39,7 +39,6 @@ (define-module (guix import utils) #: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) 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/lint.scm b/guix/lint.scm index 17dcc23647..a1a27873d9 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) 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 @@ (define-module (guix pki) #: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/records.scm b/guix/records.scm index 1f097c7108..7d43b064d8 100644 --- a/guix/records.scm +++ b/guix/records.scm @@ -22,7 +22,6 @@ (define-module (guix records) #: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 @@ (define-module (guix remote) #: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 @@ (define-module (guix scripts) #: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 . (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 @@ (define-module (guix scripts build) #: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 @@ (define-module (guix scripts build) #: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 @@ (define-module (guix scripts challenge) #: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 @@ (define-module (guix scripts deploy) #: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 @@ (define-module (guix scripts discover) #: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 @@ (define-module (guix scripts download) #: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 @@ (define-module (guix scripts edit) #: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/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 8ff8182a79..954bb0045f 100644 --- a/guix/scripts/home.scm +++ b/guix/scripts/home.scm @@ -22,9 +22,7 @@ ;;; along with GNU Guix. If not, see . (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 @@ (define-module (guix scripts import) #: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 @@ (define-module (guix scripts offload) #: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..25ac9d29d0 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -28,7 +28,6 @@ (define-module (guix scripts pack) #: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 @@ (define-module (guix scripts pack) #: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) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 945e2f2cca..f1eef9dfaf 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -38,9 +38,7 @@ (define-module (guix scripts package) #: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) @@ -48,12 +46,9 @@ (define-module (guix scripts package) manifest-entry-with-provenance) #:autoload (guix channels) (channel-name channel-commit channel->code) #:autoload (guix store roots) (gc-roots user-owned?) - #:use-module ((guix build utils) - #:select (directory-exists? mkdir-p)) #: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 @@ (define-module (guix scripts publish) #: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 @@ (define-module (guix scripts pull) #: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 @@ (define-module (guix scripts pull) #: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 @@ (define-module (guix scripts refresh) #: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 @@ (define-module (guix scripts repl) #: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 @@ (define-module (guix scripts search) #: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 @@ (define-module (guix scripts show) #: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 @@ (define-module (guix scripts style) #: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 @@ (define-module (guix scripts style) #: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 @@ (define-module (guix scripts substitute) #: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 @@ (define-module (guix scripts substitute) #: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 @@ (define-module (guix scripts substitute) #: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 @@ (define-module (guix scripts system) #: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 @@ (define-module (guix scripts system) #: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 @@ (define-module (guix scripts time-machine) #: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/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 . (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 @@ (define-module (guix status) #: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 @@ (define-module (guix store) #: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 @@ (define-module (guix store) #: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 @@ (define-module (guix store database) #: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 @@ (define-module (guix store deduplication) #: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 @@ (define-module (guix substitutes) #: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 @@ (define-module (guix substitutes) #: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 @@ (define-module (guix tests gnupg) #: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 @@ (define-module (guix tests http) #: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/upstream.scm b/guix/upstream.scm index 4c72388bf3..52fae11832 100644 --- a/guix/upstream.scm +++ b/guix/upstream.scm @@ -48,7 +48,6 @@ (define-module (guix upstream) #: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 774b80cd25..943d540bfc 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 @@ (define-module (guix utils) #:use-module ((guix combinators) #:select (fold2)) #:use-module (guix diagnostics) ;, &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) -- cgit v1.2.3 From 3a7757f1fdc4ae30d7ce177792be437a7a5ca52f Mon Sep 17 00:00:00 2001 From: Winter Date: Thu, 2 Mar 2023 21:27:10 -0500 Subject: environment: Clear 'TERM' when checking environment. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/scripts/environment.scm (child-shell-environment): Set 'TERM' to the empty string. Co-authored-by: Ludovic Courtès --- guix/scripts/environment.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'guix') diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 33a76abff3..a4939ea63c 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -514,6 +514,11 @@ (define lines (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) -- cgit v1.2.3 From 0bb0eeddf647e5d56afd4517b12919a36acac6ee Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 13 Mar 2023 15:17:24 +0100 Subject: guix: Leave some of guix/build/* unchanged. This partially reverts ae587c2ef041413bc709a555261db752068ea360 to reduce the number of rebuilds. --- guix/build/asdf-build-system.scm | 4 ++++ guix/build/elm-build-system.scm | 1 + guix/build/guile-build-system.scm | 1 - guix/build/lisp-utils.scm | 2 ++ guix/build/make-bootstrap.scm | 3 +++ guix/build/waf-build-system.scm | 4 ++++ 6 files changed, 14 insertions(+), 1 deletion(-) (limited to 'guix') diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm index a47e825439..92154e7d34 100644 --- a/guix/build/asdf-build-system.scm +++ b/guix/build/asdf-build-system.scm @@ -24,7 +24,11 @@ (define-module (guix build asdf-build-system) #:use-module (guix build union) #:use-module (guix build lisp-utils) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (ice-9 rdelim) + #:use-module (ice-9 receive) + #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (ice-9 format) #:use-module (ice-9 ftw) diff --git a/guix/build/elm-build-system.scm b/guix/build/elm-build-system.scm index 87a426e2a9..02d7c029dd 100644 --- a/guix/build/elm-build-system.scm +++ b/guix/build/elm-build-system.scm @@ -23,6 +23,7 @@ (define-module (guix build elm-build-system) #:use-module (guix build union) #:use-module (ice-9 ftw) #:use-module (ice-9 rdelim) + #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (ice-9 popen) #:use-module (ice-9 vlist) diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm index a293b3f624..32a431d347 100644 --- a/guix/build/guile-build-system.scm +++ b/guix/build/guile-build-system.scm @@ -26,7 +26,6 @@ (define-module (guix build guile-build-system) #:use-module (ice-9 rdelim) #:use-module (ice-9 regex) #:use-module (ice-9 format) - #:autoload (ice-9 threads) (current-processor-count) #:use-module (guix build utils) #:export (target-guile-effective-version %standard-phases diff --git a/guix/build/lisp-utils.scm b/guix/build/lisp-utils.scm index 2ebd4bec9b..646d4a3365 100644 --- a/guix/build/lisp-utils.scm +++ b/guix/build/lisp-utils.scm @@ -20,9 +20,11 @@ (define-module (guix build lisp-utils) #:use-module (ice-9 format) + #:use-module (ice-9 hash-table) #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (guix build utils) #:export (%lisp %lisp-type diff --git a/guix/build/make-bootstrap.scm b/guix/build/make-bootstrap.scm index ffa8de175c..0d29338ce3 100644 --- a/guix/build/make-bootstrap.scm +++ b/guix/build/make-bootstrap.scm @@ -20,6 +20,9 @@ (define-module (guix build make-bootstrap) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-19) + #:use-module (srfi srfi-26) #:use-module (guix build utils) #:export (copy-linux-headers make-stripped-libc)) diff --git a/guix/build/waf-build-system.scm b/guix/build/waf-build-system.scm index 63791ee6ed..56048e7685 100644 --- a/guix/build/waf-build-system.scm +++ b/guix/build/waf-build-system.scm @@ -19,6 +19,10 @@ (define-module (guix build waf-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) #:use-module (guix build utils) + #:use-module (ice-9 match) + #:use-module (ice-9 ftw) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:export (%standard-phases waf-build)) -- cgit v1.2.3 From b59f89cf18fbad9ee95521c4cadc6642c580feb8 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 11 Mar 2023 19:43:29 +0000 Subject: guix: Improve download-nar. Previously download-nar worked with gzipped nars and queried berlin.guix.gnu.org (also known as ci.guix.gnu.org). ci.guix.gnu.org no longer serves gzipped nars so this is of limited use. This commit changes download-nar to query both the default substitute servers, and queries for lzipped rather than gzipped nars, since those are available from both. * guix/build/download-nar.scm (urls-for-item): Return urls for lzip rather than gzip compression, and from both default substitute servers. The comment about CDN's is no longer relevant. (restore-gzipped-nar): Rename to restore-lzipped-nar and reimplement accordingly. (download-nar): Add progress reporting and switch to use lzip rather than gzip. * guix/cvs-download.scm (cvs-fetch): Replace guile-zlib with guile-lzlib. * guix/git-download.scm (git-fetch): Replace guile-zlib with guile-lzlib. * guix/hg-download.scm (hg-fetch): Replace guile-zlib with guile-lzlib. * guix/android-repo-download.scm (android-repo-fetch): Add guile-lzlib for download-nar. Signed-off-by: Christopher Baines --- guix/android-repo-download.scm | 6 +++- guix/build/download-nar.scm | 73 +++++++++++++++--------------------------- guix/cvs-download.scm | 6 ++-- guix/git-download.scm | 6 ++-- guix/hg-download.scm | 6 ++-- 5 files changed, 39 insertions(+), 58 deletions(-) (limited to 'guix') diff --git a/guix/android-repo-download.scm b/guix/android-repo-download.scm index e224cdd295..1d1b9e2f09 100644 --- a/guix/android-repo-download.scm +++ b/guix/android-repo-download.scm @@ -78,6 +78,9 @@ (define zlib (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)) @@ -99,7 +102,8 @@ (define modules (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/build/download-nar.scm b/guix/build/download-nar.scm index d760f3ce00..1b5b5503eb 100644 --- a/guix/build/download-nar.scm +++ b/guix/build/download-nar.scm @@ -19,7 +19,7 @@ (define-module (guix build download-nar) #:use-module (guix build download) #: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) @@ -41,52 +41,21 @@ (define (urls-for-item item) "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 @@ -108,17 +77,25 @@ (define (download-nar item) (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/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 @@ (define* (cvs-fetch ref hash-algo hash "Return a fixed-output derivation that fetches REF, a 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 @@ (define modules (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/git-download.scm b/guix/git-download.scm index 3dc306e39d..027ef47468 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm @@ -101,8 +101,8 @@ (define inputs (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)) @@ -123,7 +123,7 @@ (define modules (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) diff --git a/guix/hg-download.scm b/guix/hg-download.scm index a7022dd431..13135082fa 100644 --- a/guix/hg-download.scm +++ b/guix/hg-download.scm @@ -72,8 +72,8 @@ (define inputs ("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)) @@ -90,7 +90,7 @@ (define modules (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' -- cgit v1.2.3 From 83128f00e9149f3c1bcd4450eb0ed3620a37149c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 16 Mar 2023 22:18:52 +0100 Subject: read-print: 'read-with-comments' reads comments within gexps. Fixes . Reported by Maxim Cournoyer . * guix/read-print.scm (read-with-comments): Special-case #~, #$, and #+. * tests/read-print.scm: Add two tests. --- guix/read-print.scm | 21 +++++++++++++++++++++ tests/read-print.scm | 15 +++++++++++++++ 2 files changed, 36 insertions(+) (limited to 'guix') diff --git a/guix/read-print.scm b/guix/read-print.scm index fdc85c2693..515eb7669c 100644 --- a/guix/read-print.scm +++ b/guix/read-print.scm @@ -219,6 +219,27 @@ (define item (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) (#\@ diff --git a/tests/read-print.scm b/tests/read-print.scm index 952b3e6585..f4627e076a 100644 --- a/tests/read-print.scm +++ b/tests/read-print.scm @@ -231,6 +231,21 @@ (define-syntax-rule (test-pretty-print/sequence str args ...) ;; Regular indentation for 'replace' here. (replace \"gmp\" gmp))") +(test-pretty-print "\ +#~(modify-phases phases + (add-after 'whatever 'something-else + (lambda _ + ;; This comment appears inside a gexp. + 42)))") + +(test-pretty-print "\ +#~(list #$@(list coreutils ;yup + grep) ;margin comment + #+sed + + ;; Line comment. + #$grep)") + (test-pretty-print "\ (package ;; Here 'sha256', 'base32', and 'arguments' must be -- cgit v1.2.3 From d15dbdb79c617b8b710ef5a9502be0d5f640aaaf Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 17 Mar 2023 18:23:58 +0100 Subject: pack: "fakechroot" engine passes the recursive RUNPATH to ld.so. This is a followup to 58abd5873985e0cd9a2926867bf697c5e7bc01f9, which did not fully address . * guix/scripts/pack.scm (wrapped-package)[build](runpath): Rewrite in terms of 'file-needed/recursive'. --- guix/scripts/pack.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'guix') diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 25ac9d29d0..0dc9979194 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -1201,12 +1201,10 @@ (define (elf-interpreter elf) (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 -- cgit v1.2.3 From 2135f69dc0c0e70caf3fca0688ae831ab6bcaa65 Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Thu, 16 Mar 2023 16:11:20 +0000 Subject: ui: format 'display-hint' output when no arguments are passed. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When display-hint is given format specifiers such as "~%" but no arguments, it does not format the output, causing the specifiers to be visible in the displayed text. * guix/ui.scm (display-hint): Format output when no arguments are passed. Signed-off-by: Ludovic Courtès --- guix/ui.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'guix') 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 @@ (define colorize ;; 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) -- cgit v1.2.3