Have `%nixpkgs-directory' default to #f when $NIXPKGS is the empty string.

* guix/utils.scm (%nixpkgs-directory): Set to #f when the `NIXPKGS'
  environment variable is set but empty.  Reported by
  Andreas Enge <andreas@enge.fr>.
This commit is contained in:
Ludovic Courtès 2012-12-10 22:53:28 +01:00
parent 836676450d
commit a09ec3a5af
1 changed files with 9 additions and 1 deletions

View File

@ -156,7 +156,15 @@ evaluate to a simple datum."
(define %nixpkgs-directory
(make-parameter
;; Capture the build-time value of $NIXPKGS.
(or %nixpkgs (getenv "NIXPKGS"))))
(or %nixpkgs
(and=> (getenv "NIXPKGS")
(lambda (val)
;; Bail out when passed an empty string, otherwise
;; `nix-instantiate' will sit there and attempt to read
;; from its standard input.
(if (string=? val "")
#f
val))))))
(define* (nixpkgs-derivation attribute #:optional (system (%current-system)))
"Return the derivation path of ATTRIBUTE in Nixpkgs."