Subject: bug#33041: closed (Re: [bug#33041] [PATCH] gnu: icedtea-6: Make javadoc reproducible.)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 07 Mar 2024 22:26:02 +0000

Your bug report

#33041: [PATCH] gnu: icedtea-6: Make javadoc reproducible.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
33041: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33041
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#33041] [PATCH] gnu: icedtea-6: Make javadoc reproducible.
From: Vagrant Cascadian <[email-masked]>
To: [email-masked]
Cc: Gábor Boskovits <[email-masked]>
Date: Thu, 07 Mar 2024 14:24:15 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

On 2018-10-14, Gábor Boskovits wrote:
> * gnu/packages/patches/icedtea-6-javadoc-reproducibility.patch: New file.
> * gnu/packages/java.scm[icedtea-6](native-inputs): Add patch to langtools-src.
> (phases)[unpack]: Adjust unpacking of patched source.
> * gnu/local.mk[dist_patch_DATA]: Register it.

icedtea-6 was removed in 96ccb89bef04405cc615df492e1219c75ef4f11a.

Marking as done.

FWIW, icedtea@3 appears to be reproducible, although icedtea@2 appears
not to be...

live well,
  vagrant

Subject: [PATCH] gnu: icedtea-6: Make javadoc reproducible.
From: Gábor Boskovits <[email-masked]>
To: [email-masked]
Cc: Gábor Boskovits <[email-masked]>
Date: Sun, 14 Oct 2018 21:06:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/patches/icedtea-6-javadoc-reproducibility.patch: New file.
* gnu/packages/java.scm[icedtea-6](native-inputs): Add patch to langtools-src.
(phases)[unpack]: Adjust unpacking of patched source.
* gnu/local.mk[dist_patch_DATA]: Register it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/java.scm                         | 10 ++++---
 .../icedtea-6-javadoc-reproducibility.patch   | 26 +++++++++++++++++++
 3 files changed, 34 insertions(+), 3 deletions(-)
 create mode 100644 gnu/packages/patches/icedtea-6-javadoc-reproducibility.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index c3bc35a80..6e332b041 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -807,6 +807,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/icecat-use-system-graphite2.patch	\
   %D%/packages/patches/icecat-use-system-harfbuzz.patch		\
   %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch  \
+  %D%/packages/patches/icedtea-6-javadoc-reproducibility.patch	\
   %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch  \
   %D%/packages/patches/id3lib-CVE-2007-4460.patch			\
   %D%/packages/patches/ilmbase-fix-tests.patch			\
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d2f4c9d05..ab9e3fd3a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -734,10 +734,12 @@ machine.")))
                                        (string-append part "-src"))
                             part))
                          '("jdk" "corba"
-                           "langtools" "jaxp" "jaxws")))
+                           "jaxp" "jaxws")))
              (with-directory-excursion "openjdk"
                (invoke "tar" "xvf" (assoc-ref inputs "hotspot-src"))
-               (rename-file "hg-checkout" "hotspot"))
+               (rename-file "hg-checkout" "hotspot")
+               (invoke "tar" "xvf" (assoc-ref inputs "langtools-src"))
+               (rename-file "hg-checkout" "langtools"))
              (substitute* "Makefile.in"
                (("echo \"ERROR: No up-to-date OpenJDK zip available\"; exit -1;")
                 "echo \"trust me\";")
@@ -976,7 +978,9 @@ machine.")))
                  (changeset "jdk6-b41")))
            (sha256
             (base32
-             "1x52wd67fynbbd9ild6fb4wvba3f5hhwk03qdjfazd0a1qr37z3d"))))
+             "1x52wd67fynbbd9ild6fb4wvba3f5hhwk03qdjfazd0a1qr37z3d"))
+           (patches
+            (search-patches "icedtea-6-javadoc-reproducibility.patch"))))
        ("jaxp-src"
         ,(origin
            (method hg-fetch)
diff --git a/gnu/packages/patches/icedtea-6-javadoc-reproducibility.patch b/gnu/packages/patches/icedtea-6-javadoc-reproducibility.patch
new file mode 100644
index 000000000..d4c8a97f3
--- /dev/null
+++ b/gnu/packages/patches/icedtea-6-javadoc-reproducibility.patch
@@ -0,0 +1,26 @@
+# HG changeset patch
+# User Gábor Boskovits <[email-masked]>
+# Date 1539456874 -7200
+#      Sat Oct 13 20:54:34 2018 +0200
+# Node ID 6e5f716a659247888c104f66c58bf40fb959c8a4
+# Parent  06656286f572cbf716397b9d983f8dee7d94f913
+Make javadoc respect SOURCE_DATE_EPOCH.
+
+diff -r 06656286f572 -r 6e5f716a6592 src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java
+--- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Mon Aug 22 10:53:55 2016 -0700
++++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Sat Oct 13 20:54:34 2018 +0200
+@@ -396,6 +396,13 @@
+      */
+     public String today() {
+         Calendar calendar = new GregorianCalendar(TimeZone.getDefault());
+-        return calendar.getTime().toString();
++	Date date=calendar.getTime();
++	Map<String,String> env = System.getenv();
++	if(env.containsKey("SOURCE_DATE_EPOCH")) {
++	    String epoch=env.get("SOURCE_DATE_EPOCH");
++	    long unixtime=Long.parseLong(epoch);
++	    date=new Date(unixtime*1000L);
++	}
++        return date.toString();
+     }
+ }
-- 
2.18.0