From d7559729bd06c9465cd576a065dd883c23d6a46d Mon Sep 17 00:00:00 2001 From: brian Date: Sun, 17 May 2026 09:22:56 -0400 Subject: [PATCH] wip working game --- .gitignore | 1 + default.nix | 2 ++ package.nix | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 .gitignore create mode 100644 default.nix create mode 100644 package.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e2f5dd2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +result \ No newline at end of file diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..df3c4d1 --- /dev/null +++ b/default.nix @@ -0,0 +1,2 @@ +{ pkgs ? import {} }: +pkgs.callPackage ./package.nix {} diff --git a/package.nix b/package.nix new file mode 100644 index 0000000..ccfdb77 --- /dev/null +++ b/package.nix @@ -0,0 +1,88 @@ +{ 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 ]; + }; +}