Hello,
Am Dienstag, den 23.02.2021, 20:07 +0000 schrieb Christopher Baines:
Toggle quote (36 lines)
> These changes were sent upstream as> https://lists.gnu.org/archive/html/guile-devel/2021-02/msg00004.html> > 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(-)> > 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")Invoking autoreconf seems a bit overkill for a "patch-<something>"phase. Wouldn't it be regenerated in bootstrap if you (delete-file"configure")?
Toggle quote (16 lines)
> + #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)))Otherwise LGTM, but I haven't checked cross-compiling. From yourmessage I'll assume you did.
Regards,Leo