Adding nethack
svn path=/nixpkgs/trunk/; revision=15560
This commit is contained in:
parent
1da8871ffa
commit
95d28d5247
56
pkgs/games/nethack/default.nix
Normal file
56
pkgs/games/nethack/default.nix
Normal file
@ -0,0 +1,56 @@
|
||||
a :
|
||||
let
|
||||
fetchurl = a.fetchurl;
|
||||
|
||||
version = a.lib.getAttr ["version"] "3.4.3" a;
|
||||
buildInputs = with a; [
|
||||
ncurses flex bison
|
||||
];
|
||||
in
|
||||
rec {
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/nethack/nethack-343-src.tgz";
|
||||
sha256 = "1r3ghqj82j0bar62z3b0lx9hhx33pj7p1ppxr2hg8bgfm79c6fdv";
|
||||
};
|
||||
|
||||
inherit buildInputs;
|
||||
configureFlags = [];
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
phaseNames = ["preBuild" "doMakeInstall" "postInstall"];
|
||||
|
||||
preBuild = a.FullDepEntry (''
|
||||
( cd sys/unix ; sh setup.sh )
|
||||
sed -e 's@.*define HACKDIR.*@\#define HACKDIR "/tmp/nethack"@' -i include/config.h
|
||||
sed -e '/define COMPRESS/d' -i include/config.h
|
||||
sed -e '1i\#define COMPRESS "/usr/local/bin/gzip"' -i include/config.h
|
||||
sed -e '1i\#define COMPRESS_EXTENSION ".gz"' -i include/config.h
|
||||
|
||||
sed -e '/extern char [*]tparm/d' -i win/tty/*.c
|
||||
sed -e 's/-ltermlib/-lncurses/' -i src/Makefile
|
||||
sed -e 's/^YACC *=.*/YACC = bison -y/' -i util/Makefile
|
||||
sed -e 's/^LEX *=.*/LEX = flex/' -i util/Makefile
|
||||
|
||||
sed -e 's@GAMEDIR = @GAMEDIR = /tmp/nethack@' -i Makefile
|
||||
sed -re 's@^(CH...).*@\1 = true@' -i Makefile
|
||||
'') ["minInit" "doUnpack"];
|
||||
|
||||
postInstall = a.FullDepEntry (''
|
||||
ensureDir $out/bin
|
||||
ln -s $out/games/nethack $out/bin/nethack
|
||||
sed -i $out/bin/nethack -e '5aNEWHACKDIR="$HOME/.nethack"'
|
||||
sed -i $out/bin/nethack -e '6amkdir -p "$NEWHACKDIR/save"'
|
||||
sed -i $out/bin/nethack -e '7aln -s "$HACKDIR"/* "$NEWHACKDIR" &>/dev/null'
|
||||
sed -i $out/bin/nethack -e '8atest -L "$NEWHACKDIR/record" && rm "$NEWHACKDIR"/record'
|
||||
sed -i $out/bin/nethack -e '9aexport HACKDIR="$NEWHACKDIR"'
|
||||
'') ["minInit" "defEnsureDir"];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$out"
|
||||
];
|
||||
|
||||
name = "nethack-" + version;
|
||||
meta = {
|
||||
description = "rogue-like game";
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user