From 02548607661d360f71066bda1e84917a6095ede1 Mon Sep 17 00:00:00 2001 From: Tom Torsney-Weir Date: Fri, 19 Nov 2021 13:23:36 +0100 Subject: [PATCH] imagej: fix crash with opening dialogs (#142841) --- pkgs/applications/graphics/imagej/default.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/graphics/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix index 0dbc2d5d4e14..4af139b08443 100644 --- a/pkgs/applications/graphics/imagej/default.nix +++ b/pkgs/applications/graphics/imagej/default.nix @@ -1,11 +1,13 @@ { lib , stdenv , fetchurl +, glib , jre , unzip , makeWrapper , makeDesktopItem , copyDesktopItems +, wrapGAppsHook }: let @@ -21,7 +23,10 @@ in stdenv.mkDerivation rec { url = "https://wsr.imagej.net/distros/cross-platform/ij${version}.zip"; sha256 = "sha256-MGuUdUDuW3s/yGC68rHr6xxzmYScUjdXRawDpc1UQqw="; }; - nativeBuildInputs = [ copyDesktopItems makeWrapper unzip ]; + nativeBuildInputs = [ copyDesktopItems makeWrapper unzip wrapGAppsHook ]; + buildInputs = [ glib ]; + dontWrapGApps = true; + desktopItems = lib.optionals stdenv.isLinux [ (makeDesktopItem { name = "ImageJ"; @@ -47,13 +52,15 @@ in stdenv.mkDerivation rec { # 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