guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Gábor Boskovits
Subject: [bug#33041] [PATCH] gnu: icedtea-6: Make javadoc reproducible.
Date: Sun, 14 Oct 2018 21:06:55 +0200

* 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 <address@hidden>
+# 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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]