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

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

From: Josselin Poiret <[email-masked]>

* gnu/packages/hurd.scm (mig): Do it.
* gnu/packages/patches/mig-cpu.h-generation.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Co-authored-by: Ludovic Courtès <[email-masked]>
---
 gnu/local.mk                                  |  1 +
 gnu/packages/hurd.scm                         | 26 ++++++++++++-------
 .../patches/mig-cpu.h-generation.patch        | 16 ++++++++++++
 3 files changed, 34 insertions(+), 9 deletions(-)
 create mode 100644 gnu/packages/patches/mig-cpu.h-generation.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index c44ad3aab3..10a55164e7 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..078d495c87 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -111,15 +111,23 @@ (define-public gnumach-headers
 (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)
+              ;; FIXME: Use permanent URL at ftp.gnu.org.
+
+              ;; 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
+                    "https://people.bordeaux.inria.fr/lcourtes/tmp/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 <[email-masked]>
+  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]*//' \
+ 	    $< > $@
-- 
2.39.2