!aRKdLCkUeIFjRPZuJT:nixos.org

NixOS JVM

120 Members
27 Servers

Load older messages


SenderMessageTime
17 Jul 2025
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Much better explanation than mine in the PR comments, my thoughts exactly13:15:08
@msgilligan:matrix.orgmsgilliganCould we use their AQAVit tests?15:30:41
@emilazy:matrix.orgemilypotentially; I'm not sure how computationally expensive they are or how hard they are to wire up15:37:48
@emilazy:matrix.orgemily I expect it's the kind of thing that might be suitable for passthru.tests, to be manually run on an update, rather than blocking the build on Hydra 15:38:11
@emilazy:matrix.orgemily

marketing like "Validates runtimes by passing a wide variety of application test suites, ensuring compatibility and reliability." makes me worry that it'd be a whole ordeal where it wants to fetch a bunch of stuff from the internet and have all kinds of implicit dependencies and at best they make it easy by providing a Docker container we can't use or something.

but I haven't looked into it at all, so it's possible that it would be easier than this

15:39:03
@emilazy:matrix.orgemilyit looks like it's one of the requirements for listing on https://adoptium.net/en-GB/marketplace, though that's not something that would likely be interesting for us in itself. apparently another requirement is the TCK, which if https://openjdk.org/groups/conformance/JckAccess/ is up to date is non-Free and involves Oracle bureaucracy, and so definitely can't be run on Hydra15:40:27
@emilazy:matrix.orgemily "It varies from several hours to several days, but on average it takes about a day to pass the full TCK cycle." from https://www.azul.com/blog/use-tck-testing-to-ensure-that-your-java-distribution-conforms-to-the-java-se-specification/ is also not the kind of thing we can put on Hydra 15:41:03
@emilazy:matrix.orgemilyno idea how long AQAvit(™) takes, but I'm guessing it's not exactly fast either. it may be the kind of thing that would have to be done out-of-band periodically15:42:00
@msgilligan:matrix.orgmsgilligan

I expect it's the kind of thing that might be suitable for passthru.tests, to be manually run on an update, rather than blocking the build on Hydra

Yeah. And I also have the impression getting AQAVit running under Nix would be non-trivial. I don't think it is something the Nix Java team should prioritize in the short-run and it's not something I see myself having the time or inclination to tackle. But it might be nice to have eventually.

16:16:06
@msgilligan:matrix.orgmsgilligan

either the Temurin build scripts are a good fit for us and we can use them in our OpenJDK source builds, or they would make the derivation less maintainable or less flexible and so we should keep driving the OpenJDK build on our own

The individual working on it seems committed to doing it, so maybe we find out.

16:17:36
@msgilligan:matrix.orgmsgilligan

It seems like the core Nix Java team (however that is defined) should focus an a few JDKs as "first-tier" and a few more as "second-tier" and declare the rest as community supported. And this should be documented somewhere. Something like:

First-tier:

  • OpenJDK
  • GraalVM Community Edition

Second-tier:

  • Temurin (because it's used for bootstrap)
  • Zulu (because it's used on Darwin)

Community-supported:
Everything else (and if something isn't maintained it can be dropped)

16:23:49
@msgilligan:matrix.orgmsgilliganIt would be nice to see an OpenJDK build that works on Darwin and I believe there is an active PR to do this. If it can be done correctly, then Zulu could be "demoted" to community-supported.16:31:46
@msgilligan:matrix.orgmsgilliganI'm also wondering why Nix doesn't do what GUIX does and build OpenJDK n with OpenJDK n-1. I'm guessing this is because we don't have the bootstrap chain going back far enough to make this work?16:33:32
@msgilligan:matrix.orgmsgilligan *

It seems like the core Nix Java team (however that is defined) should focus an a few JDKs as "first-tier" and a few more as "second-tier" and declare the rest as community supported. And this should be documented somewhere. Something like:

First-tier:

  • OpenJDK
  • GraalVM Community Edition

Second-tier:

  • Temurin (because it's used for bootstrap)
  • Zulu (because it's used on Darwin)

Community-supported:

  • Everything else (and if something isn't maintained it can be dropped)
16:34:13
@qyliss:fairydust.spaceAlyssa RossHistorically people have been resistant to long bootstraps in Nixpkgs because of the build times. (IMO we should do it anyway)16:34:20
@qyliss:fairydust.spaceAlyssa RossGuix has bootstrappability as an explicit principle and we sadly dont16:34:40
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Having been the one to remove most of the JDKs, the problem with bootstrapping is maintaining all of the components16:35:11
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Most of the JDK steps were very unable to build I tried fixing them and at a certain point I just gave up16:35:46
@msgilligan:matrix.orgmsgilliganYeah, not only does the whole chain need to be there, but it needs to be maintained.16:35:58
@qyliss:fairydust.spaceAlyssa RossThe flipside is it would be a lot easier to notice things that would break the old versions if they were in the critical path of the current version16:36:32
@msgilligan:matrix.orgmsgilliganI would really like to see full bootstrappability, but I guess that's not feasible in the short-run.16:36:59
@qyliss:fairydust.spaceAlyssa RossSo it wouldn't be as bad as maintaining old leaf versions16:37:03
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Considering how difficult it is to actively maintain OpenJDK already without the bootstrap chain, I am very skeptical of the benefit16:37:36
@msgilligan:matrix.orgmsgilliganIt seems like creating tools to make the current maintenance easier is probably one of the biggest return-on-investment strategies. The JDK Dashboard tool, auto-updaters, more and better passthru tests, for example.16:40:42
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Yeah16:41:00
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Also if Nixpkgs has some mechanism to give security warnings only if something isn't a dependency16:41:35
@emilazy:matrix.orgemilyI think Graal is currently unmaintained in Nixpkgs FWIW16:42:14
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️Because a bootstrap chain can't break evaluation for an EOL JDK version, but also should warn16:42:24
@infinidoge:inx.moeInfinidoge 🏳️‍⚧️ * Because a bootstrap chain can't break evaluation for an EOL JDK version, but also should warn if it is tried to be used16:42:28
@emilazy:matrix.orgemilyI would suggest focusing on OpenJDK and Temurin binaries for now and expanding if it turns out there's resources to spare. in particular, I believe Zulu on Darwin can go away16:42:58

Show newer messages


Back to Room ListRoom Version: 6