unofficial mirror of guix-patches@gnu.org 
 help / color / Atom feed
* [bug#42089] [PATCH 0/1] gnu: icedtea-7: Update to 2.6.22.
@ 2020-06-27 17:36 Simon South
  2020-06-27 17:39 ` [bug#42089] [PATCH 1/1] " Simon South
  0 siblings, 1 reply; 2+ messages in thread
From: Simon South @ 2020-06-27 17:36 UTC (permalink / raw)
  To: 42089; +Cc: Simon South

This patch updates IcedTea 7 to version 2.6.22, which brings in a number of
bugfixes. (I did this work originally hoping it would fix a build error on
AArch64; it didn't and the solution lay elsewhere, but I figured I might as
well finish and submit the change anyway.)

It assumes the patches for issue 41871
(https://issues.guix.gnu.org/issue/41871) have already been applied, but
doesn't depend on them.

I've successfully built IcedTea 7 and 8 with this patch applied on x86_64 and
(using additional patches) on AArch64.

I've updated the URIs for the project's home page and source code to match
what's current upstream. I've also taken the time to review the patching being
done and bring it in-line with the updated source code, including fixing one
case where "sh" was being replaced with "rm" (!).

Importantly, I've changed the "--enable-bootstrap" configure option to
"--disable-bootstrap". This seems correct to me (and I'm surprised it hasn't
been an issue before) but am pointing it out in case there's something else
here I'm missing.

Without "--disable-bootstrap" this version of IcedTea 7 fails to build, with
error messages like

    /tmp/guix-build-icedtea-2.6.22.drv-0/icedtea-2.6.22/generated.build/java/nio/ByteBuffer.java:1190: error: cannot find symbol
	    return Byte.compare(x, y);
		       ^
      symbol:   method compare(byte,byte)
      location: class Byte

That makes sense, since this method was added in Java 1.7 and therefore won't
be recognized by the Java 1.6 compiler (i.e. IcedTea 6) being used. And this
seems to be what the option controls: Whether or not to assume an existing
Java 1.7-compatible compiler is present.

In fact IcedTea 7's instructions in INSTALL say

    To build IcedTea with an older version of IcedTea, use:
    ./autogen.sh
    ./configure --disable-bootstrap 
    make

So this seems to be both necessary and correct; I'm just not sure why it
wasn't this way already.

--
Simon South
simon@simonsouth.net


Simon South (1):
  gnu: icedtea-7: Update to 2.6.22.

 gnu/packages/java.scm | 70 +++++++++++++++++++++++--------------------
 1 file changed, 38 insertions(+), 32 deletions(-)

-- 
2.26.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

* [bug#42089] [PATCH 1/1] gnu: icedtea-7: Update to 2.6.22.
  2020-06-27 17:36 [bug#42089] [PATCH 0/1] gnu: icedtea-7: Update to 2.6.22 Simon South
@ 2020-06-27 17:39 ` Simon South
  0 siblings, 0 replies; 2+ messages in thread
From: Simon South @ 2020-06-27 17:39 UTC (permalink / raw)
  To: 42089; +Cc: Simon South

* gnu/packages/java.scm (icedtea-7): Update to 2.6.22.
[source, native-inputs]: Update URIs.
[arguments]<#:configure-flags>: Disable bootstrapping to allow building with
previous version of IcedTea.
[arguments]<#:phases>: Update "patch-paths", "fix-hotspot-tests" and
"fix-jdk-tests" phases to match source code.
[home-page]: Update.
---
 gnu/packages/java.scm | 70 +++++++++++++++++++++++--------------------
 1 file changed, 38 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 938b191427..9a2bba4d97 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1163,12 +1163,12 @@ bootstrapping purposes.")
     (license license:gpl2+)))
 
 (define-public icedtea-7
-  (let* ((version "2.6.13")
+  (let* ((version "2.6.22")
          (drop (lambda (name hash)
                  (origin
                    (method url-fetch)
                    (uri (string-append
-                         "http://icedtea.classpath.org/download/drops"
+                         "http://icedtea.wildebeest.org/download/drops"
                          "/icedtea7/" version "/" name ".tar.bz2"))
                    (sha256 (base32 hash))))))
     (package
@@ -1181,7 +1181,7 @@ bootstrapping purposes.")
                       version ".tar.xz"))
                 (sha256
                  (base32
-                  "1w331rdqx1dcx2xb0fmjmrkdc71xqn20fxsgw8by4xhiblh88khh"))
+                  "1h1kva8n7iaby869p5ni8flsgn8zgsacsz5nwz17wbz7k0w9zyil"))
                 (modules '((guix build utils)))
                 (snippet
                  '(begin
@@ -1223,7 +1223,7 @@ bootstrapping purposes.")
          ;; TODO: package pcsc and sctp, and add to inputs
          `("--disable-system-pcsc"
            "--disable-system-sctp"
-           "--enable-bootstrap"
+           "--disable-bootstrap"
            "--enable-nss"
            "--without-rhino"
            ,(string-append "--with-parallel-jobs="
@@ -1308,7 +1308,9 @@ bootstrapping purposes.")
                     (string-append "DEVTOOLS_PATH = " corebin))
                    (("COMPILER_PATH *= */usr/bin/")
                     (string-append "COMPILER_PATH = "
-                                   (assoc-ref %build-inputs "gcc") "/bin/"))
+                                   (assoc-ref %build-inputs "gcc") "/bin/")))
+
+                 (substitute* "openjdk.src/jdk/make/common/Defs-linux.gmk"
                    (("DEF_OBJCOPY *=.*objcopy")
                     (string-append "DEF_OBJCOPY = " (which "objcopy"))))
 
@@ -1359,16 +1361,7 @@ bootstrapping purposes.")
                    (("ZIPEXE *=.*zip")
                     (string-append "ZIPEXE = " (which "zip")))
                    (("SED *=.*sed")
-                    (string-append "SED = " (which "sed"))))
-
-                 ;; Some of these timestamps cause problems as they are more than
-                 ;; 10 years ago, failing the build process.
-                 (substitute*
-                     "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties"
-                   (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
-                   (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
-                   (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
-                   (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY")))
+                    (string-append "SED = " (which "sed")))))
                #t))
            (add-before 'configure 'set-additional-paths
              (lambda* (#:key inputs #:allow-other-keys)
@@ -1425,8 +1418,7 @@ bootstrapping purposes.")
                     (string-append "PATH=" (getenv "PATH")))
                    (("make=/usr/bin/make")
                     (string-append "make=" (which "make"))))
-                 (substitute* '("runtime/6626217/Test6626217.sh"
-                                "runtime/7110720/Test7110720.sh")
+                 (substitute* "runtime/7110720/Test7110720.sh"
                    (("/bin/rm") (which "rm"))
                    (("/bin/cp") (which "cp"))
                    (("/bin/mv") (which "mv"))))
@@ -1434,6 +1426,11 @@ bootstrapping purposes.")
            (add-before 'check 'fix-jdk-tests
              (lambda _
                (with-directory-excursion "openjdk.src/jdk/test/"
+                 (substitute* "jprt.config"
+                   (("PATH=\"\\$\\{path4sdk\\}\"")
+                    (string-append "PATH=" (getenv "PATH")))
+                   (("make=/usr/bin/make")
+                    (string-append "make=" (which "make"))))
                  (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
                    (("/bin/pwd") (which "pwd")))
                  (substitute* "com/sun/jdi/ShellScaffold.sh"
@@ -1445,18 +1442,29 @@ bootstrapping purposes.")
                    (("/bin/rm") (which "rm")))
                  (substitute* "tools/launcher/MultipleJRE.sh"
                    (("echo \"#!/bin/sh\"")
-                    (string-append "echo \"#!" (which "rm") "\""))
+                    (string-append "echo \"#!" (which "sh") "\""))
                    (("/usr/bin/zip") (which "zip")))
                  (substitute* "com/sun/jdi/OnThrowTest.java"
                    (("#!/bin/sh") (string-append "#!" (which "sh"))))
+                 (substitute* "java/awt/JAWT/Makefile.unix"
+                   (("ENV *=.*env") (which "env")))
                  (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
                    (("/usr/bin/uptime") (which "uptime")))
                  (substitute* "java/lang/ProcessBuilder/Basic.java"
                    (("/usr/bin/env") (which "env"))
                    (("/bin/false") (which "false"))
                    (("/bin/true") (which "true"))
+                   (("/bin/echo") (which "echo"))
                    (("/bin/cp") (which "cp"))
-                   (("/bin/sh") (which "sh")))
+                   (("/bin/sh") (which "sh"))
+                   (("/bin/sleep") (which "sleep"))
+                   (("/bin/bash") (which "bash"))
+                   (("/bin/ps") (which "ps"))
+                   (("/usr/bin/perl") (which "perl"))
+                   (("/usr/bin/xargs") (which "xargs")))
+                 (substitute* '("java/lang/ProcessBuilder/BigFork.java"
+                                "java/lang/ProcessBuilder/CloseRace.java")
+                   (("/bin/true") (which "true")))
                  (substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
                    (("/bin/sh") (which "sh")))
                  (substitute* "java/lang/ProcessBuilder/Zombies.java"
@@ -1483,10 +1491,8 @@ bootstrapping purposes.")
                    (("/bin/sh") (which "sh")))
                  (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
                    (("/bin/cat") (which "cat")))
-                 (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
-                   (("/bin/chmod") (which "chmod")))
-                 (substitute* "java/util/zip/ZipFile/Assortment.java"
-                   (("/bin/sh") (which "sh"))))
+                 (substitute* "java/util/Locale/data/deflocale.sh"
+                   (("/usr/bin/locale") (which "locale"))))
                #t))
            (replace 'check
              (lambda _
@@ -1630,31 +1636,31 @@ bootstrapping purposes.")
       (native-inputs
        `(("openjdk-src"
           ,(drop "openjdk"
-                 "0l34ikyf62hbzlf9032alzkkqvf7bpmckz4gvirvph755w7gka8l"))
+                 "060qk9kdj2pdl87kp71jng9lkqa98snlc8s0fkrymg714a6kpzk5"))
          ("corba-drop"
           ,(drop "corba"
-                 "050gv2jbg1pi6qkn8w18bwpbklfa5b0kymjvan9pncddbj8m84fz"))
+                 "1nw5j576bwhy1s9qli51fv802w86ysm2ldggfyf1kr710dx94ym0"))
          ("jaxp-drop"
           ,(drop "jaxp"
-                 "1k6yldwnxfzdg5926r1nlfv8d1r1j7rlp2nkz6gqh05vgyamnfhl"))
+                 "0yjmd2c941qsjj2p5bnn9nlj5rf3a6qjv5pk6whlhpiq4jkyg3lq"))
          ("jaxws-drop"
           ,(drop "jaxws"
-                 "110j7jlz47x2gg6f7653x12mssan5kvj9l9h1m1c8c92drfxbqyk"))
+                 "1nipfrahs7h8xb8k593yjq5vh712q6jyzc0ab032ay6gdfw75blc"))
          ("jdk-drop"
           ,(drop "jdk"
-                 "0d1mca38ksxvdskp9im3pp7fdijhj1n3lwq9w13r9s4v3qyskgdd"))
+                 "04niz08mfpgcxx4wyqi4b9lyiqnaid12zimjiw078ijf76ka069p"))
          ("langtools-drop"
           ,(drop "langtools"
-                 "0nq5236fzxn3p6x8cgncl56mzcmsj07q9gymysnws4c8byc6n0qj"))
+                 "08bhcp1wz0ybjdldfzv0mqvng1yb098kf74lvzv347j5fr57a9cn"))
          ("hotspot-drop"
           ,(origin
              (method url-fetch)
              (uri (string-append
-                   "http://icedtea.classpath.org/downloads/drops"
+                   "http://icedtea.wildebeest.org/download/drops"
                    "/icedtea7/" version "/hotspot.tar.bz2"))
              (sha256
               (base32
-               "17bdv39n4lh8l5737c96f3xgamx4y305m067p01cywgp7zaddqws"))
+               "0hya1lsw893rwy93gbm1gbqyr7v82bmp722m4x7k303pfr4wbm6s"))
              (patches (search-patches
                        "icedtea-7-hotspot-aarch64-use-c++98.patch"))))
          ("ant" ,ant-bootstrap)
@@ -1696,7 +1702,7 @@ bootstrapping purposes.")
          ("lcms" ,lcms)
          ("zlib" ,zlib)
          ("gtk" ,gtk+-2)))
-      (home-page "http://icedtea.classpath.org")
+      (home-page "https://icedtea.classpath.org/wiki/Main_Page")
       (synopsis "Java development kit")
       (description
        "This package provides the Java development kit OpenJDK built with the
-- 
2.26.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-27 17:36 [bug#42089] [PATCH 0/1] gnu: icedtea-7: Update to 2.6.22 Simon South
2020-06-27 17:39 ` [bug#42089] [PATCH 1/1] " Simon South

unofficial mirror of guix-patches@gnu.org 

Archives are clonable:
	git clone --mirror https://yhetil.org/guix-patches/1 guix-patches/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-patches guix-patches/ https://yhetil.org/guix-patches \
		guix-patches@gnu.org
	public-inbox-index guix-patches

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.patches


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git