lol
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

sauerbraten: use stdenv

This replaces use of builderDefsPackage (#4210).

+40 -61
+40 -61
pkgs/games/sauerbraten/default.nix
··· 1 - x@{builderDefsPackage 2 - , fetchsvn, mesa, SDL, SDL_image, SDL_mixer 3 - , libpng, zlib, libjpeg, imagemagick, libX11 4 - , ...}: 5 - builderDefsPackage 6 - (a : 7 - let 8 - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 9 - ["fetchsvn"]; 1 + { stdenv, fetchsvn, mesa, SDL, SDL_image, SDL_mixer 2 + , libpng, zlib, libjpeg, imagemagick, libX11 3 + }: 10 4 11 - buildInputs = map (n: builtins.getAttr n x) 12 - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); 13 - sourceInfo = rec { 14 - baseName="sauerbraten"; 15 - version="5000"; 16 - name="${baseName}-r${version}"; 17 - url="https://svn.code.sf.net/p/sauerbraten/code"; 18 - hash="17libj7dslprlwppdk3vyxdcigbsa4czln8gdyz9j264m11z1cbh"; 19 - }; 20 - in 21 - rec { 22 - srcDrv = a.fetchsvn { 23 - url = sourceInfo.url; 24 - sha256 = sourceInfo.hash; 25 - rev = sourceInfo.version; 5 + stdenv.mkDerivation rec { 6 + name = "sauerbraten-r${version}"; 7 + version = "5000"; 8 + 9 + src = fetchsvn { 10 + url = "https://svn.code.sf.net/p/sauerbraten/code"; 11 + sha256 = "17libj7dslprlwppdk3vyxdcigbsa4czln8gdyz9j264m11z1cbh"; 12 + rev = version; 26 13 }; 27 14 28 - src = srcDrv + "/"; 29 - 30 - inherit (sourceInfo) name version; 31 - inherit buildInputs; 32 - 33 - phaseNames = ["setVars" "doMakeInstall" "doCreateScripts"]; 15 + buildInputs = [ 16 + mesa SDL SDL_image SDL_mixer libpng zlib libjpeg imagemagick 17 + libX11 18 + ]; 34 19 35 - setVars = a.noDepEntry '' 20 + preBuild = '' 36 21 export NIX_LDFLAGS="$NIX_LDFLAGS -lX11" 22 + pushd src 37 23 ''; 38 24 39 - doUnpack = a.fullDepEntry '' 40 - mkdir -p $out/share/sauerbraten/build-dir 41 - ln -s $out/share/sauerbraten/build-dir 42 - cd $out/share/sauerbraten/build-dir 43 - (cd ${src}; find . -type d) | tail -n +2 | xargs -L 1 mkdir 44 - (cd ${src}; find . -type f) | while read; do ln -s ${src}/"$REPLY" "$(dirname "$REPLY")"; done 45 - cd src 46 - ls 47 - make clean 48 - sed -e '/[.]h[.]gch/,/-o/s@-o@-x c++-header -o@' -i Makefile 49 - '' ["minInit" "addInputs" "defEnsureDir"]; 50 - 51 - doCreateScripts = a.fullDepEntry '' 52 - cd .. 53 - mkdir -p $out/bin 54 - echo '#! /bin/sh' >> $out/bin/sauerbraten_server 55 - echo 'cd "'"$out"'/share/sauerbraten/build-dir"' >> $out/bin/sauerbraten_server 56 - echo './bin_unix/native_server "$@"' >> $out/bin/sauerbraten_server 57 - echo '#! /bin/sh' >> $out/bin/sauerbraten_client 58 - echo 'cd "'"$out"'/share/sauerbraten/build-dir"' >> $out/bin/sauerbraten_client 59 - echo './bin_unix/native_client "$@"' >> $out/bin/sauerbraten_client 25 + installPhase = '' 26 + popd 27 + mkdir -p $out/bin $out/share/sauerbraten $out/share/doc/sauerbraten 28 + cp -rv "docs/"* $out/share/doc/sauerbraten/ 29 + cp -v src/sauer_client src/sauer_server $out/share/sauerbraten/ 30 + cp -rv packages $out/share/sauerbraten/ 31 + cp -rv data $out/share/sauerbraten/ 32 + cat > $out/bin/sauerbraten_server <<EOF 33 + #!${stdenv.shell} 34 + cd $out/share/sauerbraten 35 + ./sauer_server "\$@" 36 + EOF 37 + cat > $out/bin/sauerbraten_client <<EOF 38 + #!${stdenv.shell} 39 + cd $out/share/sauerbraten 40 + ./sauer_client "\$@" 41 + EOF 60 42 chmod a+x $out/bin/sauerbraten_* 61 - '' ["minInit" "defEnsureDir"]; 62 - 63 - meta = { 43 + ''; 44 + 45 + meta = with stdenv.lib; { 64 46 description = ""; 65 - maintainers = with a.lib.maintainers; 66 - [ 67 - raskin 68 - ]; 47 + maintainers = [ maintainers.raskin ]; 69 48 hydraPlatforms = 70 49 # raskin: tested amd64-linux; 71 50 # not setting platforms because it is 0.5+ GiB of game data 72 51 []; 73 52 license = "freeware"; # as an aggregate - data files have different licenses 74 53 # code is under zlib license 54 + platforms = platforms.linux; 75 55 }; 76 - }) x 77 - 56 + }