[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: gnu; guix: Cross-compilation fixup for wrap-program.
From: |
guix-commits |
Subject: |
01/02: gnu; guix: Cross-compilation fixup for wrap-program. |
Date: |
Wed, 8 Apr 2020 04:31:07 -0400 (EDT) |
janneke pushed a commit to branch wip-hurd-vm
in repository guix.
commit 480cdd8daba6a9daaf408e7f27957faf17e9c280
Author: Jan (janneke) Nieuwenhuizen <address@hidden>
AuthorDate: Wed Apr 8 09:43:51 2020 +0200
gnu; guix: Cross-compilation fixup for wrap-program.
This allows running:
guix build hello
* gnu/packages/package-management.scm (guix)[arguments]: When
cross-compiling,
add 'wrap-program:substitute-host-bash phase to fixup the shebang generated
by
wrap-program.
[inputs]: When cross-compiling, include bash-minimal.
---
gnu/packages/package-management.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/gnu/packages/package-management.scm
b/gnu/packages/package-management.scm
index da373f0..214fca4 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -37,6 +37,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages bison)
#:use-module (gnu packages bootstrap) ;for 'bootstrap-guile-origin'
@@ -192,6 +193,14 @@ $(prefix)/etc/init.d\n")))
(string-append "LANGUAGE= PATH="
self "/bin"
":" (getenv "PATH"))))
+ #t)))
+ ;; XXX Touching wrap-program rebuilds world
+ (add-after 'wrap-program
'wrap-program:substitute-host-bash
+ (lambda* (#:key inputs outputs
#:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bash (assoc-ref inputs "bash")))
+ (substitute* (string-append out "/bin/guix")
+ (("^#!.*/bash") (string-append "#! " bash
"/bin/bash")))
#t))))
'())
,@(if (hurd-target?)
@@ -367,6 +376,9 @@ $(prefix)/etc/init.d\n")))
(string=? (%current-system) "x86_64-linux"))
`(("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux")))
'())
+ ,@(if (%current-target-system)
+ `(("bash" ,bash-minimal))
+ '())
;; Tests also rely on these bootstrap executables.
("bootstrap/bash" ,(bootstrap-executable "bash" target))