diff options
Diffstat (limited to 'pkgs/games/globulation/default.nix')
-rw-r--r-- | pkgs/games/globulation/default.nix | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/pkgs/games/globulation/default.nix b/pkgs/games/globulation/default.nix new file mode 100644 index 00000000000..efdf5d47089 --- /dev/null +++ b/pkgs/games/globulation/default.nix @@ -0,0 +1,68 @@ +x@{builderDefsPackage + , mesa, SDL, scons, SDL_ttf, SDL_image, zlib, SDL_net, speex, libvorbis + , libogg, boost, fribidi + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + []; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + baseName="glob2"; + version="0.9.4"; + patchlevel="4"; + name="${baseName}-${version}.${patchlevel}"; + url="http://dl.sv.nongnu.org/releases/glob2/${version}/${name}.tar.gz"; + hash="1f0l2cqp2g3llhr9jl6jj15k0wb5q8n29vqj99xy4p5hqs78jk8g"; + }; +in +rec { + src = a.fetchurl { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + }; + + inherit (sourceInfo) name version; + inherit buildInputs; + + /* doConfigure should be removed if not needed */ + phaseNames = ["doUnpack" "doPatch" "workaroundScons" "doScons"]; + + patches = [./header-order.patch]; + + # FIXME + # I officially fail to understand what goes on, but that seems to work + # too well not to use. Yes, it is ugly, I know... + workaroundScons = a.fullDepEntry '' + echo '#! ${a.stdenv.shell}' >> o + echo 'g++ -o "$@"' >> o + chmod a+x o + export PATH="$PATH:$PWD" + '' ["minInit"]; + + sconsFlags = [ + "DATADIR=$out/share/globulation2/glob2" + "BINDIR=$out/bin" + "INSTALLDIR=$out/share/globulation2" + ]; + + meta = { + description = "RTS without micromanagement"; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + linux; + license = a.lib.licenses.gpl3; + }; + passthru = { + updateInfo = { + downloadPage = "http://globulation2.org/wiki/Download_and_Install"; + }; + }; +}) x + |