nixpkgs/pkgs/applications/inferno/default.nix

59 lines
1.7 KiB
Nix
Raw Normal View History

2016-02-28 13:48:54 +00:00
{ fetchurl, fetchhg, stdenv, xorg, makeWrapper }:
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";
src = fetchhg {
2016-02-28 13:48:54 +00:00
url = "https://bitbucket.org/inferno-os/inferno-os";
sha256 = "1b428ma9fi5skvfrxp91dr43a62kax89wmx7950ahc1cxyx90k7x";
};
2016-02-28 13:48:54 +00:00
buildInputs = [ makeWrapper ] ++ (with xorg; [ libX11 libXpm libXext xextproto ]);
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
'';
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
mk nuke
mk
'';
installPhase = ''
2016-02-28 13:48:54 +00:00
# Installs executables in $out/share/inferno/${host}/${objtype}/bin
mk install
mkdir -p $out/bin
2016-02-28 13:48:54 +00:00
# Install start-up script
makeWrapper $infernoWrapper $out/bin/inferno \
--suffix PATH ':' "$out/share/inferno/Linux/386/bin" \
--set INFERNO_ROOT "$out/share/inferno"
'';
hardeningDisable = [ "fortify" ];
2016-02-22 01:43:25 +00:00
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 ];
platforms = with stdenv.lib.platforms; linux;
};
}