summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/hurd.scm23
-rw-r--r--gnu/packages/patches/mig-cpu.h-generation.patch16
3 files changed, 31 insertions, 9 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 4f73c8713e..b8f11a837a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1542,6 +1542,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mia-vtk9.patch				\
   %D%/packages/patches/mia-vtk92.patch				\
   %D%/packages/patches/mia-vtk-version.patch			\
+  %D%/packages/patches/mig-cpu.h-generation.patch 		\
   %D%/packages/patches/mingw-w64-6.0.0-gcc.patch		\
   %D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch	\
   %D%/packages/patches/mingw-w64-reproducible-gendef.patch	\
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 7f02e6141d..ae764162ff 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -111,15 +111,20 @@ GNU/Hurd."
 (define-public mig
   (package
     (name "mig")
-    (version "1.8")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://gnu/mig/mig-"
-                          version ".tar.gz"))
-      (sha256
-       (base32
-        "1gyda8sq6b379nx01hkpbd85lz39irdvz2b9wbr63gicicx8i706"))))
+    (version "1.8+git20220827")
+    (source (origin
+              (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
+                "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))
diff --git a/gnu/packages/patches/mig-cpu.h-generation.patch b/gnu/packages/patches/mig-cpu.h-generation.patch
new file mode 100644
index 0000000000..3030eaeaa6
--- /dev/null
+++ b/gnu/packages/patches/mig-cpu.h-generation.patch
@@ -0,0 +1,16 @@
+Backport MiG commit 73fbf2504ae606dda81372701a67dad6fee0865e:
+
+  From: Flavio Cruz <flaviocruz@gmail.com>
+  Subject: Generate cpu.h with -ffreestanding
+
+--- a/Makefile.in	2023-03-26 23:02:51.384318331 +0200
++++ b/Makefile.in	2023-03-26 23:03:03.300329369 +0200
+@@ -1051,7 +1051,7 @@ uninstall-am: uninstall-binSCRIPTS unins
+ .sym.symc:
+ 	$(AWK_V) $(AWK) -f $(srcdir)/gensym.awk $< > $@
+ .symc.symo:
+-	$(AM_V_CC) $(TARGET_CC) -S $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -x c -o $@ $<
++	$(AM_V_CC) $(TARGET_CC) -S $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -ffreestanding -x c -o $@ $<
+ .symo.h:
+ 	$(AM_V_GEN) sed -e '/^[^*].*$$/d' -e 's/^[*]/#define/' -e 's/mAgIc[^-0-9]*//' \
+ 	    $< > $@