Subject: [bug#74290] [PATCH v3 14/51] gnu: git-minimal: Support [cross-]build with gcc-14 and the 64bit Hurd.

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

* gnu/packages/version-control.scm (git-minimal)[arguments]: When building for
the 64bit Hurd, or cross-compiling, use "-Wno-implicit-function-declaration"
in #:make-flags.  Use target-hurd? instead of comparing with "i586-pc-gnu" in
"use-host-uname_S" phase.

Change-Id: Ib9836be8a1e389a82c8a89adf22aaeac0d85bd14
---
 gnu/packages/version-control.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index c892a83a98..ca77b485ad 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -296,7 +296,10 @@ (define-public git-minimal
               ;; By default 'make install' creates hard links for
               ;; things in 'libexec/git-core', which leads to huge
               ;; nars; see <https://bugs.gnu.org/21949>.
-              "NO_INSTALL_HARDLINKS=indeed")
+              "NO_INSTALL_HARDLINKS=indeed"
+              #$@(if (or (target-hurd64?) (%current-target-system))
+                     #~("-Wno-implicit-function-declaration")
+                     #~()))
       #:phases
       #~(modify-phases %standard-phases
           #$@(if (%current-target-system)
@@ -305,7 +308,7 @@ (define-public git-minimal
                       (lambda _
                         (substitute* "config.mak.uname"
                           (("uname_S := .*" all)
-                           (if (equal? #$(%current-target-system) "i586-pc-gnu")
+                           (if #$(target-hurd?)
                                "uname_S := GNU\n"
                                all))))))
                  ;; We do not have a full bash when cross-compiling.
-- 
2.46.0