From ca1deead6800c81e80628cc8fa827d9dc696ed8a Mon Sep 17 00:00:00 2001 From: felissedano Date: Sun, 21 Sep 2025 22:24:27 -0400 Subject: [PATCH] jetuml: init at 3.9 --- pkgs/by-name/je/jetuml/package.nix | 76 ++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 pkgs/by-name/je/jetuml/package.nix diff --git a/pkgs/by-name/je/jetuml/package.nix b/pkgs/by-name/je/jetuml/package.nix new file mode 100644 index 000000000000..e67cba6d2496 --- /dev/null +++ b/pkgs/by-name/je/jetuml/package.nix @@ -0,0 +1,76 @@ +{ + stdenvNoCC, + lib, + makeDesktopItem, + copyDesktopItems, + fetchurl, + jdk, + makeBinaryWrapper, + imagemagick, +}: + +let + jdkWithFX = jdk.override { enableJavaFX = true; }; +in +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "jetuml"; + version = "3.9"; + + src = fetchurl { + url = "https://github.com/prmr/JetUML/releases/download/v${finalAttrs.version}/JetUML-${finalAttrs.version}.jar"; + hash = "sha256-wACGbHeRQ5rXcuI1J3eTfQraWp8eWtkIAPo7BNGcFUU="; + }; + + dontUnpack = true; + + strictDeps = true; + + nativeBuildInputs = [ + makeBinaryWrapper + copyDesktopItems + imagemagick + ]; + + desktopItems = [ + (makeDesktopItem { + name = "jetuml"; + desktopName = "JetUML"; + genericName = "UML Tool"; + categories = [ + "Application" + "Development" + "ProjectManagement" + ]; + icon = "jet"; + exec = "jetuml"; + comment = finalAttrs.meta.description; + }) + ]; + + installPhase = '' + runHook preInstall + + ${jdkWithFX}/lib/openjdk/bin/jar xf $src jet.png + magick jet.png -resize 128x128 jet128.png + magick jet.png -resize 48x48 jet48.png + install -Dm444 jet48.png $out/share/icons/hicolor/48x48/jet.png + install -Dm444 jet128.png $out/share/icons/hicolor/128x128/jet.png + + install -Dm444 $src $out/share/java/JetUML-${finalAttrs.version}.jar + + makeWrapper ${jdkWithFX}/lib/openjdk/bin/java $out/bin/jetuml \ + --add-flags "-jar $out/share/java/JetUML-${finalAttrs.version}.jar" + + runHook postInstall + ''; + + meta = { + homepage = "https://www.jetuml.org/"; + description = "Desktop application for fast UML diagramming"; + mainProgram = "jetuml"; + sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.felissedano ]; + }; +})