From 80f7cf46cc757475403522e96e55b087cd5e2eea Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Wed, 24 Sep 2025 13:21:19 +0200 Subject: [PATCH] visual-paradigm-ce: init at 17.3.20250906 --- .../by-name/vi/visual-paradigm-ce/package.nix | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 pkgs/by-name/vi/visual-paradigm-ce/package.nix diff --git a/pkgs/by-name/vi/visual-paradigm-ce/package.nix b/pkgs/by-name/vi/visual-paradigm-ce/package.nix new file mode 100644 index 000000000000..2a6ac7bf101d --- /dev/null +++ b/pkgs/by-name/vi/visual-paradigm-ce/package.nix @@ -0,0 +1,83 @@ +{ + lib, + stdenv, + fetchurl, + copyDesktopItems, + makeDesktopItem, + openjdk, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "visual-paradigm-ce"; + version = "17.3.20250906"; + + src = + let + splitted = lib.versions.splitVersion finalAttrs.version; + majorMinor = builtins.concatStringsSep "." (lib.dropEnd 1 splitted); + suffix = lib.last splitted; + in + fetchurl { + url = "https://eu8.dl.visual-paradigm.com/visual-paradigm/vpce${majorMinor}/${suffix}/Visual_Paradigm_CE_${ + builtins.replaceStrings [ "." ] [ "_" ] majorMinor + }_${suffix}_Linux64_InstallFree.tar.gz"; + hash = "sha256-9BaAJKzK8jjQ1W+eSyJFI2NfizNCwY7PpSZoje2Zd38="; + }; + + nativeBuildInputs = [ + copyDesktopItems + ]; + + desktopItems = [ + (makeDesktopItem { + name = "visualparadigm"; + desktopName = "Visual Paradigm"; + exec = "Visual_Paradigm %f"; + icon = "vpuml"; + }) + (makeDesktopItem { + name = "visualparadigmproductselector"; + desktopName = "Visual Paradigm Product Selector"; + exec = "Visual_Paradigm_Product_Selector"; + icon = "ProductSelector"; + }) + (makeDesktopItem { + name = "visualparadigmshapeeditor"; + desktopName = "Visual Paradigm Shape Editor"; + exec = "Visual_Paradigm_Shape_Editor"; + icon = "vpuml"; + }) + ]; + + installPhase = '' + runHook preInstall + + install -D Application/resources/vpuml.png $out/share/icons/hicolor/512x512/apps/vpuml.png + install -D Application/resources/ProductSelector.png $out/share/icons/hicolor/512x512/apps/ProductSelector.png + + mkdir -p $out/{bin,share/visual-paradigm-ce} + mv {Application,.install4j} $out/share/visual-paradigm-ce/ + + for bin in Visual_Paradigm Visual_Paradigm_Product_Selector Visual_Paradigm_Shape_Editor; do + substituteInPlace $out/share/visual-paradigm-ce/Application/bin/$bin \ + --replace-fail '# INSTALL4J_JAVA_HOME_OVERRIDE=' "INSTALL4J_JAVA_HOME_OVERRIDE=${openjdk}" \ + --replace-fail 'app_home=../../' "app_home=${placeholder "out"}/share/visual-paradigm-ce" + ln -s $out/share/visual-paradigm-ce/Application/bin/$bin $out/bin/ + done + + runHook postInstall + ''; + + meta = { + description = "All-in-one UML CASE tool for software development"; + homepage = "https://www.visual-paradigm.com/"; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ drupol ]; + platforms = lib.platforms.linux; + sourceProvenance = with lib.sourceTypes; [ + binaryBytecode + binaryNativeCode + ]; + mainProgram = "Visual_Paradigm"; + }; +})