Subject: [bug#74290] [PATCH v4 09/58] gnu: patch: Fix build for the 64bit Hurd.

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

* gnu/packages/base.scm (patch)[arguments]: When building for the 64bit Hurd,
set #:configure-flags.

Change-Id: I795a591ef8282ee5b760fec43bd4ad849007f602
---
 gnu/packages/base.scm | 49 ++++++++++++++++++++++++-------------------
 1 file changed, 28 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 010be631d7..83f8c0d9e9 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -339,27 +339,34 @@ (define-public patch
                   "1bk38169c0xh01b0q0zmnrjqz8k9byz3arp4q7q66sn6xwf94nvz"))
                 (patches (search-patches "patch-hurd-path-max.patch"))))
       (arguments
-       (substitute-keyword-arguments (package-arguments base)
-         ((#:phases phases '%standard-phases)
-          #~(modify-phases #$phases
-              (add-after 'unpack 'copy-gnulib-sources
-                (lambda _
-                  ;; XXX: We copy the source instead of using 'gnulib' as a
-                  ;; native input to avoid introducing a dependency cycle.
-                  (copy-recursively #+gnulib "gnulib")
-                  (setenv "GNULIB_SRCDIR"
-                          (string-append (getcwd) "/gnulib/src/gnulib"))))
-              (add-after 'copy-gnulib-sources 'update-bootstrap-script
-                (lambda _
-                  (copy-file "gnulib/src/gnulib/build-aux/bootstrap"
-                             "bootstrap")))
-              (add-after 'unpack 'patch-configure.ac
-                (lambda _
-                  (substitute* "configure.ac"
-                    ;; The gnulib-provided git-version-gen script has a plain
-                    ;; shebang of #!/bin/sh; avoid using it.
-                    (("build-aux/git-version-gen" all)
-                     (string-append "sh " all)))))))))
+       (let ((arguments
+         (substitute-keyword-arguments (package-arguments base)
+           ((#:phases phases '%standard-phases)
+            #~(modify-phases #$phases
+                (add-after 'unpack 'copy-gnulib-sources
+                  (lambda _
+                    ;; XXX: We copy the source instead of using 'gnulib' as a
+                    ;; native input to avoid introducing a dependency cycle.
+                    (copy-recursively #+gnulib "gnulib")
+                    (setenv "GNULIB_SRCDIR"
+                            (string-append (getcwd) "/gnulib/src/gnulib"))))
+                (add-after 'copy-gnulib-sources 'update-bootstrap-script
+                  (lambda _
+                    (copy-file "gnulib/src/gnulib/build-aux/bootstrap"
+                               "bootstrap")))
+                (add-after 'unpack 'patch-configure.ac
+                  (lambda _
+                    (substitute* "configure.ac"
+                      ;; The gnulib-provided git-version-gen script has a plain
+                      ;; shebang of #!/bin/sh; avoid using it.
+                      (("build-aux/git-version-gen" all)
+                       (string-append "sh " all))))))))))
+         (if (target-hurd64?)
+             (substitute-keyword-arguments arguments
+               ((#:configure-flags flags '())
+                #~(list "--disable-threads"
+                        "gl_cv_func_working_mktime=yes")))
+             arguments)))
       (native-inputs (list autoconf automake bison ed))
       (properties '()))))
 
-- 
2.46.0