From e8a2f9fba654aa43326d5da1b9e84c9ed4cc1236 Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Sun, 1 Jan 2023 17:26:22 +0100 Subject: [PATCH] dataexplorer: pin jdk17 Since the default jdk changed to jdk19, DataExplorer fails at startup: ```console $ ./result/bin/DataExplorer java.lang.NullPointerException: Cannot read field "width" because the return value of "gde.config.Settings.getWindow()" is null at gde.ui.DataExplorer.execute(DataExplorer.java:406) at gde.GDE.main(GDE.java:544) ``` Therefore, pin to jdk17, which is also the latest recommended version by upstream: > The only requirement is the installation of a Java run-time of version > 8 to Java 17 for the 32 bit versions and Java 11 to 17 for the 64 bit > versions, such as IcedTea or open JDK. https://www.nongnu.org/dataexplorer/index.html#Introduction --- .../science/electronics/dataexplorer/default.nix | 5 ++--- pkgs/top-level/all-packages.nix | 5 ++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/electronics/dataexplorer/default.nix b/pkgs/applications/science/electronics/dataexplorer/default.nix index 9d06f614870a..5df312cd153b 100644 --- a/pkgs/applications/science/electronics/dataexplorer/default.nix +++ b/pkgs/applications/science/electronics/dataexplorer/default.nix @@ -2,7 +2,6 @@ , stdenv , fetchurl , jdk -, jre , ant , makeWrapper }: @@ -37,11 +36,11 @@ stdenv.mkDerivation rec { # but it hardcodes bash shebang and does not pin the java path. # So we create our own wrapper, using similar cmdline args as upstream. mkdir -p $out/bin - makeWrapper ${jre}/bin/java $out/bin/DataExplorer \ + makeWrapper ${jdk}/bin/java $out/bin/DataExplorer \ --add-flags "-Xms64m -Xmx3092m -jar $out/share/DataExplorer/DataExplorer.jar" \ --set SWT_GTK3 0 - makeWrapper ${jre}/bin/java $out/bin/DevicePropertiesEditor \ + makeWrapper ${jdk}/bin/java $out/bin/DevicePropertiesEditor \ --add-flags "-Xms32m -Xmx512m -classpath $out/share/DataExplorer/DataExplorer.jar gde.ui.dialog.edit.DevicePropertiesEditor" \ --set SWT_GTK3 0 \ --set LIBOVERLAY_SCROLLBAR 0 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4469b008c135..98a28915096c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36311,7 +36311,10 @@ with pkgs; csxcad = callPackage ../applications/science/electronics/csxcad { }; - dataexplorer = callPackage ../applications/science/electronics/dataexplorer { }; + dataexplorer = callPackage ../applications/science/electronics/dataexplorer { + # executable fails at startup for jdk > 17 + jdk = jdk17; + }; diylc = callPackage ../applications/science/electronics/diylc { };