aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-05-12 22:56:57 +0200
committerLudovic Courtès <ludo@gnu.org>2019-05-12 22:56:57 +0200
commite0244eb7a2290781ef490b6cedbd9c753caf6004 (patch)
tree9ec2fc8f49ce7d0722a8d3174e14710b3e6e4d90
parentf8cd07e8d8acf85fd6d08646a0719178895b5894 (diff)
downloadgnu-guix-e0244eb7a2290781ef490b6cedbd9c753caf6004.tar
gnu-guix-e0244eb7a2290781ef490b6cedbd9c753caf6004.tar.gz
build-self: Let HOME pass through the execution environment.
This is a followup to 48d498c2c3984784336b27ba5e261319f3ac6a3a, which introduced a typo (missing '->' in 'mlet'.) Fixes <https://bugs.gnu.org/35623>. Reported by Karrick McDermott <kmcdermott@linkedin.com>. * build-aux/build-self.scm (build): Add 'getenv' and 'setenv' calls for HOME.
-rw-r--r--build-aux/build-self.scm4
1 files changed, 4 insertions, 0 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index 1ddd2233b0..0a1234abb5 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -399,6 +399,7 @@ files."
(mlet %store-monad ((build (build-program source version guile-version
#:pull-version pull-version))
(system (if system (return system) (current-system)))
+ (home -> (getenv "HOME"))
;; Note: Use the deprecated names here because the
;; caller might be Guix <= 0.16.0.
@@ -419,6 +420,9 @@ files."
;; $GUILE_LOAD_PATH & co.
(with-clean-environment
(setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
+ (when home
+ ;; Inherit HOME so that 'xdg-directory' works.
+ (setenv "HOME" home))
(open-pipe* OPEN_READ
(derivation->output-path build)
source system version