gnu: guile-lzlib: Support [cross-]build with gcc-14 and the 64bit Hurd.

* gnu/packages/patches/guile-lzlib-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/guile.scm (guile-lzlib)[arguments]: Use G-expressions.  When
building for the 64bit Hurd, or cross-compiling, use it in new
"apply-hurd64-patch" stage.

Change-Id: Id03f71baa80e2f4f967f54037ce7d9f1c5dc4bb6
This commit is contained in:
Janneke Nieuwenhuizen 2024-11-15 16:26:47 +01:00
parent 2d37f0e071
commit 47f2cabe37
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273
3 changed files with 46 additions and 3 deletions

View file

@ -1517,6 +1517,7 @@ dist_patch_DATA = \
%D%/packages/patches/guile-fix-invalid-unicode-handling.patch \
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
%D%/packages/patches/guile-hurd-posix-spawn.patch \
%D%/packages/patches/guile-lzlib-hurd64.patch \
%D%/packages/patches/guile-present-coding.patch \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
%D%/packages/patches/guile-ssh-rename-bool.patch \

View file

@ -4,7 +4,7 @@
;;; Copyright © 2014, 2016, 2018 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
@ -962,8 +962,18 @@ (define-public guile-lzlib
"1whgmwkr1v8m63p4aaqn8blwl9vcrswwhbfv4bm0aghl5a6rryd7"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
'("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
(list
#:make-flags #~'("GUILE_AUTO_COMPILE=0") ;prevent guild warnings
#:phases (if (or (%current-target-system) (target-hurd64?))
#~(modify-phases %standard-phases
(add-after 'unpack 'apply-hurd64-patch
(lambda _
(let ((patch
#$(local-file
(search-patch
"guile-lzlib-hurd64.patch"))))
(invoke "patch" "--force" "-p1" "-i" patch)))))
#~%standard-phases)))
(native-inputs (list autoconf automake pkg-config guile-3.0))
(inputs (list guile-3.0 lzlib))
(synopsis "Guile bindings to lzlib")

View file

@ -0,0 +1,32 @@
Upstream-status: Presented upstream.
From 80dcd31562827f4b6d085affe9d9f22164f7ed34 Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 15 Nov 2024 16:18:29 +0100
Subject: [PATCH] build: Support the 64bit Hurd.
* configure.ac: When cross-compiling declare LZ_decompress_open before
using it in conftest.c.
---
configure.ac | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 50dc5ac..4c56768 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,7 +32,10 @@ AC_DEFUN([GUILE_LIBLZ_FILE_NAME], [
[if test "$cross_compiling" = yes; then
# When cross-compiling, we cannot rely on 'ldd'. Instead, look
# the output of 'ld --verbose', assuming we're using GNU ld.
- echo 'int main () { return LZ_decompress_open(); }' > conftest.c
+ cat > conftest.c <<EOF
+int LZ_decompress_open ();
+int main () { return LZ_decompress_open(); }
+EOF
guile_cv_liblz_libdir="\
`$CC conftest.c -o conftest$EXEEXT -llz -Wl,--verbose 2>/dev/null \
| grep -E '^/.*/liblz\.(a|so)'`"
--
2.46.0