Subject: [bug#74290] [PATCH v4 16/58] gnu: libffi: Fix [cross-]build with gcc-14.

From: Janneke Nieuwenhuizen <[email-masked]>
Date: Sun, 24 Nov 2024 08:54:39 +0100

* gnu/packages/libffi.scm (libffi)[arguments]: When building for the 64bit
Hurd, or cross-building, add "CFLAGS" to #:configure-flags to disable breaking
warning.

Change-Id: I05bf3f460f3e292626de1894b7a3cf381cb07702
---
 gnu/packages/libffi.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index ba3fc6bc79..62be8f0c4a 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2019, 2021 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2020 John Doe <[email-masked]>
+;;; Copyright © 2024 Janneke Nieuwenhuizen <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -60,7 +61,12 @@ (define-public libffi
      `(;; Prevent the build system from passing -march and -mtune to the
        ;; compiler.  See "ax_cc_maxopt.m4" and "ax_gcc_archflag.m4".
        #:configure-flags '("--enable-portable-binary"
-                           "--without-gcc-arch")))
+                           "--without-gcc-arch"
+                           ,@(if (or (target-hurd64?) (%current-target-system))
+                                 (list (string-append
+                                        "CFLAGS=-g -O2"
+                                        " -Wno-implicit-function-declaration"))
+                                 '()))))
     (outputs '("out" "debug"))
     (synopsis "Foreign function call interface library")
     (description
-- 
2.46.0