Subject: [bug#62307] [PATCH core-updates v2 08/20] gnu: gnumach: Update to 1.8+git20220827.

From: Ludovic Courtès <[email-masked]>
Date: Tue, 28 Mar 2023 16:28:40 +0200

From: Josselin Poiret <[email-masked]>

* gnu/packages/hurd.scm (gnumach-headers): Do it.

* gnu/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Signed-off-by: Ludovic Courtès <[email-masked]>
---
 gnu/local.mk                                  |  1 +
 gnu/packages/hurd.scm                         | 77 +++++++++----------
 ...ng-const_mach_port_name_array_t-type.patch | 32 ++++++++
 3 files changed, 71 insertions(+), 39 deletions(-)
 create mode 100644 gnu/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 10a55164e7..6c029db944 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1251,6 +1251,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gnome-settings-daemon-gc.patch		\
   %D%/packages/patches/gnome-session-support-elogind.patch	\
   %D%/packages/patches/gnome-tweaks-search-paths.patch		\
+  %D%/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.patch \
   %D%/packages/patches/gnupg-default-pinentry.patch		\
   %D%/packages/patches/gnupg-1-build-with-gcc10.patch		\
   %D%/packages/patches/gnutls-skip-trust-store-test.patch	\
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 078d495c87..dbbe4d4cc6 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -66,47 +66,46 @@ (define (hurd-source-url version)
                  version ".tar.gz"))
 
 (define-public gnumach-headers
-   (let ((commit "097f9cf735ffa1212b828682ad92f0f6c5f1c552")
-         (revision "1"))
-     (package
-       (name "gnumach-headers")
-       (version (git-version "1.8" revision commit))
-       (source
-         (origin
-           (method git-fetch)
-           (uri (git-reference
-                  (url "https://git.savannah.gnu.org/git/hurd/gnumach.git")
-                  (commit commit)))
-           (file-name (git-file-name "gnumach" version))
-           (sha256
-            (base32
-             "0q36z7k02bykrld90zaxbhyzxlmwlqqs4divgir6ix38zsp6icqk"))))
-       (build-system gnu-build-system)
-       (arguments
-        `(#:phases
-          (modify-phases %standard-phases
-            (replace 'install
-              (lambda _
-                (invoke "make" "install-data")))
-            (delete 'build))
+  (package
+    (name "gnumach-headers")
+    (version "1.8+git20220827") ;; This is an upstream tag
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.savannah.gnu.org/git/hurd/gnumach.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name "gnumach" version))
+       (sha256
+        (base32
+         "07qlaf8vw029y7xdnhjyiiyn788zjzwmyzj79inz7idpswqsnyhf"))
+       (patches (search-patches "gnumach-add-missing-const_mach_port_name_array_t-type.patch"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda _
+             (invoke "make" "install-data")))
+         (delete 'build))
 
-           ;; GNU Mach supports only IA32 currently, so cheat so that we can at
-           ;; least install its headers.
-           ,@(if (%current-target-system)
-               '()
-               ;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html>
-               ;; <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html>
-               '(#:configure-flags '("--build=i586-pc-gnu"
-                                     "--host=i686-linux-gnu")))
+       ;; GNU Mach supports only IA32 currently, so cheat so that we can at
+       ;; least install its headers.
+       ,@(if (%current-target-system)
+             '()
+             ;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html>
+             ;; <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html>
+             '(#:configure-flags '("--build=i586-pc-gnu"
+                                   "--host=i686-linux-gnu")))
 
-           #:tests? #f))
-       (native-inputs
-        (list autoconf automake texinfo-4))
-       (home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html")
-       (synopsis "GNU Mach kernel headers")
-       (description
-        "Headers of the GNU Mach kernel.")
-       (license gpl2+))))
+       #:tests? #f))
+    (native-inputs
+     (list autoconf automake texinfo-4))
+    (home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html")
+    (synopsis "GNU Mach kernel headers")
+    (description
+     "Headers of the GNU Mach kernel.")
+    (license gpl2+)))
 
 (define-public mig
   (package
diff --git a/gnu/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.patch b/gnu/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.patch
new file mode 100644
index 0000000000..73c99ade23
--- /dev/null
+++ b/gnu/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.patch
@@ -0,0 +1,32 @@
+From 17335d49a3c9e866a81abc051420d73a59d669bf Mon Sep 17 00:00:00 2001
+Message-Id: <[email-masked]>
+From: Josselin Poiret <[email-masked]>
+Date: Sun, 28 Aug 2022 01:17:34 +0200
+Subject: [PATCH] Add missing const_mach_port_name_array_t type
+
+From: Samuel Thibault <[email-masked]>
+
+---
+ include/mach/port.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/mach/port.h b/include/mach/port.h
+index 3c226f6c..d25eb0b4 100644
+--- a/include/mach/port.h
++++ b/include/mach/port.h
+@@ -43,6 +43,7 @@
+  */
+ typedef unsigned int mach_port_name_t;
+ typedef mach_port_name_t *mach_port_name_array_t;
++typedef const mach_port_name_t *const_mach_port_name_array_t;
+ 
+ /*
+  * A port is represented
+
+base-commit: 3e1702a65fb3caf50c8d09a1b383b0056a5efc82
+prerequisite-patch-id: 4688654277aef235ccd1797a72dce27d52b04616
+prerequisite-patch-id: 8f1e7dd6429c15cc8ed1d411dba0a75b6e745236
+prerequisite-patch-id: 605553ee086473ad9bc24e59c91d49a12dbf8631
+-- 
+2.39.1
+
-- 
2.39.2