diff options
author | 宋文武 <iyzsong@gmail.com> | 2014-04-06 17:01:34 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2014-05-27 20:08:50 +0200 |
commit | ddfd374c40fdb4e15ae208062fe72e505d139d0e (patch) | |
tree | 5fbdbce5bed2d8b1e54dc20900fadb3ce22cb43e /pkgs/games/openra | |
parent | 0f65f11d6ec5dfeaa9bf8cdc70e3b41e83812f1a (diff) |
Merge #2030: add openra game (C&C RTS engine)
Modifications from @vcunat, who tried Dune,
but it typically segfaults in mono after a few minutes
(IMHO unlikely to be a problem with packaging it).
Diffstat (limited to 'pkgs/games/openra')
-rw-r--r-- | pkgs/games/openra/default.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix new file mode 100644 index 000000000000..ec9d4ad39802 --- /dev/null +++ b/pkgs/games/openra/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, mono, makeWrapper +, SDL2, freetype, openal +}: + +let + version = "20131223"; +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 = "1gfz6iiccajp86qc7xw5w843bng69k9zplvmipxxbspvr7byhw0c"; + }; + + dontStrip = true; + + nativeBuildInputs = [ mono makeWrapper ]; + + patchPhase = '' + sed -i 's/^VERSION.*/VERSION = release-${version}/g' Makefile + ''; + + preConfigure = '' + makeFlags="prefix=$out" + make version + ''; + + postInstall = with stdenv.lib; let + runtime = makeLibraryPath [ SDL2 freetype openal ]; + in '' + wrapProgram $out/bin/openra \ + --prefix PATH : "${mono}/bin" \ + --prefix LD_LIBRARY_PATH : "${runtime}" + ''; +} |