{ lib , stdenv , fetchFromSourcehut , SDL2 , unstableGitUpdater }: stdenv.mkDerivation (finalAttrs: { pname = "uxn"; version = "1.0-unstable-2024-08-29"; src = fetchFromSourcehut { owner = "~rabbits"; repo = "uxn"; rev = "ea4aaca2a6e5bc1623bbd2bd892a6eff31439fcc"; hash = "sha256-1LA9IwnWcnr5fS1VP2wLWk6zNxNzJQ1VqAw5BsHz7tA="; }; 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 = "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; }; })