diff --git a/pkgs/applications/graphics/fiji/default.nix b/pkgs/applications/graphics/fiji/default.nix new file mode 100644 index 000000000000..18fdc2c55ac1 --- /dev/null +++ b/pkgs/applications/graphics/fiji/default.nix @@ -0,0 +1,77 @@ +{ stdenv +, lib +, fetchurl +, makeWrapper +, autoPatchelfHook +, jdk11 +, makeDesktopItem +, copyDesktopItems +, runtimeShell +}: +stdenv.mkDerivation rec { + pname = "fiji"; + version = "20201104-1356"; + + src = fetchurl { + url = "https://downloads.imagej.net/${pname}/archive/${version}/${pname}-nojre.tar.gz"; + sha256 = "1jv4wjjkpid5spr2nk5xlvq3hg687qx1n5zh8zlw48y1y09c4q7a"; + }; + + dontBuild = true; + + nativeBuildInputs = [ autoPatchelfHook makeWrapper copyDesktopItems ]; + buildInputs = [ stdenv.cc.cc.lib ]; + + desktopItems = [ + (makeDesktopItem { + name = "fiji"; + exec = "fiji %F"; + icon = "fiji"; + mimeType = "image/*;"; + comment = "Scientific Image Analysis"; + desktopName = "Fiji Is Just ImageJ"; + genericName = "Fiji Is Just ImageJ"; + categories = "Education;Science;ImageProcessing;"; + terminal = false; + startupNotify = true; + extraEntries = '' + Version=1.0 + TryExec=fiji + X-GNOME-FullName=Fiji Is Just ImageJ + StartupWMClass=fiji-Main + ''; + }) + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,fiji,share/pixmaps} + + cp -R * $out/fiji + rm -f $out/fiji/jars/imagej-updater-*.jar + + # Disgusting hack to stop a local desktop entry being created + cat < $out/bin/.fiji-launcher-hack + #!${runtimeShell} + exec \$($out/fiji/ImageJ-linux64 --dry-run "\$@") + EOF + chmod +x $out/bin/.fiji-launcher-hack + + makeWrapper $out/bin/.fiji-launcher-hack $out/bin/fiji \ + --prefix PATH : ${lib.makeBinPath [ jdk11 ]} \ + --set JAVA_HOME ${jdk11.home} + + ln $out/fiji/images/icon.png $out/share/pixmaps/fiji.png + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://imagej.net/software/fiji/"; + description = "batteries-included distribution of ImageJ2, bundling a lot of plugins which facilitate scientific image analysis"; + platforms = [ "x86_64-linux" ]; + license = with lib.licenses; [ gpl2Plus gpl3Plus bsd2 publicDomain ]; + maintainers = with maintainers; [ zane ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ab07fff7e6c1..0e658e58de08 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25818,6 +25818,8 @@ with pkgs; imagej = callPackage ../applications/graphics/imagej { }; + fiji = callPackage ../applications/graphics/fiji { }; + imagemagick6_light = imagemagick6.override { bzip2 = null; zlib = null;