Skip to content

Commit 45ea6eb

Browse files
rollfgonsolo
authored andcommitted
corretto21: 21.0.6.7.1 -> 21.0.9.11.1
Gradle7 is phased out in nixpkgs but corretto <= 21 does not support Gradle8. See corretto/corretto-21#114 (comment). Hence, ./corretto21-gradle8.patch is added. This patch is loosely based on corretto/corretto-jdk#135.
1 parent 832e339 commit 45ea6eb

File tree

2 files changed

+350
-6
lines changed

2 files changed

+350
-6
lines changed

pkgs/development/compilers/corretto/21.nix

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
2-
corretto21,
32
fetchFromGitHub,
4-
gradle_7,
3+
gradle_8,
54
jdk21,
65
lib,
76
stdenv,
@@ -20,14 +19,19 @@ let
2019
testers
2120
;
2221
jdk = jdk21;
23-
gradle = gradle_7;
24-
version = "21.0.6.7.1";
22+
gradle = gradle_8;
23+
version = "21.0.9.11.1";
2524
src = fetchFromGitHub {
2625
owner = "corretto";
2726
repo = "corretto-21";
2827
rev = version;
29-
hash = "sha256-kF7Quf8bU5scfunmwfEYLkje/jEJOx7CFnBIUWCovzI=";
28+
hash = "sha256-d62rXVgVlOM3M18c8GioFtMi/GhmCEMLQwy/EWAJW7I=";
3029
};
3130
};
3231
in
33-
corretto
32+
corretto.overrideAttrs (oldAttrs: {
33+
patches = (oldAttrs.patches or [ ]) ++ [
34+
./corretto21-gradle8.patch
35+
];
36+
37+
})
Lines changed: 340 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,340 @@
1+
diff --git a/build.gradle b/build.gradle
2+
index 61d5c8f8b48..2102e8921bd 100644
3+
--- a/build.gradle
4+
+++ b/build.gradle
5+
@@ -257,7 +257,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+
@@ -267,7 +267,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+
@@ -280,7 +280,7 @@ project(':prebuild') {
24+
25+
// See commit for [JDK-8275252](https://github.com/corretto/corretto-jdk/commit/bd2b41dd7062c50f3aaebec2137d5fdd9546c120)
26+
jvmArgs = ['-Dkeystore.pkcs12.certProtectionAlgorithm=NONE', '-Dkeystore.pkcs12.macAlgorithm=NONE']
27+
- main = generateToolMain
28+
+ mainClass = generateToolMain
29+
args = [jdkCaDir, project.caCerts]
30+
}
31+
32+
@@ -311,9 +311,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+
def sourceTarRootFiles = ['LICENSE',
43+
'ADDITIONAL_LICENSE_INFO',
44+
'README',
45+
diff --git a/installers/linux/al2/spec/build.gradle b/installers/linux/al2/spec/build.gradle
46+
index 1df0004cbac..1b5dd56d7fd 100644
47+
--- a/installers/linux/al2/spec/build.gradle
48+
+++ b/installers/linux/al2/spec/build.gradle
49+
@@ -63,8 +63,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+
diff --git a/installers/linux/alpine/tar/build.gradle b/installers/linux/alpine/tar/build.gradle
61+
index 5b88041eebb..5b0c05f81d0 100644
62+
--- a/installers/linux/alpine/tar/build.gradle
63+
+++ b/installers/linux/alpine/tar/build.gradle
64+
@@ -131,9 +131,9 @@ task bundleThirdPartyBinaries {
65+
66+
task packageTestImage(type: Tar) {
67+
dependsOn createTestImage
68+
- description 'Package test results'
69+
- archiveName "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
70+
- compression Compression.GZIP
71+
+ description = 'Package test results'
72+
+ archiveFileName = "amazon-corretto-testimage-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
73+
+ compression = Compression.GZIP
74+
from(testResultingImage) {
75+
include '**'
76+
}
77+
@@ -142,9 +142,9 @@ task packageTestImage(type: Tar) {
78+
79+
task packageDebugSymbols(type: Tar) {
80+
dependsOn packageTestImage
81+
- description 'Package debug symbols'
82+
- archiveName "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
83+
- compression Compression.GZIP
84+
+ description = 'Package debug symbols'
85+
+ archiveFileName = "amazon-corretto-debugsymbols-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
86+
+ compression = Compression.GZIP
87+
from(jdkResultingImage) {
88+
include 'bin/*.diz'
89+
include 'lib/*.diz'
90+
@@ -154,12 +154,12 @@ task packageDebugSymbols(type: Tar) {
91+
}
92+
93+
task packageBuildResults(type: Tar) {
94+
- description 'Compresses the JDK image and puts the results in build/distributions.'
95+
+ description = 'Compresses the JDK image and puts the results in build/distributions.'
96+
dependsOn packageDebugSymbols
97+
dependsOn executeBuild
98+
dependsOn bundleThirdPartyBinaries
99+
- archiveName "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
100+
- compression Compression.GZIP
101+
+ archiveFileName = "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}.tar.gz"
102+
+ compression = Compression.GZIP
103+
from(buildRoot) {
104+
include project.rootFiles
105+
}
106+
@@ -178,7 +178,7 @@ task packageBuildResults(type: Tar) {
107+
// See https://github.com/corretto/corretto-11/issues/129
108+
from(jdkResultingImage) {
109+
include 'legal/**'
110+
- fileMode 0444
111+
+ fileMode = 0444
112+
}
113+
into "amazon-corretto-${project.version.full}-alpine-linux-${arch_alias}"
114+
}
115+
diff --git a/installers/linux/universal/deb/build.gradle b/installers/linux/universal/deb/build.gradle
116+
index 4daf46e8b14..3376e3c58d1 100644
117+
--- a/installers/linux/universal/deb/build.gradle
118+
+++ b/installers/linux/universal/deb/build.gradle
119+
@@ -20,7 +20,7 @@
120+
*/
121+
122+
plugins {
123+
- id 'nebula.ospackage' version 'latest.release'
124+
+ id 'com.netflix.nebula.ospackage' version 'latest.release'
125+
}
126+
127+
dependencies {
128+
@@ -57,22 +57,22 @@ def jinfoName = ".${jdkInstallationDirName}.jinfo"
129+
ospackage {
130+
// Valid version must start with a digit and only contain [A-Za-z0-9.+:~-]
131+
// See http://manpages.ubuntu.com/manpages/artful/en/man5/deb-version.5.html
132+
- version project.version.upstream
133+
- release project.version.revision
134+
-
135+
- url "${packageInfo.url}"
136+
- vendor "${packageInfo.vendor}"
137+
- packager "${packageInfo.packager}"
138+
- license "${packageInfo.license}"
139+
- buildHost "${packageInfo.buildHost}"
140+
- maintainer "${packageInfo.maintainer}"
141+
- packageGroup 'java'
142+
- priority 'optional'
143+
- user 'root'
144+
- permissionGroup 'root'
145+
- epoch 1
146+
- arch arch_deb
147+
- multiArch SAME
148+
+ version = project.version.upstream
149+
+ release = project.version.revision
150+
+
151+
+ url = "${packageInfo.url}"
152+
+ vendor = "${packageInfo.vendor}"
153+
+ packager = "${packageInfo.packager}"
154+
+ license = "${packageInfo.license}"
155+
+ buildHost = "${packageInfo.buildHost}"
156+
+ maintainer = "${packageInfo.maintainer}"
157+
+ packageGroup = 'java'
158+
+ priority = 'optional'
159+
+ user = 'root'
160+
+ permissionGroup = 'root'
161+
+ epoch = 1
162+
+ arch = arch_deb
163+
+ multiArch = SAME
164+
}
165+
166+
/**
167+
@@ -127,13 +127,13 @@ task inflateJinfoTemplate(type: Copy) {
168+
* distributions folder.
169+
*/
170+
task generateJdkDeb(type: Deb) {
171+
- description 'Create the DEB package for Corretto JDK'
172+
+ description = 'Create the DEB package for Corretto JDK'
173+
dependsOn inflateDebScriptTemplate
174+
dependsOn inflateJinfoTemplate
175+
176+
- packageName jdkPackageName
177+
- packageDescription "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code."
178+
- summary "Amazon Corretto ${project.version.major} development environment"
179+
+ packageName = jdkPackageName
180+
+ packageDescription = "Amazon Corretto\'s packaging of the OpenJDK ${project.version.major} code."
181+
+ summary = "Amazon Corretto ${project.version.major} development environment"
182+
183+
postInstall file("$buildRoot/scripts/postin_jdk.sh")
184+
preUninstall file("$buildRoot/scripts/preun_jdk.sh")
185+
@@ -191,13 +191,13 @@ task generateJdkDeb(type: Deb) {
186+
// See https://github.com/corretto/corretto-11/issues/129
187+
from("${jdkBinaryDir}/legal") {
188+
into "${jdkHome}/legal"
189+
- fileMode 0444
190+
+ fileMode = 0444
191+
}
192+
193+
if (!project.excludeReadmeJavaSE) {
194+
from("${jdkBinaryDir}/README.JAVASE") {
195+
into jdkHome
196+
- fileMode 0444
197+
+ fileMode = 0444
198+
}
199+
}
200+
201+
diff --git a/installers/linux/universal/rpm/build.gradle b/installers/linux/universal/rpm/build.gradle
202+
index 50f55bb52c0..fbbe8f44bca 100644
203+
--- a/installers/linux/universal/rpm/build.gradle
204+
+++ b/installers/linux/universal/rpm/build.gradle
205+
@@ -20,7 +20,7 @@
206+
*/
207+
208+
plugins {
209+
- id 'nebula.ospackage' version 'latest.release'
210+
+ id 'com.netflix.nebula.ospackage' version 'latest.release'
211+
}
212+
213+
dependencies {
214+
@@ -51,20 +51,20 @@ def jdkBinaryDir = "${buildRoot}/${project.correttoJdkArchiveName}"
215+
def jdkPackageName = "java-${project.version.major}-amazon-corretto-devel"
216+
217+
ospackage {
218+
- version project.version.upstream
219+
- release project.version.revision
220+
-
221+
- url "${packageInfo.url}"
222+
- vendor "${packageInfo.vendor}"
223+
- packager "${packageInfo.packager}"
224+
- license "${packageInfo.license}"
225+
- buildHost "${packageInfo.buildHost}"
226+
- user 'root'
227+
- permissionGroup 'root'
228+
- epoch 1
229+
- arch arch_redline
230+
- os LINUX
231+
- type BINARY
232+
+ version = project.version.upstream
233+
+ release = project.version.revision
234+
+
235+
+ url = "${packageInfo.url}"
236+
+ vendor = "${packageInfo.vendor}"
237+
+ packager = "${packageInfo.packager}"
238+
+ license = "${packageInfo.license}"
239+
+ buildHost = "${packageInfo.buildHost}"
240+
+ user = 'root'
241+
+ permissionGroup = 'root'
242+
+ epoch = 1
243+
+ arch = arch_redline
244+
+ os = LINUX
245+
+ type = BINARY
246+
}
247+
248+
/**
249+
@@ -100,14 +100,14 @@ task inflateRpmScriptTemplate(type: Copy) {
250+
* distributions folder.
251+
*/
252+
task generateJdkRpm(type: Rpm) {
253+
- description 'Create the RPM package for Corretto JDK'
254+
+ description = 'Create the RPM package for Corretto JDK'
255+
dependsOn inflateRpmScriptTemplate
256+
- packageName jdkPackageName
257+
- packageDescription packageInfo.description
258+
- summary "Amazon Corretto ${project.version.major} development environment"
259+
- packageGroup 'Development/Tools'
260+
+ packageName = jdkPackageName
261+
+ packageDescription = packageInfo.description
262+
+ summary = "Amazon Corretto ${project.version.major} development environment"
263+
+ packageGroup = 'Development/Tools'
264+
// Remove after https://github.com/nebula-plugins/gradle-ospackage-plugin/issues/401 is merged and released
265+
- sourcePackage "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm"
266+
+ sourcePackage = "${jdkPackageName}-${project.version.major}.${project.version.minor}.${project.version.security}.${project.version.build}-${project.version.revision}.src.rpm"
267+
268+
prefix(jdkHome)
269+
postInstall file("$buildRoot/scripts/postin_java.sh")
270+
@@ -146,13 +146,13 @@ task generateJdkRpm(type: Rpm) {
271+
// See https://github.com/corretto/corretto-11/issues/129
272+
from("${jdkBinaryDir}/legal") {
273+
into "${jdkHome}/legal"
274+
- fileMode 0444
275+
+ fileMode = 0444
276+
}
277+
278+
if (!project.excludeReadmeJavaSE) {
279+
from("${jdkBinaryDir}/README.JAVASE") {
280+
into jdkHome
281+
- fileMode 0444
282+
+ fileMode = 0444
283+
}
284+
}
285+
}
286+
diff --git a/installers/linux/universal/tar/build.gradle b/installers/linux/universal/tar/build.gradle
287+
index be5be844e38..0480a6a34c9 100644
288+
--- a/installers/linux/universal/tar/build.gradle
289+
+++ b/installers/linux/universal/tar/build.gradle
290+
@@ -121,9 +121,9 @@ task bundleThirdPartyBinaries {
291+
292+
task packageTestImage(type: Tar) {
293+
dependsOn createTestImage
294+
- description 'Package test results'
295+
- archiveName "${project.correttoTestImageArchiveName}.tar.gz"
296+
- compression Compression.GZIP
297+
+ description = 'Package test results'
298+
+ archiveFileName = "${project.correttoTestImageArchiveName}.tar.gz"
299+
+ compression = Compression.GZIP
300+
from(testResultingImage) {
301+
include '**'
302+
}
303+
@@ -131,10 +131,10 @@ task packageTestImage(type: Tar) {
304+
}
305+
306+
task packageDebugSymbols(type: Tar) {
307+
- description 'Package debug results'
308+
+ description = 'Package debug results'
309+
dependsOn packageTestImage
310+
- archiveName "${project.correttoDebugSymbolsArchiveName}.tar.gz"
311+
- compression Compression.GZIP
312+
+ archiveFileName = "${project.correttoDebugSymbolsArchiveName}.tar.gz"
313+
+ compression = Compression.GZIP
314+
from(jdkResultingImage) {
315+
include 'bin/*.diz'
316+
include 'lib/*.diz'
317+
@@ -144,11 +144,11 @@ task packageDebugSymbols(type: Tar) {
318+
}
319+
320+
task packageBuildResults(type: Tar) {
321+
- description 'Compresses the JDK image and puts the results in build/distributions.'
322+
+ description = 'Compresses the JDK image and puts the results in build/distributions.'
323+
dependsOn packageDebugSymbols
324+
dependsOn bundleThirdPartyBinaries
325+
- archiveName "${project.correttoJdkArchiveName}.tar.gz"
326+
- compression Compression.GZIP
327+
+ archiveFileName = "${project.correttoJdkArchiveName}.tar.gz"
328+
+ compression = Compression.GZIP
329+
from(buildRoot) {
330+
include project.rootFiles
331+
into project.correttoJdkArchiveName
332+
@@ -169,7 +169,7 @@ task packageBuildResults(type: Tar) {
333+
// See https://github.com/corretto/corretto-11/issues/129
334+
from("${jdkResultingImage}/legal") {
335+
include '**'
336+
- fileMode 0444
337+
+ fileMode = 0444
338+
into "${project.correttoJdkArchiveName}/legal"
339+
}
340+
}

0 commit comments

Comments
 (0)