about summary refs log tree commit diff
path: root/pkgs/by-name/we
diff options
context:
space:
mode:
authorP. <d.ol.rod@tutanota.com>2024-01-08 21:41:03 -0600
committerP. <d.ol.rod@tutanota.com>2024-01-08 21:41:03 -0600
commit5369d84405a1bbd74393d1634ef8f412f2a38d26 (patch)
treedae49168edf26ce45fa9140434ae9c39b3b6e8a2 /pkgs/by-name/we
parent2148d8ab077e4f7dbe6b51af9fda34eb6b554c21 (diff)
downloadnixlib-5369d84405a1bbd74393d1634ef8f412f2a38d26.tar
nixlib-5369d84405a1bbd74393d1634ef8f412f2a38d26.tar.gz
nixlib-5369d84405a1bbd74393d1634ef8f412f2a38d26.tar.bz2
nixlib-5369d84405a1bbd74393d1634ef8f412f2a38d26.tar.lz
nixlib-5369d84405a1bbd74393d1634ef8f412f2a38d26.tar.xz
nixlib-5369d84405a1bbd74393d1634ef8f412f2a38d26.tar.zst
nixlib-5369d84405a1bbd74393d1634ef8f412f2a38d26.zip
weasis: init at 4.2.1
Diffstat (limited to 'pkgs/by-name/we')
-rw-r--r--pkgs/by-name/we/weasis/package.nix80
1 files changed, 80 insertions, 0 deletions
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";
+  };
+}