about summary refs log tree commit diff
path: root/pkgs/games/humblebundle/default.nix
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2017-07-28 20:00:28 +0200
committeraszlig <aszlig@redmoonstudios.org>2017-07-28 20:47:31 +0200
commitfb43ad0db601e579be47ec32f8ed5590ed285498 (patch)
tree4eed6c4476de9f23d9910b8a7e0afda9a8e60afa /pkgs/games/humblebundle/default.nix
parent224a63100f6233fda762c72818cad57173411802 (diff)
games: Add DOTT and Grim Fandango
Both are the remastered versions available via Humble Bundle and both
also needed a bit of patching via an LD preloader in order to work as
intended.

Day of the Tentacle conforms to XDG but it assumes that the data
directory is in the same directory of the executable, so we fake
/proc/self/exe to point to the "$out/share/dott/DUMMY". The "DUMMY" here
is because the implementation does a dirname() on the directory.

Grim Fandango on the other hand needs a bit more patching, so we first
of all override the _first_ chdir() the game does to point to the data
directory but we also override fopen64() and opendir() to use the
XDG_DATA_HOME-based save directory whenever one of these calls point to
"./Saves/..." because the data directory resides inside the store and
thus is (of course) read-only.

I had the expressions for these two games laying around for quite a
while, so while merging another game from a PR I thought it would be a
good opportinity to merge them as well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs/games/humblebundle/default.nix')
-rw-r--r--pkgs/games/humblebundle/default.nix2
1 files changed, 2 insertions, 0 deletions
diff --git a/pkgs/games/humblebundle/default.nix b/pkgs/games/humblebundle/default.nix
index e1c7c0e1..c7d760ac 100644
--- a/pkgs/games/humblebundle/default.nix
+++ b/pkgs/games/humblebundle/default.nix
@@ -14,9 +14,11 @@ let
     bastion = callPackage ./bastion.nix {};
     brigador = callPackage ./brigador.nix {};
     cavestoryplus = callPackage ./cavestoryplus.nix {};
+    dott = callPackage_i686 ./dott.nix {};
     fez = callPackage ./fez.nix {};
     ftl = callPackage ./ftl.nix {};
     guacamelee = callPackage_i686 ./guacamelee.nix {};
+    grim-fandango = callPackage_i686 ./grim-fandango.nix {};
     hammerwatch = callPackage ./hammerwatch.nix {};
     jamestown = callPackage ./jamestown.nix {};
     liads = callPackage ./liads.nix {};