NixOS JVM | 131 Members | |
| 28 Servers |
| Sender | Message | Time |
|---|---|---|
| 17 Jul 2025 | ||
| I have a vested interest in believing Darwin package porting is fairly easy these days since I was involved in the 24.11 rework 😅 | 19:16:46 | |
| Vested interests in getting the right thing done are good! | 19:17:10 | |
| In the short term, I'm going to focus on getting binary JDK 25 (probably Zulu) and GraalVM 25 (probably Oracle) working in Nixpkgs. And also the JDK Dashboard tool, which seems like a cool way for me to learn more about Nix programming since it seems to basically require two things:
| 19:20:28 | |
| I would recommend Temurin, if you had to pick (because it'll be needed for the source bootstrap later) | 19:21:09 | |
| though it's still a way aways from being stable right? | 19:21:26 | |
| Actually 25 EA is pretty stable now, in my experience. | 19:21:46 | |
One of the things I'm doing is writing an FFM ("Panama") wrapper for a C' library, calling it from a Java tool/library, and then compiling the tool with native-image. In order for all this to work correctly on aarch64` GraalVM 25 is required. | 19:23:13 | |
* One of the things I'm doing is writing an FFM ("Panama") wrapper for a C library, calling it from a Java tool/library, and then compiling the tool with native-image. In order for all this to work correctly on aarch64\ GraalVM 25 is required. | 19:23:30 | |
* One of the things I'm doing is writing an FFM ("Panama") wrapper for a C library, calling it from a Java tool/library, and then compiling the tool with native-image. In order for all this to work correctly on aarch64 GraalVM 25 is required. | 19:23:40 | |
| I personally think 25 is a big milestone release for the JDK. The FFM stuff is really cool for many reasons. And finally the hello world program is reduced to:
| 19:26:24 | |
| I used to think that making "hello world" simpler wasn't a big deal, but it is important in 3 ways:
| 19:30:11 | |
| More importantly for me, it makes Java a lot more viable as a 'scripting' language | 19:30:40 | |
| You no longer need to have a mountain of boilerplate just to do something simple | 19:30:54 | |
| I wouldn't personally use it like that, for I am Guido's strongest soldier, but it's very nice to see | 19:31:12 | |
| * I used to think that making "hello world" simpler -- JEP 512 -- wasn't a big deal, but it is important in 3 ways:
| 19:31:20 | |
Yeah, JEP 512, combined with jbang (to load dependencies) means that you can use Java as a scripting language for many use cases where previously you might have used Python or Groovy or Shell. | 19:32:43 | |
| I can't remember if I've shared it here, but I have a (hacked-together, definitely-needs-cleanup) script to update Zulu: https://github.com/msgilligan/zulu-metadata-client/blob/master/ZuluQuery.java | 19:34:44 | |
| Conceivably something like this could be added to Nixpkgs as an updater for Temurin, Zulu, etc. | 19:43:28 | |
| I'm not sure how people would feel about using Java to do this, but it could definitely be made to work. | 19:43:52 | |
| We've been against Java updaters in the past, due to the annoyance in getting them running | 19:44:49 | |
| I believe there was previously a Java-based OpenJDK updater that later got replaced | 19:45:07 | |
Download image.png | 19:45:23 | |
| Also not a lot of Java files in Nixpkgs | 19:45:27 | |
| it was quite bad for bootstrapping | 19:47:26 | |
| (so I rewrote it in Python) | 19:47:34 | |
| in general Python or Bash are the lingua franca options for Nixpkgs tooling | 19:47:51 | |
| For what it's worth, Temurin has an updater in generate-sources.py which could be used as a model for Zulu | 19:49:15 | |
| It looks nice! | 19:58:19 | |
Can we take a fresh look at the PR to add 25-ea to temurin-bin? I would be willing to work on this to get it -- or even a subset of it -- merged. | 20:34:55 | |
| According to the schedule, today (2025/07/17) it should be in "Rampdown Phase Two", and on 2025/08/07 there will be an "Initial Release Candidate". GA is scheduled for 2025/09/16. So I think it should be stable enough for our purposes. And of course, if we find a bug we can report it upstream so it can get fixed sooner. | 20:40:23 | |