diff options
author | Andrea Ciceri <andrea.ciceri@autistici.org> | 2022-04-18 00:06:44 +0200 |
---|---|---|
committer | Andrea Ciceri <andrea.ciceri@autistici.org> | 2022-04-22 00:44:42 +0200 |
commit | 24b40a255c6adc6ab32c69737e8b4cfc50d8c8b4 (patch) | |
tree | dd7096cae52b943c54d7643c2f031e262fafbb0e /pkgs/games/umoria | |
parent | 63f81838e2c858d8c6ca330483421ac0b62526a3 (diff) |
umoria: init at 5.7.15
Diffstat (limited to 'pkgs/games/umoria')
-rw-r--r-- | pkgs/games/umoria/default.nix | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/pkgs/games/umoria/default.nix b/pkgs/games/umoria/default.nix new file mode 100644 index 0000000000000..1114d47b7be56 --- /dev/null +++ b/pkgs/games/umoria/default.nix @@ -0,0 +1,80 @@ +{ lib +, gcc9Stdenv +, fetchFromGitHub +, autoreconfHook +, cmake +, ncurses6 +, runtimeShell +}: + +let + savesDir = "~/.umoria/"; +in +gcc9Stdenv.mkDerivation rec { + pname = "umoria"; + version = "5.7.15"; + + src = fetchFromGitHub { + owner = "dungeons-of-moria"; + repo = "umoria"; + rev = "v${version}"; + sha256 = "sha256-1j4QkE33UcTzM06qAjk1/PyK5uNA7E/kyDe3bZcFKUM="; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ ncurses6 ]; + enableParallelBuilding = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/data $out/bin + cp -r umoria/data/* $out/data + cp umoria/umoria $out/.umoria-unwrapped + + mkdir -p $out/bin + cat <<EOF >$out/bin/umoria + #! ${runtimeShell} -e + + RUNDIR=\$(mktemp -d) + + cleanup() { + rm -rf \$RUNDIR + } + + trap cleanup EXIT + + cd \$RUNDIR + mkdir data + + for i in $out/data/*; do + ln -s \$i "data/\$(basename \$i)" + done + + mkdir -p ${savesDir} + [[ ! -f ${savesDir}/scores.dat ]] && touch ${savesDir}/scores.dat + ln -s ${savesDir}/scores.dat scores.dat + + $out/.umoria-unwrapped + EOF + + chmod +x $out/bin/umoria + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://umoria.org/"; + description = "The Dungeons of Moria - the original roguelike"; + longDescription = '' + The Dungeons of Moria is a single player dungeon simulation originally written + by Robert Alan Koeneke, with its first public release in 1983. + The game was originally developed using VMS Pascal before being ported to the C + language by James E. Wilson in 1988, and released a Umoria. + ''; + platforms = platforms.unix; + badPlatforms = [ "aarch64-darwin" ]; + maintainers = [ maintainers.aciceri ]; + license = licenses.gpl3Plus; + }; +} |