about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/games/gog/default.nix1
-rw-r--r--pkgs/games/gog/into-the-breach.nix32
2 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/games/gog/default.nix b/pkgs/games/gog/default.nix
index 2b8548ad..91c06b2d 100644
--- a/pkgs/games/gog/default.nix
+++ b/pkgs/games/gog/default.nix
@@ -19,6 +19,7 @@ let
     gibbous = callPackage ./gibbous.nix {};
     homm3 = callPackage ./homm3 {};
     hollow-knight = callPackage ./hollow-knight.nix {};
+    into-the-breach = callPackage ./into-the-breach.nix {};
     kingdoms-and-castles = callPackage ./kingdoms-and-castles.nix {};
     knights-and-bikes = callPackage ./knights-and-bikes.nix {};
     overload = callPackage ./overload.nix {};
diff --git a/pkgs/games/gog/into-the-breach.nix b/pkgs/games/gog/into-the-breach.nix
new file mode 100644
index 00000000..aaa68a86
--- /dev/null
+++ b/pkgs/games/gog/into-the-breach.nix
@@ -0,0 +1,32 @@
+{ buildGame, fetchGog, makeWrapper, fixFmodHook, SDL2 }:
+
+buildGame rec {
+  name = "into-the-breach-${version}";
+  version = "1.2.24";
+
+  src = fetchGog {
+    productId = 2004253604;
+    downloadName = "en3installer0";
+    sha256 = "1m9jbgczjdhkgznd51qivh95d8k2wvdq8wx2vlwaid0iqmnf7p0n";
+  };
+
+  nativeBuildInputs = [ makeWrapper fixFmodHook ];
+  buildInputs = [ SDL2 ];
+
+  installPhase = ''
+    install -vD Breach "$out/libexec/into-the-breach/breach"
+
+    for name in libfmod.so.10 libfmodstudio.so.10; do
+      install -vD "linux_x64/$name" "$out/libexec/into-the-breach/$name"
+    done
+
+    mkdir -p "$out/share/into-the-breach"
+    cp -rt "$out/share/into-the-breach" data maps resources scripts shadersOGL
+
+    mkdir -p "$out/bin"
+    makeWrapper "$out/libexec/into-the-breach/breach" "$out/bin/breach" \
+      --run "cd '$out/share/into-the-breach'"
+  '';
+
+  sandbox.paths.required = [ "$XDG_DATA_HOME/IntoTheBreach" ];
+}