guix-devel
[Top][All Lists]
Advanced

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

Re: No default OpenJDK version?


From: Julien Lepiller
Subject: Re: No default OpenJDK version?
Date: Sun, 21 Apr 2024 07:31:08 +0200
User-agent: K-9 Mail for Android

I think the first step would be to target openjdk 9, since it already 
introduces quite a lot of changes compared to java 8. To do it, I would suggest 
to change the default jdk in the ant-build-system and maven-build-system, and 
see what is broken, if it can simply be updated without breaking dependents, or 
if it (and its dependencies) needs to be built with an older jdk.

Some packages are bootstrap packages that are quite old and will never support 
a newer jdk. For some of them, we can simply specify a source/target level (not 
sure it's supported by the build-system yet), but I remember trying and a few 
need java 5, which is no longer a supported level.

I have already added support for java modules in the ant-build-system, and I 
just pushed a few updates to some packages that could not previously be built 
with java 9.

Le 20 avril 2024 19:19:37 GMT+02:00, Markku Korkeala <markku.korkeala@iki.fi> a 
écrit :
>On Tue, Apr 16, 2024 at 10:37:30PM +0200, Julien Lepiller wrote:
>> Currently, most java packages use the implicit jdk from the build system 
>> (ant- or maven-build-system), which is… icedtea@8. We still have quite a lot 
>> of old packages that don't build with openjdk9, so I'm not sure when we can 
>> update the default jdk…
>
>Hi,
>
>is there effort to update the default jdk at some point? I could help with
>it. I'm not familiar with the guix java build systems, but have long
>experience as a Java developer. I also maintain few java packages in Fedora
>and saw the transition to to jdk11 [1], jdk17 [2] and now to jdk21 [3]. The
>pages have documented common issues and workarounds, which might help.
>
>[1]: https://fedoraproject.org/wiki/Changes/Java11
>[2]: https://fedoraproject.org/wiki/Changes/Java17
>[3]: https://fedoraproject.org/wiki/Changes/Java21
>
>Best wishes,
>Markku
>
>> Le 16 avril 2024 22:25:33 GMT+02:00, Vagrant Cascadian 
>> <vagrant@reproducible-builds.org> a écrit :
>> >When recently taking a look at diffoscope, I was reminded that there is
>> >effectively no default openjdk version, you have to pick a specific
>> >version for each package definition...
>> >
>> >At some time in diffoscope's history, that was openjdk@12.
>> >
>> >But there are quite a few versions to choose from:
>> >
>> >  guix package -A openjdk | sort -V
>> >  openjdk 9.181           out,jdk,doc     gnu/packages/java.scm:869:2
>> >  openjdk 10.46           out,jdk,doc     gnu/packages/java.scm:1140:2
>> >  openjdk 11.0.22         out,jdk,doc     gnu/packages/java.scm:1218:2
>> >  openjdk 12.33           out,jdk,doc     gnu/packages/java.scm:1536:2
>> >  openjdk 13.0.14         out,jdk,doc     gnu/packages/java.scm:1576:2
>> >  openjdk 14.0.2          out,jdk,doc     gnu/packages/java.scm:1583:2
>> >  openjdk 15.0.10         out,jdk,doc     gnu/packages/java.scm:1598:2
>> >  openjdk 16.0.2          out,jdk,doc     gnu/packages/java.scm:1617:2
>> >  openjdk 17.0.10         out,jdk,doc     gnu/packages/java.scm:1625:2
>> >  openjdk 18.0.2.1        out,jdk,doc     gnu/packages/java.scm:1642:2
>> >  openjdk 19.0.2          out,jdk,doc     gnu/packages/java.scm:1646:2
>> >  openjdk 20.0.2          out,jdk,doc     gnu/packages/java.scm:1663:2
>> >  openjdk 21.0.2          out,jdk,doc     gnu/packages/java.scm:1667:2
>> >
>> >Some packages may only work with a specific era of openjdk, but I
>> >suspect many of the packages in guix just picked whatever version
>> >happened to be present when it was added to guix.
>> >
>> >Which makes it hard to know when to update the openjdk dependency...
>> >
>> >In the diffoscope case, it seems to have work fine with openjdk@21, with
>> >the only result being that some openjdk-version-specific tests pass and
>> >some are skipped as a one-for-one trade compared to the old openjdk@12.
>> >
>> >Alternately, I would be tempted to switch to openjdk@17, which is the
>> >current default in Debian, so has a little more testing behind it...
>> >
>> >Though there is a bit of a perverse incentive to stick with the oldest
>> >version that still works, due to openjdk having a very long bootstrap
>> >chain of itself...
>> >
>> >And then the question gets to be of diffoscope's dependencies, what
>> >versions of openjdk do they pull in (notably enjarify, which uses
>> >openjdk@12, although that also seems to work ok with openjdk@21)?
>> >
>> >
>> >Would it make sense to have an openjdk "default" version, so packages
>> >could instead depend on that, and only need to specify a version if
>> >needed for some particular reason? Or is compatibility across openjdk
>> >versions troublesome enough that it really always needs to be handled on
>> >a case-by-case basis?
>> >
>> >
>> >live well,
>> >  vagrant
>> 



reply via email to

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