Skip to content

Commit 24232f2

Browse files
committed
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 corretto/corretto-21#114 (comment). Hence, ./corretto11-gradle8.patch is added. This patch is loosely based on corretto/corretto-jdk#135.
1 parent 0057e68 commit 24232f2

File tree

2 files changed

+347
-5
lines changed

2 files changed

+347
-5
lines changed

pkgs/development/compilers/corretto/11.nix

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
fetchFromGitHub,
3-
gradle_7,
3+
gradle_8,
44
jdk11,
55
lib,
66
stdenv,
@@ -19,20 +19,25 @@ let
1919
testers
2020
;
2121
jdk = jdk11;
22-
gradle = gradle_7;
22+
gradle = gradle_8;
2323
extraConfig = [
2424
# jdk11 is built with --disable-warnings-as-errors (see openjdk/11.nix)
2525
# because of several compile errors. We need to include this parameter for
2626
# Corretto, too.
2727
"--disable-warnings-as-errors"
2828
];
29-
version = "11.0.26.4.1";
29+
version = "11.0.29.7.1";
3030
src = fetchFromGitHub {
3131
owner = "corretto";
3232
repo = "corretto-11";
3333
rev = version;
34-
hash = "sha256-buJlSvmyOVeMwaP9oDcHhG+Sabr1exf0nRUt4O7MaIY=";
34+
hash = "sha256-/VlV8tAo1deOZ5Trc4VlLNtpjWx352qUGZmfVbj7HuU=";
3535
};
3636
};
3737
in
38-
corretto
38+
corretto.overrideAttrs (oldAttrs: {
39+
patches = (oldAttrs.patches or [ ]) ++ [
40+
./corretto11-gradle8.patch
41+
];
42+
43+
})
Lines changed: 337 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,337 @@
1+
diff --git a/build.gradle b/build.gradle
2+
index a589bb568..6e0164562 100644
3+
--- a/build.gradle
4+
+++ b/build.gradle
5+
@@ -240,7 +240,7 @@ project(':prebuild') {
6+
def generateToolMain = "build.tools.generatecacerts.GenerateCacerts"
7+
8+
task copyToolSrc(type: Copy) {
9+
- description 'Copy utility tool source to the project root'
10+
+ description = 'Copy utility tool source to the project root'
11+
from fileTree("$rootDir/make/jdk/src/classes") {
12+
include 'build/tools/generatecacerts/*'
13+
}
14+
@@ -250,7 +250,7 @@ project(':prebuild') {
15+
task buildTool(type: JavaCompile) {
16+
dependsOn copyToolSrc
17+
source = fileTree(dir: preBuildSrc, include: '**/*.java')
18+
- destinationDir = file(classPath)
19+
+ destinationDirectory = file(classPath)
20+
classpath = files(classPath)
21+
}
22+
23+
@@ -260,7 +260,7 @@ project(':prebuild') {
24+
25+
description = 'Generate Cacerts from JDK source'
26+
classpath = files(classPath)
27+
- main = generateToolMain
28+
+ mainClass = generateToolMain
29+
args = [jdkCaDir, project.caCerts]
30+
}
31+
32+
@@ -291,9 +291,9 @@ project(':openjdksrc') {
33+
* Compresses a snapshot of the source code used to perform the build.
34+
*/
35+
task sourceDistributionTarball(type: Tar) {
36+
- description 'Assemble source files required for building and distributing Corretto.'
37+
- compression Compression.GZIP
38+
- archiveName sourceTar
39+
+ description = 'Assemble source files required for building and distributing Corretto.'
40+
+ compression = Compression.GZIP
41+
+ archiveFileName = sourceTar
42+
from fileTree(rootDir) {
43+
include 'LICENSE',
44+
'ADDITIONAL_LICENSE_INFO',
45+
diff --git a/installers/linux/al2/spec/build.gradle b/installers/linux/al2/spec/build.gradle
46+
index 598d658de..b99e94d83 100644
47+
--- a/installers/linux/al2/spec/build.gradle
48+
+++ b/installers/linux/al2/spec/build.gradle
49+
@@ -62,8 +62,8 @@ task inflateRpmSpec {
50+
51+
task copySourceTar(type: Tar) {
52+
dependsOn project.configurations.compile, inflateRpmSpec
53+
- compression Compression.GZIP
54+
- archiveName project.configurations.compile.singleFile.name
55+
+ compression = Compression.GZIP
56+
+ archiveFileName = project.configurations.compile.singleFile.name
57+
from("$buildDir") {
58+
include "java-${project.version.major}-amazon-corretto.spec"
59+
into 'rpm'
60+
@@ -121,8 +121,8 @@ task inflateRpmSpecModular {
61+
62+
task copySourceTarModular(type: Tar) {
63+
dependsOn project.configurations.compile, inflateRpmSpecModular
64+
- compression Compression.GZIP
65+
- archiveName project.configurations.compile.singleFile.name
66+
+ compression = Compression.GZIP
67+
+ archiveFileName = project.configurations.compile.singleFile.name
68+
from("$buildDir") {
69+
include "java-${project.version.major}-amazon-corretto-modular.spec"
70+
into 'rpm'
71+
diff --git a/installers/linux/alpine/tar/build.gradle b/installers/linux/alpine/tar/build.gradle
72+
index 4867205e5..0c850d15f 100644
73+
--- a/installers/linux/alpine/tar/build.gradle
74+
+++ b/installers/linux/alpine/tar/build.gradle
75+
@@ -143,9 +143,9 @@ task createTestImage(type: Exec) {
76+
77+
task packageTestImage(type: Tar) {
78+
dependsOn createTestImage
79+
- description 'Package test results'
80+
- archiveName "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
81+
- compression Compression.GZIP
82+
+ description = 'Package test results'
83+
+ archiveFileName = "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
84+
+ compression = Compression.GZIP
85+
from(testResultingImage) {
86+
include '**'
87+
}
88+
@@ -155,9 +155,9 @@ task packageTestImage(type: Tar) {
89+
90+
task packageDebugSymbols(type: Tar) {
91+
dependsOn packageTestImage
92+
- description 'Package debug symbols'
93+
- archiveName "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
94+
- compression Compression.GZIP
95+
+ description = 'Package debug symbols'
96+
+ archiveFileName = "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
97+
+ compression = Compression.GZIP
98+
from(jdkResultingImage) {
99+
include 'bin/*.diz'
100+
include 'lib/*.diz'
101+
@@ -167,12 +167,12 @@ task packageDebugSymbols(type: Tar) {
102+
}
103+
104+
task packageBuildResults(type: Tar) {
105+
- description 'Compresses the JDK image and puts the results in build/distributions.'
106+
+ description = 'Compresses the JDK image and puts the results in build/distributions.'
107+
dependsOn packageDebugSymbols
108+
dependsOn bundleThirdPartyBinaries
109+
dependsOn importAmazonCacerts
110+
- archiveName "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
111+
- compression Compression.GZIP
112+
+ archiveFileName = "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
113+
+ compression = Compression.GZIP
114+
from(buildRoot) {
115+
include 'ADDITIONAL_LICENSE_INFO'
116+
include 'ASSEMBLY_EXCEPTION'
117+
@@ -196,7 +196,7 @@ task packageBuildResults(type: Tar) {
118+
// See https://github.com/corretto/corretto-11/issues/129
119+
from(jdkResultingImage) {
120+
include 'legal/**'
121+
- fileMode 0444
122+
+ fileMode = 0444
123+
}
124+
into "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}"
125+
}
126+
diff --git a/installers/linux/universal/deb/build.gradle b/installers/linux/universal/deb/build.gradle
127+
index 565cd7c2b..f2cc09982 100644
128+
--- a/installers/linux/universal/deb/build.gradle
129+
+++ b/installers/linux/universal/deb/build.gradle
130+
@@ -20,7 +20,7 @@
131+
*/
132+
133+
plugins {
134+
- id 'nebula.ospackage' version 'latest.release'
135+
+ id 'com.netflix.nebula.ospackage' version 'latest.release'
136+
}
137+
138+
dependencies {
139+
@@ -57,22 +57,22 @@ def jinfoName = ".${jdkInstallationDirName}.jinfo"
140+
ospackage {
141+
// Valid version must start with a digit and only contain [A-Za-z0-9.+:~-]
142+
// See http://manpages.ubuntu.com/manpages/artful/en/man5/deb-version.5.html
143+
- version project.version.upstream
144+
- release project.version.revision
145+
-
146+
- url "${packageInfo.url}"
147+
- vendor "${packageInfo.vendor}"
148+
- packager "${packageInfo.packager}"
149+
- license "${packageInfo.license}"
150+
- buildHost "${packageInfo.buildHost}"
151+
- maintainer "${packageInfo.maintainer}"
152+
- packageGroup 'java'
153+
- priority 'optional'
154+
- user 'root'
155+
- permissionGroup 'root'
156+
- epoch 1
157+
- arch arch_deb
158+
- multiArch SAME
159+
+ version = project.version.upstream
160+
+ release = project.version.revision
161+
+
162+
+ url = "${packageInfo.url}"
163+
+ vendor = "${packageInfo.vendor}"
164+
+ packager = "${packageInfo.packager}"
165+
+ license = "${packageInfo.license}"
166+
+ buildHost = "${packageInfo.buildHost}"
167+
+ maintainer = "${packageInfo.maintainer}"
168+
+ packageGroup = 'java'
169+
+ priority = 'optional'
170+
+ user = 'root'
171+
+ permissionGroup = 'root'
172+
+ epoch = 1
173+
+ arch = arch_deb
174+
+ multiArch = SAME
175+
}
176+
177+
/**
178+
@@ -129,13 +129,13 @@ task inflateJinfoTemplate(type: Copy) {
179+
* distributions folder.
180+
*/
181+
task generateJdkDeb(type: Deb) {
182+
- description 'Create the DEB package for Corretto JDK'
183+
+ description = 'Create the DEB package for Corretto JDK'
184+
dependsOn inflateDebScriptTemplate
185+
dependsOn inflateJinfoTemplate
186+
187+
- packageName jdkPackageName
188+
- packageDescription "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code."
189+
- summary "Amazon Corretto ${project.version.major} development environment"
190+
+ packageName = jdkPackageName
191+
+ packageDescription = "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code."
192+
+ summary = "Amazon Corretto ${project.version.major} development environment"
193+
194+
postInstall file("$buildRoot/scripts/postin_jdk.sh")
195+
preUninstall file("$buildRoot/scripts/preun_jdk.sh")
196+
diff --git a/installers/linux/universal/rpm/build.gradle b/installers/linux/universal/rpm/build.gradle
197+
index c309c8ddb..346bcc21e 100644
198+
--- a/installers/linux/universal/rpm/build.gradle
199+
+++ b/installers/linux/universal/rpm/build.gradle
200+
@@ -20,7 +20,7 @@
201+
*/
202+
203+
plugins {
204+
- id 'nebula.ospackage' version 'latest.release'
205+
+ id 'com.netflix.nebula.ospackage' version 'latest.release'
206+
}
207+
208+
dependencies {
209+
@@ -51,20 +51,20 @@ def jdkBinaryDir = "${buildRoot}/${project.correttoJdkArchiveName}"
210+
def jdkPackageName = "java-${project.version.major}-amazon-corretto-devel"
211+
212+
ospackage {
213+
- version project.version.upstream
214+
- release project.version.revision
215+
-
216+
- url "${packageInfo.url}"
217+
- vendor "${packageInfo.vendor}"
218+
- packager "${packageInfo.packager}"
219+
- license "${packageInfo.license}"
220+
- buildHost "${packageInfo.buildHost}"
221+
- user 'root'
222+
- permissionGroup 'root'
223+
- epoch 1
224+
- arch arch_redline
225+
- os LINUX
226+
- type BINARY
227+
+ version = project.version.upstream
228+
+ release = project.version.revision
229+
+
230+
+ url = "${packageInfo.url}"
231+
+ vendor = "${packageInfo.vendor}"
232+
+ packager = "${packageInfo.packager}"
233+
+ license = "${packageInfo.license}"
234+
+ buildHost = "${packageInfo.buildHost}"
235+
+ user = 'root'
236+
+ permissionGroup = 'root'
237+
+ epoch = 1
238+
+ arch = arch_redline
239+
+ os = LINUX
240+
+ type = BINARY
241+
}
242+
243+
/**
244+
@@ -101,14 +101,14 @@ task inflateRpmScriptTemplate(type: Copy) {
245+
* distributions folder.
246+
*/
247+
task generateJdkRpm(type: Rpm) {
248+
- description 'Create the RPM package for Corretto JDK'
249+
+ description = 'Create the RPM package for Corretto JDK'
250+
dependsOn inflateRpmScriptTemplate
251+
- packageName jdkPackageName
252+
- packageDescription packageInfo.description
253+
- summary "Amazon Corretto ${project.version.major} development environment"
254+
- packageGroup 'Development/Tools'
255+
+ packageName = jdkPackageName
256+
+ packageDescription = packageInfo.description
257+
+ summary = "Amazon Corretto ${project.version.major} development environment"
258+
+ packageGroup = 'Development/Tools'
259+
// Remove after https://github.com/nebula-plugins/gradle-ospackage-plugin/issues/401 is merged and released
260+
- sourcePackage "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm"
261+
+ sourcePackage = "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm"
262+
263+
prefix(jdkHome)
264+
postInstall file("$buildRoot/scripts/postin_java.sh")
265+
diff --git a/installers/linux/universal/tar/build.gradle b/installers/linux/universal/tar/build.gradle
266+
index 72236d92c..e825a7594 100644
267+
--- a/installers/linux/universal/tar/build.gradle
268+
+++ b/installers/linux/universal/tar/build.gradle
269+
@@ -85,7 +85,7 @@ task copySource(type: Exec) {
270+
"${project.rootDir}/", buildRoot
271+
}
272+
273+
-/**
274+
+/**
275+
* Scan the patches folder for any .patch that needs
276+
* to be applied before start building.
277+
*/
278+
@@ -106,7 +106,7 @@ task configureBuild(type: Exec) {
279+
workingDir "$buildRoot"
280+
281+
def isArmv7 = project.hasProperty("armv7") ? Boolean.valueOf("${project.getProperty('armv7')}") : false
282+
- def zlibFlag = isArmv7 ? "--with-zlib=bundled" : "--with-zlib=system"
283+
+ def zlibFlag = isArmv7 ? "--with-zlib=bundled" : "--with-zlib=system"
284+
285+
// Platform specific flags
286+
def command = ['bash', 'configure',
287+
@@ -156,9 +156,9 @@ task createTestImage(type: Exec) {
288+
289+
task packageTestImage(type: Tar) {
290+
dependsOn createTestImage
291+
- description 'Package test results'
292+
- archiveName "${project.correttoTestImageArchiveName}.tar.gz"
293+
- compression Compression.GZIP
294+
+ description = 'Package test results'
295+
+ archiveFileName = "${project.correttoTestImageArchiveName}.tar.gz"
296+
+ compression = Compression.GZIP
297+
from(testResultingImage) {
298+
include '**'
299+
}
300+
@@ -166,10 +166,10 @@ task packageTestImage(type: Tar) {
301+
}
302+
303+
task packageDebugSymbols(type: Tar) {
304+
- description 'Package debug results'
305+
+ description = 'Package debug results'
306+
dependsOn packageTestImage
307+
- archiveName "${project.correttoDebugSymbolsArchiveName}.tar.gz"
308+
- compression Compression.GZIP
309+
+ archiveFileName = "${project.correttoDebugSymbolsArchiveName}.tar.gz"
310+
+ compression = Compression.GZIP
311+
from(jdkResultingImage) {
312+
include 'bin/*.diz'
313+
include 'lib/*.diz'
314+
@@ -179,11 +179,11 @@ task packageDebugSymbols(type: Tar) {
315+
}
316+
317+
task packageBuildResults(type: Tar) {
318+
- description 'Compresses the JDK image and puts the results in build/distributions.'
319+
+ description = 'Compresses the JDK image and puts the results in build/distributions.'
320+
dependsOn packageDebugSymbols
321+
dependsOn bundleThirdPartyBinaries
322+
- archiveName "${project.correttoJdkArchiveName}.tar.gz"
323+
- compression Compression.GZIP
324+
+ archiveFileName = "${project.correttoJdkArchiveName}.tar.gz"
325+
+ compression = Compression.GZIP
326+
from(buildRoot) {
327+
include 'ADDITIONAL_LICENSE_INFO'
328+
include 'ASSEMBLY_EXCEPTION'
329+
@@ -209,7 +209,7 @@ task packageBuildResults(type: Tar) {
330+
// See https://github.com/corretto/corretto-11/issues/129
331+
from("${jdkResultingImage}/legal") {
332+
include '**'
333+
- fileMode 0444
334+
+ fileMode = 0444
335+
into "${project.correttoJdkArchiveName}/legal"
336+
}
337+
}

0 commit comments

Comments
 (0)