Merge pull request #206643 from thiagokokada/openjdk-refactor

openjdk*: disable JavaFX by default; openjfx*: add with{Media,Webkit} options and remove gtk2

authored by

Thiago Kenji Okada and committed by
GitHub
2b7a2cf9 b53f8350

+58 -42
+8
nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
··· 853 853 </listitem> 854 854 <listitem> 855 855 <para> 856 + <literal>openjdk</literal> from version 11 and above is not 857 + build with <literal>openjfx</literal> (i.e.: JavaFX) support 858 + by default anymore. You can re-enable it by overriding, e.g.: 859 + <literal>openjdk11.override { enableJavaFX = true; };</literal>. 860 + </para> 861 + </listitem> 862 + <listitem> 863 + <para> 856 864 <link xlink:href="https://xastir.org/index.php/Main_Page">Xastir</link> 857 865 can now access AX.25 interfaces via the 858 866 <literal>libax25</literal> package.
+2
nixos/doc/manual/release-notes/rl-2305.section.md
··· 211 211 212 212 - The new option `services.tailscale.useRoutingFeatures` controls various settings for using Tailscale features like exit nodes and subnet routers. If you wish to use your machine as an exit node, you can set this setting to `server`, otherwise if you wish to use an exit node you can set this setting to `client`. The strict RPF warning has been removed as the RPF will be loosened automatically based on the value of this setting. 213 213 214 + - `openjdk` from version 11 and above is not build with `openjfx` (i.e.: JavaFX) support by default anymore. You can re-enable it by overriding, e.g.: `openjdk11.override { enableJavaFX = true; };`. 215 + 214 216 - [Xastir](https://xastir.org/index.php/Main_Page) can now access AX.25 interfaces via the `libax25` package. 215 217 216 218 - `nixos-version` now accepts `--configuration-revision` to display more information about the current generation revision
+1 -1
pkgs/development/compilers/openjdk/11.nix
··· 4 4 , libXcursor, libXrandr, fontconfig, openjdk11-bootstrap 5 5 , setJavaClassPath 6 6 , headless ? false 7 - , enableJavaFX ? openjfx.meta.available, openjfx 7 + , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 9 }: 10 10
+1 -1
pkgs/development/compilers/openjdk/12.nix
··· 4 4 , libXcursor, libXrandr, fontconfig, openjdk11, fetchpatch 5 5 , setJavaClassPath 6 6 , headless ? false 7 - , enableJavaFX ? openjfx.meta.available, openjfx 7 + , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 9 }: 10 10
+1 -1
pkgs/development/compilers/openjdk/13.nix
··· 4 4 , libXcursor, libXrandr, fontconfig, openjdk13-bootstrap, fetchpatch 5 5 , setJavaClassPath 6 6 , headless ? false 7 - , enableJavaFX ? openjfx.meta.available, openjfx 7 + , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 9 }: 10 10
+1 -1
pkgs/development/compilers/openjdk/14.nix
··· 4 4 , libXcursor, libXrandr, fontconfig, openjdk14-bootstrap 5 5 , setJavaClassPath 6 6 , headless ? false 7 - , enableJavaFX ? openjfx.meta.available, openjfx 7 + , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 9 }: 10 10
+1 -1
pkgs/development/compilers/openjdk/15.nix
··· 4 4 , libXcursor, libXrandr, fontconfig, openjdk15-bootstrap 5 5 , setJavaClassPath 6 6 , headless ? false 7 - , enableJavaFX ? openjfx.meta.available, openjfx 7 + , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 9 }: 10 10
+1 -1
pkgs/development/compilers/openjdk/16.nix
··· 4 4 , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk16-bootstrap 5 5 , setJavaClassPath 6 6 , headless ? false 7 - , enableJavaFX ? openjfx.meta.available, openjfx 7 + , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 9 }: 10 10
+1 -1
pkgs/development/compilers/openjdk/17.nix
··· 4 4 , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk17-bootstrap 5 5 , setJavaClassPath 6 6 , headless ? false 7 - , enableJavaFX ? openjfx.meta.available, openjfx 7 + , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 9 }: 10 10
+1 -1
pkgs/development/compilers/openjdk/18.nix
··· 4 4 , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk18-bootstrap 5 5 , setJavaClassPath 6 6 , headless ? false 7 - , enableJavaFX ? openjfx.meta.available, openjfx 7 + , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 9 }: 10 10
+1 -1
pkgs/development/compilers/openjdk/19.nix
··· 7 7 # TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages 8 8 # which should be fixable, this is a no-rebuild workaround for GHC. 9 9 , headless ? stdenv.targetPlatform.isGhcjs 10 - , enableJavaFX ? openjfx.meta.available, openjfx 10 + , enableJavaFX ? false, openjfx 11 11 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 12 12 }: 13 13
+8 -15
pkgs/development/compilers/openjdk/openjfx/11.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, writeText, gradle_7, pkg-config, perl, cmake 2 - , gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby, icu68 3 - , openjdk11-bootstrap }: 2 + , gperf, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby, icu68 3 + , openjdk11-bootstrap 4 + , withMedia ? true 5 + , withWebKit ? false 6 + }: 4 7 5 8 let 6 9 major = "11"; ··· 11 14 java = openjdk11-bootstrap; 12 15 }); 13 16 14 - NIX_CFLAGS_COMPILE = [ 15 - # avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc. 16 - "-DGLIB_DISABLE_DEPRECATION_WARNINGS" 17 - # glib-2.62 deprecations 18 - # -fcommon: gstreamer workaround for -fno-common toolchains: 19 - # ld: gsttypefindelement.o:(.bss._gst_disable_registry_cache+0x0): multiple definition of 20 - # `_gst_disable_registry_cache'; gst.o:(.bss._gst_disable_registry_cache+0x0): first defined here 21 - "-fcommon" 22 - ]; 23 - 24 17 makePackage = args: stdenv.mkDerivation ({ 25 18 version = "${major}${update}-${build}"; 26 19 ··· 31 24 sha256 = "sha256-46DjIzcBHkmp5vnhYnLu78CG72bIBRM4A6mgk2OLOko="; 32 25 }; 33 26 34 - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ]; 27 + buildInputs = [ gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ]; 35 28 nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ]; 36 29 37 30 dontUseCmakeConfigure = true; ··· 81 74 pname = "openjfx-modular-sdk"; 82 75 83 76 gradleProperties = '' 84 - COMPILE_MEDIA = true 85 - COMPILE_WEBKIT = false 77 + COMPILE_MEDIA = ${lib.boolToString withMedia} 78 + COMPILE_WEBKIT = ${lib.boolToString withWebKit} 86 79 ''; 87 80 88 81 preBuild = ''
+8 -5
pkgs/development/compilers/openjdk/openjfx/15.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, writeText, openjdk11_headless, gradle_6 2 - , pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib 3 - , ffmpeg_4-headless, python3, ruby }: 2 + , pkg-config, perl, cmake, gperf, gtk3, libXtst, libXxf86vm, glib, alsa-lib 3 + , ffmpeg_4-headless, python3, ruby 4 + , withMedia ? true 5 + , withWebKit ? false 6 + }: 4 7 5 8 let 6 9 major = "15"; ··· 21 24 sha256 = "019glq8rhn6amy3n5jc17vi2wpf1pxpmmywvyz1ga8n09w7xscq1"; 22 25 }; 23 26 24 - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ]; 27 + buildInputs = [ gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ]; 25 28 nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ]; 26 29 27 30 dontUseCmakeConfigure = true; ··· 76 79 pname = "openjfx-modular-sdk"; 77 80 78 81 gradleProperties = '' 79 - COMPILE_MEDIA = true 80 - COMPILE_WEBKIT = false 82 + COMPILE_MEDIA = ${lib.boolToString withMedia} 83 + COMPILE_WEBKIT = ${lib.boolToString withWebKit} 81 84 ''; 82 85 83 86 preBuild = ''
+8 -5
pkgs/development/compilers/openjdk/openjfx/17.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, writeText, openjdk17_headless, gradle_7 2 - , pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib 3 - , ffmpeg_4-headless, python3, ruby, icu68 }: 2 + , pkg-config, perl, cmake, gperf, gtk3, libXtst, libXxf86vm, glib, alsa-lib 3 + , ffmpeg_4-headless, python3, ruby, icu68 4 + , withMedia ? true 5 + , withWebKit ? false 6 + }: 4 7 5 8 let 6 9 major = "17"; ··· 21 24 sha256 = "sha256-9VfXk2EfMebMyVKPohPRP2QXRFf8XemUtfY0JtBCHyw="; 22 25 }; 23 26 24 - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ]; 27 + buildInputs = [ gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ]; 25 28 nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ]; 26 29 27 30 dontUseCmakeConfigure = true; ··· 66 69 pname = "openjfx-modular-sdk"; 67 70 68 71 gradleProperties = '' 69 - COMPILE_MEDIA = true 70 - COMPILE_WEBKIT = false 72 + COMPILE_MEDIA = ${lib.boolToString withMedia} 73 + COMPILE_WEBKIT = ${lib.boolToString withWebKit} 71 74 ''; 72 75 73 76 preBuild = ''
+8 -5
pkgs/development/compilers/openjdk/openjfx/19.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless 2 - , openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst 3 - , libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68 }: 2 + , openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk3, libXtst 3 + , libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68 4 + , withMedia ? true 5 + , withWebKit ? false 6 + }: 4 7 5 8 let 6 9 major = "19"; ··· 35 38 }) 36 39 ]; 37 40 38 - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ]; 41 + buildInputs = [ gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ]; 39 42 nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ]; 40 43 41 44 dontUseCmakeConfigure = true; ··· 83 86 pname = "openjfx-modular-sdk"; 84 87 85 88 gradleProperties = '' 86 - COMPILE_MEDIA = true 87 - COMPILE_WEBKIT = false 89 + COMPILE_MEDIA = ${lib.boolToString withMedia} 90 + COMPILE_WEBKIT = ${lib.boolToString withWebKit} 88 91 ''; 89 92 90 93 preBuild = ''
+7 -3
pkgs/top-level/all-packages.nix
··· 2921 2921 2922 2922 bcachefs-tools = callPackage ../tools/filesystems/bcachefs-tools { }; 2923 2923 2924 - bisq-desktop = callPackage ../applications/blockchains/bisq-desktop { }; 2924 + bisq-desktop = callPackage ../applications/blockchains/bisq-desktop { 2925 + openjdk11 = openjdk11.override { enableJavaFX = true; }; 2926 + }; 2925 2927 2926 2928 bic = callPackage ../development/interpreters/bic { }; 2927 2929 ··· 14904 14906 14905 14907 hugs = callPackage ../development/interpreters/hugs { }; 14906 14908 14907 - inherit (javaPackages) openjfx11 openjfx15 openjfx17; 14909 + inherit (javaPackages) openjfx11 openjfx15 openjfx17 openjfx19; 14908 14910 openjfx = openjfx17; 14909 14911 14910 14912 openjdk8-bootstrap = javaPackages.compiler.openjdk8-bootstrap; ··· 31673 31675 31674 31676 pdfdiff = callPackage ../applications/misc/pdfdiff { }; 31675 31677 31676 - pdfsam-basic = callPackage ../applications/misc/pdfsam-basic { }; 31678 + pdfsam-basic = callPackage ../applications/misc/pdfsam-basic { 31679 + jdk11 = openjdk11.override { enableJavaFX = true; }; 31680 + }; 31677 31681 31678 31682 mupdf = callPackage ../applications/misc/mupdf { }; 31679 31683 mupdf_1_17 = callPackage ../applications/misc/mupdf/1.17.nix { };