2016-02-28 13:48:54 +00:00
|
|
|
{ fetchurl, fetchhg, stdenv, xorg, makeWrapper }:
|
2014-06-25 00:52:53 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
# Inferno is a rolling release from a mercurial repository. For the verison number
|
|
|
|
# of the package I'm using the mercurial commit number.
|
2016-02-28 13:48:54 +00:00
|
|
|
rev = "785";
|
|
|
|
name = "inferno-${rev}";
|
|
|
|
host = "Linux";
|
|
|
|
objtype = "386";
|
2014-06-25 00:52:53 +01:00
|
|
|
|
|
|
|
src = fetchhg {
|
2016-02-28 13:48:54 +00:00
|
|
|
url = "https://bitbucket.org/inferno-os/inferno-os";
|
|
|
|
sha256 = "1b428ma9fi5skvfrxp91dr43a62kax89wmx7950ahc1cxyx90k7x";
|
2014-06-25 00:52:53 +01:00
|
|
|
};
|
|
|
|
|
2016-02-28 13:48:54 +00:00
|
|
|
buildInputs = [ makeWrapper ] ++ (with xorg; [ libX11 libXpm libXext xextproto ]);
|
2014-06-25 00:52:53 +01:00
|
|
|
|
|
|
|
infernoWrapper = ./inferno;
|
|
|
|
|
|
|
|
configurePhase = ''
|
2016-02-28 13:48:54 +00:00
|
|
|
sed -e 's@^ROOT=.*$@ROOT='"$out"'/share/inferno@g' \
|
|
|
|
-e 's@^OBJTYPE=.*$@OBJTYPE=${objtype}@g' \
|
|
|
|
-e 's@^SYSHOST=.*$@SYSHOST=${host}@g' \
|
|
|
|
-i mkconfig
|
|
|
|
# Get rid of an annoying warning
|
|
|
|
sed -e 's/_BSD_SOURCE/_DEFAULT_SOURCE/g' \
|
|
|
|
-i ${host}/${objtype}/include/lib9.h
|
2014-06-25 00:52:53 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
mkdir -p $out/share/inferno
|
|
|
|
cp -r . $out/share/inferno
|
|
|
|
./makemk.sh
|
2016-02-28 13:48:54 +00:00
|
|
|
export PATH=$PATH:$out/share/inferno/Linux/386/bin
|
2014-06-25 00:52:53 +01:00
|
|
|
mk nuke
|
|
|
|
mk
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
2016-02-28 13:48:54 +00:00
|
|
|
# Installs executables in $out/share/inferno/${host}/${objtype}/bin
|
2014-06-25 00:52:53 +01:00
|
|
|
mk install
|
|
|
|
mkdir -p $out/bin
|
2016-02-28 13:48:54 +00:00
|
|
|
# Install start-up script
|
2014-06-25 00:52:53 +01:00
|
|
|
makeWrapper $infernoWrapper $out/bin/inferno \
|
|
|
|
--suffix PATH ':' "$out/share/inferno/Linux/386/bin" \
|
|
|
|
--set INFERNO_ROOT "$out/share/inferno"
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "A compact distributed operating system for building cross-platform distributed systems";
|
|
|
|
homepage = "http://inferno-os.org/";
|
|
|
|
license = stdenv.lib.licenses.gpl2;
|
2016-02-28 13:48:54 +00:00
|
|
|
maintainers = with stdenv.lib.maintainers; [ doublec kovirobi ];
|
2014-06-25 00:52:53 +01:00
|
|
|
platforms = with stdenv.lib.platforms; linux;
|
|
|
|
};
|
|
|
|
}
|