2010-05-12 17:46:38 +02:00
|
|
|
{ fetchgit, stdenv, mig ? null, autoconf, automake, texinfo
|
2010-05-26 10:55:55 +02:00
|
|
|
, headersOnly ? false }:
|
2010-05-12 17:46:38 +02:00
|
|
|
|
|
|
|
assert (!headersOnly) -> (mig != null);
|
|
|
|
|
2010-05-19 23:28:09 +02:00
|
|
|
let
|
|
|
|
date = "2010-05-12";
|
|
|
|
rev = "master@{${date}}";
|
2010-05-12 17:46:38 +02:00
|
|
|
in
|
2010-05-19 23:28:09 +02:00
|
|
|
stdenv.mkDerivation ({
|
2010-05-19 23:28:28 +02:00
|
|
|
name = "gnumach${if headersOnly then "-headers" else ""}-${date}";
|
2010-05-12 17:46:38 +02:00
|
|
|
|
|
|
|
src = fetchgit {
|
|
|
|
url = "git://git.sv.gnu.org/hurd/gnumach.git";
|
|
|
|
sha256 = "7b383a23b7fbe1ec812951cc0f553c85da3279f4f723dd6a65e45976f9d5ca2d";
|
|
|
|
inherit rev;
|
|
|
|
};
|
|
|
|
|
2010-05-26 22:39:53 +02:00
|
|
|
configureFlags =
|
|
|
|
stdenv.lib.optional headersOnly "--build=i586-pc-gnu" # cheat
|
|
|
|
|
|
|
|
# Always enable dependency tracking. See
|
|
|
|
# <http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00137.html>.
|
|
|
|
++ [ "--enable-dependency-tracking" ];
|
2010-05-12 17:46:38 +02:00
|
|
|
|
2010-05-26 10:55:55 +02:00
|
|
|
buildNativeInputs = [ autoconf automake texinfo ]
|
2010-05-12 17:46:38 +02:00
|
|
|
++ stdenv.lib.optional (mig != null) mig;
|
|
|
|
|
|
|
|
preConfigure = "autoreconf -vfi";
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "GNU Mach, the microkernel used by the GNU Hurd";
|
|
|
|
|
|
|
|
longDescription =
|
|
|
|
'' GNU Mach is the microkernel that the GNU Hurd system is based on.
|
|
|
|
|
|
|
|
It is maintained by the Hurd developers for the GNU project and
|
|
|
|
remains compatible with Mach 3.0.
|
|
|
|
|
|
|
|
The majority of GNU Mach's device drivers are from Linux 2.0. They
|
|
|
|
were added using glue code, i.e., a Linux emulation layer in Mach.
|
|
|
|
'';
|
|
|
|
|
|
|
|
license = "GPLv2+";
|
|
|
|
|
|
|
|
homepage = http://www.gnu.org/software/hurd/microkernel/mach/gnumach.html;
|
|
|
|
|
|
|
|
maintainers = [ stdenv.lib.maintainers.ludo ];
|
2010-05-26 10:55:55 +02:00
|
|
|
platforms = [ "i586-gnu" ];
|
2010-05-12 17:46:38 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
(if headersOnly
|
|
|
|
then { buildPhase = ":"; installPhase = "make install-data"; }
|
|
|
|
else {}))
|