From 5996fb5b0c7ce7ca6b1552308199effa66cbcf6a Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 31 Jul 2023 20:09:17 +0200 Subject: 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 Change-Id: I1b2943c989e2d6acfd8131ea4ede978c61948811 --- gnu/packages/java.scm | 17 ++++++++++++++--- .../patches/openjdk-13-classlist-reproducibility.patch | 11 +++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/openjdk-13-classlist-reproducibility.patch (limited to 'gnu/packages') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 257483b9e3..b2a1181d54 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1669,9 +1669,20 @@ (define-public openjdk12 (define-public openjdk13 (make-openjdk openjdk12 "13.0.14" "1v92i5rhahqkjw8mz09c9qasnxqc67ygy0y266kdmm534z0da755" - (source (origin - (inherit (package-source base)) - (patches '()))))) + (source (origin + (inherit (package-source base)) + (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 diff --git a/gnu/packages/patches/openjdk-13-classlist-reproducibility.patch b/gnu/packages/patches/openjdk-13-classlist-reproducibility.patch new file mode 100644 index 0000000000..326f6875ec --- /dev/null +++ b/gnu/packages/patches/openjdk-13-classlist-reproducibility.patch @@ -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 -- cgit v1.2.3