mbox series

[bug#42089,0/1] gnu: icedtea-7: Update to 2.6.22.

Message ID 20200627173600.1368133-1-simon@simonsouth.net
Headers show
Series gnu: icedtea-7: Update to 2.6.22. | expand

Message

Simon South June 27, 2020, 5:36 p.m. UTC
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(-)