| 17 Jul 2025 |
msgilligan | Well, I have two projects using OpenJFX. Generally, it can be loaded via Maven and doesn't need to be bundled with the JDK, but there are some corner cases that pop-up where having it bundled in the JDK resolves the issue. (And I think some of these corner cases are caused by Nix) | 17:16:54 |
emily | ideally you get the tool to not output those false references to begin with | 17:16:59 |
msgilligan | * Well, I have (at least) three projects using OpenJFX. Generally, it can be loaded via Maven and doesn't need to be bundled with the JDK, but there are some corner cases that pop-up where having it bundled in the JDK resolves the issue. (And I think some of these corner cases are caused by Nix) | 17:17:12 |
emily | we could still package it in Nixpkgs, and if we absolutely need it bundled into a JDK executable we can use jlink, which I believe should work with Temurin binaries too | 17:18:19 |
emily | though I'd hope we could solve the cases where that appears necessary | 17:18:28 |
emily | unless they killed jlink too :) | 17:19:00 |
Infinidoge 🏳️⚧️ | Amazing, nix-support seemingly has no results in the Nix manual, and 6 entirely different results for things other than remove-references-to | 17:19:42 |
emily | like bundling in the JDK is explicitly deprecated
As of JDK 11, the javafx.* modules are no longer included as part of the JDK. They are now distributed separately as a standalone, unbundled release of OpenJFX. They are available either as maven artifacts for use with maven/gradle or as a standalone SDK that includes jmod files for use with jlink.
| 17:19:43 |
emily | nix-support isn't related to move-references-to | 17:20:03 |
emily | nix-support is just files that stuff in Nixpkgs stdenv etc. consume | 17:20:11 |
emily | not sure Nix cares about it at all | 17:20:14 |
Infinidoge 🏳️⚧️ | * Amazing, nix-support seemingly has no results in the Nix manual, and 6 entirely different results for things other than remove-references-to in the Nixpkgs manual | 17:20:32 |
Infinidoge 🏳️⚧️ | The 6 references are in the nixpkgs manual (edited previous message) | 17:20:47 |
Infinidoge 🏳️⚧️ | So it isn't documented in the place where it's most useful anyways | 17:20:56 |
msgilligan | Yeah, but it's non-trivial to build your app correctly pulling JavaFX from Maven. I do it correctly in my apps, but I think there are paying Zulu customers who don't know how to do it or have legacy code that is hard to update. | 17:23:59 |
msgilligan | I have run into some Nix-specific JavaFX issues that I was able to workaround by using the bundled JavaFX. | 17:25:16 |
emily | to be clear, I'm not saying "use it from Maven". | 17:27:34 |
emily | I'm saying "we can package the OpenJFX modules without bundling them into the OpenJDK build". | 17:27:44 |
emily | that's what we do already except that we run another OpenJDK build to bake them in. my understanding is that that should not be needed | 17:27:59 |
emily | I believe it's "just" a jlink to turn a JDK + an OpenJFX build into the equivalent of what we build an entire second JDK for currently | 17:29:01 |
msgilligan | I see. | 17:29:16 |
msgilligan | Yeah, that makes sense for building a JDK with OpenJFX. | 17:29:46 |
emily | by the way it looks like one of our OpenJFXs went EOL half a year ago 🫣 | 17:30:00 |
emily | (and in particular this should be easy to do with Temurin binary + OpenJFX source build or probably even Temurin binary + OpenJFX binary, so we don't need Zulu for this even without making the OpenJDK build work on Darwin) | 17:30:42 |
msgilligan | Interesting. Should we open an issue for this? | 17:34:58 |
emily | probably :)
but FWIW when I say "make the OpenJDK build work on Darwin" I don't mean it like "embark on this big project". I mean "it's probably trivial (~15 lines diff max?) but nobody tried in years and Darwin support used to be much less bad" | 17:37:12 |
emily | I think someone could just try it, if JDK stuff is a higher priority for them than me | 17:37:31 |
emily | and/or already did if there is in fact an open PR for it? | 17:37:42 |
emily | …but this should probably get dropped from unstable and marked knownVulnerabilities on stable ASAP, since those things have an entire browser engine with a JavaScript JIT in them | 17:38:31 |
msgilligan | I saw the PR for OpenJDK source build for Darwin a few days ago, but couldn't find it 1/2 hour ago. I recall reading there were provenance issues with Xcode. | 17:39:00 |