biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / applications / graphics / fiji / default.nix
blob3d8cf49711c8cf152d75f979cd3e5fe209166fc2
1 { stdenv
2 , lib
3 , fetchurl
4 , makeWrapper
5 , autoPatchelfHook
6 , jdk11
7 , makeDesktopItem
8 , copyDesktopItems
9 , runtimeShell
10 , unzip
13 stdenv.mkDerivation rec {
14   pname = "fiji";
15   version = "20240614-2117";
17   src = fetchurl {
18     url = "https://downloads.imagej.net/fiji/archive/${version}/fiji-nojre.zip";
19     sha256 = "sha256-OCNnN8CYniNEIfKRHRBoJ3Fo+u5AwXoPJAzUCc4P+f0=";
20   };
22   dontBuild = true;
24   nativeBuildInputs = [ autoPatchelfHook makeWrapper copyDesktopItems unzip ];
25   buildInputs = [ stdenv.cc.cc.lib ];
27   desktopItems = [
28     (makeDesktopItem {
29       name = "fiji";
30       exec = "fiji %F";
31       tryExec = "fiji";
32       icon = "fiji";
33       mimeTypes = [ "image/*" ];
34       comment = "Scientific Image Analysis";
35       desktopName = "Fiji Is Just ImageJ";
36       genericName = "Fiji Is Just ImageJ";
37       categories = [ "Education" "Science" "ImageProcessing" ];
38       startupNotify = true;
39       startupWMClass = "fiji-Main";
40     })
41   ];
43   installPhase = ''
44     runHook preInstall
46     mkdir -p $out/{bin,fiji,share/pixmaps}
48     cp -R * $out/fiji
49     rm -f $out/fiji/jars/imagej-updater-*.jar
51     # Don't create a local desktop entry and avoid deprecated garbage
52     # collection option
53     cat <<EOF > $out/bin/.fiji-launcher-hack
54     #!${runtimeShell}
55     exec \$($out/fiji/ImageJ-linux64 --default-gc --dry-run "\$@")
56     EOF
57     chmod +x $out/bin/.fiji-launcher-hack
59     makeWrapper $out/bin/.fiji-launcher-hack $out/bin/fiji \
60       --prefix PATH : ${lib.makeBinPath [ jdk11 ]} \
61       --set JAVA_HOME ${jdk11.home}
63     ln $out/fiji/images/icon.png $out/share/pixmaps/fiji.png
65     runHook postInstall
66   '';
68   meta = with lib; {
69     homepage = "https://imagej.net/software/fiji/";
70     description = "batteries-included distribution of ImageJ2, bundling a lot of plugins which facilitate scientific image analysis";
71     mainProgram = "fiji";
72     platforms = [ "x86_64-linux" ];
73     sourceProvenance = with sourceTypes; [
74       binaryBytecode
75       binaryNativeCode
76     ];
77     license = with lib.licenses; [ gpl2Plus gpl3Plus bsd2 publicDomain ];
78     maintainers = with maintainers; [ davisrichard437 ];
79   };