{ lib, stdenvNoCC, fetchurl, makeWrapper, wrapGAppsHook3, jre, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "mcaselector"; version = "2.5.3"; src = fetchurl { url = "https://github.com/Querz/mcaselector/releases/download/${finalAttrs.version}/mcaselector-${finalAttrs.version}.jar"; hash = "sha256-PQCXwtEK+Tq1cRJDkzlQ43dhdQ3J+bd8x/ymvsfIfdA="; }; dontUnpack = true; dontBuild = true; nativeBuildInputs = [ jre makeWrapper wrapGAppsHook3 ]; dontWrapGApps = true; installPhase = '' runHook preInstall mkdir -p $out/{bin,lib/mcaselector} cp $src $out/lib/mcaselector/mcaselector.jar runHook postInstall ''; preFixup = '' makeWrapper ${jre}/bin/java $out/bin/mcaselector \ --add-flags "-jar $out/lib/mcaselector/mcaselector.jar" \ ''${gappsWrapperArgs[@]} ''; meta = with lib; { homepage = "https://github.com/Querz/mcaselector"; description = "Tool to select chunks from Minecraft worlds for deletion or export"; mainProgram = "mcaselector"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.mit; maintainers = [ maintainers.Scrumplex ]; platforms = platforms.linux; }; })