summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/hurd.scm20
-rw-r--r--gnu/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.patch32
3 files changed, 45 insertions, 8 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 71a13462ab..b5c28dafac 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1288,6 +1288,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gnome-session-support-elogind.patch	\
   %D%/packages/patches/gnome-tweaks-search-paths.patch		\
   %D%/packages/patches/gnumach-support-noide.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 7e788d398d..0e47a954d7 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -91,20 +91,24 @@
 (define-public mig
   (package
     (name "mig")
-    (version "1.8+git20230520")
+    (version "1.8+git20220827")
     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://git.savannah.gnu.org/git/hurd/mig.git")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
+              (method url-fetch)
+              ;; XXX: Version 2.35 of glibc can only be built with an
+              ;; unreleased version of MiG:
+              ;; <https://lists.gnu.org/archive/html/bug-hurd/2023-03/msg00025.html>.
+              ;; It cannot be fetched from Git though, as the extra dependency
+              ;; on Autoconf/Automake would complicate bootstrapping.
+              (uri (string-append "mirror://gnu/guix/mirror/mig-"
+                                  version ".tar.gz"))
               (sha256
                (base32
-                "10r0fdjqjzqsy6ajb21rifvhw0wpjvrw6a1zdyliqlzqny5k0qlz"))))
+                "163d37s9lscd6zxyfng421m9nl857464mgjj90xsrcl5ykbng5p2"))
+              (patches (search-patches "mig-cpu.h-generation.patch"))))
     (build-system gnu-build-system)
     ;; Flex is needed both at build and run time.
     (inputs (list gnumach-headers flex))
-    (native-inputs (list autoconf automake flex bison))
+    (native-inputs (list flex bison))
     (arguments
      (list #:tests? #f
            #:phases
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: <17335d49a3c9e866a81abc051420d73a59d669bf.1678745341.git.dev@jpoiret.xyz>
+From: Josselin Poiret <dev@jpoiret.xyz>
+Date: Sun, 28 Aug 2022 01:17:34 +0200
+Subject: [PATCH] Add missing const_mach_port_name_array_t type
+
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+---
+ 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
+