summaryrefslogtreecommitdiff
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, 48 insertions, 39 deletions
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index a4c0296b04..2b2e162107 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,11 +55,7 @@
;; GNU Mach supports only IA32 currently, so cheat so that we can at
;; least install its headers.
- ,@(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")))
+ #:configure-flags '("--build=i686-pc-gnu")
#:tests? #f))
(home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html")
@@ -112,7 +108,11 @@ communication.")
"1pbc4aqgzxvkgivw80ghp3w755cl0fwxmg357vq7chimj64jk78d"))))
(build-system gnu-build-system)
(native-inputs
- `(("mig" ,mig)))
+ `(;; Autoconf shouldn't be necessary but there seems to be a bug in the
+ ;; build system triggering its use.
+ ("autoconf" ,autoconf)
+
+ ("mig" ,mig)))
(arguments
`(#:phases (alist-replace
'install
@@ -122,19 +122,10 @@ communication.")
#:configure-flags '(;; Pretend we're on GNU/Hurd; 'configure' wants
;; that.
- ,@(if (%current-target-system)
- '()
- '("--host=i586-pc-gnu"))
+ "--build=i686-pc-gnu"
;; Reduce set of dependencies.
- "--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")
+ "--without-parted")
#:tests? #f))
(home-page "http://www.gnu.org/software/hurd/hurd.html")
@@ -149,28 +140,46 @@ Library and other user programs.")
(name "hurd-minimal")
(inputs `(("glibc-hurd-headers" ,glibc/hurd-headers)))
(native-inputs
- `(("mig" ,mig)))
+ `(("autoconf" ,(autoconf-wrapper))
+ ("mig" ,mig)))
+
(arguments
- (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)))))
+ `(#: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))
(home-page "http://www.gnu.org/software/hurd/hurd.html")
(synopsis "GNU Hurd libraries")
(description