~ruther/guix-local

5996fb5b0c7ce7ca6b1552308199effa66cbcf6a — Danny Milosavljevic 2 years ago d109a73
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
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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		\

M gnu/packages/java.scm => gnu/packages/java.scm +14 -3
@@ 1669,9 1669,20 @@ blacklisted.certs.pem"
(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

A gnu/packages/patches/openjdk-13-classlist-reproducibility.patch => gnu/packages/patches/openjdk-13-classlist-reproducibility.patch +11 -0
@@ 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