diff options
author | Janneke Nieuwenhuizen <janneke@gnu.org> | 2024-11-15 16:26:47 +0100 |
---|---|---|
committer | Janneke Nieuwenhuizen <janneke@gnu.org> | 2024-12-03 08:33:13 +0100 |
commit | 47f2cabe370206c0f6c7bfdfc0c00816d60bcea8 (patch) | |
tree | 09e9f836f4e1edd878d39262c29c8b1fea06aa24 /gnu/packages | |
parent | 2d37f0e0715678bd4a8302f40940806f53adef20 (diff) | |
download | guix-47f2cabe370206c0f6c7bfdfc0c00816d60bcea8.tar.gz guix-47f2cabe370206c0f6c7bfdfc0c00816d60bcea8.zip |
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
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/guile.scm | 16 | ||||
-rw-r--r-- | gnu/packages/patches/guile-lzlib-hurd64.patch | 32 |
2 files changed, 45 insertions, 3 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 8dabbb2c5e..69dff9211f 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -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 @@ Guile's foreign function interface.") "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") diff --git a/gnu/packages/patches/guile-lzlib-hurd64.patch b/gnu/packages/patches/guile-lzlib-hurd64.patch new file mode 100644 index 0000000000..12e8c3617d --- /dev/null +++ b/gnu/packages/patches/guile-lzlib-hurd64.patch @@ -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 + |