!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

120 Members
26 Servers

Load older messages


SenderMessageTime
17 Jul 2025
@msgilligan:matrix.orgmsgilligan That is so true! But it does take time. 19:16:05
@emilazy:matrix.orgemilyyeah for sure I don't want to trivialize the learning curve19:16:16
@emilazy:matrix.orgemilyI 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
@msgilligan:matrix.orgmsgilliganVested interests in getting the right thing done are good!19:17:10
@msgilligan:matrix.orgmsgilligan

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:

  1. Learning how to pull information about packages out of Nixpkgs
  2. Learning how to process attribute sets with various functional transforms
19:20:28
@emilazy:matrix.orgemilyI would recommend Temurin, if you had to pick (because it'll be needed for the source bootstrap later)19:21:09
@emilazy:matrix.orgemilythough it's still a way aways from being stable right?19:21:26
@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

Show newer messages


Back to Room ListRoom Version: 6