guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

23/58: gnu: guile-lzlib: Support [cross-]build with gcc-14 and the 64bit


From: guix-commits
Subject: 23/58: gnu: guile-lzlib: Support [cross-]build with gcc-14 and the 64bit Hurd.
Date: Sun, 24 Nov 2024 02:50:37 -0500 (EST)

janneke pushed a commit to branch hurd-team
in repository guix.

commit c3f53fa6009c20b6e5d6db91bfa8c96e8c3d00be
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Fri Nov 15 16:26:47 2024 +0100

    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
---
 gnu/local.mk                                  |  1 +
 gnu/packages/guile.scm                        | 16 +++++++++++---
 gnu/packages/patches/guile-lzlib-hurd64.patch | 32 +++++++++++++++++++++++++++
 3 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index f15272f25c..3df0d4effa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1515,6 +1515,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             \
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
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]