summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-01-18 11:51:20 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-01-26 22:48:35 -0500
commit47a6a938c3c4d0bbe7b6a3c64ff75d7bfb2f24fb (patch)
tree8cc3c2d781664fa1ba46c0422a42c198988a3821
parent94cf36763491cfd7155a058e0354da5a422a07b2 (diff)
downloadguix-47a6a938c3c4d0bbe7b6a3c64ff75d7bfb2f24fb.tar.gz
utils: Add NIX_STORE_DIR as a candidate for the value of the store directory.
On the daemon side, nixStore gets set to the environment variable
NIX_STORE_DIR, else the environment variable NIX_STORE else the compile time
macro NIX_STORE_DIR (see the Settings::processEnvironment method in
nix/libstore/globals.cc).  When creating a build environment, it sets
NIX_STORE with the value computed as described above.  Hence, it's safer to
look for both NIX_STORE_DIR and NIX_STORE in (guix build utils), so that it
works in any context (build context or external context).

* guix/build/utils.scm (%store-directory): Consider both NIX_STORE_DIR and
NIX_STORE as environment variables.
-rw-r--r--guix/build/utils.scm3
1 files changed, 2 insertions, 1 deletions
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index 76180e67e0..6c40d70e21 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -144,7 +144,8 @@
 
 (define (%store-directory)
   "Return the directory name of the store."
-  (or (getenv "NIX_STORE")
+  (or (getenv "NIX_STORE_DIR")          ;outside of builder
+      (getenv "NIX_STORE")              ;inside builder, set by the daemon
       "/gnu/store"))
 
 (define (store-file-name? file)