npush: init at 0.7
Also, adding a helper run-npush that takes care of preparing the game to run with the official levelset.
This commit is contained in:
parent
3fe54cd39e
commit
78c338cb10
3 changed files with 81 additions and 0 deletions
47
pkgs/games/npush/default.nix
Normal file
47
pkgs/games/npush/default.nix
Normal file
|
@ -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;
|
||||
};
|
||||
}
|
31
pkgs/games/npush/run.nix
Normal file
31
pkgs/games/npush/run.nix
Normal file
|
@ -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
|
||||
];
|
||||
}
|
|
@ -30902,6 +30902,9 @@ with pkgs;
|
|||
|
||||
njam = callPackage ../games/njam { };
|
||||
|
||||
npush = callPackage ../games/npush { };
|
||||
run-npush = callPackage ../games/npush/run.nix { };
|
||||
|
||||
newtonwars = callPackage ../games/newtonwars { };
|
||||
|
||||
nudoku = callPackage ../games/nudoku { };
|
||||
|
|
Loading…
Reference in a new issue