corretto11: 11.0.26.4.1 -> 11.0.29.7.1

Gradle7 is phased out in nixpkgs but corretto <= 21 does not support
Gradle8. See https://github.com/corretto/corretto-21/issues/114#issuecomment-3198171683.
Hence, ./corretto11-gradle8.patch is added. This patch is loosely based
on https://github.com/corretto/corretto-jdk/pull/135.
This commit is contained in:
Rolf Schröder
2025-11-04 22:21:55 +01:00
parent 0057e680db
commit 24232f2eea
2 changed files with 347 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
{
fetchFromGitHub,
gradle_7,
gradle_8,
jdk11,
lib,
stdenv,
@@ -19,20 +19,25 @@ let
testers
;
jdk = jdk11;
gradle = gradle_7;
gradle = gradle_8;
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.26.4.1";
version = "11.0.29.7.1";
src = fetchFromGitHub {
owner = "corretto";
repo = "corretto-11";
rev = version;
hash = "sha256-buJlSvmyOVeMwaP9oDcHhG+Sabr1exf0nRUt4O7MaIY=";
hash = "sha256-/VlV8tAo1deOZ5Trc4VlLNtpjWx352qUGZmfVbj7HuU=";
};
};
in
corretto
corretto.overrideAttrs (oldAttrs: {
patches = (oldAttrs.patches or [ ]) ++ [
./corretto11-gradle8.patch
];
})

View File

@@ -0,0 +1,337 @@
diff --git a/build.gradle b/build.gradle
index a589bb568..6e0164562 100644
--- a/build.gradle
+++ b/build.gradle
@@ -240,7 +240,7 @@ project(':prebuild') {
def generateToolMain = "build.tools.generatecacerts.GenerateCacerts"
task copyToolSrc(type: Copy) {
- description 'Copy utility tool source to the project root'
+ description = 'Copy utility tool source to the project root'
from fileTree("$rootDir/make/jdk/src/classes") {
include 'build/tools/generatecacerts/*'
}
@@ -250,7 +250,7 @@ project(':prebuild') {
task buildTool(type: JavaCompile) {
dependsOn copyToolSrc
source = fileTree(dir: preBuildSrc, include: '**/*.java')
- destinationDir = file(classPath)
+ destinationDirectory = file(classPath)
classpath = files(classPath)
}
@@ -260,7 +260,7 @@ project(':prebuild') {
description = 'Generate Cacerts from JDK source'
classpath = files(classPath)
- main = generateToolMain
+ mainClass = generateToolMain
args = [jdkCaDir, project.caCerts]
}
@@ -291,9 +291,9 @@ project(':openjdksrc') {
* Compresses a snapshot of the source code used to perform the build.
*/
task sourceDistributionTarball(type: Tar) {
- description 'Assemble source files required for building and distributing Corretto.'
- compression Compression.GZIP
- archiveName sourceTar
+ description = 'Assemble source files required for building and distributing Corretto.'
+ compression = Compression.GZIP
+ archiveFileName = sourceTar
from fileTree(rootDir) {
include 'LICENSE',
'ADDITIONAL_LICENSE_INFO',
diff --git a/installers/linux/al2/spec/build.gradle b/installers/linux/al2/spec/build.gradle
index 598d658de..b99e94d83 100644
--- a/installers/linux/al2/spec/build.gradle
+++ b/installers/linux/al2/spec/build.gradle
@@ -62,8 +62,8 @@ task inflateRpmSpec {
task copySourceTar(type: Tar) {
dependsOn project.configurations.compile, inflateRpmSpec
- compression Compression.GZIP
- archiveName project.configurations.compile.singleFile.name
+ compression = Compression.GZIP
+ archiveFileName = project.configurations.compile.singleFile.name
from("$buildDir") {
include "java-${project.version.major}-amazon-corretto.spec"
into 'rpm'
@@ -121,8 +121,8 @@ task inflateRpmSpecModular {
task copySourceTarModular(type: Tar) {
dependsOn project.configurations.compile, inflateRpmSpecModular
- compression Compression.GZIP
- archiveName project.configurations.compile.singleFile.name
+ compression = Compression.GZIP
+ archiveFileName = project.configurations.compile.singleFile.name
from("$buildDir") {
include "java-${project.version.major}-amazon-corretto-modular.spec"
into 'rpm'
diff --git a/installers/linux/alpine/tar/build.gradle b/installers/linux/alpine/tar/build.gradle
index 4867205e5..0c850d15f 100644
--- a/installers/linux/alpine/tar/build.gradle
+++ b/installers/linux/alpine/tar/build.gradle
@@ -143,9 +143,9 @@ task createTestImage(type: Exec) {
task packageTestImage(type: Tar) {
dependsOn createTestImage
- description 'Package test results'
- archiveName "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
- compression Compression.GZIP
+ description = 'Package test results'
+ archiveFileName = "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
+ compression = Compression.GZIP
from(testResultingImage) {
include '**'
}
@@ -155,9 +155,9 @@ task packageTestImage(type: Tar) {
task packageDebugSymbols(type: Tar) {
dependsOn packageTestImage
- description 'Package debug symbols'
- archiveName "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
- compression Compression.GZIP
+ description = 'Package debug symbols'
+ archiveFileName = "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
+ compression = Compression.GZIP
from(jdkResultingImage) {
include 'bin/*.diz'
include 'lib/*.diz'
@@ -167,12 +167,12 @@ task packageDebugSymbols(type: Tar) {
}
task packageBuildResults(type: Tar) {
- description 'Compresses the JDK image and puts the results in build/distributions.'
+ description = 'Compresses the JDK image and puts the results in build/distributions.'
dependsOn packageDebugSymbols
dependsOn bundleThirdPartyBinaries
dependsOn importAmazonCacerts
- archiveName "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
- compression Compression.GZIP
+ archiveFileName = "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
+ compression = Compression.GZIP
from(buildRoot) {
include 'ADDITIONAL_LICENSE_INFO'
include 'ASSEMBLY_EXCEPTION'
@@ -196,7 +196,7 @@ task packageBuildResults(type: Tar) {
// See https://github.com/corretto/corretto-11/issues/129
from(jdkResultingImage) {
include 'legal/**'
- fileMode 0444
+ fileMode = 0444
}
into "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}"
}
diff --git a/installers/linux/universal/deb/build.gradle b/installers/linux/universal/deb/build.gradle
index 565cd7c2b..f2cc09982 100644
--- a/installers/linux/universal/deb/build.gradle
+++ b/installers/linux/universal/deb/build.gradle
@@ -20,7 +20,7 @@
*/
plugins {
- id 'nebula.ospackage' version 'latest.release'
+ id 'com.netflix.nebula.ospackage' version 'latest.release'
}
dependencies {
@@ -57,22 +57,22 @@ def jinfoName = ".${jdkInstallationDirName}.jinfo"
ospackage {
// Valid version must start with a digit and only contain [A-Za-z0-9.+:~-]
// See http://manpages.ubuntu.com/manpages/artful/en/man5/deb-version.5.html
- version project.version.upstream
- release project.version.revision
-
- url "${packageInfo.url}"
- vendor "${packageInfo.vendor}"
- packager "${packageInfo.packager}"
- license "${packageInfo.license}"
- buildHost "${packageInfo.buildHost}"
- maintainer "${packageInfo.maintainer}"
- packageGroup 'java'
- priority 'optional'
- user 'root'
- permissionGroup 'root'
- epoch 1
- arch arch_deb
- multiArch SAME
+ version = project.version.upstream
+ release = project.version.revision
+
+ url = "${packageInfo.url}"
+ vendor = "${packageInfo.vendor}"
+ packager = "${packageInfo.packager}"
+ license = "${packageInfo.license}"
+ buildHost = "${packageInfo.buildHost}"
+ maintainer = "${packageInfo.maintainer}"
+ packageGroup = 'java'
+ priority = 'optional'
+ user = 'root'
+ permissionGroup = 'root'
+ epoch = 1
+ arch = arch_deb
+ multiArch = SAME
}
/**
@@ -129,13 +129,13 @@ task inflateJinfoTemplate(type: Copy) {
* distributions folder.
*/
task generateJdkDeb(type: Deb) {
- description 'Create the DEB package for Corretto JDK'
+ description = 'Create the DEB package for Corretto JDK'
dependsOn inflateDebScriptTemplate
dependsOn inflateJinfoTemplate
- packageName jdkPackageName
- packageDescription "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code."
- summary "Amazon Corretto ${project.version.major} development environment"
+ packageName = jdkPackageName
+ packageDescription = "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code."
+ summary = "Amazon Corretto ${project.version.major} development environment"
postInstall file("$buildRoot/scripts/postin_jdk.sh")
preUninstall file("$buildRoot/scripts/preun_jdk.sh")
diff --git a/installers/linux/universal/rpm/build.gradle b/installers/linux/universal/rpm/build.gradle
index c309c8ddb..346bcc21e 100644
--- a/installers/linux/universal/rpm/build.gradle
+++ b/installers/linux/universal/rpm/build.gradle
@@ -20,7 +20,7 @@
*/
plugins {
- id 'nebula.ospackage' version 'latest.release'
+ id 'com.netflix.nebula.ospackage' version 'latest.release'
}
dependencies {
@@ -51,20 +51,20 @@ def jdkBinaryDir = "${buildRoot}/${project.correttoJdkArchiveName}"
def jdkPackageName = "java-${project.version.major}-amazon-corretto-devel"
ospackage {
- version project.version.upstream
- release project.version.revision
-
- url "${packageInfo.url}"
- vendor "${packageInfo.vendor}"
- packager "${packageInfo.packager}"
- license "${packageInfo.license}"
- buildHost "${packageInfo.buildHost}"
- user 'root'
- permissionGroup 'root'
- epoch 1
- arch arch_redline
- os LINUX
- type BINARY
+ version = project.version.upstream
+ release = project.version.revision
+
+ url = "${packageInfo.url}"
+ vendor = "${packageInfo.vendor}"
+ packager = "${packageInfo.packager}"
+ license = "${packageInfo.license}"
+ buildHost = "${packageInfo.buildHost}"
+ user = 'root'
+ permissionGroup = 'root'
+ epoch = 1
+ arch = arch_redline
+ os = LINUX
+ type = BINARY
}
/**
@@ -101,14 +101,14 @@ task inflateRpmScriptTemplate(type: Copy) {
* distributions folder.
*/
task generateJdkRpm(type: Rpm) {
- description 'Create the RPM package for Corretto JDK'
+ description = 'Create the RPM package for Corretto JDK'
dependsOn inflateRpmScriptTemplate
- packageName jdkPackageName
- packageDescription packageInfo.description
- summary "Amazon Corretto ${project.version.major} development environment"
- packageGroup 'Development/Tools'
+ packageName = jdkPackageName
+ packageDescription = packageInfo.description
+ summary = "Amazon Corretto ${project.version.major} development environment"
+ packageGroup = 'Development/Tools'
// Remove after https://github.com/nebula-plugins/gradle-ospackage-plugin/issues/401 is merged and released
- sourcePackage "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm"
+ sourcePackage = "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm"
prefix(jdkHome)
postInstall file("$buildRoot/scripts/postin_java.sh")
diff --git a/installers/linux/universal/tar/build.gradle b/installers/linux/universal/tar/build.gradle
index 72236d92c..e825a7594 100644
--- a/installers/linux/universal/tar/build.gradle
+++ b/installers/linux/universal/tar/build.gradle
@@ -85,7 +85,7 @@ task copySource(type: Exec) {
"${project.rootDir}/", buildRoot
}
-/**
+/**
* Scan the patches folder for any .patch that needs
* to be applied before start building.
*/
@@ -106,7 +106,7 @@ task configureBuild(type: Exec) {
workingDir "$buildRoot"
def isArmv7 = project.hasProperty("armv7") ? Boolean.valueOf("${project.getProperty('armv7')}") : false
- def zlibFlag = isArmv7 ? "--with-zlib=bundled" : "--with-zlib=system"
+ def zlibFlag = isArmv7 ? "--with-zlib=bundled" : "--with-zlib=system"
// Platform specific flags
def command = ['bash', 'configure',
@@ -156,9 +156,9 @@ task createTestImage(type: Exec) {
task packageTestImage(type: Tar) {
dependsOn createTestImage
- description 'Package test results'
- archiveName "${project.correttoTestImageArchiveName}.tar.gz"
- compression Compression.GZIP
+ description = 'Package test results'
+ archiveFileName = "${project.correttoTestImageArchiveName}.tar.gz"
+ compression = Compression.GZIP
from(testResultingImage) {
include '**'
}
@@ -166,10 +166,10 @@ task packageTestImage(type: Tar) {
}
task packageDebugSymbols(type: Tar) {
- description 'Package debug results'
+ description = 'Package debug results'
dependsOn packageTestImage
- archiveName "${project.correttoDebugSymbolsArchiveName}.tar.gz"
- compression Compression.GZIP
+ archiveFileName = "${project.correttoDebugSymbolsArchiveName}.tar.gz"
+ compression = Compression.GZIP
from(jdkResultingImage) {
include 'bin/*.diz'
include 'lib/*.diz'
@@ -179,11 +179,11 @@ task packageDebugSymbols(type: Tar) {
}
task packageBuildResults(type: Tar) {
- description 'Compresses the JDK image and puts the results in build/distributions.'
+ description = 'Compresses the JDK image and puts the results in build/distributions.'
dependsOn packageDebugSymbols
dependsOn bundleThirdPartyBinaries
- archiveName "${project.correttoJdkArchiveName}.tar.gz"
- compression Compression.GZIP
+ archiveFileName = "${project.correttoJdkArchiveName}.tar.gz"
+ compression = Compression.GZIP
from(buildRoot) {
include 'ADDITIONAL_LICENSE_INFO'
include 'ASSEMBLY_EXCEPTION'
@@ -209,7 +209,7 @@ task packageBuildResults(type: Tar) {
// See https://github.com/corretto/corretto-11/issues/129
from("${jdkResultingImage}/legal") {
include '**'
- fileMode 0444
+ fileMode = 0444
into "${project.correttoJdkArchiveName}/legal"
}
}