diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-08-14 18:36:01 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-08-14 18:42:46 +0200 |
commit | b86b00567c82e0e16a3cfa65b3f87d95f31506bb (patch) | |
tree | 941eb32405715acea95b3bd9072c6243dd416118 | |
parent | ed795c060858f3949bf5ad321008626f5e7f195a (diff) | |
download | guix-b86b00567c82e0e16a3cfa65b3f87d95f31506bb.tar.gz guix-b86b00567c82e0e16a3cfa65b3f87d95f31506bb.zip |
build: Pass $(NIX_INSTANTIATE) to the build and test environments.
* Makefile.am (.scm.go): Define $NIX_INSTANTIATE.
(TESTS_ENVIRONMENT): Likewise, and define $NIX_HASH.
* guix/utils.scm (nixpkgs-derivation): Use $NIX_INSTANTIATE when
defined.
* tests/utils.scm (%nix-hash): New variable.
("sha256 & bytevector->nix-base32-string"): Use it.
-rw-r--r-- | Makefile.am | 5 | ||||
-rw-r--r-- | guix/utils.scm | 5 | ||||
-rw-r--r-- | tests/utils.scm | 10 |
3 files changed, 14 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am index f83c8eb1f5..51266585dc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -52,9 +52,11 @@ TESTS = \ tests/packages.scm TESTS_ENVIRONMENT = \ + NIX_HASH="$(NIX_HASH)"; \ + NIX_INSTANTIATE="$(NIX_INSTANTIATE)"; \ NIXPKGS="$(NIXPKGS)"; \ GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH"; \ - export NIXPKGS GUILE_LOAD_COMPILED_PATH; + export NIX_HASH NIX_INSTANTIATE NIXPKGS GUILE_LOAD_COMPILED_PATH; LOG_COMPILER = \ $(GUILE) --no-auto-compile -L "$(top_srcdir)" @@ -70,6 +72,7 @@ CLEANFILES = $(GOBJECTS) *.log .scm.go: $(MKDIR_P) `dirname "$@"` + NIX_INSTANTIATE="$(NIX_INSTANTIATE)" \ NIXPKGS="$(NIXPKGS)" \ GUILE_AUTO_COMPILE=0 \ GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \ diff --git a/guix/utils.scm b/guix/utils.scm index 66563c727e..cbd51fae73 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -450,8 +450,9 @@ starting from the right of S." (define (nixpkgs-derivation attribute) "Return the derivation path of ATTRIBUTE in Nixpkgs." - (let* ((p (open-pipe* OPEN_READ "nix-instantiate" "-A" - attribute (%nixpkgs-directory))) + (let* ((p (open-pipe* OPEN_READ (or (getenv "NIX_INSTANTIATE") + "nix-instantiate") + "-A" attribute (%nixpkgs-directory))) (l (read-line p)) (s (close-pipe p))) (and (zero? (status:exit-val s)) diff --git a/tests/utils.scm b/tests/utils.scm index 4a24e23df9..6a90817ec3 100644 --- a/tests/utils.scm +++ b/tests/utils.scm @@ -29,6 +29,10 @@ #:use-module (ice-9 popen) #:use-module (ice-9 match)) +(define %nix-hash + (or (getenv "NIX_HASH") + "nix-hash")) + (test-begin "utils") (test-assert "bytevector->base32-string" @@ -72,7 +76,7 @@ (map string->utf8 '("" "f" "fo" "foo" "foob" "fooba" "foobar")))) ;; The following tests requires `nix-hash' in $PATH. -(test-skip (if (false-if-exception (system* "nix-hash" "--version")) +(test-skip (if (false-if-exception (system* %nix-hash "--version")) 0 1)) @@ -80,8 +84,8 @@ (let ((file (search-path %load-path "tests/test.drv"))) (equal? (bytevector->nix-base32-string (sha256 (call-with-input-file file get-bytevector-all))) - (let* ((c (format #f "nix-hash --type sha256 --base32 --flat \"~a\"" - file)) + (let* ((c (format #f "~a --type sha256 --base32 --flat \"~a\"" + %nix-hash file)) (p (open-input-pipe c)) (l (read-line p))) (close-pipe p) |