summary refs log tree commit diff
path: root/gnu/packages/hurd.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/hurd.scm')
-rw-r--r--gnu/packages/hurd.scm87
1 files changed, 39 insertions, 48 deletions
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 2b2e162107..a4c0296b04 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -21,12 +21,12 @@
   #:use-module (guix download)
   #:use-module (guix packages)
   #:use-module (gnu packages)
+  #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (guix git-download))
 
@@ -55,7 +55,11 @@
 
       ;; GNU Mach supports only IA32 currently, so cheat so that we can at
       ;; least install its headers.
-      #:configure-flags '("--build=i686-pc-gnu")
+      ,@(if (%current-target-system)
+            '()
+            ;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html>
+            ;; <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html>
+            '(#:configure-flags '("--build=i586-pc-gnu")))
 
       #:tests? #f))
     (home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html")
@@ -108,11 +112,7 @@ communication.")
                 "1pbc4aqgzxvkgivw80ghp3w755cl0fwxmg357vq7chimj64jk78d"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(;; Autoconf shouldn't be necessary but there seems to be a bug in the
-       ;; build system triggering its use.
-       ("autoconf" ,autoconf)
-
-       ("mig" ,mig)))
+     `(("mig" ,mig)))
     (arguments
      `(#:phases (alist-replace
                  'install
@@ -122,10 +122,19 @@ communication.")
 
        #:configure-flags '(;; Pretend we're on GNU/Hurd; 'configure' wants
                            ;; that.
-                           "--build=i686-pc-gnu"
+                           ,@(if (%current-target-system)
+                                 '()
+                                 '("--host=i586-pc-gnu"))
 
                            ;; Reduce set of dependencies.
-                           "--without-parted")
+                           "--without-parted"
+                           "--disable-ncursesw"
+                           "--disable-test"
+                           "--without-libbz2"
+                           "--without-libz"
+                           ;; Skip the clnt_create check because it expects
+                           ;; a working glibc causing a circular dependency.
+                           "ac_cv_search_clnt_create=no")
 
        #:tests? #f))
     (home-page "http://www.gnu.org/software/hurd/hurd.html")
@@ -140,46 +149,28 @@ Library and other user programs.")
     (name "hurd-minimal")
     (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers)))
     (native-inputs
-     `(("autoconf" ,(autoconf-wrapper))
-       ("mig" ,mig)))
-
+     `(("mig" ,mig)))
     (arguments
-     `(#:phases (alist-replace
-                 'install
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (let ((out (assoc-ref outputs "out")))
-                     ;; We need to copy libihash.a to the output directory manually,
-                     ;; since there is no target for that in the makefile.
-                     (mkdir-p (string-append out "/include"))
-                     (copy-file "libihash/ihash.h"
-                                (string-append out "/include/ihash.h"))
-                     (mkdir-p (string-append out "/lib"))
-                     (copy-file "libihash/libihash.a"
-                                (string-append out "/lib/libihash.a"))
-                     #t))
-                 (alist-replace
-                  'build
-                  (lambda _
-                    (zero? (system* "make" "-Clibihash" "libihash.a")))
-                  (alist-cons-before
-                   'configure 'bootstrap
-                   (lambda _
-                     (zero? (system* "autoreconf" "-vfi")))
-                   %standard-phases)))
-       #:configure-flags '(;; Pretend we're on GNU/Hurd; 'configure' wants
-                           ;; that.
-                           "--host=i686-pc-gnu"
-
-                           ;; Reduce set of dependencies.
-                           "--disable-ncursesw"
-                           "--disable-test"
-                           "--without-libbz2"
-                           "--without-libz"
-                           "--without-parted"
-                           ;; Skip the clnt_create check because it expects
-                           ;; a working glibc causing a circular dependency.
-                           "ac_cv_search_clnt_create=no")
-       #:tests? #f))
+     (substitute-keyword-arguments (package-arguments hurd-headers)
+       ((#:phases _)
+        '(alist-replace
+          'install
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((out (assoc-ref outputs "out")))
+              ;; We need to copy libihash.a to the output directory manually,
+              ;; since there is no target for that in the makefile.
+              (mkdir-p (string-append out "/include"))
+              (copy-file "libihash/ihash.h"
+                         (string-append out "/include/ihash.h"))
+              (mkdir-p (string-append out "/lib"))
+              (copy-file "libihash/libihash.a"
+                         (string-append out "/lib/libihash.a"))
+              #t))
+          (alist-replace
+           'build
+           (lambda _
+             (zero? (system* "make" "-Clibihash" "libihash.a")))
+           %standard-phases)))))
     (home-page "http://www.gnu.org/software/hurd/hurd.html")
     (synopsis "GNU Hurd libraries")
     (description