{ lib , stdenv , fetchFromSourcehut , SDL2 , unstableGitUpdater }: stdenv.mkDerivation (finalAttrs: { pname = "uxn"; version = "unstable-2024-02-15"; src = fetchFromSourcehut { owner = "~rabbits"; repo = "uxn"; rev = "c37d2cd75c855d0932a93cd8fdadd1db00b05e48"; hash = "sha256-O8XN0+ixo2xMXtJkEoJAqrKZ1M4s4YoHSxKWGOUyl1k="; }; outputs = [ "out" "projects" ]; nativeBuildInputs = [ SDL2 ]; buildInputs = [ SDL2 ]; strictDeps = true; postPatch = '' patchShebangs build.sh substituteInPlace build.sh \ --replace "-L/usr/local/lib " "" ''; buildPhase = '' runHook preBuild ./build.sh --no-run runHook postBuild ''; # ./build.sh --install is meant to install in $HOME, therefore not useful for # package maintainers installPhase = '' runHook preInstall install -d $out/bin/ cp bin/uxnasm bin/uxncli bin/uxnemu $out/bin/ install -d $projects/share/uxn/ cp -r projects $projects/share/uxn/ runHook postInstall ''; passthru.updateScript = unstableGitUpdater { }; meta = { homepage = "https://wiki.xxiivv.com/site/uxn.html"; description = "An assembler and emulator for the Uxn stack machine"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ AndersonTorres ]; mainProgram = "uxnemu"; inherit (SDL2.meta) platforms; }; })