[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
74/75: gnu: openjdk15: Make reproducible.
From: |
guix-commits |
Subject: |
74/75: gnu: openjdk15: Make reproducible. |
Date: |
Sun, 21 Jan 2024 13:21:54 -0500 (EST) |
apteryx pushed a commit to branch core-updates
in repository guix.
commit 9b6a75a2782019d5ef930b8bbf8fc93f8129de72
Author: Danny Milosavljevic <dannym@scratchpost.org>
AuthorDate: Mon Jul 31 20:09:19 2023 +0200
gnu: openjdk15: Make reproducible.
* gnu/packages/java.scm (openjdk15)[source]: Add patch.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
---
gnu/packages/java.scm | 3 +-
.../patches/openjdk-15-jtask-reproducibility.patch | 40 ++++++++++++++++++++++
2 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index f581ff47a2..aebbb535ef 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1707,7 +1707,8 @@ blacklisted.certs.pem"
(modules '())
(snippet #f)
(patches
- (search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
+ (search-patches "openjdk-15-jtask-reproducibility.patch"
+ "openjdk-15-xcursor-no-dynamic.patch"))))
(inputs
(modify-inputs (package-inputs base)
(append libxcursor))) ;for our patch to work
diff --git a/gnu/packages/patches/openjdk-15-jtask-reproducibility.patch
b/gnu/packages/patches/openjdk-15-jtask-reproducibility.patch
new file mode 100644
index 0000000000..2052983ade
--- /dev/null
+++ b/gnu/packages/patches/openjdk-15-jtask-reproducibility.patch
@@ -0,0 +1,40 @@
+---
22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java.orig
2022-04-04 10:57:40.346312924 +0200
++++
22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java
2022-04-04 11:01:38.480751902 +0200
+@@ -82,6 +82,7 @@
+ import jdk.internal.module.ModuleTarget;
+ import jdk.internal.module.Resources;
+ import jdk.tools.jlink.internal.Utils;
++import java.util.TreeSet;
+
+ import static java.util.stream.Collectors.joining;
+
+@@ -750,6 +751,7 @@
+ void processSection(JmodOutputStream out, Section section, Path path)
+ throws IOException
+ {
++ TreeSet<Path> paths = new TreeSet<>();
+ Files.walkFileTree(path, Set.of(FileVisitOption.FOLLOW_LINKS),
+ Integer.MAX_VALUE, new SimpleFileVisitor<Path>() {
+ @Override
+@@ -765,14 +767,18 @@
+ if (out.contains(section, name)) {
+ warning("warn.ignore.duplicate.entry", name,
section);
+ } else {
+- try (InputStream in =
Files.newInputStream(file)) {
+- out.writeEntry(in, section, name);
+- }
++ paths.add(file);
+ }
+ }
+ return FileVisitResult.CONTINUE;
+ }
+ });
++
++ for (Path file : paths) {
++ try (InputStream in = Files.newInputStream(file)) {
++ out.writeEntry(in, section,
path.relativize(file).toString());
++ }
++ }
+ }
+
+ boolean matches(Path path, List<PathMatcher> matchers) {
- 26/75: gnu: font-go: Install license files., (continued)
- 26/75: gnu: font-go: Install license files., guix-commits, 2024/01/21
- 27/75: gnu: font-dosis: Remove extraneous files; install license file., guix-commits, 2024/01/21
- 31/75: gnu: font-jetbrains-mono: Remove obsolete phase., guix-commits, 2024/01/21
- 37/75: gnu: libice: Update to 1.1.0., guix-commits, 2024/01/21
- 40/75: gnu: xset: Update to 1.2.5., guix-commits, 2024/01/21
- 47/75: build-system/go: Honor #:parallel-tests?., guix-commits, 2024/01/21
- 60/75: gnu: jemalloc: Build with large page size., guix-commits, 2024/01/21
- 62/75: gnu: mesa: Build asahi driver on aarch64., guix-commits, 2024/01/21
- 71/75: gnu: openjdk12: Make reproducible., guix-commits, 2024/01/21
- 73/75: gnu: openjdk14: Make reproducible., guix-commits, 2024/01/21
- 74/75: gnu: openjdk15: Make reproducible.,
guix-commits <=
- 41/75: gnu: libxres: Update to 1.2.2., guix-commits, 2024/01/21
- 53/75: gnu: bluez: Update home page URL., guix-commits, 2024/01/21
- 56/75: gnu: font-go: Update home page URL., guix-commits, 2024/01/21
- 67/75: gnu: webrtc-audio-processing: Update to 1.3., guix-commits, 2024/01/21