mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 15:03:28 +00:00
umoria: refactor and extend
- Simplify some symlinking - Don't remove the temporary run directory: umoria allows for dumping character info, which would be in there and inaccessible after saving the game otherwise. The system takes care of cleaning up the temporary directory anyway. - Allow passing arguments to the wrapped executable, allowing using different save directories, passing game seeds, checking out highscores, etc.
This commit is contained in:
parent
bfc755d4d0
commit
acf302428e
@ -38,24 +38,22 @@ gcc9Stdenv.mkDerivation rec {
|
||||
|
||||
RUNDIR=\$(mktemp -d)
|
||||
|
||||
cleanup() {
|
||||
rm -rf \$RUNDIR
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
# Print the directory, so users have access to dumps, and let the system
|
||||
# take care of cleaning up temp files.
|
||||
echo "Running umoria in \$RUNDIR"
|
||||
|
||||
cd \$RUNDIR
|
||||
mkdir data
|
||||
|
||||
for i in $out/data/*; do
|
||||
ln -s \$i "data/\$(basename \$i)"
|
||||
done
|
||||
ln -sn $out/data \$RUNDIR/data
|
||||
|
||||
mkdir -p ${savesDir}
|
||||
[[ ! -f ${savesDir}/scores.dat ]] && touch ${savesDir}/scores.dat
|
||||
ln -s ${savesDir}/scores.dat scores.dat
|
||||
|
||||
$out/.umoria-unwrapped ${savesDir}/game.sav
|
||||
if [ \$# -eq 0 ]; then
|
||||
$out/.umoria-unwrapped ${savesDir}/game.sav
|
||||
else
|
||||
$out/.umoria-unwrapped "\$@"
|
||||
fi
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/umoria
|
||||
@ -74,7 +72,7 @@ gcc9Stdenv.mkDerivation rec {
|
||||
'';
|
||||
platforms = platforms.unix;
|
||||
badPlatforms = [ "aarch64-darwin" ];
|
||||
maintainers = [ maintainers.aciceri ];
|
||||
maintainers = with maintainers; [ aciceri kenran ];
|
||||
license = licenses.gpl3Plus;
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user