89 lines
1.9 KiB
Nix
89 lines
1.9 KiB
Nix
{ 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 ];
|
|
};
|
|
}
|