diff options
author | Ricardo Ardissone <ricardo.ardissone@gmail.com> | 2016-04-10 23:46:40 -0300 |
---|---|---|
committer | Ricardo Ardissone <ricardo.ardissone@gmail.com> | 2016-05-01 19:03:02 -0300 |
commit | d19841c46fbd4ffd796510a5e28362937c3a9457 (patch) | |
tree | 0a5e53f8e5723bed653fdce6f19d401710dcabb0 /pkgs/games/openra | |
parent | 50970f4ccfd62c2086b026eb493d97edf6e957e0 (diff) |
openra: 20141029 -> 20151224
Diffstat (limited to 'pkgs/games/openra')
-rw-r--r-- | pkgs/games/openra/default.nix | 63 |
1 files changed, 56 insertions, 7 deletions
diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix index c79c068041003..071b200a72eae 100644 --- a/pkgs/games/openra/default.nix +++ b/pkgs/games/openra/default.nix @@ -1,9 +1,10 @@ { stdenv, fetchurl, mono, makeWrapper, lua -, SDL2, freetype, openal, systemd, pkgconfig +, SDL2, freetype, openal, systemd, pkgconfig, + dotnetPackages, gnome3 }: let - version = "20141029"; + version = "20151224"; in stdenv.mkDerivation rec { name = "openra-${version}"; @@ -17,17 +18,20 @@ in stdenv.mkDerivation rec { src = fetchurl { name = "${name}.tar.gz"; url = "https://github.com/OpenRA/OpenRA/archive/release-${version}.tar.gz"; - sha256 = "082rwcy866k636s4qhbry3ja2p81mdz58bh1dw2mic5mv2q6p67r"; + sha256 = "0dgaxy1my5r3sr3l3gw79v89dsc7179pasj2bibswlv03wsjgqbi"; }; dontStrip = true; - buildInputs = [ lua ]; + buildInputs = with dotnetPackages; + [ NUnit NewtonsoftJson MonoNat FuzzyLogicLibrary SmartIrc4net SharpZipLib MaxMindGeoIP2 MaxMindDb SharpFont StyleCopMSBuild StyleCopPlusMSBuild RestSharp ] + ++ [ lua gnome3.zenity ]; 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" + substituteInPlace thirdparty/configure-native-deps.sh --replace "locations=\"" "locations=\"${lua}/lib " + substituteInPlace Makefile --replace "@./thirdparty/fetch-geoip-db.sh" "" ''; preConfigure = '' @@ -35,6 +39,51 @@ in stdenv.mkDerivation rec { make version ''; + preBuild = let dotnetPackagesDlls = with dotnetPackages; [ + "${MonoNat}/lib/dotnet/Mono.Nat/net40/Mono.Nat.dll" + "${FuzzyLogicLibrary}/lib/dotnet/FuzzyLogicLibrary/Release/FuzzyLogicLibrary.dll" + "${SmartIrc4net}/lib/dotnet/SmartIrc4net/net40/SmarIrc4net*" + "${SharpZipLib}/lib/dotnet/SharpZipLib/20/ICSharpCode.SharpZipLib.dll" + "${MaxMindGeoIP2}/lib/dotnet/MaxMind.GeoIP2/net40/MaxMind.GeoIP2*" + "${MaxMindDb}/lib/dotnet/MaxMind.Db/net40/MaxMind.Db.*" + "${SharpFont}/lib/dotnet/SharpFont/net20/SharpFont.dll" + "${SharpFont}/lib/dotnet/SharpFont/SharpFont.dll.config" + "${StyleCopMSBuild}/lib/dotnet/StyleCop.MSBuild/StyleCop*.dll" + "${StyleCopPlusMSBuild}/lib/dotnet/StyleCopPlus.MSBuild/StyleCopPlus.dll" + "${RestSharp}/lib/dotnet/RestSharp/net4-client/RestSharp.dll" + "${NUnit}/lib/dotnet/NUnit/nunit.framework.*" + "${NewtonsoftJson}/lib/dotnet/Newtonsoft.Json/Newtonsoft.Json.dll" + ]; + movePackages = [ + ( let filename = "Eluant.dll"; in { origin = fetchurl { + url = "https://github.com/OpenRA/Eluant/releases/download/20140425/${filename}"; + sha256 = "1c20whz7dzfhg3szd62rvb79745x5iwrd5pp62j3bbj1q9wpddmb"; + }; target = filename; }) + + ( let filename = "SDL2-CS.dll"; in { origin = fetchurl { + url = "https://github.com/OpenRA/SDL2-CS/releases/download/20150709/${filename}"; + sha256 = "0ms75w9w0x3dzpg5g1ym5nb1id7pmagbzqx0am7h8fq4m0cqddmc"; + }; target = filename; }) + + ( let filename = "GeoLite2-Country.mmdb.gz"; in { origin = fetchurl { + url = "http://geolite.maxmind.com/download/geoip/database/${filename}"; + sha256 = "0lr978pipk5q2z3x011ps4fx5nfc3hsal7jb77fc60aa6iscr05m"; + }; target = filename; }) + ]; + in '' + mkdir thirdparty/download/ + + ${stdenv.lib.concatMapStringsSep "\n" (from: "cp ${from} thirdparty/download") dotnetPackagesDlls} + ${stdenv.lib.concatMapStringsSep "\n" ({origin, target}: "cp ${origin} thirdparty/download/${target}") movePackages} + + make dependencies + ''; + + #todo: man-page + buildFlags = [ "DEBUG=false" "default" ]; + + installTargets = [ "install" "install-linux-icons" "install-linux-desktop" "install-linux-appdata" "install-linux-mime" ]; + postInstall = with stdenv.lib; let runtime = makeLibraryPath [ SDL2 freetype openal systemd lua ]; in '' @@ -42,9 +91,9 @@ in stdenv.mkDerivation rec { --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 + echo -e "#!${stdenv.shell}\ncd $out/lib/openra && $out/lib/openra/launch-game.sh" > $out/bin/openra chmod +x $out/bin/openra ''; } |