{ lib , stdenv , fetchzip , autoPatchelfHook , makeWrapper , alsa-lib , fontconfig , libGL , libX11 , libXcursor , libXext , libXi , libXinerama , libXrandr , libXrender , pulseaudio , udev , vulkan-loader , wayland , libxkbcommon }: stdenv.mkDerivation rec { pname = "shuvit"; version = "2.0-alpha3"; src = fetchzip { url = "http://shuvit.org/misc/Shuvit_v2.alpha3.zip"; hash = "sha256-b9I5yKadpYCda+i0AUmIv4BZJTo0creChnFNYQC4fDk="; }; nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; # Godot 4 runtime dependencies on Linux buildInputs = [ alsa-lib fontconfig libGL libX11 libXcursor libXext libXi libXinerama libXrandr libXrender pulseaudio udev vulkan-loader wayland libxkbcommon ]; # No build step — this is a prebuilt binary package dontBuild = true; dontConfigure = true; installPhase = '' runHook preInstall # Create output directories install -d $out/lib/shuvit install -d $out/bin # Copy the Godot binary and its data package — they MUST stay together # in the same directory. The .pck file is found relative to the executable. install -m755 Shuvit_v2.alpha3.x86_64 $out/lib/shuvit/Shuvit_v2.alpha3.x86_64 install -m644 Shuvit_v2.alpha3.pck $out/lib/shuvit/Shuvit_v2.alpha3.pck # Wrap the binary so it runs from its own directory (needed for .pck lookup) makeWrapper $out/lib/shuvit/Shuvit_v2.alpha3.x86_64 $out/bin/shuvit \ --chdir "$out/lib/shuvit" \ --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ vulkan-loader libGL fontconfig libX11 libXcursor udev wayland libxkbcommon ]}" runHook postInstall ''; meta = with lib; { description = "Open source skateboarding game built with Godot 4"; homepage = "https://shuvit.org/grav"; license = licenses.gpl3Plus; maintainers = [ ]; platforms = [ "x86_64-linux" ]; sourceProvenance = [ sourceTypes.binaryNativeCode ]; }; }