diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index adcdbdbab012c3beb852ec3cd979ecf462ded070..f13685ac9dd954a3af5bdacf10239eadd2fe40e1 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -28,7 +28,7 @@ (define-module (gnu bootloader grub) #:use-module (gnu system uuid) #:use-module (gnu system file-systems) #:use-module (gnu system keyboard) - #:autoload (gnu packages bootloaders) (grub) + #:use-module (gnu packages bootloaders) #:autoload (gnu packages gtk) (guile-cairo guile-rsvg) #:autoload (gnu packages xorg) (xkeyboard-config) #:use-module (ice-9 match) diff --git a/gnu/packages.scm b/gnu/packages.scm index 959777ff8ff86a50d5dff884cf2d818094d5c172..143469b288ac67a54a0e66dbc44b8a59c196a7f0 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> @@ -30,12 +30,12 @@ (define-module (gnu packages) #:select ((package-name->name+version . hyphen-separated-name->name+version) mkdir-p)) - #:autoload (guix profiles) (packages->manifest) + #:use-module (guix profiles) #:use-module (guix describe) #:use-module (guix deprecation) #:use-module (ice-9 vlist) #:use-module (ice-9 match) - #:autoload (ice-9 binary-ports) (put-bytevector) + #:use-module (ice-9 binary-ports) #:autoload (system base compile) (compile) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 45b8f0db00abce2cba0d65421650aee90df77bec..ec4f00d8e61a1759b78cb464b459bcd7a6d0e51b 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> @@ -32,7 +32,7 @@ (define-module (gnu packages ssh) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) - #:autoload (gnu packages boost) (boost) + #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages elf) @@ -51,7 +51,7 @@ (define-module (gnu packages ssh) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) - #:autoload (gnu packages protobuf) (protobuf) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index d184d7616b8d9624c9bd297047579d8fa4b2c99a..e4346d1232c8470372f74dc17690e37184e414c1 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -71,7 +71,7 @@ (define-module (gnu packages tex) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) - #:autoload (gnu packages texinfo) (texinfo) + #:use-module (gnu packages texinfo) #:use-module (ice-9 ftw) #:use-module (ice-9 match) #:use-module ((srfi srfi-1) #:hide (zip))) diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index d92421762a75da0e99731a24ea73d85a7f2933fe..7bfb021161d4e25cb8a6011e65f6df8499de5007 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> @@ -25,8 +25,8 @@ (define-module (gnu services cuirass) #:use-module (guix gexp) #:use-module (guix records) #:use-module (gnu packages admin) - #:autoload (gnu packages ci) (cuirass) - #:autoload (gnu packages version-control) (git) + #:use-module (gnu packages ci) + #:use-module (gnu packages version-control) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu services shepherd) diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm index 1327516b49395495528928ea8be90eff9f5e1344..d9627c6bd0009a5473db9e819a436d75bccc5ae9 100644 --- a/gnu/services/mcron.scm +++ b/gnu/services/mcron.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,7 +19,7 @@ (define-module (gnu services mcron) #:use-module (gnu services) #:use-module (gnu services shepherd) - #:autoload (gnu packages guile-xyz) (mcron) + #:use-module (gnu packages guile-xyz) #:use-module (guix deprecation) #:use-module (guix records) #:use-module (guix gexp) diff --git a/guix/build/download.scm b/guix/build/download.scm index a7bb3b0d6e61de29e673100bc768d38abba00648..641dacefa1f49fc518fc407e29877b898d940c75 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -155,11 +155,11 @@ (define* (ftp-fetch uri file #:key timeout print-build-trace?) ;; be bound if we need them, because (guix download) adds GnuTLS as an ;; input in that case. -;; XXX: Use this hack instead of #:autoload to avoid compilation errors. -;; See <http://bugs.gnu.org/12202>. -(module-autoload! (current-module) - '(gnutls) - '(make-session connection-end/client)) +(define (load-gnutls) + ;; XXX: Use this hack instead of #:autoload to avoid compilation errors. + ;; See <http://bugs.gnu.org/12202>. + (module-use! (current-module) (resolve-interface '(gnutls))) + (set! load-gnutls (const #t))) (define %x509-certificate-directory ;; The directory where X.509 authority PEM certificates are stored. @@ -245,6 +245,7 @@ (define (log level str) (format (current-error-port) "gnutls: [~a|~a] ~a" (getpid) level str)) + (load-gnutls) (let ((session (make-session connection-end/client)) (ca-certs (%x509-certificate-directory))) diff --git a/guix/git.scm b/guix/git.scm index 83af596ef5b0a828342fa07238abfb7a5304c426..15a0a6f9e5cab1773b651273842a7ec331d87f92 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,11 +48,6 @@ (define-module (guix git) git-checkout-url git-checkout-branch)) -;; XXX: Use this hack instead of #:autoload to avoid compilation errors. -;; See <http://bugs.gnu.org/12202>. -(module-autoload! (current-module) - '(git submodule) '(repository-submodules)) - (define %repository-cache-directory (make-parameter (string-append (cache-directory #:ensure? #f) "/checkouts"))) @@ -200,11 +195,23 @@ (define-syntax-rule (with-repository directory repository exp ...) (call-with-repository directory (lambda (repository) exp ...))) +(define (load-git-submodules) + "Attempt to load (git submodules), which was missing until Guile-Git 0.2.0. +Return true on success, false on failure." + (match (false-if-exception (resolve-interface '(git submodule))) + (#f + (set! load-git-submodules (const #f)) + #f) + (iface + (module-use! (current-module) iface) + (set! load-git-submodules (const #t)) + #t))) + (define* (update-submodules repository #:key (log-port (current-error-port))) "Update the submodules of REPOSITORY, a Git repository object." ;; Guile-Git < 0.2.0 did not have (git submodule). - (if (false-if-exception (resolve-interface '(git submodule))) + (if (load-git-submodules) (for-each (lambda (name) (let ((submodule (submodule-lookup repository name))) (format log-port (G_ "updating submodule '~a'...~%") diff --git a/guix/lint.scm b/guix/lint.scm index 41ddff584d184224499909b9f4d47779c3c14f13..e3544bd963bae8d904e45d418a388960b2e1f82e 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -45,7 +45,8 @@ (define-module (guix lint) #:use-module (guix gnu-maintenance) #:use-module (guix cve) #:use-module ((guix swh) #:hide (origin?)) - #:autoload (guix git-download) (git-reference?) + #:autoload (guix git-download) (git-reference? + git-reference-url git-reference-commit) #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (ice-9 format) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index a853ac6c7d73e89327295a87552fcbc63d6ade05..1ab3a80e6603c18ea467eb6d1495537aaf99a4ef 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -45,8 +45,8 @@ (define-module (guix scripts build) #:use-module (srfi srfi-37) #:autoload (gnu packages) (specification->package %package-module-path) #:autoload (guix download) (download-to-store) - #:autoload (guix git-download) (git-reference?) - #:autoload (guix git) (git-checkout?) + #:autoload (guix git-download) (git-reference? git-reference-url) + #:autoload (guix git) (git-checkout? git-checkout-url) #:use-module ((guix status) #:select (with-status-verbosity)) #:use-module ((guix progress) #:select (current-terminal-columns)) #:use-module ((guix build syscalls) #:select (terminal-columns)) diff --git a/guix/scripts/gc.scm b/guix/scripts/gc.scm index 3f20a2e1928cd8f4792666904ee763b413691113..31a05075b5d3ec80cbd34b9b61ae7e9862f08e56 100644 --- a/guix/scripts/gc.scm +++ b/guix/scripts/gc.scm @@ -22,7 +22,7 @@ (define-module (guix scripts gc) #:use-module (guix store) #:use-module (guix store roots) #:autoload (guix build syscalls) (free-disk-space) - #:autoload (guix profiles) (generation-profile) + #:autoload (guix profiles) (generation-profile profile-generations) #:autoload (guix scripts package) (delete-generations) #:use-module (ice-9 match) #:use-module (ice-9 regex) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index b84e37cbf2e56a79505e875ab848b747c9ca0593..c8d8546e29284571f5c6108aad991f60a4c717cb 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> @@ -29,7 +29,9 @@ (define-module (guix scripts pack) #:use-module ((guix status) #:select (with-status-verbosity)) #:use-module ((guix self) #:select (make-config.scm)) #:use-module (guix grafts) - #:autoload (guix inferior) (inferior-package?) + #:autoload (guix inferior) (inferior-package? + inferior-package-name + inferior-package-version) #:use-module (guix monads) #:use-module (guix modules) #:use-module (guix packages) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 8fb67f9268b7bbe873b82a5dfb9e147f2ff546ae..71a349d2fe52ca4a626d14be0c7b0380bcc6f4a3 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson <davet@gnu.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,7 +51,9 @@ (define-module (guix scripts publish) #:use-module (guix store) #:use-module ((guix serialization) #:select (write-file)) #:use-module (guix zlib) - #:autoload (guix lzlib) (lzlib-available?) + #:autoload (guix lzlib) (lzlib-available? + call-with-lzip-output-port + make-lzip-output-port) #:use-module (guix cache) #:use-module (guix ui) #:use-module (guix scripts) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index 04cc51829d4854b889640170ffe0ed1d1287ba41..cb1be989e130b5bc9caf6e6bd6f3377ee4c99283 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. @@ -33,7 +33,9 @@ (define-module (guix scripts pull) #:use-module (guix memoization) #:use-module (guix monads) #:use-module (guix channels) - #:autoload (guix inferior) (open-inferior) + #:autoload (guix inferior) (open-inferior + inferior-available-packages + close-inferior) #:use-module (guix scripts build) #:autoload (guix build utils) (which) #:use-module ((guix build syscalls) diff --git a/guix/utils.scm b/guix/utils.scm index 728039fbf01cddae25c7dde05565351d4e42c118..3e8e59b8dce3279264c68406a77f1796a79e55cc 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> @@ -31,16 +31,13 @@ (define-module (guix utils) #:use-module (srfi srfi-26) #:use-module (srfi srfi-35) #:use-module (srfi srfi-39) - #:use-module (ice-9 binary-ports) #:use-module (ice-9 ftw) - #:autoload (rnrs io ports) (make-custom-binary-input-port) + #:use-module (rnrs io ports) ;need 'port-position' etc. #:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!)) #:use-module (guix memoization) #:use-module ((guix build utils) #:select (dump-port mkdir-p delete-file-recursively)) #:use-module ((guix build syscalls) #:select (mkdtemp! fdatasync)) #:use-module (ice-9 format) - #:autoload (ice-9 popen) (open-pipe*) - #:autoload (ice-9 rdelim) (read-line) #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (ice-9 format)