diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/games/keen4 | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/games/keen4')
-rw-r--r-- | nixpkgs/pkgs/games/keen4/builder.sh | 31 | ||||
-rw-r--r-- | nixpkgs/pkgs/games/keen4/default.nix | 21 |
2 files changed, 52 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/keen4/builder.sh b/nixpkgs/pkgs/games/keen4/builder.sh new file mode 100644 index 000000000000..50d261db8651 --- /dev/null +++ b/nixpkgs/pkgs/games/keen4/builder.sh @@ -0,0 +1,31 @@ +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 \ No newline at end of file diff --git a/nixpkgs/pkgs/games/keen4/default.nix b/nixpkgs/pkgs/games/keen4/default.nix new file mode 100644 index 000000000000..64522e568db6 --- /dev/null +++ b/nixpkgs/pkgs/games/keen4/default.nix @@ -0,0 +1,21 @@ +{ lib, stdenv, fetchurl, dosbox, unzip }: + +stdenv.mkDerivation { + name = "keen4"; + builder = ./builder.sh; + + dist = fetchurl { + url = http://tarballs.nixos.org/keen4.zip; + sha256 = "12rnc9ksl7v6l8wsxvr26ylkafzq80dbsa7yafzw9pqc8pafkhx1"; + }; + + buildInputs = [unzip]; + + inherit dosbox; + + meta = { + description = "Commander Keen Episode 4: Secret of the Oracle"; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.eelco ]; + }; +} |