diff options
author | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2021-11-20 00:48:42 +0100 |
---|---|---|
committer | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2021-11-20 00:48:42 +0100 |
commit | 046ac66948a7470bdc7bc1ac9317568718ecc266 (patch) | |
tree | 75d9d065c730e78302a944c053cac9b322887f46 /pkgs/games/keen4 | |
parent | a80d35d02aac773edaf9fced7c1309f9b620b0ab (diff) | |
download | nixpkgs-046ac66948a7470bdc7bc1ac9317568718ecc266.tar nixpkgs-046ac66948a7470bdc7bc1ac9317568718ecc266.tar.gz nixpkgs-046ac66948a7470bdc7bc1ac9317568718ecc266.tar.bz2 nixpkgs-046ac66948a7470bdc7bc1ac9317568718ecc266.tar.lz nixpkgs-046ac66948a7470bdc7bc1ac9317568718ecc266.tar.xz nixpkgs-046ac66948a7470bdc7bc1ac9317568718ecc266.tar.zst nixpkgs-046ac66948a7470bdc7bc1ac9317568718ecc266.zip |
keen4: convert away from builder.sh
Diffstat (limited to 'pkgs/games/keen4')
-rw-r--r-- | pkgs/games/keen4/builder.sh | 36 | ||||
-rw-r--r-- | pkgs/games/keen4/default.nix | 35 |
2 files changed, 32 insertions, 39 deletions
diff --git a/pkgs/games/keen4/builder.sh b/pkgs/games/keen4/builder.sh deleted file mode 100644 index f39edc78999..00000000000 --- a/pkgs/games/keen4/builder.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -set -o nounset - -# shellcheck source=/dev/null -source "${stdenv}/setup" - -mkdir -p "${out}/share/keen4" -unzip -j "$dist" -d "${out}/share/keen4" - -mkdir -p "${out}/bin" -cat > "${out}/bin/keen4" <<EOF -#! $SHELL -e -if test -z "\$HOME"; then - echo "HOME directory not set" - exit 1 -fi - -# Game wants to write in the current directory, but of course we can't -# let it write in the Nix store. So create symlinks to the game files -# in ~/.keen4 and execute game from there. -mkdir -p \$HOME/.keen4 -cd \$HOME/.keen4 - -ln -sf "${out}/share/keen4/"* . - -"${dosbox}/bin/dosbox" ./KEEN4E.EXE -fullscreen -exit || true - -# Cleanup the symlinks. -for i in *; do - if test -L "\$i"; then - rm "\$i" - fi -done -EOF -chmod +x "${out}/bin/keen4" diff --git a/pkgs/games/keen4/default.nix b/pkgs/games/keen4/default.nix index 59bb30d627f..5e2468a8f9e 100644 --- a/pkgs/games/keen4/default.nix +++ b/pkgs/games/keen4/default.nix @@ -2,16 +2,45 @@ stdenv.mkDerivation { name = "keen4"; - builder = ./builder.sh; - dist = fetchurl { + src = fetchurl { url = "http://tarballs.nixos.org/keen4.zip"; sha256 = "12rnc9ksl7v6l8wsxvr26ylkafzq80dbsa7yafzw9pqc8pafkhx1"; }; nativeBuildInputs = [ unzip ]; - inherit dosbox; + installPhase = '' + mkdir -p $out/share/keen4 + mv * $out/share/keen4 + + mkdir -p $out/bin + cat > $out/bin/keen4 <<EOF + #! $SHELL -e + if test -z "\$HOME"; then + echo "HOME directory not set" + exit 1 + fi + + # Game wants to write in the current directory, but of course we can't + # let it write in the Nix store. So create symlinks to the game files + # in ~/.keen4 and execute game from there. + mkdir -p \$HOME/.keen4 + cd \$HOME/.keen4 + + ln -sf $out/share/keen4/* . + + ${dosbox}/bin/dosbox ./KEEN4E.EXE -fullscreen -exit || true + + # Cleanup the symlinks. + for i in *; do + if test -L "\$i"; then + rm "\$i" + fi + done + EOF + chmod +x $out/bin/keen4 + ''; meta = { description = "Commander Keen Episode 4: Secret of the Oracle"; |