gnu: guile-json: Cross-build fix.
authorJan (janneke) Nieuwenhuizen <janneke@gnu.org>
Tue, 7 Apr 2020 18:49:13 +0000 (20:49 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 11 Apr 2020 19:29:29 +0000 (21:29 +0200)
* gnu/packages/patches/guile-json-cross.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/guile.scm (guile-json-3)[source]: Use it.
[arguments]: Remove configure to trigger bootstrap phase.

gnu/local.mk
gnu/packages/guile.scm
gnu/packages/patches/guile-json-cross.patch [new file with mode: 0644]

index 8deea48..8705a96 100644 (file)
@@ -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                 \
index d69dee5..8ccbc22 100644 (file)
@@ -526,12 +526,21 @@ specification.  These are the main features:
               (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 (file)
index 0000000..b9081f3
--- /dev/null
@@ -0,0 +1,54 @@
+Patch accepted upstream.
+
+From 9bbe0d78391c6dbe0316aa56a105d1966fddc9f0 Mon Sep 17 00:00:00 2001
+From: Jan Nieuwenhuizen <janneke@gnu.org>
+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
+