openjdk: bootstrap headless variant with headless openjdk

This makes bootstrapping work when environment.noXlibs is set to true
This commit is contained in:
Sandro Jäckel 2023-01-31 17:55:22 +01:00 committed by Anderson Torres
parent 579ac201c6
commit 8204a95ef2
11 changed files with 62 additions and 31 deletions

View file

@ -14,6 +14,9 @@ let
update = "18";
build = "10";
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk11-bootstrap.override { gtkSupport = !headless; };
openjdk = stdenv.mkDerivation rec {
pname = "openjdk" + lib.optionalString headless "-headless";
version = "${major}.${minor}.${update}+${build}";
@ -29,7 +32,7 @@ let
buildInputs = [
cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig openjdk11-bootstrap
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk3 gnome_vfs GConf glib
];
@ -58,7 +61,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk11-bootstrap.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-version-pre="
"--enable-unlimited-crypto"
"--with-native-debug-symbols=internal"
@ -155,7 +158,7 @@ let
done
'';
disallowedReferences = [ openjdk11-bootstrap ];
disallowedReferences = [ openjdk-bootstrap ];
meta = import ./meta.nix lib version;

View file

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip
, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2
, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama
, libXcursor, libXrandr, fontconfig, openjdk11, fetchpatch
, libXcursor, libXrandr, fontconfig, openjdk11-bootstrap, fetchpatch
, setJavaClassPath
, headless ? false
, enableJavaFX ? false, openjfx
@ -13,6 +13,9 @@ let
update = ".0.2";
build = "ga";
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk11-bootstrap.override { gtkSupport = !headless; };
openjdk = stdenv.mkDerivation rec {
pname = "openjdk" + lib.optionalString headless "-headless";
version = "${major}${update}-${build}";
@ -26,7 +29,7 @@ let
buildInputs = [
cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig openjdk11
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk3 gnome_vfs GConf glib
];
@ -59,7 +62,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk11.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-version-pre="
"--enable-unlimited-crypto"
"--with-native-debug-symbols=internal"
@ -151,7 +154,7 @@ let
done
'';
disallowedReferences = [ openjdk11 ];
disallowedReferences = [ openjdk-bootstrap ];
meta = import ./meta.nix lib version;

View file

@ -13,6 +13,9 @@ let
update = ".0.2";
build = "-ga";
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk13-bootstrap.override { gtkSupport = !headless; };
openjdk = stdenv.mkDerivation rec {
pname = "openjdk" + lib.optionalString headless "-headless";
version = "${major}${update}${build}";
@ -26,7 +29,7 @@ let
buildInputs = [
cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig openjdk13-bootstrap
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk3 gnome_vfs GConf glib
];
@ -59,7 +62,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk13-bootstrap.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-version-pre="
"--enable-unlimited-crypto"
"--with-native-debug-symbols=internal"
@ -151,7 +154,7 @@ let
done
'';
disallowedReferences = [ openjdk13-bootstrap ];
disallowedReferences = [ openjdk-bootstrap ];
meta = import ./meta.nix lib version;

View file

@ -13,6 +13,9 @@ let
update = ".0.2";
build = "-ga";
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk14-bootstrap.override { gtkSupport = !headless; };
openjdk = stdenv.mkDerivation rec {
pname = "openjdk" + lib.optionalString headless "-headless";
version = "${major}${update}${build}";
@ -26,7 +29,7 @@ let
buildInputs = [
cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig openjdk14-bootstrap
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk3 gnome_vfs GConf glib
];
@ -54,7 +57,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk14-bootstrap.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-version-pre="
"--enable-unlimited-crypto"
"--with-native-debug-symbols=internal"
@ -147,7 +150,7 @@ let
done
'';
disallowedReferences = [ openjdk14-bootstrap ];
disallowedReferences = [ openjdk-bootstrap ];
meta = import ./meta.nix lib version;

View file

@ -16,6 +16,9 @@ let
__toString = self: "${self.major}${self.update}${self.build}";
};
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk15-bootstrap.override { gtkSupport = !headless; };
openjdk = stdenv.mkDerivation {
pname = "openjdk" + lib.optionalString headless "-headless";
inherit version;
@ -29,7 +32,7 @@ let
buildInputs = [
cpio perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig openjdk15-bootstrap
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk3 gnome_vfs GConf glib
];
@ -57,7 +60,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk15-bootstrap.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-version-pre="
"--enable-unlimited-crypto"
"--with-native-debug-symbols=internal"
@ -150,7 +153,7 @@ let
done
'';
disallowedReferences = [ openjdk15-bootstrap ];
disallowedReferences = [ openjdk-bootstrap ];
pos = builtins.unsafeGetAttrPos "major" version;
meta = import ./meta.nix lib version.major;

View file

@ -15,6 +15,9 @@ let
build = "36";
};
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk16-bootstrap.override { gtkSupport = !headless; };
openjdk = stdenv.mkDerivation {
pname = "openjdk" + lib.optionalString headless "-headless";
version = "${version.feature}+${version.build}";
@ -30,7 +33,7 @@ let
buildInputs = [
cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig openjdk16-bootstrap
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk3 gnome_vfs GConf glib
];
@ -59,7 +62,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk16-bootstrap.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-version-build=${version.build}"
"--with-version-opt=nixos"
"--with-version-pre="
@ -154,7 +157,7 @@ let
done
'';
disallowedReferences = [ openjdk16-bootstrap ];
disallowedReferences = [ openjdk-bootstrap ];
pos = builtins.unsafeGetAttrPos "feature" version;
meta = import ./meta.nix lib version.feature;

View file

@ -15,6 +15,9 @@ let
build = "10";
};
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk17-bootstrap.override { gtkSupport = !headless; };
openjdk = stdenv.mkDerivation {
pname = "openjdk" + lib.optionalString headless "-headless";
version = "${version.feature}${version.interim}+${version.build}";
@ -30,7 +33,7 @@ let
buildInputs = [
cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig openjdk17-bootstrap
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk3 gnome_vfs GConf glib
];
@ -76,7 +79,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk17-bootstrap.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-version-build=${version.build}"
"--with-version-opt=nixos"
"--with-version-pre="
@ -173,7 +176,7 @@ let
done
'';
disallowedReferences = [ openjdk17-bootstrap ];
disallowedReferences = [ openjdk-bootstrap ];
pos = builtins.unsafeGetAttrPos "feature" version;
meta = import ./meta.nix lib version.feature;

View file

@ -14,6 +14,9 @@ let
build = "36";
};
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk18-bootstrap.override { gtkSupport = !headless; };
openjdk = stdenv.mkDerivation {
pname = "openjdk" + lib.optionalString headless "-headless";
version = "${version.feature}+${version.build}";
@ -29,7 +32,7 @@ let
buildInputs = [
cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib
libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig openjdk18-bootstrap
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk3 gnome_vfs GConf glib
];
@ -66,7 +69,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk18-bootstrap.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-version-build=${version.build}"
"--with-version-opt=nixos"
"--with-version-pre="
@ -163,7 +166,7 @@ let
done
'';
disallowedReferences = [ openjdk18-bootstrap ];
disallowedReferences = [ openjdk-bootstrap ];
pos = builtins.unsafeGetAttrPos "feature" version;
meta = import ./meta.nix lib version.feature;

View file

@ -18,6 +18,9 @@ let
build = "7";
};
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk19-bootstrap.override { gtkSupport = !headless; };
openjdk = stdenv.mkDerivation {
pname = "openjdk" + lib.optionalString headless "-headless";
version = "${version.feature}${version.interim}+${version.build}";
@ -33,7 +36,7 @@ let
buildInputs = [
cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib
libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig openjdk19-bootstrap
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk3 gnome_vfs GConf glib
];
@ -78,7 +81,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk19-bootstrap.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-version-build=${version.build}"
"--with-version-opt=nixos"
"--with-version-pre="
@ -173,7 +176,7 @@ let
done
'';
disallowedReferences = [ openjdk19-bootstrap ];
disallowedReferences = [ openjdk-bootstrap ];
pos = builtins.unsafeGetAttrPos "feature" version;
meta = import ./meta.nix lib version.feature;

View file

@ -23,6 +23,9 @@ let
update = "362";
build = "ga";
# when building a headless jdk, also bootstrap it with a headless jdk
openjdk-bootstrap = openjdk8-bootstrap.override { gtkSupport = !headless; };
openjdk8 = stdenv.mkDerivation rec {
pname = "openjdk" + lib.optionalString headless "-headless";
version = "8u${update}-${build}";
@ -37,9 +40,9 @@ let
nativeBuildInputs = [ pkg-config lndir unzip ];
buildInputs = [
cpio file which zip perl openjdk8-bootstrap zlib cups freetype alsa-lib
cpio file which zip perl zlib cups freetype alsa-lib
libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr fontconfig
libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
] ++ lib.optionals (!headless && enableGnome2) [
gtk2 gnome_vfs GConf glib
];
@ -64,7 +67,7 @@ let
'';
configureFlags = [
"--with-boot-jdk=${openjdk8-bootstrap.home}"
"--with-boot-jdk=${openjdk-bootstrap.home}"
"--with-update-version=${update}"
"--with-build-number=${build}"
"--with-milestone=fcs"

View file

@ -110,6 +110,7 @@ in {
openjdk13-bootstrap = mkBootstrap adoptopenjdk-13
../development/compilers/openjdk/12.nix
(bootstrapArgs // {
inherit openjdk11-bootstrap;
/* build segfaults with gcc9 or newer, so use gcc8 like Debian does */
stdenv = gcc8Stdenv;
});