diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index d44962ae55..61d8774075 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -98,49 +98,47 @@ (define-public gnumach-headers
     (license gpl2+)))
 
 (define-public mig
-  (package
-    (name "mig")
-    (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))
-    (native-inputs (list flex bison))
-    (arguments
-     (list #:tests? #f
-           #:phases
-           #~(modify-phases %standard-phases
-               (add-after 'install 'avoid-perl-dependency
-                 (lambda* (#:key build inputs outputs #:allow-other-keys)
-                   (let* ((out (assoc-ref outputs "out"))
-                          (bin (string-append out "/bin")))
-                     ;; By default 'mig' (or 'TARGET-mig') uses Perl to
-                     ;; compute 'libexecdir_rel'.  Avoid it.
-                     (substitute* (find-files bin "mig$")
-                       (("^libexecdir_rel=.*")
-                        "libexecdir_rel=../libexec\n"))))))))
-    (home-page "https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html")
-    (synopsis "Mach 3.0 interface generator for the Hurd")
-    (description
-     "GNU MIG is the GNU distribution of the Mach 3.0 interface generator
+  (let ((revision "1")
+        (commit "04bfe7a91223ba15d868f7165e49328b1c6e86c3"))
+    (package
+      (name "mig")
+      (version (git-version "1.8" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.savannah.gnu.org/git/hurd/mig.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0zw2w3hnz76f9602znshciqabylmvavx0h04y01qjlmhd9wh8iw5"))))
+      (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))
+      (arguments
+       (list #:tests? #f
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'install 'avoid-perl-dependency
+                   (lambda* (#:key build inputs outputs #:allow-other-keys)
+                     (let* ((out (assoc-ref outputs "out"))
+                            (bin (string-append out "/bin")))
+                       ;; By default 'mig' (or 'TARGET-mig') uses Perl to
+                       ;; compute 'libexecdir_rel'.  Avoid it.
+                       (substitute* (find-files bin "mig$")
+                         (("^libexecdir_rel=.*")
+                          "libexecdir_rel=../libexec\n"))))))))
+      (home-page "https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html")
+      (synopsis "Mach 3.0 interface generator for the Hurd")
+      (description
+       "GNU MIG is the GNU distribution of the Mach 3.0 interface generator
 MIG, as maintained by the GNU Hurd developers for the GNU project.
 You need this tool to compile the GNU Mach and GNU Hurd distributions,
 and to compile the GNU C library for the Hurd.  Also, you will need it
 for other software in the GNU system that uses Mach-based inter-process
 communication.")
-    (license gpl2+)))
+      (license gpl2+))))
 
 (define-public hurd-headers
   ;; This commit is now slightly behind 0.9.git20220818 as this one needs a
