~ruther/guix-local

bc046a94dec2afadbc1ee3957f13098a8d8b393c — Manolis Ragkousis 12 years ago 1f3fc60
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>
3 files changed, 88 insertions(+), 1 deletions(-)

M gnu-system.am
M gnu/packages/hurd.scm
A gnu/packages/patches/hurd-minimal.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 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		\

M gnu/packages/hurd.scm => gnu/packages/hurd.scm +66 -1
@@ 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+)))

A gnu/packages/patches/hurd-minimal.patch => gnu/packages/patches/hurd-minimal.patch +21 -0
@@ 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