mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
gnu: openjdk11: Make more reproducible.
* gnu/packages/java.scm (openjdk11)[source]: Add patch. [arguments]<#:phases>[remove-timestamping]: Add phase. * gnu/packages/patches/openjdk-11-classlist-reproducibility.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I67f1b7746a2c7016aec32c438b94d24a16bc77b2
This commit is contained in:
parent
48ea1a2b3b
commit
edf8fc9a48
3 changed files with 30 additions and 3 deletions
|
@ -1840,6 +1840,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/openjdk-10-module4-reproducibility.patch \
|
||||
%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-15-xcursor-no-dynamic.patch \
|
||||
%D%/packages/patches/openjdk-21-fix-rpath.patch \
|
||||
%D%/packages/patches/openmpi-mtl-priorities.patch \
|
||||
|
|
|
@ -1303,8 +1303,14 @@ (define-public openjdk11
|
|||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))
|
||||
(patches (search-patches
|
||||
"openjdk-currency-time-bomb2.patch"))))
|
||||
(patches
|
||||
(search-patches "openjdk-10-module3-reproducibility.patch"
|
||||
"openjdk-10-module4-reproducibility.patch"
|
||||
"openjdk-10-char-reproducibility.patch"
|
||||
"openjdk-11-classlist-reproducibility.patch"
|
||||
"openjdk-10-jar-reproducibility.patch"
|
||||
"openjdk-10-jtask-reproducibility.patch"
|
||||
"openjdk-currency-time-bomb2.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "jdk" "doc"))
|
||||
(arguments
|
||||
|
@ -1338,6 +1344,10 @@ (define-public openjdk11
|
|||
"--with-libjpeg=system"
|
||||
"--with-libpng=system"
|
||||
"--with-version-pre="
|
||||
;; Should be set by SOURCE_DATE_EPOCH handler, but isn't being
|
||||
;; set; do it manually.
|
||||
"--with-hotspot-build-time=1970-01-01T00:00:01"
|
||||
"--enable-reproducible-build" ; to be sure
|
||||
;; Allow the build system to locate the system freetype.
|
||||
(string-append "--with-freetype-include="
|
||||
#$(this-package-input "freetype") "/include")
|
||||
|
@ -1351,6 +1361,11 @@ (define-public openjdk11
|
|||
;; this exact first line.
|
||||
(substitute* "make/data/blockedcertsconverter/blocked.certs.pem"
|
||||
(("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))
|
||||
(add-after 'unpack 'remove-timestamping
|
||||
(lambda _
|
||||
(substitute* "src/hotspot/share/runtime/abstract_vm_version.cpp"
|
||||
(("__DATE__") "")
|
||||
(("__TIME__") ""))))
|
||||
(add-after 'unpack 'patch-jni-libs
|
||||
;; Hardcode dynamically loaded libraries.
|
||||
(lambda _
|
||||
|
@ -1551,7 +1566,7 @@ (define (icedtea-or-openjdk? path)
|
|||
libxtst))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
bash ; not bash-minimal, needs ulimit
|
||||
bash ; not bash-minimal, needs ulimit
|
||||
openjdk10
|
||||
`(,openjdk10 "jdk")
|
||||
gnu-make-4.2
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
--- jdk-11.0.13-ga/make/GenerateLinkOptData.gmk.orig 2022-04-04 17:18:56.801929954 +0200
|
||||
+++ jdk-11.0.13-ga/make/GenerateLinkOptData.gmk 2022-04-04 17:19:14.962422622 +0200
|
||||
@@ -66,7 +66,7 @@
|
||||
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
|
||||
build.tools.classlist.HelloClasslist \
|
||||
$(LOG_DEBUG) 2>&1 > $(JLI_TRACE_FILE)
|
||||
- $(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
|
Loading…
Reference in a new issue