diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-08-09 12:28:17 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-08-09 18:14:33 +0200 |
commit | 27f00963d31636eb94bb7f331989827f4782de78 (patch) | |
tree | 0f0e273ce95f29042270f9a7ac30c1238d114b26 | |
parent | 30289f4d4638452520f52c1a36240220d0d940ff (diff) | |
download | guix-27f00963d31636eb94bb7f331989827f4782de78.tar.gz guix-27f00963d31636eb94bb7f331989827f4782de78.zip |
self: Use default config variable values for derivations.
The value of %localstatedir, %storedir, and %sysconfdir is known to have
no impact on the compilation of the Guix modules. Thus, explicitly
build those modules against a (guix config) module that uses all the
default values. That way, a Guix installation that uses different
config values can still benefit from substitutes.
Reported by Ricardo Wurmus.
* guix/self.scm (%default-config-variables): New variable.
(make-config.scm): Add #:config-variables and honor it.
(compiled-guix)[*core-modules*]: Pass #:config-variables to
'make-config.scm'.
-rw-r--r-- | guix/self.scm | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/guix/self.scm b/guix/self.scm index 130f5d3492..79d93357a2 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -872,7 +872,9 @@ itself." ;; rebuilt when the version changes, which in turn means we ;; can have substitutes for it. #:extra-modules - `(((guix config) => ,(make-config.scm))) + `(((guix config) + => ,(make-config.scm + #:config-variables %default-config-variables))) ;; (guix man-db) is needed at build-time by (guix profiles) ;; but we don't need to compile it; not compiling it allows @@ -1084,10 +1086,17 @@ itself." (variables rest ...)))))) (variables %localstatedir %storedir %sysconfdir))) +(define %default-config-variables + ;; Default values of the configuration variables above. + `((%localstatedir . "/var") + (%storedir . "/gnu/store") + (%sysconfdir . "/etc"))) + (define* (make-config.scm #:key gzip xz bzip2 (package-name "GNU Guix") (package-version "0") (channel-metadata #f) + (config-variables %config-variables) (bug-report-address "bug-guix@gnu.org") (home-page-url "https://guix.gnu.org")) @@ -1117,7 +1126,7 @@ itself." #$@(map (match-lambda ((name . value) #~(define-public #$name #$value))) - %config-variables) + config-variables) (define %store-directory (or (and=> (getenv "NIX_STORE_DIR") canonicalize-path) |