summary refs log tree commit diff
path: root/pkgs/games/sil-q
diff options
context:
space:
mode:
authorJohannes Maier <johannes.maier@mailbox.org>2022-06-11 22:29:35 +0200
committerJohannes Maier <johannes.maier@mailbox.org>2022-06-13 23:07:36 +0200
commit312078319cfcea2c07cbc77bbc47751326903b96 (patch)
treecac9222241e856990a10b9c0e4e324b12ba34a6e /pkgs/games/sil-q
parentb5b5ae6e03566709014e4dd0488fa56d709e0fb7 (diff)
downloadnixpkgs-312078319cfcea2c07cbc77bbc47751326903b96.tar
nixpkgs-312078319cfcea2c07cbc77bbc47751326903b96.tar.gz
nixpkgs-312078319cfcea2c07cbc77bbc47751326903b96.tar.bz2
nixpkgs-312078319cfcea2c07cbc77bbc47751326903b96.tar.lz
nixpkgs-312078319cfcea2c07cbc77bbc47751326903b96.tar.xz
nixpkgs-312078319cfcea2c07cbc77bbc47751326903b96.tar.zst
nixpkgs-312078319cfcea2c07cbc77bbc47751326903b96.zip
sil-q: init at v1.5.0
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Diffstat (limited to 'pkgs/games/sil-q')
-rw-r--r--pkgs/games/sil-q/default.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/games/sil-q/default.nix b/pkgs/games/sil-q/default.nix
new file mode 100644
index 00000000000..1676f8da55a
--- /dev/null
+++ b/pkgs/games/sil-q/default.nix
@@ -0,0 +1,66 @@
+{ lib, stdenv, fetchFromGitHub, writeScript, makeWrapper, ncurses, libX11 }:
+
+let
+  setup = writeScript "setup" ''
+    mkdir -p "$ANGBAND_PATH"
+    # copy all the data files into place
+    cp -ar $1/* "$ANGBAND_PATH"
+    # the copied files need to be writable
+    chmod +w -R "$ANGBAND_PATH"
+  '';
+in stdenv.mkDerivation rec {
+  pname = "sil-q";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "sil-quirk";
+    repo = "sil-q";
+    rev = "v${version}";
+    sha256 = "sha256-v/sWhPWF9cCKD8N0RHpwzChMM1t9G2yrMDmi1cZxdOs=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ncurses libX11 ];
+
+  # Makefile(s) and config are not top-level
+  sourceRoot = "source/src";
+
+  postPatch = ''
+    # allow usage of ANGBAND_PATH
+    substituteInPlace config.h --replace "#define FIXED_PATHS" ""
+
+    # change Makefile.std for ncurses according to its own comment
+    substituteInPlace Makefile.std --replace "-lcurses" "-lncurses"
+  '';
+
+  makefile = "Makefile.std";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp sil $out/bin/sil-q
+    wrapProgram $out/bin/sil-q \
+      --run "export ANGBAND_PATH=\$HOME/.sil" \
+      --run "${setup} ${src}/lib"
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "A roguelike 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.
+
+      A fork of Sil that's still actively developed.
+    '';
+    homepage = "https://github.com/sil-quirk/sil-q";
+    license = lib.licenses.gpl2;
+    maintainers = [ lib.maintainers.kenran ];
+    platforms = lib.platforms.linux;
+  };
+}