diff options
author | AndersonTorres <torres.anderson.85@protonmail.com> | 2022-01-19 18:30:06 -0300 |
---|---|---|
committer | AndersonTorres <torres.anderson.85@protonmail.com> | 2022-01-21 16:47:48 -0300 |
commit | 78c338cb10067c45d370709b4f9ec75bdd075328 (patch) | |
tree | c57208a0eec2b00c45fa1762940b1d238c5e041b /pkgs/games/npush | |
parent | 3fe54cd39ea8eefaf623f060bafdd24d2a7d8bb2 (diff) |
npush: init at 0.7
Also, adding a helper run-npush that takes care of preparing the game to run with the official levelset.
Diffstat (limited to 'pkgs/games/npush')
-rw-r--r-- | pkgs/games/npush/default.nix | 47 | ||||
-rw-r--r-- | pkgs/games/npush/run.nix | 31 |
2 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/games/npush/default.nix b/pkgs/games/npush/default.nix new file mode 100644 index 0000000000000..d4124557f6e6d --- /dev/null +++ b/pkgs/games/npush/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchurl +, ncurses +}: + +stdenv.mkDerivation rec { + pname = "npush"; + version = "0.7"; + + src = fetchurl { + url = "mirror://sourceforge/project/npush/${pname}/${version}/${pname}-${version}.tgz"; + hash = "sha256-8hbSsyeehzd4T3fUhDyebyI/oTHOHr3a8ArYAquivNk="; + }; + + outputs = [ "out" "doc" ]; + + buildInputs = [ + ncurses + ]; + + dontConfigure = true; + + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}c++" + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/share/npush/levels $doc/share/doc/npush + cp npush $out/bin/ + cp levels/* $out/share/npush/levels + cp CHANGES COPYING CREDITS index.html \ + readme.txt screenshot1.png screenshot2.png $doc/share/doc/npush/ + + runHook postInstall + ''; + + meta = with lib; { + homepage = "http://npush.sourceforge.net/"; + description = "A Sokoban-like game"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/games/npush/run.nix b/pkgs/games/npush/run.nix new file mode 100644 index 0000000000000..bc4a3b5fda3f2 --- /dev/null +++ b/pkgs/games/npush/run.nix @@ -0,0 +1,31 @@ +{ runtimeShell +, symlinkJoin +, writeShellScriptBin +, npush +}: + +let + runScript = writeShellScriptBin "run-npush" '' + set -euo pipefail + CWD=$(pwd) + + if [ -d "./levels" ]; then + echo "Directory ./levels found; skipping levelset copy" + else + echo "Directory ./levels not found; copying the official levelset to the current directory" + mkdir -p ./levels + cp ${npush}/share/npush/levels/* levels/ + chmod 644 levels/* + fi + echo "Now calling npush" + exec "${npush}/bin/npush" + ''; +in +symlinkJoin { + name = "run-npush-${npush.version}"; + + paths = [ + npush + runScript + ]; +} |