Christopher Baines wrote 4 years ago
(address . guix-patches@gnu.org)
These changes were sent upstream as
Without this change, the .go files are built for the host architecture, rather
than the target. I noticed this when cross building the
guix-build-coordinator (for which guile-lib is an input) to the Hurd.
* gnu/packages/guile-xyz.scm (guile-lib)[arguments]: Add
'patch-for-cross-compilation phase.
[native-inputs]: Add autoconf, automake and gettext.
---
gnu/packages/guile-xyz.scm | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
Toggle diff (39 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index ce5aad8ec7..e9dfc6cc8d 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2194,6 +2194,20 @@ library.")
'("GUILE_AUTO_COMPILE=0") ; to prevent guild errors
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-for-cross-compilation
+ (lambda _
+ (substitute* "configure.ac"
+ (("GUILE_FLAGS")
+ "GUILE_FLAGS
+if test \"$cross_compiling\" != no; then
+ GUILE_TARGET=\"--target=$host_alias\"
+ AC_SUBST([GUILE_TARGET])
+fi
+"))
+ (substitute* "am/guile.mk"
+ (("guild compile") "guild compile $(GUILE_TARGET)"))
+ (invoke "autoreconf" "-vif")
+ #t))
(add-before 'configure 'patch-module-dir
(lambda _
(substitute* "src/Makefile.in"
@@ -2204,7 +2218,10 @@ library.")
$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
#t)))))
(native-inputs
- `(("guile" ,guile-3.0)
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)
+ ("guile" ,guile-3.0)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-3.0)))
--
2.30.0