From 5369d84405a1bbd74393d1634ef8f412f2a38d26 Mon Sep 17 00:00:00 2001 From: "P." Date: Mon, 8 Jan 2024 21:41:03 -0600 Subject: [PATCH] weasis: init at 4.2.1 --- pkgs/by-name/we/weasis/package.nix | 80 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 84 insertions(+) create mode 100644 pkgs/by-name/we/weasis/package.nix diff --git a/pkgs/by-name/we/weasis/package.nix b/pkgs/by-name/we/weasis/package.nix new file mode 100644 index 000000000000..4e15d43524fb --- /dev/null +++ b/pkgs/by-name/we/weasis/package.nix @@ -0,0 +1,80 @@ +{ lib +, stdenv +, fetchzip +, jre +, copyDesktopItems +, makeDesktopItem +}: + +let + throwSystem = throw "Unsupported system: ${stdenv.system}"; + platform = { + "x86_64-linux" = "linux-x86-64"; + }.${stdenv.system} or throwSystem; + +in stdenv.mkDerivation rec { + pname = "weasis"; + version = "4.2.1"; + + # Their build instructions indicate to use the packaging script + src = fetchzip { + url = "https://github.com/nroduit/Weasis/releases/download/v${version}/weasis-native.zip"; + hash = "sha256-HDlylpe8cHZRaIXndfGh6XmUn8o2PQB1Av7hLCp679U="; + stripRoot = false; + }; + + nativeBuildInputs = [ + copyDesktopItems + ]; + + desktopItems = [ + (makeDesktopItem { + name = "DICOMizer"; + exec = "Dicomizer"; + icon = "Dicomizer"; + desktopName = "DICOMizer"; + comment = "Convert standard images into DICOM"; + }) + (makeDesktopItem { + name = "Weasis"; + exec = "Weasis"; + icon = "Weasis"; + desktopName = "Weasis"; + comment = meta.description; + }) + ]; + + postPatch = '' + patchShebangs ./build/script/package-weasis.sh + ''; + + buildPhase = '' + runHook preBuild + + ./build/script/package-weasis.sh --no-installer --jdk ${jre} + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/{applications,pixmaps} + + mv weasis-${platform}-jdk${lib.versions.major jre.version}-${version}/Weasis/* $out/ + mv $out/lib/*.png $out/share/pixmaps/ + + runHook postInstall + ''; + + meta = { + description = "Multipurpose standalone and web-based DICOM viewer with a highly modular architecture"; + homepage = "https://weasis.org"; + # Using changelog from releases as it is more accurate + changelog = "https://github.com/nroduit/Weasis/releases/tag/v${version}"; + license = with lib.licenses; [ asl20 epl20 ]; + maintainers = [ lib.maintainers.wolfangaukang ]; + platforms = [ "x86_64-linux" ]; + mainProgram = "Weasis"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f49a57136e8a..3a18672b0e56 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -41811,6 +41811,10 @@ with pkgs; nix-store-gcs-proxy = callPackage ../tools/nix/nix-store-gcs-proxy { }; + weasis = callPackage ../by-name/we/weasis/package.nix { + jre = jdk21; + }; + webwormhole = callPackage ../tools/networking/webwormhole { }; werf = callPackage ../applications/networking/cluster/werf { };