guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: self: Use default config variable values for derivations.


From: guix-commits
Subject: 01/02: self: Use default config variable values for derivations.
Date: Mon, 9 Aug 2021 12:17:46 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 27f00963d31636eb94bb7f331989827f4782de78
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Mon Aug 9 12:28:17 2021 +0200

    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'.
---
 guix/self.scm | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/guix/self.scm b/guix/self.scm
index 130f5d3..79d9335 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]