aboutsummaryrefslogtreecommitdiff
path: root/guix/self.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-08-09 12:28:17 +0200
committerLudovic Courtès <ludo@gnu.org>2021-08-09 18:14:33 +0200
commit27f00963d31636eb94bb7f331989827f4782de78 (patch)
tree0f0e273ce95f29042270f9a7ac30c1238d114b26 /guix/self.scm
parent30289f4d4638452520f52c1a36240220d0d940ff (diff)
downloadguix-27f00963d31636eb94bb7f331989827f4782de78.tar
guix-27f00963d31636eb94bb7f331989827f4782de78.tar.gz
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'.
Diffstat (limited to 'guix/self.scm')
-rw-r--r--guix/self.scm13
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)