gnu: openjdk13: Make reproducible.

* gnu/packages/patches/openjdk-13-classlist-reproducibility.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add patch.
* gnu/packages/java.scm (openjdk13)[source]: Add patch.
[arguments]<#:phases>[remove-timestamping]: Modify phase.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I1b2943c989e2d6acfd8131ea4ede978c61948811
This commit is contained in:
Danny Milosavljevic 2023-07-31 20:09:17 +02:00 committed by Ludovic Courtès
parent d109a7322c
commit 5996fb5b0c
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 26 additions and 3 deletions

View file

@ -1841,6 +1841,7 @@ dist_patch_DATA = \
%D%/packages/patches/openjdk-10-pointer-comparison.patch \
%D%/packages/patches/openjdk-10-setsignalhandler.patch \
%D%/packages/patches/openjdk-11-classlist-reproducibility.patch \
%D%/packages/patches/openjdk-13-classlist-reproducibility.patch \
%D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \
%D%/packages/patches/openjdk-21-fix-rpath.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \

View file

@ -1671,7 +1671,18 @@ (define-public openjdk13
"1v92i5rhahqkjw8mz09c9qasnxqc67ygy0y266kdmm534z0da755"
(source (origin
(inherit (package-source base))
(patches '())))))
(patches (search-patches "openjdk-13-classlist-reproducibility.patch"
"openjdk-10-jtask-reproducibility.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments openjdk12)
((#:phases phases)
#~(modify-phases #$phases
(replace 'remove-timestamping
(lambda _
(substitute*
"src/hotspot/share/runtime/abstract_vm_version.cpp"
(("__DATE__") "")
(("__TIME__") ""))))))))))
(define-public openjdk14
(make-openjdk

View file

@ -0,0 +1,11 @@
--- 6cllxkf0narh0b4wgx8npwjkznd7ifq0-openjdk-13.0.7-checkout/make/GenerateLinkOptData.gmk.orig 2022-04-04 17:20:33.012539984 +0200
+++ 6cllxkf0narh0b4wgx8npwjkznd7ifq0-openjdk-13.0.7-checkout/make/GenerateLinkOptData.gmk 2022-04-04 17:20:51.181032859 +0200
@@ -78,7 +78,7 @@
$(CAT) $(LINK_OPT_DIR)/stderr $(JLI_TRACE_FILE) ; \
exit $$exitcode \
)
- $(GREP) -v HelloClasslist $@.raw > $@
+ $(GREP) -v HelloClasslist $@.raw | sort > $@
# The jli trace is created by the same recipe as classlist. By declaring these
# dependencies, make will correctly rebuild both jli trace and classlist