diff options
author | aszlig <aszlig@redmoonstudios.org> | 2016-02-08 22:06:10 +0100 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2016-02-08 22:06:10 +0100 |
commit | 5570ec94ffe086f1ff47ad99606d39eb7b815dd1 (patch) | |
tree | 71cb764b02d41b1438642b226a3e2840e01caaa6 /humblebundle/unepic.nix | |
parent | dbac077ce8ec5a1cc2ddbc8faf335966255a9504 (diff) | |
parent | eba220a4dcce16d02921b27419f039743f1c088f (diff) |
Merge pull request aszlig/nixgames#1 from @layus
This adds Unepic to the humblebundle games list and also fixes Bastion, or at least it *should* fix Bastion. I have tested Unepic, though I had to fix the download, which I'm going to commit later. As for Bastion, at least with the humblebundle fetcher it's not able to fetch "bastion_linux" (it doesn't even show up), however on my Humble library I can see the download (maybe it's because I bought this along with HIB 5). Nevertheless, it's at least a small step forward and we need to fix these issues later.
Diffstat (limited to 'humblebundle/unepic.nix')
-rw-r--r-- | humblebundle/unepic.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/humblebundle/unepic.nix b/humblebundle/unepic.nix new file mode 100644 index 00000000..cc4099f5 --- /dev/null +++ b/humblebundle/unepic.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchHumbleBundle, unzip, makeWrapper, SDL2, SDL2_mixer, zlib }: + +let + version = "1.50.5"; + versionName = "15005"; + arch = { + "i686-linux" = "32"; + "x86_64-linux" = "64"; + }.${stdenv.system}; +in stdenv.mkDerivation rec { + name = "unepic-${version}"; + + src = fetchHumbleBundle { + name = "unepic-15005.run"; + machineName = "unepic_linux"; + downloadName = ".run"; + md5 = "940824c4de6e48522845f63423e87783"; + }; + + phases = [ "installPhase" ]; + + buildInputs = [ unzip makeWrapper ]; + + installPhase = let + rpath = stdenv.lib.makeLibraryPath [ SDL2 SDL2_mixer zlib stdenv.cc.cc ]; + in '' + dest="$out/opt/games/unepic" + exe="$dest/unepic${arch}" + + mkdir -p "$out/opt/games" + unzip "$src" "data/*" -d "$out/opt/games" || [ "$?" -eq 1 ] + mv "$out/opt/games/data" "$dest" + rm -r "$dest"/lib* + + # Patch $exe acccording to arch. + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${rpath}" "$exe" + + mkdir -p "$out/bin" + + makeWrapper "$exe" "$out/bin/unepic" --run "cd '$dest'" + ''; +} |