summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-02-03 22:13:55 +0100
committerLudovic Courtès <ludo@gnu.org>2019-02-04 00:03:30 +0100
commit765a5bf1677ad6bc77ed65df4f63da9ef77bb55a (patch)
tree1c6c03e6a0a73cb3d21d9d0a03b790bd14630805 /gnu/packages
parenta87d66f371da2a84d7bba1cae58b71c9c9af73aa (diff)
downloadguix-765a5bf1677ad6bc77ed65df4f63da9ef77bb55a.tar.gz
self: Ensure the daemon refers to the right 'guix' command.
Previously it would refer to
/var/guix/profiles/per-user/root/current-guix/bin/guix, which would fail
when that profile does not exist.  This is notably the case when using
'channel-instance->package' as done in commit
7e6d8d366a61f951936ed83371877ce006f679f6.

* gnu/packages/package-management.scm (guix-daemon)[arguments]: In
'install phase, honor environment variable 'GUIX'.
* guix/self.scm (whole-package)[wrap]: New procedure.
Use it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/package-management.scm2
1 files changed, 1 insertions, 1 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index ef38a6f61a..c52f5e3699 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -356,7 +356,7 @@ the Nix package manager.")
                (let ((out (assoc-ref outputs "out")))
                  (substitute* (find-files (string-append out "/libexec"))
                    (("exec \".*/bin/guix\"")
-                    "exec /var/guix/profiles/per-user/root/current-guix/bin/guix"))
+                    "exec \"${GUIX:-/var/guix/profiles/per-user/root/current-guix/bin/guix}\""))
                  #t)))
            (delete 'wrap-program)))))))