Subject: [PATCH v3 18/51] gnu: texinfo-4: Fix [cross-]build with gcc-14 and the 64bit Hurd.

From: Janneke Nieuwenhuizen <[email-masked]>
Date: Tue, 19 Nov 2024 07:54:48 +0100

* gnu/packages/texinfo.scm (texinfo-4): When building for the 64bit Hurd, or
cross-compiling, add "-Wno-incompatible-pointer-types" to #:configure-flags.

Change-Id: Ia0503e3f5c7aa5354a949b69035a1be6f93ec85f
---
 gnu/packages/texinfo.scm | 50 ++++++++++++++++++++++------------------
 1 file changed, 27 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 81afdaf7a7..c30ca3c788 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2019 Pierre-Moana Levesque <[email-masked]>
 ;;; Copyright © 2019, 2020 Mathieu Othacehe <[email-masked]>
 ;;; Copyright © 2020 Nicolas Goaziou <[email-masked]>
-;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <[email-masked]>
+;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <[email-masked]>
 ;;; Copyright © 2021 Maxime Devos <[email-masked]>
 ;;; Copyright © 2022 ( <[email-masked]>
 ;;;
@@ -165,31 +165,35 @@ (define-public texinfo-4
       (modify-inputs (package-native-inputs texinfo)
         (prepend automake)))
     (arguments
-     (substitute-keyword-arguments (package-arguments texinfo)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'fix-configure
-             (lambda* (#:key inputs native-inputs #:allow-other-keys)
-               ;; Replace outdated config.sub and config.guess.
-               (with-directory-excursion "build-aux"
-                 (for-each
-                  (lambda (file)
-                    (install-file (string-append
-                                   (assoc-ref
-                                    (or native-inputs inputs) "automake")
-                                   "/share/automake-"
-                                   ,(version-major+minor
-                                     (package-version automake))
-                                   "/" file) "."))
-                  '("config.sub" "config.guess")))
-               #t))
-           ;; Build native version of tools before running 'build phase.
-           ,@(if (%current-target-system)
-                 `((add-before 'build 'make-native-gnu-lib
+     (append
+      (substitute-keyword-arguments (package-arguments texinfo)
+        ((#:phases phases)
+         `(modify-phases ,phases
+            (add-after 'unpack 'fix-configure
+              (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                ;; Replace outdated config.sub and config.guess.
+                (with-directory-excursion "build-aux"
+                  (for-each
+                   (lambda (file)
+                     (install-file (string-append
+                                    (assoc-ref
+                                     (or native-inputs inputs) "automake")
+                                    "/share/automake-"
+                                    ,(version-major+minor
+                                      (package-version automake))
+                                    "/" file) "."))
+                   '("config.sub" "config.guess")))
+                #t))
+            ;; Build native version of tools before running 'build phase.
+            ,@(if (%current-target-system)
+                  `((add-before 'build 'make-native-gnu-lib
                       (lambda* (#:key inputs #:allow-other-keys)
                         (invoke "make" "-C" "tools/gnulib/lib")
                         #t)))
-                 '())))))))
+                  '()))))
+      (if (or (target-hurd64?) (%current-target-system))
+          (list #:configure-flags ''("CFLAGS=-Wno-incompatible-pointer-types"))
+          '())))))
 
 (define-public info-reader
   ;; The idea of this package is to have the standalone Info reader without
-- 
2.46.0