aboutsummaryrefslogtreecommitdiff
path: root/pkgs/games/openra
diff options
context:
space:
mode:
author宋文武 <iyzsong@gmail.com>2014-04-06 17:01:34 +0200
committerVladimír Čunát <vcunat@gmail.com>2014-05-27 20:08:50 +0200
commitddfd374c40fdb4e15ae208062fe72e505d139d0e (patch)
tree5fbdbce5bed2d8b1e54dc20900fadb3ce22cb43e /pkgs/games/openra
parent0f65f11d6ec5dfeaa9bf8cdc70e3b41e83812f1a (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.nix44
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}"
+ '';
+}