diff --git a/gnu/local.mk b/gnu/local.mk index 8deea48951..8705a96a36 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1020,6 +1020,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \ %D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ + %D%/packages/patches/guile-json-cross.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-present-coding.patch \ %D%/packages/patches/guile-relocatable.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index d69dee51c9..8ccbc22f26 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -526,12 +526,21 @@ (define-public guile-json-3 (method url-fetch) (uri (string-append "mirror://savannah/guile-json/guile-json-" version ".tar.gz")) + (patches (search-patches "guile-json-cross.patch")) (sha256 (base32 "14m6b6g2maw0mkvfm4x63rqb54vgbpn1gcqs715ijw4bikfzlqfz")))) - (native-inputs `(("pkg-config" ,pkg-config) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) ("guile" ,guile-3.0))) - (inputs `(("guile" ,guile-3.0))))) + (inputs `(("guile" ,guile-3.0))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-configure + (lambda _ + (delete-file "configure") + #t))))))) (define-public guile2.2-json (package-for-guile-2.2 guile-json-3)) diff --git a/gnu/packages/patches/guile-json-cross.patch b/gnu/packages/patches/guile-json-cross.patch new file mode 100644 index 0000000000..b9081f3df2 --- /dev/null +++ b/gnu/packages/patches/guile-json-cross.patch @@ -0,0 +1,54 @@ +Patch accepted upstream. + +From 9bbe0d78391c6dbe0316aa56a105d1966fddc9f0 Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Wed, 4 Mar 2020 11:17:02 +0100 +Subject: [PATCH] build: Support cross building. + +* configure.ac: Add AC_CANONICAL_HOST to get host. +* Makefile.am (.scm.go): Set it as target. +* json/Makefile.am (.scm.go): Likewise. +--- + Makefile.am | 2 +- + configure.ac | 1 + + json/Makefile.am | 2 +- + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 996f18b..1823a3f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -42,7 +42,7 @@ nobase_nodist_obj_DATA = $(GOBJECTS) + GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat + SUFFIXES = .scm .go + .scm.go: +- $(top_builddir)/env $(GUILD) compile $(GUILE_WARNINGS) -o "$@" "$<" ++ $(top_builddir)/env $(GUILD) compile --target="$(host)" $(GUILE_WARNINGS) -o "$@" "$<" + + SOURCES = json.scm + +diff --git a/configure.ac b/configure.ac +index fbc1aff..937dcf7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -25,6 +25,7 @@ AC_CONFIG_SRCDIR(json.scm) + AC_CONFIG_AUX_DIR([build-aux]) + AM_INIT_AUTOMAKE([color-tests -Wall -Wno-portability]) + AM_SILENT_RULES([yes]) ++AC_CANONICAL_HOST + + dnl We require pkg.m4 (from pkg-config) and guile.m4. + dnl Make sure they are available. +diff --git a/json/Makefile.am b/json/Makefile.am +index adf5972..103b867 100644 +--- a/json/Makefile.am ++++ b/json/Makefile.am +@@ -36,4 +36,4 @@ CLEANFILES = $(GOBJECTS) + GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat + SUFFIXES = .scm .go + .scm.go: +- $(top_builddir)/env $(GUILD) compile $(GUILE_WARNINGS) -o "$@" "$<" ++ $(top_builddir)/env $(GUILD) compile --target="$(host)" $(GUILE_WARNINGS) -o "$@" "$<" +-- +2.26.0 +