greenfoot: 3.7.1 -> 3.8.0

https://greenfoot.org/version_history

Also did some cleanup of the derivation to make it more like bluej (a very
closely related program).

+27 -13
+23 -12
pkgs/applications/editors/greenfoot/default.nix
··· 1 - { lib, stdenv, fetchurl, makeWrapper, jdk }: 1 + { lib, stdenv, fetchurl, openjdk, glib, dpkg, wrapGAppsHook }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "greenfoot"; 5 - version = "3.7.1"; 5 + version = "3.8.0"; 6 + 6 7 src = fetchurl { 7 8 # We use the deb here. First instinct might be to go for the "generic" JAR 8 9 # download, but that is actually a graphical installer that is much harder 9 10 # to unpack than the deb. 10 11 url = "https://www.greenfoot.org/download/files/Greenfoot-linux-${builtins.replaceStrings ["."] [""] version}.deb"; 11 - sha256 = "sha256-wGgKDsA/2luw+Nzs9dWb/HRHMx/0S0CFfoI53OCzxug="; 12 + sha256 = "sha256-HDXmgLHS18VZVV+hCA0RgIrKRftOlV7t+fvE0pAHGjk="; 12 13 }; 13 14 14 - nativeBuildInputs = [ makeWrapper ]; 15 + nativeBuildInputs = [ dpkg wrapGAppsHook ]; 16 + buildInputs = [ glib ]; 15 17 16 - unpackPhase = '' 17 - ar xf $src 18 - tar xf data.tar.xz 19 - ''; 18 + dontWrapGApps = true; 20 19 21 20 installPhase = '' 21 + runHook preInstall 22 + 22 23 mkdir -p $out 23 24 cp -r usr/* $out 25 + 24 26 rm -r $out/share/greenfoot/jdk 25 - rm -r $out/share/greenfoot/javafx 27 + rm -r $out/share/greenfoot/javafx-*.jar 28 + 29 + makeWrapper ${openjdk}/bin/java $out/bin/greenfoot \ 30 + "''${gappsWrapperArgs[@]}" \ 31 + --add-flags "-Dawt.useSystemAAFontSettings=on -Xmx512M \ 32 + --add-opens javafx.graphics/com.sun.glass.ui=ALL-UNNAMED \ 33 + -cp $out/share/greenfoot/boot.jar bluej.Boot \ 34 + -greenfoot=true -bluej.compiler.showunchecked=false \ 35 + -greenfoot.scenarios=$out/share/doc/Greenfoot/scenarios \ 36 + -greenfoot.url.javadoc=file://$out/share/doc/Greenfoot/API" 26 37 27 - makeWrapper ${jdk}/bin/java $out/bin/greenfoot \ 28 - --add-flags "-Djavafx.embed.singleThread=true -Dawt.useSystemAAFontSettings=on -Xmx512M -cp \"$out/share/greenfoot/bluej.jar\" bluej.Boot -greenfoot=true -bluej.compiler.showunchecked=false -greenfoot.scenarios=$out/share/doc/Greenfoot/scenarios -greenfoot.url.javadoc=file://$out/share/doc/Greenfoot/API" 38 + runHook postInstall 29 39 ''; 30 40 31 41 meta = with lib; { ··· 33 43 homepage = "https://www.greenfoot.org/"; 34 44 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 35 45 license = licenses.gpl2ClasspathPlus; 46 + mainProgram = pname; 36 47 maintainers = [ maintainers.chvp ]; 37 - platforms = platforms.unix; 48 + platforms = platforms.linux; 38 49 }; 39 50 }
+4 -1
pkgs/top-level/all-packages.nix
··· 31670 31670 gpg-mdp = callPackage ../applications/misc/gpg-mdp { }; 31671 31671 31672 31672 greenfoot = callPackage ../applications/editors/greenfoot { 31673 - jdk = jetbrains.jdk; 31673 + openjdk = openjdk17.override { 31674 + enableJavaFX = true; 31675 + openjfx = openjfx17.override { withWebKit = true; }; 31676 + }; 31674 31677 }; 31675 31678 31676 31679 gspeech = callPackage ../applications/audio/gspeech { };