summary refs log tree commit diff
path: root/gnu/packages/hurd.scm
diff options
context:
space:
mode:
authorJanneke Nieuwenhuizen <janneke@gnu.org>2024-01-21 19:40:43 +0100
committerLudovic Courtès <ludo@gnu.org>2024-08-31 10:44:41 +0200
commit9c1266bdc47cc802a94ecded7cfaf5ecd3031548 (patch)
tree05038e86244d6bff49713146bc26d4dcbde9eaaa /gnu/packages/hurd.scm
parent8fc1b0ccc8688e3e6ceae9d7004f95c88d08447a (diff)
downloadguix-9c1266bdc47cc802a94ecded7cfaf5ecd3031548.tar.gz
gnu: gnumach: Fix build for i686-linux.
* gnu/packages/patches/gnumach-fix-i686-linux-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/hurd.scm (gnumach)[source]: Use it.
[arguments]: Remove #:make-flags to avoid overriding now-essential CFLAGS set
by configure.  Rewrite to use gexps.
[supported-systems]: Add i686-linux.

Change-Id: Ibec03121f90b30160725c87e999e38f677b2e369
Diffstat (limited to 'gnu/packages/hurd.scm')
-rw-r--r--gnu/packages/hurd.scm24
1 files changed, 11 insertions, 13 deletions
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 1d3a0eadfa..2cfd8f998f 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -255,26 +255,24 @@ Hurd-minimal package which are needed for both glibc and GCC.")
               (inherit (package-source gnumach-headers))
               (patches
                (append
-                (search-patches "gnumach-support-noide.patch")
+                (search-patches "gnumach-support-noide.patch"
+                                "gnumach-fix-i686-linux-build.patch")
                 (origin-patches (package-source gnumach-headers))))))
     (arguments
      (substitute-keyword-arguments (package-arguments gnumach-headers)
-       ((#:make-flags flags ''())
-        `(cons "CFLAGS=-fcommon" ,flags))
        ((#:configure-flags flags ''())
-        `(cons* "--enable-kdb" ;enable kernel debugger
+        `(cons* "--enable-kdb"          ;enable kernel debugger
                 "--disable-net-group"
                 "--disable-pcmcia-group"
                 "--disable-wireless-group"
-               ,flags))
+                ,flags))
        ((#:phases phases '%standard-phases)
-        `(modify-phases %standard-phases
-           (add-after 'install 'produce-image
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((out  (assoc-ref outputs "out"))
-                      (boot (string-append out "/boot")))
-                 (invoke "make" "gnumach.gz")
-                 (install-file "gnumach.gz" boot))))))))
+        #~(modify-phases %standard-phases
+            (add-after 'install 'produce-image
+              (lambda _
+                (let ((boot (string-append #$output "/boot")))
+                  (invoke "make" "gnumach.gz")
+                  (install-file "gnumach.gz" boot))))))))
     (native-inputs
      (list autoconf
            automake
@@ -283,7 +281,7 @@ Hurd-minimal package which are needed for both glibc and GCC.")
                mig)
            perl
            texinfo-4))
-    (supported-systems %hurd-systems)
+    (supported-systems `("i686-linux" ,@%hurd-systems))
     (synopsis "Microkernel of the GNU system")
     (description
      "GNU Mach is the microkernel upon which a GNU Hurd system is based.")))