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] 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.