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 > <vagr...@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 >