nixpkgs/pkgs/games/openra/default.nix
2014-11-15 13:04:32 +01:00

52 lines
1.4 KiB
Nix

{ stdenv, fetchurl, mono, makeWrapper, lua
, SDL2, freetype, openal, systemd, pkgconfig
}:
let
version = "20141029";
in stdenv.mkDerivation rec {
name = "openra-${version}";
meta = with stdenv.lib; {
description = "Real Time Strategy game engine recreates the C&C titles";
homepage = "http://www.open-ra.org/";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ iyzsong ];
};
src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/OpenRA/OpenRA/archive/release-${version}.tar.gz";
sha256 = "082rwcy866k636s4qhbry3ja2p81mdz58bh1dw2mic5mv2q6p67r";
};
dontStrip = true;
buildInputs = [ lua ];
nativeBuildInputs = [ mono makeWrapper lua pkgconfig ];
patchPhase = ''
sed -i 's/^VERSION.*/VERSION = release-${version}/g' Makefile
substituteInPlace configure --replace /bin/bash "$shell" --replace /usr/local/lib "${lua}/lib"
'';
preConfigure = ''
makeFlags="prefix=$out"
make version
'';
postInstall = with stdenv.lib; let
runtime = makeLibraryPath [ SDL2 freetype openal systemd lua ];
in ''
wrapProgram $out/lib/openra/launch-game.sh \
--prefix PATH : "${mono}/bin" \
--set PWD $out/lib/openra/ \
--prefix LD_LIBRARY_PATH : "${runtime}"
mkdir -p $out/bin
echo "cd $out/lib/openra && $out/lib/openra/launch-game.sh" > $out/bin/openra
chmod +x $out/bin/openra
'';
}