summary refs log tree commit diff
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)
downloadguix-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