summaryrefslogtreecommitdiff
path: root/nixos/stardew-valley.nix
diff options
context:
space:
mode:
authorKjetil Orbekk <kjetil.orbekk@gmail.com>2017-02-25 13:52:09 -0500
committerKjetil Orbekk <kjetil.orbekk@gmail.com>2017-02-25 13:52:09 -0500
commitaccf87eeb1482cd9835a20a3a0d483384ea5a772 (patch)
treebe570ed102f607f4eb11354502d79a6aaf33a11b /nixos/stardew-valley.nix
parentd1bb6455bbc962e51d10814aef2344566b7ce0f0 (diff)
Nix packages.
Diffstat (limited to 'nixos/stardew-valley.nix')
-rw-r--r--nixos/stardew-valley.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/nixos/stardew-valley.nix b/nixos/stardew-valley.nix
new file mode 100644
index 0000000..ef2bb55
--- /dev/null
+++ b/nixos/stardew-valley.nix
@@ -0,0 +1,45 @@
+{stdenv, glibc, coreutils, patchelf, requireFile, unzip, xorg, makeWrapper, libpulseaudio }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ name = "stardew-valley-${version}";
+ version = "2.3.0.4";
+ src = requireFile {
+ name = "gog_stardew_valley_${version}.sh";
+ sha256 = "88e1fae7226c7bfa91cb28c137c24867e12b1a0b6e824e6ffe73e1eefc166aac";
+ url = "https://gog.com";
+ };
+
+ buildInputs = [ coreutils unzip makeWrapper ];
+
+ unpackPhase = ''
+ mkdir src
+ cd src
+ unzip $src || true
+ # offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src)
+ # dd if="$src" ibs=$offset skip=1 | gzip -cd | tar xvf - || true
+ '';
+
+ libPath = stdenv.lib.makeLibraryPath [ glibc xorg.libX11 xorg.libXext libpulseaudio ];
+
+ buildPhase = ''
+ patchelf \
+ --set-rpath "${stdenv.lib.makeLibraryPath [ xorg.libX11 ]}" \
+ --set-interpreter "$(cat ${stdenv.cc}/nix-support/dynamic-linker)" \
+ ./data/noarch/game/mcs.bin.x86_64
+ patchelf \
+ --set-rpath "${stdenv.lib.makeLibraryPath [ xorg.libX11 ]}" \
+ --set-interpreter "$(cat ${stdenv.cc}/nix-support/dynamic-linker)" \
+ ./data/noarch/game/StardewValley.bin.x86_64
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r * $out/
+ makeWrapper \
+ "$out/data/noarch/start.sh" \
+ "$out/bin/stardew-valley" \
+ --prefix LD_LIBRARY_PATH : "${libPath}"
+ '';
+}