Hi all, I started working on OpenJFX 9 this week. The good news is that it builds fine in Debian now [1]. The bad news is that it's going to be significantly more challenging to integrate it with our OpenJDK package.
With OpenJDK 8 the integration was just a matter of installing extra jar files and native libraries under /usr/lib/jvm/java-8-openjdk-amd64. With Java 9 and the modularization of the JDK it's another story: 1. The class files for the JRE and JavaFX are merged into a huge binary blob (lib/modules) using a custom format. 2. The javadocs are also merged into a unique src.zip archive. 3. The JDK contains new .jmod files for each module, and the ones for JavaFX are built by OpenJDK, not OpenJFX. 4. The JRE modules have to be patched to allow JavaFX classes to use internal JRE classes. According to the build instructions of OpenJFX [1] we have to build OpenJFX first and then build OpenJDK with an extra configuration parameter (--with-import-modules) pointing to the OpenJFX build directory. In this context it appears nearly impossible to package OpenJFX independently of OpenJDK. Here are the options I can see so far: A. Merge the openjfx package into openjdk. B. Keep the packages separate and attempt to overcome the issues (1) and (2) with postinst hooks or triggers merging the files, (3) by patching the OpenJFX build, and (4) by patching the module-info.java files in OpenJDK. C. Generate an intermediary package containing the build result of OpenJFX and used as a build dependency of OpenJDK. (A) is problematic because the openjdk package is already quite complex, and since openjdk is in the hands of the OpenJDK Team I won't be able to maintain OpenJFX there. (B) involves a lot of work, merging lib/modules is the biggest issue. (C) requires a rebuild of OpenJDK every time OpenJFX is updated, but is by far the easiest solution to implement. What do you think? Emmanuel Bourg [1] https://anonscm.debian.org/cgit/pkg-java/openjfx9.git [2] https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX#BuildingOpenJFX-IntegrationwithOpenJDK9