gnu: guile-json: Cross-build fix.

* 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.
This commit is contained in:
Jan (janneke) Nieuwenhuizen 2020-04-07 20:49:13 +02:00 committed by Jan Nieuwenhuizen
parent 6a39cbe722
commit 541122957c
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273
3 changed files with 66 additions and 2 deletions

View 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 \

View file

@ -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))

View file

@ -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