Hello, Am Dienstag, den 23.02.2021, 20:07 +0000 schrieb Christopher Baines: > 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-" phase. Wouldn't it be regenerated in bootstrap if you (delete-file "configure")? > + #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 your message I'll assume you did. Regards, Leo