aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/games/sil
diff options
context:
space:
mode:
authorKatharina Fey <kookie@spacekookie.de>2019-10-05 12:43:18 +0000
committerKatharina Fey <kookie@spacekookie.de>2019-10-05 12:44:52 +0000
commitcf85056ba64caf3267d43255ef4a1243e9c8ee3b (patch)
tree3051519e9c8275b870aac43f80af875715c9d124 /nixpkgs/pkgs/games/sil
parent1148b1d122bc03e9a3665856c9b7bb96bd4e3994 (diff)
parent2436c27541b2f52deea3a4c1691216a02152e729 (diff)
Add 'nixpkgs/' from commit '2436c27541b2f52deea3a4c1691216a02152e729'
git-subtree-dir: nixpkgs git-subtree-mainline: 1148b1d122bc03e9a3665856c9b7bb96bd4e3994 git-subtree-split: 2436c27541b2f52deea3a4c1691216a02152e729
Diffstat (limited to 'nixpkgs/pkgs/games/sil')
-rw-r--r--nixpkgs/pkgs/games/sil/default.nix63
1 files changed, 63 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/sil/default.nix b/nixpkgs/pkgs/games/sil/default.nix
new file mode 100644
index 00000000000..a998a86370d
--- /dev/null
+++ b/nixpkgs/pkgs/games/sil/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchzip, ncurses, libX11, libXaw, libXt, libXext, libXmu, makeWrapper, writeScript, ... }:
+let
+ setup = writeScript "setup" ''
+ mkdir -p "$ANGBAND_PATH"
+ # Copy all the data files into place
+ cp -ar $1/* "$ANGBAND_PATH"
+ # The copied files are not writable, make them so
+ chmod +w -R "$ANGBAND_PATH"
+ '';
+in
+stdenv.mkDerivation rec {
+ pname = "Sil";
+ version = "1.3.0";
+
+ src = fetchzip {
+ url = "http://www.amirrorclear.net/flowers/game/sil/Sil-130-src.zip";
+ sha256 = "1amp2mr3fxascra0k76sdsvikjh8g76nqh46kka9379zd35lfq8w";
+ stripRoot=false;
+ };
+
+ buildInputs = [ makeWrapper ncurses libX11 libXaw libXt libXext libXmu ];
+
+ sourceRoot = "source/Sil/src";
+
+ makefile = "Makefile.std";
+
+ prePatch = ''
+ # Allow usage of ANGBAND_PATH
+ substituteInPlace config.h --replace "#define FIXED_PATHS" ""
+ '';
+
+ preConfigure = ''
+ buildFlagsArray+=("LIBS=-lXaw -lXext -lSM -lICE -lXmu -lXt -lX11 -lncurses")
+ '';
+
+ installPhase = ''
+ # the makefile doesn't have a sensible install target, so we hav to do it ourselves
+ mkdir -p $out/bin
+ cp sil $out/bin/sil
+ # Wrap the program to set a user-local ANGBAND_PATH, and run the setup script to copy files into place
+ # We could just use the options for a user-local save and scores dir, but it tried to write to the
+ # lib directory anyway, so we might as well give everyone a copy
+ wrapProgram $out/bin/sil \
+ --run "set -u" \
+ --run "export ANGBAND_PATH=\$HOME/.sil" \
+ --run "${setup} ${src}/Sil/lib"
+ '';
+
+ meta = {
+ description = "A rouge-like game set in the first age of Middle-earth";
+ longDescription = ''
+ A game of adventure set in the first age of Middle-earth, when the world still
+ rang with elven song and gleamed with dwarven mail.
+
+ Walk the dark halls of Angband. Slay creatures black and fell. Wrest a shining
+ Silmaril from Morgoth’s iron crown.
+ '';
+ homepage = http://www.amirrorclear.net/flowers/game/sil/index.html;
+ license = stdenv.lib.licenses.gpl2;
+ maintainers = [ stdenv.lib.maintainers.michaelpj ];
+ platforms = stdenv.lib.platforms.linux;
+ };
+}