summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2022-01-21 16:48:36 -0300
committerGitHub <noreply@github.com>2022-01-21 16:48:36 -0300
commit7a3e0dd775a986069a0e6a36b4ff68d32bdbf37a (patch)
tree070cc8acd53b340d89f33ea0bdfcc3296293321b /pkgs/games
parent8400959b349a8b73cf9670fa883adca1bfa2f61c (diff)
parent78c338cb10067c45d370709b4f9ec75bdd075328 (diff)
downloadnixpkgs-7a3e0dd775a986069a0e6a36b4ff68d32bdbf37a.tar
nixpkgs-7a3e0dd775a986069a0e6a36b4ff68d32bdbf37a.tar.gz
nixpkgs-7a3e0dd775a986069a0e6a36b4ff68d32bdbf37a.tar.bz2
nixpkgs-7a3e0dd775a986069a0e6a36b4ff68d32bdbf37a.tar.lz
nixpkgs-7a3e0dd775a986069a0e6a36b4ff68d32bdbf37a.tar.xz
nixpkgs-7a3e0dd775a986069a0e6a36b4ff68d32bdbf37a.tar.zst
nixpkgs-7a3e0dd775a986069a0e6a36b4ff68d32bdbf37a.zip
Merge pull request #155501 from AndersonTorres/new-games
npush: init at 0.7
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/npush/default.nix47
-rw-r--r--pkgs/games/npush/run.nix31
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 00000000000..d4124557f6e
--- /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 00000000000..bc4a3b5fda3
--- /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
+  ];
+}