From 2f1daa35746c896cd59882383c236ee97a3cbad7 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 31 Jul 2023 20:09:13 +0200 Subject: gnu: openjdk9: Make build reproducible. * gnu/packages/patches/openjdk-9-classlist-reproducibility.patch: New file. * gnu/packages/patches/openjdk-9-jar-reproducibility.patch: New file. * gnu/packages/patches/openjdk-9-module-reproducibility.patch: New file. * gnu/packages/patches/openjdk-9-module2-reproducibility.patch: New file. * gnu/packages/patches/openjdk-9-module3-reproducibility.patch: New file. * gnu/packages/patches/openjdk-9-idlj-reproducibility.patch: New file. * gnu/packages/java.scm (openjdk9)[source]: Add patches. [arguments]<#:phases>[strip-zip-timestamps]: Modify. [native-inputs, inputs]: Use new-style syntax. * gnu/local/mk (dist_patch_DATA): Add patches. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer Change-Id: Ifb7a87b0c11f3a7032597013ac904aefc9234db1 --- .../openjdk-9-classlist-reproducibility.patch | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 gnu/packages/patches/openjdk-9-classlist-reproducibility.patch (limited to 'gnu/packages/patches/openjdk-9-classlist-reproducibility.patch') diff --git a/gnu/packages/patches/openjdk-9-classlist-reproducibility.patch b/gnu/packages/patches/openjdk-9-classlist-reproducibility.patch new file mode 100644 index 0000000000..d0ce7bc4d6 --- /dev/null +++ b/gnu/packages/patches/openjdk-9-classlist-reproducibility.patch @@ -0,0 +1,31 @@ +From: Danny Milosavljevic +Date: Wed, 18 Apr 2022 18:38:28 +0100 +Subject: Make classlist reproducible + +--- jdk-09/make/GenerateLinkOptData.gmk.orig 2022-04-05 10:05:35.892134188 +0200 ++++ jdk-09/make/GenerateLinkOptData.gmk 2022-04-05 10:06:07.885003056 +0200 +@@ -61,11 +61,12 @@ + $(call MakeDir, $(LINK_OPT_DIR)) + $(call LogInfo, Generating $(patsubst $(OUTPUT_ROOT)/%, %, $@)) + $(call LogInfo, Generating $(patsubst $(OUTPUT_ROOT)/%, %, $(JLI_TRACE_FILE))) +- $(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@ \ ++ $(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.tmp \ + -Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true \ + -cp $(SUPPORT_OUTPUTDIR)/classlist.jar \ + build.tools.classlist.HelloClasslist \ + $(LOG_DEBUG) 2>&1 > $(JLI_TRACE_FILE) ++ sort $@.tmp >$@ + + # The jli trace is created by the same recipe as classlist. By declaring these + # dependencies, make will correctly rebuild both jli trace and classlist +--- jdk-09/langtools/make/gendata/Gendata-jdk.compiler.gmk.orig 2022-04-08 22:04:05.784424812 +0200 ++++ jdk-09/langtools/make/gendata/Gendata-jdk.compiler.gmk 2022-04-08 22:09:36.333575143 +0200 +@@ -79,6 +79,8 @@ + $(CT_MODULESOURCEPATH) \ + $(CT_MODULES) \ + >$(@D)/9/system-modules ++ # Make files reproducible ++ find $(@D) -exec $(TOUCH) -h -c -t 197001010000.01 {} \; + $(TOUCH) $@ + + # Can't generate ct.sym directly into modules libs as the SetupJarArchive macro -- cgit v1.2.3