From c51b524aca492f77e21c2794b268bad1a110f00e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolf=20Schr=C3=B6der?= Date: Tue, 23 Apr 2024 13:50:03 +0200 Subject: [PATCH 1/2] corretto: refactor argument forwarding to gradle --- pkgs/development/compilers/corretto/11.nix | 19 +++++++------------ .../compilers/corretto/mk-corretto.nix | 6 ++++-- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/pkgs/development/compilers/corretto/11.nix b/pkgs/development/compilers/corretto/11.nix index 9e61e133f4cf..06de7a7bbdf8 100644 --- a/pkgs/development/compilers/corretto/11.nix +++ b/pkgs/development/compilers/corretto/11.nix @@ -14,6 +14,12 @@ let inherit lib stdenv rsync runCommand testers; jdk = jdk11; gradle = gradle_7; + extraConfig = [ + # jdk11 is built with --disable-warnings-as-errors (see openjdk/11.nix) + # because of several compile errors. We need to include this parameter for + # Corretto, too. + "--disable-warnings-as-errors" + ]; version = "11.0.20.9.1"; src = fetchFromGitHub { owner = "corretto"; @@ -23,15 +29,4 @@ let }; }; in -corretto.overrideAttrs (oldAttrs: { - # jdk11 is built with --disable-warnings-as-errors (see openjdk/11.nix) - # because of several compile errors. We need to include this parameter for - # Corretto, too. Since the build is invoked via `gradle` build.gradle has to - # be adapted. - postPatch = oldAttrs.postPatch + '' - for file in $(find installers -name "build.gradle"); do - substituteInPlace $file --replace "command += archSpecificFlags" "command += archSpecificFlags + ['--disable-warnings-as-errors']" - done - ''; - -}) +corretto diff --git a/pkgs/development/compilers/corretto/mk-corretto.nix b/pkgs/development/compilers/corretto/mk-corretto.nix index adc6a86d98e2..c26614e47641 100644 --- a/pkgs/development/compilers/corretto/mk-corretto.nix +++ b/pkgs/development/compilers/corretto/mk-corretto.nix @@ -4,6 +4,7 @@ , lib , stdenv , gradle +, extraConfig ? [ ] , rsync , runCommand , testers @@ -38,7 +39,7 @@ jdk.overrideAttrs (finalAttrs: oldAttrs: { # `/usr/bin/rsync` is invoked to copy the source tree. We don't have that. for file in $(find installers -name "build.gradle"); do - substituteInPlace $file --replace "workingDir '/usr/bin'" "workingDir '.'" + substituteInPlace $file --replace-warn "workingDir '/usr/bin'" "workingDir '.'" done ''; @@ -51,12 +52,13 @@ jdk.overrideAttrs (finalAttrs: oldAttrs: { if stdenv.isDarwin then ":installers:mac:tar:packageBuildResults" else ":installers:linux:universal:tar:packageBuildResults"; + extra_config = builtins.concatStringsSep " " extraConfig; in '' runHook preBuild # Corretto's actual built is triggered via `gradle`. - gradle --console=plain --no-daemon ${task} + gradle -Pcorretto.extra_config="${extra_config}" --console=plain --no-daemon ${task} # Prepare for the installPhase so that it looks like if a normal # OpenJDK had been built. From 0cd0fe654e62316e039ce93603109235dbfd0832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolf=20Schr=C3=B6der?= Date: Fri, 26 Apr 2024 09:05:55 +0200 Subject: [PATCH 2/2] corretto21: init at 21.0.3.9.1 --- pkgs/development/compilers/corretto/21.nix | 26 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + pkgs/top-level/java-packages.nix | 1 + 3 files changed, 28 insertions(+) create mode 100644 pkgs/development/compilers/corretto/21.nix diff --git a/pkgs/development/compilers/corretto/21.nix b/pkgs/development/compilers/corretto/21.nix new file mode 100644 index 000000000000..fed3aa05f7a0 --- /dev/null +++ b/pkgs/development/compilers/corretto/21.nix @@ -0,0 +1,26 @@ +{ corretto21 +, fetchFromGitHub +, gradle_7 +, jdk21 +, lib +, stdenv +, rsync +, runCommand +, testers +}: + +let + corretto = import ./mk-corretto.nix { + inherit lib stdenv rsync runCommand testers; + jdk = jdk21; + gradle = gradle_7; + version = "21.0.3.9.1"; + src = fetchFromGitHub { + owner = "corretto"; + repo = "corretto-21"; + rev = "97b366227b4dc8f5a89bbedea88b0b18c9e21886"; + sha256 = "sha256-V8UDyukDCQVTWUg4IpSKoY0qnnQ5fePbm3rxcw06Vr0="; + }; + }; +in +corretto diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 077b0a963a92..5ebd939655b3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15663,6 +15663,7 @@ with pkgs; corretto11 = javaPackages.compiler.corretto11; corretto17 = javaPackages.compiler.corretto17; corretto19 = javaPackages.compiler.corretto19; + corretto21 = javaPackages.compiler.corretto21; cotton = callPackage ../development/tools/cotton { inherit (darwin.apple_sdk.frameworks) CoreServices; diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index 3043f8e220eb..23153e052126 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -98,6 +98,7 @@ in { corretto11 = callPackage ../development/compilers/corretto/11.nix { }; corretto17 = callPackage ../development/compilers/corretto/17.nix { }; corretto19 = callPackage ../development/compilers/corretto/19.nix { }; + corretto21 = callPackage ../development/compilers/corretto/21.nix { }; openjdk8-bootstrap = mkBootstrap adoptopenjdk-8 ../development/compilers/openjdk/bootstrap.nix