From 88d5eeda98f89bbdb3c75b59caa21d76ebbb8cb0 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 26 Dec 2010 13:14:15 +0000 Subject: Adding sauerbraten svn path=/nixpkgs/trunk/; revision=25278 --- pkgs/games/sauerbraten/default.nix | 77 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 pkgs/games/sauerbraten/default.nix (limited to 'pkgs/games') diff --git a/pkgs/games/sauerbraten/default.nix b/pkgs/games/sauerbraten/default.nix new file mode 100644 index 000000000000..aca16d14e36c --- /dev/null +++ b/pkgs/games/sauerbraten/default.nix @@ -0,0 +1,77 @@ +x@{builderDefsPackage + , fetchsvn, mesa, SDL, SDL_image, SDL_mixer + , libpng, zlib, libjpeg, imagemagick, libX11 + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + ["fetchsvn"]; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + baseName="sauerbraten"; + version="3331"; + name="${baseName}-r${version}"; + url="https://sauerbraten.svn.sourceforge.net/svnroot/sauerbraten"; + hash="0904hk9rz2x941c9587bfxa4rca81260j3m2hjjrp984w67x2w7y"; + }; +in +rec { + srcDrv = a.fetchsvn { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + rev = sourceInfo.version; + }; + + src = srcDrv + "/"; + + inherit (sourceInfo) name version; + inherit buildInputs; + + phaseNames = ["setVars" "doMakeInstall" "doCreateScripts"]; + + setVars = a.noDepEntry '' + export NIX_LDFLAGS="$NIX_LDFLAGS -lX11" + ''; + + doUnpack = a.fullDepEntry '' + ensureDir $out/share/sauerbraten/build-dir + ln -s $out/share/sauerbraten/build-dir + cd $out/share/sauerbraten/build-dir + (cd ${src}; find . -type d) | tail -n +2 | xargs -L 1 mkdir + (cd ${src}; find . -type f) | while read; do ln -s ${src}/"$REPLY" "$(dirname "$REPLY")"; done + cd src + ls + make clean + sed -e '/[.]h[.]gch/,/-o/s@-o@-x c++-header -o@' -i Makefile + '' ["minInit" "addInputs" "defEnsureDir"]; + + doCreateScripts = a.fullDepEntry '' + cd .. + ensureDir $out/bin + echo '#! /bin/sh' >> $out/bin/sauerbraten_server + echo 'cd "'"$out"'/share/sauerbraten/build-dir"' >> $out/bin/sauerbraten_server + echo './bin_unix/native_server "$@"' >> $out/bin/sauerbraten_server + echo '#! /bin/sh' >> $out/bin/sauerbraten_client + echo 'cd "'"$out"'/share/sauerbraten/build-dir"' >> $out/bin/sauerbraten_client + echo './bin_unix/native_client "$@"' >> $out/bin/sauerbraten_client + chmod a+x $out/bin/sauerbraten_* + '' ["minInit" "defEnsureDir"]; + + meta = { + description = ""; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + # raskin: tested amd64-linux; + # not setting platforms because it is 0.5+ GiB of game data + []; + license = "freeware"; # as an aggregate - data files have different licenses + # code is under zlib license + }; +}) x + -- cgit 1.4.1