!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

122 Members
26 Servers

Load older messages


SenderMessageTime
17 Jul 2025
@msgilligan:matrix.orgmsgilliganActually 25 EA is pretty stable now, in my experience.19:21:46
@msgilligan:matrix.orgmsgilligan 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
@msgilligan:matrix.orgmsgilligan * 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
@msgilligan:matrix.orgmsgilligan * 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
@msgilligan:matrix.orgmsgilligan

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:

void main() {
    IO.println("Hello, World!");
}
19:26:24
@msgilligan:matrix.orgmsgilligan

I used to think that making "hello world" simpler wasn't a big deal, but it is important in 3 ways:

  1. Makes it less intimidating for new devs to learn Java
  2. Helps with changing the obsolete view that Java is verbose
  3. Greatly simplifies the sample code you have to write for your libraries
19:30:11
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️More importantly for me, it makes Java a lot more viable as a 'scripting' language19:30:40
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️You no longer need to have a mountain of boilerplate just to do something simple19:30:54
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️I wouldn't personally use it like that, for I am Guido's strongest soldier, but it's very nice to see19:31:12
@msgilligan:matrix.orgmsgilligan *

I used to think that making "hello world" simpler -- JEP 512 -- wasn't a big deal, but it is important in 3 ways:

  1. Makes it less intimidating for new devs to learn Java
  2. Helps with changing the obsolete view that Java is verbose
  3. Greatly simplifies the sample code you have to write for your libraries
19:31:20
@msgilligan:matrix.orgmsgilligan 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
@msgilligan:matrix.orgmsgilliganI 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.java19:34:44
@msgilligan:matrix.orgmsgilliganConceivably something like this could be added to Nixpkgs as an updater for Temurin, Zulu, etc.19:43:28
@msgilligan:matrix.orgmsgilliganI'm not sure how people would feel about using Java to do this, but it could definitely be made to work.19:43:52
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️We've been against Java updaters in the past, due to the annoyance in getting them running19:44:49
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️I believe there was previously a Java-based OpenJDK updater that later got replaced19:45:07
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️image.png
Download image.png
19:45:23
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Also not a lot of Java files in Nixpkgs19:45:27
@emilazy:matrix.orgemilyit was quite bad for bootstrapping19:47:26
@emilazy:matrix.orgemily(so I rewrote it in Python)19:47:34
@emilazy:matrix.orgemilyin general Python or Bash are the lingua franca options for Nixpkgs tooling19:47:51
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️For what it's worth, Temurin has an updater in generate-sources.py which could be used as a model for Zulu19:49:15
@msgilligan:matrix.orgmsgilliganIt looks nice!19:58:19
@msgilligan:matrix.orgmsgilligan 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
@msgilligan:matrix.orgmsgilligan 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
@msgilligan:matrix.orgmsgilligan I have been using it (via various install mechanisms, including a WIP Nixpkgs PR) on both aarch64-darwin and aarch64-linux and it has been perfectly stable for my (admittedly limited) usage. 20:43:04
@msgilligan:matrix.orgmsgilliganThis is the PR to add temurin-bin 25-ea: https://github.com/NixOS/nixpkgs/pull/36859820:51:22
@msgilligan:matrix.orgmsgilligan

I see 368598 as having 4 logical groups (steps) of changes:

  1. Adding use of GITHUB_TOKEN to avoid rate limits and a couple other minor changes in generate-sources.py
  2. Updating generate-sources.py to be able to update sources for EA versions
  3. Configuring generate-sources.py to include EA-25 (ea_feature_versions = (25,))
  4. Checking in sources.json with EA-25 and adding the EA-25 packages.
21:08:33
@msgilligan:matrix.orgmsgilliganWhat is the best thing I can do to move this forward?21:09:07
@emilazy:matrix.orgemily
In reply to @msgilligan:matrix.org
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.
I mean that the reason we didn't merge it already was because we had not decided whether we should include prereleases in-tree. we usually don't in general for software and I'm not sure how it would interact with our stability policy wrt stable backports of the cycle overlaps
21:21:59

Show newer messages


Back to Room ListRoom Version: 6