about summary refs log tree commit diff
path: root/pkgs/games/titanion/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/titanion/default.nix')
-rw-r--r--pkgs/games/titanion/default.nix91
1 files changed, 91 insertions, 0 deletions
diff --git a/pkgs/games/titanion/default.nix b/pkgs/games/titanion/default.nix
new file mode 100644
index 0000000000000..47db68aa483ed
--- /dev/null
+++ b/pkgs/games/titanion/default.nix
@@ -0,0 +1,91 @@
+{ lib
+, stdenv
+, fetchpatch
+, fetchurl
+, unzip
+, gdc
+, SDL
+, SDL_mixer
+, bulletml
+}:
+
+let
+debianPatch = patchname: hash: fetchpatch {
+  name = "${patchname}.patch";
+  url = "https://sources.debian.org/data/main/t/titanion/0.3.dfsg1-7/debian/patches/${patchname}";
+  sha256 = hash;
+};
+
+in stdenv.mkDerivation rec {
+  pname = "titanion";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "http://abagames.sakura.ne.jp/windows/ttn${lib.replaceStrings ["."] ["_"] version}.zip";
+    sha256 = "sha256-fR0cufi6dU898wP8KGl/vxbfQJzMmMxlYZ3QNGLajfM=";
+  };
+
+  patches = [
+    (debianPatch
+      "imports.patch"
+      "sha256-kSXpaTpYq6w9e0yLES2QGNQ8+vFIiOpw2P9MA8gZr8s=")
+    (debianPatch
+      "fix.diff"
+      "sha256-0WkkfuhJaAMY46VVyc3ldMQwgOVoQJDw/8zbm6H2sHU=")
+    (debianPatch
+      "directories.patch"
+      "sha256-fhQJuy2+r0YOQNwMqG85Gr7fJehmf00Scran+NPYQrw=")
+    (debianPatch
+      "windowed.patch"
+      "sha256-xouXIuIKfKFGsoOEJqL9jdsdnkX4nqwPGcoB+32Wvgo=")
+    (debianPatch
+      "dotfile.patch"
+      "sha256-sAml53Hh0ltbqN8xZDZuUJcaPfjK56jf4ymFXYD38v0=")
+    (debianPatch
+      "window-resize.patch"
+      "sha256-WwAi1aU4CmaX+O8fw0TfLhNSXFaObExrn7nuhesVkKM=")
+    (debianPatch
+      "makefile.patch"
+      "sha256-g0jDPmc0SWXkTLhiczeTse/WGCtgMUsbyPNZzwK3U+o=")
+    (debianPatch
+      "dlang_v2.patch"
+      "sha256-tfTAAKlPFSjbfAK1EjeB3unj9tbMlNaajJ+VVSMMiYw=")
+    (debianPatch
+      "gdc-8.patch"
+      "sha256-BxkPfSEymq7TDA+yjJHaYsjtGr0Tuu1/sWLwRBAMga4=")
+  ];
+
+  postPatch = ''
+    rm *.dll ttn.exe
+    rm -r lib
+    for f in src/abagames/ttn/screen.d src/abagames/util/sdl/sound.d src/abagames/util/sdl/texture.d; do
+      substituteInPlace $f \
+        --replace "/usr/" "$out/"
+    done
+  '';
+
+  nativeBuildInputs = [
+    unzip
+    gdc
+  ];
+
+  buildInputs = [
+    SDL
+    SDL_mixer
+    bulletml
+  ];
+
+  installPhase = ''
+    install -Dm755 titanion $out/bin/titanion
+    mkdir -p $out/share/games/titanion
+    cp -r sounds images $out/share/games/titanion/
+  '';
+
+  meta = with lib; {
+    homepage = "http://www.asahi-net.or.jp/~cs8k-cyu/windows/ttn_e.html";
+    description = "Strike down super high-velocity swooping insects";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}