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…
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