M Makefile.am => Makefile.am +4 -1
@@ 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" \
M guix/utils.scm => guix/utils.scm +3 -2
@@ 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))
M tests/utils.scm => tests/utils.scm +7 -3
@@ 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)