keen4: convert away from builder.sh

+32 -39
-36
pkgs/games/keen4/builder.sh
··· 1 - #!/usr/bin/env bash 2 - 3 - set -o nounset 4 - 5 - # shellcheck source=/dev/null 6 - source "${stdenv}/setup" 7 - 8 - mkdir -p "${out}/share/keen4" 9 - unzip -j "$dist" -d "${out}/share/keen4" 10 - 11 - mkdir -p "${out}/bin" 12 - cat > "${out}/bin/keen4" <<EOF 13 - #! $SHELL -e 14 - if test -z "\$HOME"; then 15 - echo "HOME directory not set" 16 - exit 1 17 - fi 18 - 19 - # Game wants to write in the current directory, but of course we can't 20 - # let it write in the Nix store. So create symlinks to the game files 21 - # in ~/.keen4 and execute game from there. 22 - mkdir -p \$HOME/.keen4 23 - cd \$HOME/.keen4 24 - 25 - ln -sf "${out}/share/keen4/"* . 26 - 27 - "${dosbox}/bin/dosbox" ./KEEN4E.EXE -fullscreen -exit || true 28 - 29 - # Cleanup the symlinks. 30 - for i in *; do 31 - if test -L "\$i"; then 32 - rm "\$i" 33 - fi 34 - done 35 - EOF 36 - chmod +x "${out}/bin/keen4"
+32 -3
pkgs/games/keen4/default.nix
··· 2 2 3 3 stdenv.mkDerivation { 4 4 name = "keen4"; 5 - builder = ./builder.sh; 6 5 7 - dist = fetchurl { 6 + src = fetchurl { 8 7 url = "http://tarballs.nixos.org/keen4.zip"; 9 8 sha256 = "12rnc9ksl7v6l8wsxvr26ylkafzq80dbsa7yafzw9pqc8pafkhx1"; 10 9 }; 11 10 12 11 nativeBuildInputs = [ unzip ]; 13 12 14 - inherit dosbox; 13 + installPhase = '' 14 + mkdir -p $out/share/keen4 15 + mv * $out/share/keen4 16 + 17 + mkdir -p $out/bin 18 + cat > $out/bin/keen4 <<EOF 19 + #! $SHELL -e 20 + if test -z "\$HOME"; then 21 + echo "HOME directory not set" 22 + exit 1 23 + fi 24 + 25 + # Game wants to write in the current directory, but of course we can't 26 + # let it write in the Nix store. So create symlinks to the game files 27 + # in ~/.keen4 and execute game from there. 28 + mkdir -p \$HOME/.keen4 29 + cd \$HOME/.keen4 30 + 31 + ln -sf $out/share/keen4/* . 32 + 33 + ${dosbox}/bin/dosbox ./KEEN4E.EXE -fullscreen -exit || true 34 + 35 + # Cleanup the symlinks. 36 + for i in *; do 37 + if test -L "\$i"; then 38 + rm "\$i" 39 + fi 40 + done 41 + EOF 42 + chmod +x $out/bin/keen4 43 + ''; 15 44 16 45 meta = { 17 46 description = "Commander Keen Episode 4: Secret of the Oracle";