mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 06:53:01 +00:00
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
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 { };
|
njam = callPackage ../games/njam { };
|
||||||
|
|
||||||
|
npush = callPackage ../games/npush { };
|
||||||
|
run-npush = callPackage ../games/npush/run.nix { };
|
||||||
|
|
||||||
newtonwars = callPackage ../games/newtonwars { };
|
newtonwars = callPackage ../games/newtonwars { };
|
||||||
|
|
||||||
nudoku = callPackage ../games/nudoku { };
|
nudoku = callPackage ../games/nudoku { };
|
||||||
|
Loading…
Reference in New Issue
Block a user