me
/
guix
Archived
1
0
Fork 0

gnu: hurd: Add Hurd Minimal.

* gnu/packages/hurd.scm (hurd-minimal): New variable.
* gnu/packages/patches/hurd-minimal.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
master
Manolis Ragkousis 2014-06-01 18:17:03 +00:00 committed by Ludovic Courtès
parent 1f3fc60da5
commit bc046a94de
3 changed files with 88 additions and 1 deletions

View File

@ -315,6 +315,7 @@ dist_patch_DATA = \
gnu/packages/patches/guix-test-networking.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \
gnu/packages/patches/hurd-minimal.patch \
gnu/packages/patches/inkscape-stray-comma.patch \
gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/libffi-mips-n32-fix.patch \

View File

@ -20,11 +20,14 @@
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages perl)
#:use-module (gnu packages autotools))
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (guix git-download))
(define-public gnumach-headers
(package
@ -128,3 +131,65 @@ communication.")
"This package provides C headers of the GNU Hurd, used to build the GNU C
Library and other user programs.")
(license gpl2+)))
(define-public hurd-minimal
(package
(name "hurd-minimal")
(version "0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/hurd/hurd")
(commit "a5ca1de1eb575294dbc865a2c4ff643efc117ef4")))
(sha256
(base32
"17vqdlpy1ifw4ijhc3ydkp8p5d406c7aq4ghpmg4a1h1wlwy32kr"))
(file-name (string-append name "-" version))
(patches (list (search-patch "hurd-minimal.patch")))))
(build-system gnu-build-system)
(inputs `(("glibc-hurd-headers" ,glibc/hurd-headers)))
(native-inputs
`(("autoconf" ,autoconf-wrapper)
("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")
#:tests? #f))
(home-page "http://www.gnu.org/software/hurd/hurd.html")
(synopsis "GNU Hurd libraries")
(description
"This package provides libihash, needed to build the GNU C
Library for GNU/Hurd")
(license gpl2+)))

View File

@ -0,0 +1,21 @@
We need to disable linking with glibc in order to build
libihash, which is a dependency of glibc.
After the flag AC_NO_EXECUTABLES is passed, linking is
not allowed so we disable those tests.
diff --git a/configure.ac b/configure.ac
index f8856db..a381219 100644
--- a/configure.ac
+++ b/configure.ac
@@ -297,9 +297,9 @@ AC_SUBST([XKB_BASE])
AC_DEFINE_UNQUOTED([X11_PREFIX], "$X11_PREFIX")
AC_SUBST([X11_KEYSYMDEF_H])
-# Check for Sun RPC headers and library.
+# Check only for Sun RPC headers. We do not need the library yet.
AC_CHECK_HEADER([rpc/types.h], [HAVE_SUN_RPC=yes], [HAVE_SUN_RPC=no])
-AC_SEARCH_LIBS([clnt_create], [], [:], [HAVE_SUN_RPC=no])
+# AC_SEARCH_LIBS([clnt_create], [], [:], [HAVE_SUN_RPC=no])
AC_SUBST([HAVE_SUN_RPC])
if test -f ./$ac_unique_file; then