From 2128b50a0dda9e4e6dbad74f2706aee58f81708d Mon Sep 17 00:00:00 2001 From: rennes Date: Thu, 16 Mar 2017 09:29:55 -0600 Subject: [PATCH 2/2] gnu: Add GNU Mach. * gnu/packages/hurd.scm (gnumach): New variable. Co-authored-by: Rene Saavedra --- gnu/packages/hurd.scm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index ba91b60be..66608f2d8 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016 Manolis Fragkiskos Ragkousis +;;; Copyright © 2014, 2015, 2016, 2017 Manolis Fragkiskos Ragkousis ;;; ;;; This file is part of GNU Guix. ;;; @@ -210,3 +210,37 @@ Library for GNU/Hurd.") Hurd-minimal package which are needed for both glibc and GCC.") (home-page (package-home-page hurd-headers)) (license (package-license hurd-headers)))) + +(define-public gnumach + (package + (name "gnumach") + (version "1.8") + (source + (origin + (method url-fetch) + (uri (gnumach-source-url version)) + (sha256 + (base32 + "02hygsfpd2dljl5lg1vjjg9pizi9jyxd4aiiqzjshz6jax62jm9f")))) + (build-system gnu-build-system) + (arguments + `(#: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"))) + (and (zero? (system* "make" "gnumach.gz")) + (begin + (copy-file "gnumach.gz" + (string-append boot "/gnumach.gz")) + #t)))))))) + (native-inputs + `(("mig" ,mig) + ("perl" ,perl))) + (supported-systems %hurd-systems) + (home-page + "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html") + (synopsis "Microkernel of the GNU system") + (description + "GNU Mach is the microkernel upon which a GNU Hurd system is based.") + (license gpl2+))) -- 2.12.0