From 47a6a938c3c4d0bbe7b6a3c64ff75d7bfb2f24fb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 18 Jan 2021 11:51:20 -0500 Subject: [PATCH] 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. --- guix/build/utils.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 (setvbuf port mode . rest) (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)