3
0
Fork 0
forked from mirrors/nixpkgs

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
This commit is contained in:
Nicolas Benes 2023-01-01 17:26:22 +01:00
parent 511f9544cc
commit e8a2f9fba6
2 changed files with 6 additions and 4 deletions

View file

@ -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

View file

@ -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 { };