aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/games/keen4/builder.sh
blob: 50d261db8651a19e05cbbf42bab54d26edc7b80b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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