diff --git a/pkgs/applications/graphics/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix index 65d3c9735dfd..5050669c5242 100644 --- a/pkgs/applications/graphics/imagej/default.nix +++ b/pkgs/applications/graphics/imagej/default.nix @@ -1,48 +1,51 @@ -{ lib, stdenv, fetchurl, jre, unzip, makeWrapper }: +{ lib +, stdenv +, fetchurl +, jre +, unzip +, makeWrapper +}: -# Note: -# - User config dir is hard coded by upstream to $HOME/.imagej on linux systems -# and to $HOME/Library/Preferences on macOS. -# (The current trend appears to be to use $HOME/.config/imagej -# on linux systems, but we here do not attempt to fix it.) +stdenv.mkDerivation { + pname = "imagej"; + version = "150"; -let - imagej150 = stdenv.mkDerivation { - pname = "imagej"; - version = "150"; - - src = fetchurl { - url = "https://wsr.imagej.net/distros/cross-platform/ij150.zip"; - sha256 = "97aba6fc5eb908f5160243aebcdc4965726693cb1353d9c0d71b8f5dd832cb7b"; - }; - nativeBuildInputs = [ makeWrapper unzip ]; - inherit jre; - - # JAR files that are intended to be used by other packages - # should go to $out/share/java. - # (Some uses ij.jar as a library not as a standalone program.) - installPhase = '' - mkdir -p $out/share/java - # Read permisssion suffices for the jar and others. - # Simple cp shall clear suid bits, if any. - cp ij.jar $out/share/java - cp -dR luts macros plugins $out/share - mkdir $out/bin - makeWrapper ${jre}/bin/java $out/bin/imagej \ - --add-flags "-jar $out/share/java/ij.jar -ijpath $out/share" - ''; - meta = with lib; { - homepage = "https://imagej.nih.gov/ij/"; - description = "Image processing and analysis in Java"; - longDescription = '' - ImageJ is a public domain Java image processing program - inspired by NIH Image for the Macintosh. - It runs on any computer with a Java 1.4 or later virtual machine. - ''; - license = licenses.publicDomain; - platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ yuriaisaka ]; - }; + src = fetchurl { + url = "https://wsr.imagej.net/distros/cross-platform/ij${version}.zip"; + sha256 = "97aba6fc5eb908f5160243aebcdc4965726693cb1353d9c0d71b8f5dd832cb7b"; }; -in - imagej150 + nativeBuildInputs = [ makeWrapper unzip ]; + passthru = { + inherit jre; + }; + + # JAR files that are intended to be used by other packages + # should go to $out/share/java. + # (Some uses ij.jar as a library not as a standalone program.) + installPhase = '' + runHook preInstall + + mkdir -p $out/share/java $out/bin + # Read permisssion suffices for the jar and others. + # Simple cp shall clear suid bits, if any. + cp ij.jar $out/share/java + cp -dR luts macros plugins $out/share + makeWrapper ${jre}/bin/java $out/bin/imagej \ + --add-flags "-jar $out/share/java/ij.jar -ijpath $out/share" + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://imagej.nih.gov/ij/"; + description = "Image processing and analysis in Java"; + longDescription = '' + ImageJ is a public domain Java image processing program + inspired by NIH Image for the Macintosh. + It runs on any computer with a Java 1.4 or later virtual machine. + ''; + license = licenses.publicDomain; + platforms = platforms.unix; + maintainers = with maintainers; [ yuriaisaka ]; + }; +}