~ruther/guix-local

47a6a938c3c4d0bbe7b6a3c64ff75d7bfb2f24fb — Maxim Cournoyer 5 years ago 94cf367
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.
1 files changed, 2 insertions(+), 1 deletions(-)

M guix/build/utils.scm
M guix/build/utils.scm => guix/build/utils.scm +2 -1
@@ 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)