[PATCH 0/1] gnu: icedtea-7: Update to 2.6.22.

  • Open
  • quality assurance status badge
Details
One participant
  • Simon South
Owner
unassigned
Submitted by
Simon South
Severity
normal
S
S
Simon South wrote on 27 Jun 2020 19:36
(address . guix-patches@gnu.org)(name . Simon South)(address . simon@simonsouth.net)
20200627173600.1368133-1-simon@simonsouth.net
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
S
S
Simon South wrote on 27 Jun 2020 19:39
[PATCH 1/1] gnu: icedtea-7: Update to 2.6.22.
(address . 42089@debbugs.gnu.org)(name . Simon South)(address . simon@simonsouth.net)
20200627173957.1368283-1-simon@simonsouth.net
* 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(-)

Toggle diff (184 lines)
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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 42089@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 42089
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch