From a09ec3a5af3eb38b31d4eff0f323a2c47b82c114 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Mon, 10 Dec 2012 22:53:28 +0100
Subject: [PATCH] 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>.
---
 guix/utils.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/guix/utils.scm b/guix/utils.scm
index 5ec8f3736db..453b3843ddf 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -156,7 +156,15 @@ (define sha256
 (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."
-- 
GitLab