guix-devel
[Top][All Lists]
Advanced

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

Re: No default OpenJDK version?


From: Markku Korkeala
Subject: Re: No default OpenJDK version?
Date: Sat, 20 Apr 2024 20:19:37 +0300

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]