{ stdenv, pkgs, requireFile, SDL2, makeWrapper, mono44, libX11, libXext, libXcursor, libXxf86vm, libXi, libXinerama, libXrandr, libgcrypt, libgpgerror, alsaLib, libpulseaudio, libogg, libvorbis, mesa_glu, libudev, lzma, dbus, unzip, strace, ... }: let originalArchive = "gog_stardew_valley_2.6.0.7.sh"; fetchfile = (import ../../lib/fetchfile.nix) { inherit stdenv pkgs; }; in stdenv.mkDerivation rec { name = "stardew-valley-${version}"; version = "2.6.0.7"; src = fetchfile { path = ../../../nixrc-src-games/gog_stardew_valley_2.6.0.7.sh; storeHash = "llm002l2zsqfnw4rldkn1w5qnzz7xcfr"; }; phases = "unpackPhase installPhase"; unpackCmd = "${unzip}/bin/unzip -qq $src || true"; sourceRoot = "data"; libPath = stdenv.lib.makeLibraryPath [ alsaLib libpulseaudio mesa_glu libX11 libXext libXcursor libXxf86vm libXi libXinerama libXrandr libgcrypt libgpgerror libudev libogg libvorbis lzma dbus mono44 stdenv.cc.cc.lib SDL2 ]; buildInputs = [ makeWrapper ]; installPhase = '' mkdir -p $out mv noarch/game/* $out/ mkdir -p $out/bin chmod +x $out/StardewValley.bin.x86 chmod +x $out/StardewValley.bin.x86_64 ln -sf ${mono44}/bin/mcs $out/mcs patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ $out/StardewValley.bin.x86_64 patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ $out/StardewValley.bin.x86 for lib in lib{,64}/*.so.*; do patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $lib done makeWrapper ${strace}/bin/strace $out/stardew-valley-strace \ --run 'cd "`dirname "$0"`"' \ --add-flags -f \ --add-flags $out/StardewValley.bin.x86_64 \ --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$libPath makeWrapper $out/StardewValley.bin.x86_64 $out/stardew-valley \ --run 'cd "`dirname "$0"`"' \ --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$libPath makeWrapper $out/StardewValley.bin.x86 $out/stardew-valley-32 \ --run 'cd "`dirname "$0"`"' \ --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$libPath echo "cd $out; pwd; ./stardew-valley" > $out/bin/stardew-valley chmod +x $out/bin/stardew-valley echo "cd $out; pwd; ./stardew-valley-32" > $out/bin/stardew-valley-32 chmod +x $out/bin/stardew-valley-32 echo "cd $out; pwd; ./stardew-valley-strace" > $out/bin/stardew-valley-strace chmod +x $out/bin/stardew-valley-strace ''; }