summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-04-03 22:27:45 +0200
committerLudovic Courtès <ludo@gnu.org>2015-04-03 22:28:06 +0200
commit9bab6bea86e83c1aae355a7654263a87f0a4c130 (patch)
treea1ec3b356d8e07f46f67dfc91ec8404e6ac5a6c1 /gnu
parent8fdd410160acc717c97f9c8c8d910c71bcf9646a (diff)
downloadguix-9bab6bea86e83c1aae355a7654263a87f0a4c130.tar.gz
gnu: ld-wrapper: Use a hard-coded self-reference instead of $0.
* gnu/packages/ld-wrapper.scm: Use @SELF@ instead of $0.  This is so
  that the .go file is found even when the wrapper is invoked via a
  symlink to it.
* gnu/packages/base.scm (make-ld-wrapper): Substitute @SELF@.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/base.scm2
-rw-r--r--gnu/packages/ld-wrapper.scm2
2 files changed, 3 insertions, 1 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 9eb90dca5b..c935784663 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -393,6 +393,8 @@ wrapper uses GUILE and BASH."
                      (mkdir-p bin)
                      (copy-file (assoc-ref %build-inputs "wrapper") ld)
                      (substitute* ld
+                       (("@SELF@")
+                        ld)
                        (("@GUILE@")
                         (string-append (assoc-ref %build-inputs "guile")
                                        "/bin/guile"))
diff --git a/gnu/packages/ld-wrapper.scm b/gnu/packages/ld-wrapper.scm
index 4fa2962bb9..cc533f5464 100644
--- a/gnu/packages/ld-wrapper.scm
+++ b/gnu/packages/ld-wrapper.scm
@@ -8,7 +8,7 @@
 # .go file (see <http://bugs.gnu.org/12519>).
 
 main="(@ (gnu build-support ld-wrapper) ld-wrapper)"
-exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "$@"
+exec @GUILE@ -c "(load-compiled \"@SELF@.go\") (apply $main (cdr (command-line)))" "$@"
 !#
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>