NixOS JVM | 129 Members | |
| 27 Servers |
| Sender | Message | Time |
|---|---|---|
| 24 Sep 2024 | ||
| I guess my big question is "why" :) we need a binary distribution for bootstrap so Temurin makes sense, Semeru has OpenJ9 instead of HotSpot which makes sense, I believe Zulu might have some kind of optimizations or something and we ship it for Darwin (I guess because source builds don't work? but why not Temurin as we use for the bootstrap?), but Amazon Corretto makes zero sense to me | 18:14:50 | |
| it would be nice to deduplicate some of these definitions – OpenJDK versions are all copy-pasted from each other, Temurin and Semeru are copy-pasted from each other and the Linux and Darwin derivations of those are also copy-pasted from each other, etc. – but it seems a little absurd that we're shipping 5 different JDK options and I'd like to understand better which ones people actually care about | 18:15:39 | |
| it's also not clear to me if we need to be shipping so many LTS versions – for instance Debian has dropped JDK 8 | 18:16:14 | |
| (if I had to make a concrete proposal it'd be OpenJDK source build, one of Temurin or Zulu, and Semeru, and shipping latest LTS, maybe latest stable version, and whatever minimum number of LTSes we can get away with (just 17? 11 too?) – but I'm not the expert here) | 18:41:18 | |
In reply to @emilazy:matrix.orgWe ship Zulu as the source build for Darwin, itself bootstrapped off of Temurin, is my understanding Not sure about Corretto, but I think it's a specific production-focused JDK | 19:20:45 | |
| That said, my PR for cleanup was specifically about versions that are broken and long-disused, I don't want to go down the route of just purging JDK versions because they aren't used very much, since ideally Nixpkgs would package everything | 19:21:18 | |
| Those versions were purged because they made OpenJDK unmaintainable :) | 19:21:27 | |
| I think the only major thing that needs to be done for cleanup is deduplicating between the source builds, as that is a big mess so far | 19:21:59 | |
In reply to @emilazy:matrix.org IMO we should keep all currently-supported LTS versions. Not sur ewhere you got Debian dropping JDK 8 from, I can see it in the Debian package list, even in sid | 19:23:00 | |
In reply to @emilazy:matrix.org* IMO we should keep all currently-supported LTS versions. Not sure where you got Debian dropping JDK 8 from, I can see it in the Debian package list, even in sid | 19:23:06 | |
| it's only in sid, not in release versions | 19:23:09 | |
| (I don't know why) | 19:23:11 | |
| Hmm | 19:23:23 | |
| Weird | 19:23:24 | |
| our Zulu package seems binary-only to me, could you point to where it's built from source? | 19:23:25 | |
| I thought it was built from source but I could just be misremembering | 19:23:38 | |
| Okay yeah no it was just substituted in where the source JDKs get built which is where I got it wrong | 19:26:11 | |
| right. so it's unclear to me why we need both Zulu and Temurin, they seem quite redundant | 19:27:06 | |
| Not sure, I don't use Darwin so I just didn't touch that part lol | 19:28:19 | |
| (and Corretto also seems sufficiently niche that I question whether it's worth maintaining in-tree) | 19:28:26 | |
| my fear about shipping 8 indefinitely, when Debian and Ubuntu have already given up on it, is that it has 6 years of life left. newer versions will continue to diverge from it, requiring more build conditionals and complexity, and it may become increasingly painful to keep building with the modern compilers and libraries in Nixpkgs | 19:29:16 | |
| for instance, I've had to manually backport FFmpeg support patches to older versions of OpenJFX, which is quite a maintenance drag | 19:29:34 | |
| That's the kind of situation where we keep JDK 8 but stop supporting it for stuff like that | 19:29:56 | |
| (not directly OpenJDK admittedly, but it gives an example of the churn caused by packaging many old versions of things) | 19:29:56 | |
| JDK 8 itself is still important just because so, so much still relies on it But we don't necessarily need to actively back port stuff if it isn't necessary for other packages | 19:30:32 | |
| Java 8 truly is the version that will not die | 19:31:02 | |
| well, if I hadn't spent the effort to backport FFmpeg support there then we would be keeping old FFmpegs in the tree even longer, which would be a drag on FFmpeg maintenance. carrying ancient software tends to act as a drag on the rest of the ecosystem in that way, where carrying one thing causes indefinite amounts of additional maintenance effort on other people throughout the tree. but fair enough, I get that Java 8 is particularly widely used and likely deserves some special status there (although I wonder what Debian/Ubuntu users are doing?) – but 11 and 17 aren't nearly so ubiquitous, right? | 19:32:18 | |
| Yeah | 19:32:54 | |
rging in Nixpkgs, there is actually less usage than I expected, though it's hard to tell what usage is like out-of-tree | 19:33:50 | |
(Part of me wants to lib.warn "Hi! Please respond to this poll if you are still using JDK 8") | 19:34:11 | |