anchor.diff:      # 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
     '';
   
     postFixup = lib.optionalString stdenv.isLinux ''
  +    makeWrapper ${jre}/bin/java $out/bin/imagej \
  +      ''${gappsWrapperArgs[@]} \
  +      --add-flags "-jar $out/share/java/ij.jar -ijpath $out/share"
  +
       install -Dm644 ${icon} $out/share/icons/hicolor/128x128/apps/imagej.png
       substituteInPlace $out/share/applications/ImageJ.desktop \
         --replace Exec=imagej Exec=$out/bin/imagej
  
positive.code: { lib
  , stdenv
  , fetchurl
  , jre
  , unzip
  , makeWrapper
  , makeDesktopItem
  , copyDesktopItems
  }:
  
  let
  
negative.code:     url = "https://wsr.imagej.net/distros/cross-platform/ij${version}.zip";
      sha256 = "sha256-MGuUdUDuW3s/yGC68rHr6xxzmYScUjdXRawDpc1UQqw=";
    };
    nativeBuildInputs = [ copyDesktopItems makeWrapper unzip wrapGAppsHook ];
    buildInputs = [ glib ];
    dontWrapGApps = true;
  
    desktopItems = lib.optionals stdenv.isLinux [
      (makeDesktopItem {
        name = "ImageJ";
  