fluffychat: 1.22.1 -> 1.23.0 (#364091)
[NixPkgs.git] / pkgs / by-name / fi / fiji / package.nix
blobd63899330b739cc610f849b62804f269ce067aa3
1 { stdenv
2 , lib
3 , fetchurl
4 , makeWrapper
5 , autoPatchelfHook
6 , jdk11
7 , makeDesktopItem
8 , copyDesktopItems
9 , runtimeShell
10 , unzip
11 , wrapGAppsHook3
14 stdenv.mkDerivation rec {
15   pname = "fiji";
16   version = "20240614-2117";
18   src = fetchurl {
19     url = "https://downloads.imagej.net/fiji/archive/${version}/fiji-nojre.zip";
20     sha256 = "sha256-OCNnN8CYniNEIfKRHRBoJ3Fo+u5AwXoPJAzUCc4P+f0=";
21   };
23   dontBuild = true;
25   nativeBuildInputs = [
26     autoPatchelfHook
27     wrapGAppsHook3
28     makeWrapper
29     copyDesktopItems
30     unzip
31   ];
33   buildInputs = [ (lib.getLib stdenv.cc.cc) ];
35   desktopItems = [
36     (makeDesktopItem {
37       name = "fiji";
38       exec = "fiji %F";
39       tryExec = "fiji";
40       icon = "fiji";
41       mimeTypes = [ "image/*" ];
42       comment = "Scientific Image Analysis";
43       desktopName = "Fiji Is Just ImageJ";
44       genericName = "Fiji Is Just ImageJ";
45       categories = [ "Education" "Science" "ImageProcessing" ];
46       startupNotify = true;
47       startupWMClass = "fiji-Main";
48     })
49   ];
51   dontWrapGApps = true;
53   installPhase = ''
54     runHook preInstall
56     mkdir -p $out/{bin,fiji,share/pixmaps}
58     cp -R * $out/fiji
59     rm -f $out/fiji/jars/imagej-updater-*.jar
61     # Don't create a local desktop entry and avoid deprecated garbage
62     # collection option
63     cat <<EOF > $out/bin/.fiji-launcher-hack
64     #!${runtimeShell}
65     exec \$($out/fiji/ImageJ-linux64 --default-gc --dry-run "\$@")
66     EOF
67     chmod +x $out/bin/.fiji-launcher-hack
69     makeWrapper $out/bin/.fiji-launcher-hack $out/bin/fiji \
70       --prefix PATH : ${lib.makeBinPath [ jdk11 ]} \
71       --set JAVA_HOME ${jdk11.home} \
72       ''${gappsWrapperArgs[@]}
74     ln $out/fiji/images/icon.png $out/share/pixmaps/fiji.png
76     runHook postInstall
77   '';
79   meta = with lib; {
80     homepage = "https://imagej.net/software/fiji/";
81     description = "batteries-included distribution of ImageJ2, bundling a lot of plugins which facilitate scientific image analysis";
82     mainProgram = "fiji";
83     platforms = [ "x86_64-linux" ];
84     sourceProvenance = with sourceTypes; [
85       binaryBytecode
86       binaryNativeCode
87     ];
88     license = with lib.licenses; [ gpl2Plus gpl3Plus bsd2 publicDomain ];
89     maintainers = with maintainers; [ davisrichard437 ];
90   };