{ lib , stdenv , fetchFromSourcehut , SDL2 , unstableGitUpdater }: stdenv.mkDerivation (finalAttrs: { pname = "uxn"; version = "unstable-2024-03-18"; src = fetchFromSourcehut { owner = "~rabbits"; repo = "uxn"; rev = "250aecc920a6f12d2d5479a5230a31630dac2a1e"; hash = "sha256-nhKlcuhXkrhecRwVIuSf+jOmFbX0NMhmmc5pj6MCNdQ="; }; 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; broken = stdenv.isDarwin; }; })