FS#43653 - [jdk8-openjdk] Open JFX is not included in the Open JDK packaging

Attached to Project: Arch Linux
Opened by Wyatt Childers (Dark_Arc) - Sunday, 01 February 2015, 08:55 GMT
Last edited by Guillaume ALAUX (galaux) - Saturday, 30 May 2015, 16:56 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Guillaume ALAUX (galaux)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 6
Private No

Details

Description:
The JavaFX library has been for some time included as part of JDK, and as such for consistency, and to prevent confusion should be included in the Open JDK package.

For reference: http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#5
This task depends upon

Closed by  Guillaume ALAUX (galaux)
Saturday, 30 May 2015, 16:56 GMT
Reason for closing:  Implemented
Additional comments about closing:  Created package java-openjfx
Comment by patrick (potomac) - Saturday, 07 February 2015, 19:13 GMT Comment by Peter (protake) - Tuesday, 05 May 2015, 17:56 GMT
It would be great if we could find a solution for this issue. Since JavaFX is now part of the OracleJDK (especially with the release of Java 8), and has been for a while, the package is sort of expected to be available from a Java environment. Since the OpenJDK version does not provide the JavaFX classes, you are left with two options as of now:

* Use the Oracle JDK
* Compile the openjfx from the AUR

The first one is not really a good idea for everyone because a) some people may not want to use the OracleJDK, and b) some people are using additional things like infinality patches.
The second approach works quite well, but it's troublesome to compile the OpenJFX from scratch. On an older/weaker CPU it takes an eternity to compile. Also, I don't think compiling from scratch should be necessary.

As such I'd really appreciate it if you could either integrate JavaFX into the openjdk package or provide a separate openjfx package in the official repositories.
Comment by Guillaume ALAUX (galaux) - Saturday, 09 May 2015, 12:15 GMT
I must say AUR PKGBUILD `openjfx` is nicely written. Here are packages [0] built from a PKGBUILD heavily based on it. I have quickly tested them against OpenJDK JavaFX demos. Could you please let me know if they work on your use cases?

(FYI, version numbers may change, I should get rid of the build number for instance)

[0] http://pkgbuild.com/~guillaume/misc/openjfx/
Comment by Peter (protake) - Saturday, 09 May 2015, 13:39 GMT
I just did a few tests and the packages are working fine for me. The documentation is not being displayed in IntelliJ, but I'm not sure whether this is an issue with the package or just the IDE's fault; probably the latter. Thanks for this!
Comment by Guillaume ALAUX (galaux) - Saturday, 09 May 2015, 15:00 GMT
I don't use IntelliJ much these days but it seems you need to specify the SDK doc path [0]. Still, if you find out that a link from something such as /usr/lib/jvm/java-8-openjdk/doc/javafx automatically makes IDEs find all linked folders, I would be happy to add it.

[0] https://www.jetbrains.com/idea/help/sdk.html#d493674e198
Comment by patrick (potomac) - Saturday, 09 May 2015, 16:23 GMT
for me the AUR package openjfx is very good, works fine for me,

best thing to do is to promote openjfx package, it should be on extra repository, as an optionnal package for openjdk
Comment by Guillaume ALAUX (galaux) - Saturday, 09 May 2015, 16:30 GMT
> best thing to do is to promote openjfx package, it should be on extra repository, as an optionnal package for openjdk
That's what I am trying to do: I would like to get your feedback before pushing it to extra. As explained earlier the packages available at [0] **are** built from a PKGBUILD heavily inspired by the one available in AUR (only modifications are how the package is built: as we do not have `gradle` in [extra] I first need to find one. I also moved a man file and small akin things)

[0] http://pkgbuild.com/~guillaume/misc/openjfx/
Comment by Emanuel (untseac) - Sunday, 10 May 2015, 20:02 GMT
Hi, I'm the current maintainer of the openjfx package in AUR. If you're going to work with the AUR package there's some issues I have not fixed:

- Building only works with gradle-1.8
- I did try to make it work with the current version but it was too much work
- I'm not sure about 'webkitgtk2' dependency
- I did not find a way to build everything in clean chroot environment because gradle does not know what $HOME is (only knows what $GRADLE_USER_HOME is)
- My workaround was installing gradle in a clean chroot environment, enter the chroot and then build openjfx)
- They say in the official documentation you must delete 'jfrt.jar' before building but I don't get why so I removed that restriction from the gradle script (but maybe I shouldn't have done that)

It does work, however. Hopefully openjfx gets in the official repositories :)
Comment by Guillaume ALAUX (galaux) - Sunday, 10 May 2015, 20:21 GMT
Excellent. I was thinking about pinging you on AUR for this. Thanks.

- Building only works with gradle-1.8
- I did try to make it work with the current version but it was too much work
Quickly tried too. Not such a big deal to me. Upstreams says 1.8 is the required version so let's go for it.

- I'm not sure about 'webkitgtk2' dependency
Ok thanks, I will have a look.

- I did not find a way to build everything in clean chroot environment because gradle does not know what $HOME is (only knows what $GRADLE_USER_HOME is)
- My workaround was installing gradle in a clean chroot environment, enter the chroot and then build openjfx)
Yes, I had to download a full gradle-1.8 tarball and set GRADLE_USER_HOME. Not really proud of this but this makes it as we having gradle 1.8 in an official repo would be cumbersome.

- They say in the official documentation you must delete 'jfrt.jar' before building but I don't get why so I removed that restriction from the gradle script (but maybe I shouldn't have done that)
I guess they are just ensuring no previously install jfxrt.jar can be found on the classpath as it could interfere when building. As it will be built on a chroot, no previous javafx will be present so I removed the patch.

FYI I have just pushed the modified source here [0]. Thanks again for commenting here and for the clean package: the modifications I have brought are mostly cosmetic :)

[0] https://github.com/galaux/arch_java-openjfx

Comment by Guillaume ALAUX (galaux) - Saturday, 30 May 2015, 16:56 GMT
Packages java-openjfx, java-openjfx-doc and java-openjfx-src are officially available in [extra]. Thanks untseac for the initial package.
I am closing this bug report. Feel free to open it back or open a new one if you find any issue. I am also going to remove the initial version from AUR.

Loading...