python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / games / keen4 / default.nix
blob5e2468a8f9ea08d88090e4bfe1158c9421f27e31
1 { lib, stdenv, fetchurl, dosbox, unzip }:
3 stdenv.mkDerivation {
4   name = "keen4";
6   src = fetchurl {
7     url = "http://tarballs.nixos.org/keen4.zip";
8     sha256 = "12rnc9ksl7v6l8wsxvr26ylkafzq80dbsa7yafzw9pqc8pafkhx1";
9   };
11   nativeBuildInputs = [ unzip ];
13   installPhase = ''
14     mkdir -p $out/share/keen4
15     mv * $out/share/keen4
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
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
31     ln -sf $out/share/keen4/* .
33     ${dosbox}/bin/dosbox ./KEEN4E.EXE -fullscreen -exit || true
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   '';
45   meta = {
46     description = "Commander Keen Episode 4: Secret of the Oracle";
47     license = lib.licenses.unfree;
48     maintainers = [ lib.maintainers.eelco ];
49   };