diff options
Diffstat (limited to 'build-aux')
-rw-r--r-- | build-aux/build-self.scm | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 22c4031c2e..bd285bcedd 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -70,11 +70,7 @@ ((_ variable rest ...) (cons `(variable . ,variable) (variables rest ...)))))) - (variables %config-directory %localstatedir %state-directory - ;; Note: No '%store-database-directory', which is too recent - ;; and unnecessary anyway. - %store-directory - %storedir %sysconfdir %system))) + (variables %localstatedir %storedir %sysconfdir %system))) (define* (make-config.scm #:key libgcrypt zlib gzip xz bzip2 (package-name "GNU Guix") @@ -92,6 +88,10 @@ %guix-version %guix-bug-report-address %guix-home-page-url + %store-directory + %state-directory + %store-database-directory + %config-directory %libgcrypt %libz %gzip @@ -105,6 +105,26 @@ #~(define-public #$name #$value))) %config-variables) + (define %store-directory + (or (and=> (getenv "NIX_STORE_DIR") canonicalize-path) + %storedir)) + + (define %state-directory + ;; This must match `NIX_STATE_DIR' as defined in + ;; `nix/local.mk'. + (or (getenv "NIX_STATE_DIR") + (string-append %localstatedir "/guix"))) + + (define %store-database-directory + (or (getenv "NIX_DB_DIR") + (string-append %state-directory "/db"))) + + (define %config-directory + ;; This must match `GUIX_CONFIGURATION_DIRECTORY' as + ;; defined in `nix/local.mk'. + (or (getenv "GUIX_CONFIGURATION_DIRECTORY") + (string-append %sysconfdir "/guix"))) + (define %guix-package-name #$package-name) (define %guix-version #$package-version) (define %guix-bug-report-address #$bug-report-address) |