From 26c5111b7c5c6fc6b9e70daa01c55ba727f05eb9 Mon Sep 17 00:00:00 2001 From: opl <4833621+opl@users.noreply.github.com> Date: Thu, 3 Jul 2025 11:57:14 +0200 Subject: [PATCH] treewide: Correctly force Java font anti-aliasing to gasp mode Fixes instances of the awt.useSystemAAFontSettings property in _JAVA_OPTIONS being impossible to override due to incorrect separators and due to replacing the value from the shell. Changes the font anti-aliasing mode to gasp; led is not suitable for users with subpixel arrangements other than horizontal RGB, on doesn't respect the hints encoded in fonts. See https://github.com/NixOS/nixpkgs/issues/422043 --- pkgs/applications/editors/greenfoot/default.nix | 2 +- pkgs/applications/graphics/processing/default.nix | 4 ++-- pkgs/applications/misc/ganttproject-bin/default.nix | 4 ++-- pkgs/by-name/bl/bluej/package.nix | 2 +- pkgs/by-name/br/brmodelo/package.nix | 2 +- pkgs/by-name/ci/cie-middleware-linux/package.nix | 2 +- pkgs/by-name/cr/crossfire-gridarta/package.nix | 2 +- pkgs/by-name/cr/crossfire-jxclient/package.nix | 2 +- pkgs/by-name/fr/freeplane/package.nix | 2 +- pkgs/by-name/ir/irpf/package.nix | 2 +- pkgs/by-name/jf/jflap/package.nix | 2 +- pkgs/by-name/jo/josm/package.nix | 2 +- pkgs/by-name/ka/kamilalisp/package.nix | 2 +- pkgs/by-name/ne/netbeans/package.nix | 2 +- pkgs/by-name/st/structorizer/package.nix | 2 +- pkgs/by-name/ti/tigerjython/package.nix | 2 +- pkgs/by-name/up/uppaal/package.nix | 2 +- pkgs/by-name/wo/workcraft/package.nix | 2 +- pkgs/by-name/wp/wpcleaner/package.nix | 2 +- 19 files changed, 21 insertions(+), 21 deletions(-) diff --git a/pkgs/applications/editors/greenfoot/default.nix b/pkgs/applications/editors/greenfoot/default.nix index a88ab68cef87..4b1ff0007b45 100644 --- a/pkgs/applications/editors/greenfoot/default.nix +++ b/pkgs/applications/editors/greenfoot/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { makeWrapper ${openjdk}/bin/java $out/bin/greenfoot \ "''${gappsWrapperArgs[@]}" \ - --add-flags "-Dawt.useSystemAAFontSettings=on -Xmx512M \ + --add-flags "-Dawt.useSystemAAFontSettings=gasp -Xmx512M \ --add-opens javafx.graphics/com.sun.glass.ui=ALL-UNNAMED \ -cp $out/share/greenfoot/boot.jar bluej.Boot \ -greenfoot=true -bluej.compiler.showunchecked=false \ diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix index 401e9881032b..65e28fec764a 100644 --- a/pkgs/applications/graphics/processing/default.nix +++ b/pkgs/applications/graphics/processing/default.nix @@ -131,11 +131,11 @@ stdenv.mkDerivation rec { makeWrapper $out/share/${pname}/processing $out/bin/processing \ ''${gappsWrapperArgs[@]} \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \ - --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" makeWrapper $out/share/${pname}/processing-java $out/bin/processing-java \ ''${gappsWrapperArgs[@]} \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \ - --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" runHook postInstall ''; diff --git a/pkgs/applications/misc/ganttproject-bin/default.nix b/pkgs/applications/misc/ganttproject-bin/default.nix index f50aff51f579..0065eac9c8d5 100644 --- a/pkgs/applications/misc/ganttproject-bin/default.nix +++ b/pkgs/applications/misc/ganttproject-bin/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { }; javaOptions = [ - "-Dawt.useSystemAAFontSettings=on" + "-Dawt.useSystemAAFontSettings=gasp" ]; in @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { mkdir -pv "$out/bin" wrapProgram "$out/share/ganttproject/ganttproject" \ --set JAVA_HOME "${jre}" \ - --set _JAVA_OPTIONS "${builtins.toString javaOptions}" + --prefix _JAVA_OPTIONS " " "${builtins.toString javaOptions}" mv -v "$out/share/ganttproject/ganttproject" "$out/bin" diff --git a/pkgs/by-name/bl/bluej/package.nix b/pkgs/by-name/bl/bluej/package.nix index 52e46d1f30fd..ff2238a5323a 100644 --- a/pkgs/by-name/bl/bluej/package.nix +++ b/pkgs/by-name/bl/bluej/package.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { makeWrapper ${openjdk}/bin/java $out/bin/bluej \ "''${gappsWrapperArgs[@]}" \ - --add-flags "-Dawt.useSystemAAFontSettings=on -Xmx512M \ + --add-flags "-Dawt.useSystemAAFontSettings=gasp -Xmx512M \ --add-opens javafx.graphics/com.sun.glass.ui=ALL-UNNAMED \ -cp $out/share/bluej/boot.jar bluej.Boot" diff --git a/pkgs/by-name/br/brmodelo/package.nix b/pkgs/by-name/br/brmodelo/package.nix index bcc9e5c2df60..409b2e82cabb 100644 --- a/pkgs/by-name/br/brmodelo/package.nix +++ b/pkgs/by-name/br/brmodelo/package.nix @@ -107,7 +107,7 @@ stdenv.mkDerivation (finalAttrs: { # _JAVA_AWT_WM_NONREPARENTING=1. makeWrapper ${jdk8}/bin/java $out/bin/brmodelo \ --prefix _JAVA_AWT_WM_NONREPARENTING : 1 \ - --prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on" \ + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" \ --add-flags "-jar $out/share/java/brModelo.jar" for size in 16 24 32 48 64 128 256; do diff --git a/pkgs/by-name/ci/cie-middleware-linux/package.nix b/pkgs/by-name/ci/cie-middleware-linux/package.nix index 77c9528e4451..e765490f117b 100644 --- a/pkgs/by-name/ci/cie-middleware-linux/package.nix +++ b/pkgs/by-name/ci/cie-middleware-linux/package.nix @@ -120,7 +120,7 @@ stdenv.mkDerivation { mkdir -p "$out/bin" makeWrapper "${jre}/bin/java" "$out/bin/cieid" \ --add-flags "-Djna.library.path='$out/lib:${libraries}'" \ - --add-flags '-Dawt.useSystemAAFontSettings=on' \ + --add-flags "-Dawt.useSystemAAFontSettings=gasp" \ --add-flags "-cp $out/share/cieid/cieid.jar" \ --add-flags "app.m0rf30.cieid.MainApplication" diff --git a/pkgs/by-name/cr/crossfire-gridarta/package.nix b/pkgs/by-name/cr/crossfire-gridarta/package.nix index 59d274d9774b..e60dad6e0d91 100644 --- a/pkgs/by-name/cr/crossfire-gridarta/package.nix +++ b/pkgs/by-name/cr/crossfire-gridarta/package.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { makeWrapper ${jre}/bin/java $out/bin/crossfire-gridarta \ --add-flags "-jar $out/share/java/CrossfireEditor.jar" \ - --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=on' \ + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" \ --set _JAVA_AWT_WM_NONREPARENTING 1 runHook postInstall diff --git a/pkgs/by-name/cr/crossfire-jxclient/package.nix b/pkgs/by-name/cr/crossfire-jxclient/package.nix index e5297d6fab50..b214fce6dcd1 100644 --- a/pkgs/by-name/cr/crossfire-jxclient/package.nix +++ b/pkgs/by-name/cr/crossfire-jxclient/package.nix @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { makeWrapper ${jre}/bin/java $out/bin/crossfire-jxclient \ --add-flags "-jar $out/share/java/jxclient.jar" \ - --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=on' \ + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" \ --set _JAVA_AWT_WM_NONREPARENTING 1 runHook postInstall diff --git a/pkgs/by-name/fr/freeplane/package.nix b/pkgs/by-name/fr/freeplane/package.nix index adc4de096c11..51950507ec63 100644 --- a/pkgs/by-name/fr/freeplane/package.nix +++ b/pkgs/by-name/fr/freeplane/package.nix @@ -102,7 +102,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { ] } \ --prefix _JAVA_AWT_WM_NONREPARENTING : 1 \ - --prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on" + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" runHook postInstall ''; diff --git a/pkgs/by-name/ir/irpf/package.nix b/pkgs/by-name/ir/irpf/package.nix index b7e593ee2dfe..c18bff4254e0 100644 --- a/pkgs/by-name/ir/irpf/package.nix +++ b/pkgs/by-name/ir/irpf/package.nix @@ -65,7 +65,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { # make xdg-open overrideable at runtime makeWrapper ${jdk11}/bin/java $out/bin/irpf \ - --add-flags "-Dawt.useSystemAAFontSettings=on" \ + --add-flags "-Dawt.useSystemAAFontSettings=gasp" \ --add-flags "-Dswing.aatext=true" \ --add-flags "-jar $BASEDIR/irpf.jar" \ --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \ diff --git a/pkgs/by-name/jf/jflap/package.nix b/pkgs/by-name/jf/jflap/package.nix index 90f32b821fa5..fbc7a152c8ce 100644 --- a/pkgs/by-name/jf/jflap/package.nix +++ b/pkgs/by-name/jf/jflap/package.nix @@ -55,7 +55,7 @@ stdenvNoCC.mkDerivation rec { mkdir -p $out/share/java cp -s $src $out/share/java/jflap.jar makeWrapper ${jre8}/bin/java $out/bin/jflap \ - --prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on" \ + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" \ --add-flags "-jar $out/share/java/jflap.jar" runHook postInstall ''; diff --git a/pkgs/by-name/jo/josm/package.nix b/pkgs/by-name/jo/josm/package.nix index dd0598ffbec4..715250c0a48c 100644 --- a/pkgs/by-name/jo/josm/package.nix +++ b/pkgs/by-name/jo/josm/package.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation { --add-flags "${baseJavaOpts} ${extraJavaOpts} -jar $out/share/josm/josm.jar" \ --prefix LD_LIBRARY_PATH ":" '${libXxf86vm}/lib' \ --prefix _JAVA_AWT_WM_NONREPARENTING : 1 \ - --prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on" + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" ''; meta = { diff --git a/pkgs/by-name/ka/kamilalisp/package.nix b/pkgs/by-name/ka/kamilalisp/package.nix index ca898af85554..efaed71a73e0 100644 --- a/pkgs/by-name/ka/kamilalisp/package.nix +++ b/pkgs/by-name/ka/kamilalisp/package.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { cp ${src} $out/share/java/kamilalisp-${version}.jar makeWrapper ${jre}/bin/java $out/bin/kamilalisp \ --add-flags "-jar $out/share/java/kamilalisp-${version}.jar" \ - --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=on' \ + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" \ --set _JAVA_AWT_WM_NONREPARENTING 1 ''; diff --git a/pkgs/by-name/ne/netbeans/package.nix b/pkgs/by-name/ne/netbeans/package.nix index 2f8be3be2c30..364ee5feebd8 100644 --- a/pkgs/by-name/ne/netbeans/package.nix +++ b/pkgs/by-name/ne/netbeans/package.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation { } \ --prefix JAVA_HOME : ${jdk21.home} \ --add-flags "--jdkhome ${jdk21.home} \ - -J-Dawt.useSystemAAFontSettings=on -J-Dswing.aatext=true" + -J-Dawt.useSystemAAFontSettings=gasp -J-Dswing.aatext=true" # Extract pngs from the Apple icon image and create # the missing ones from the 1024x1024 image. diff --git a/pkgs/by-name/st/structorizer/package.nix b/pkgs/by-name/st/structorizer/package.nix index 9b8db6ac84a7..99cca15f159e 100644 --- a/pkgs/by-name/st/structorizer/package.nix +++ b/pkgs/by-name/st/structorizer/package.nix @@ -85,7 +85,7 @@ stdenv.mkDerivation rec { install -D ${pname}.jar -t $out/share/java/ makeWrapper ${jdk11}/bin/java $out/bin/${pname} \ --add-flags "-jar $out/share/java/${pname}.jar" \ - --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=lcd' + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" cat << EOF > $out/share/mime/packages/structorizer.xml diff --git a/pkgs/by-name/ti/tigerjython/package.nix b/pkgs/by-name/ti/tigerjython/package.nix index d58af72e1a87..b64b5b6efaef 100644 --- a/pkgs/by-name/ti/tigerjython/package.nix +++ b/pkgs/by-name/ti/tigerjython/package.nix @@ -87,7 +87,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { --add-flags "-Duser.dir=$CUSTOM_LIBS/" \ --add-flags "-Xmx512M" \ --add-flags "-jar $JAR" \ - --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=lcd' + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" runHook postInstall ''; diff --git a/pkgs/by-name/up/uppaal/package.nix b/pkgs/by-name/up/uppaal/package.nix index f61425fbad55..f3770437f843 100644 --- a/pkgs/by-name/up/uppaal/package.nix +++ b/pkgs/by-name/up/uppaal/package.nix @@ -64,7 +64,7 @@ stdenvNoCC.mkDerivation rec { makeWrapper $out/lib/uppaal/uppaal $out/bin/uppaal \ --set JAVA_HOME ${jdk17} \ --set PATH $out/lib/uppaal:$PATH \ - --prefix _JAVA_OPTIONS " " -Dawt.useSystemAAFontSettings=lcd + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" runHook postInstall ''; diff --git a/pkgs/by-name/wo/workcraft/package.nix b/pkgs/by-name/wo/workcraft/package.nix index cb6a6b6c8e82..219f5d91a1ab 100644 --- a/pkgs/by-name/wo/workcraft/package.nix +++ b/pkgs/by-name/wo/workcraft/package.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { mkdir $out/bin makeWrapper $out/share/workcraft $out/bin/workcraft \ --set JAVA_HOME "${jre}" \ - --set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=gasp'; + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp"; ''; meta = { diff --git a/pkgs/by-name/wp/wpcleaner/package.nix b/pkgs/by-name/wp/wpcleaner/package.nix index 3797140b0e0b..f618a5af836d 100644 --- a/pkgs/by-name/wp/wpcleaner/package.nix +++ b/pkgs/by-name/wp/wpcleaner/package.nix @@ -17,7 +17,7 @@ let botScript = "$out/bin/wpcleaner-bot"; runTaskScript = "$out/bin/wpcleaner-run-task"; extraJavaArgs = [ - "-Dawt.useSystemAAFontSettings=lcd" + "-Dawt.useSystemAAFontSettings=gasp" "-Xms1g" "-Xmx8g" ];