Package Details: java-openjfx 22.0.2.u4-1

Git Clone URL: https://aur.archlinux.org/java-openjfx.git (read-only, click to copy)
Package Base: java-openjfx
Description: Java OpenJFX client application platform (open-source implementation of JavaFX) - latest version
Upstream URL: https://wiki.openjdk.java.net/display/OpenJFX/Main
Keywords: javafx openjfx
Licenses: GPL-2.0-only WITH Classpath-exception-2.0
Provides: java-openjfx
Submitter: freswa
Maintainer: AutoUpdateBot
Last Packager: Freso
Votes: 10
Popularity: 0.43
First Submitted: 2023-10-08 20:20 (UTC)
Last Updated: 2024-08-15 13:14 (UTC)

Dependencies (33)

Sources (3)

Pinned Comments

Freso commented on 2024-04-17 10:17 (UTC)

@aubin Just use the java21-openjfx package?

For everyone else, disabling the building of WebKit seems to unbreak the build (for me at least). I’m not sure how essential the WebKit parts are to JavaFX overall, so a bit wary about changing this part of the PKGBUILD here. For anyone who wants to try it out, you can grab the package from this branch: https://gitlab.archlinux.org/freso/java-openjfx/-/tree/java-openjfx-no-webkit

Freso commented on 2024-03-31 22:35 (UTC)

Patches etc. are very welcome at https://gitlab.archlinux.org/freso/java-openjfx if you have any suggestions for how to fix the package. :)

Latest Comments

« First ‹ Previous 1 2 3 4

Pilli commented on 2023-10-16 09:21 (UTC) (edited on 2023-10-16 09:22 (UTC) by Pilli)

Hi all.

I built the packages with Java 17. Java 19 or 17 are declared as dependency at source code, in the file build.properties.

You all can download the snapshot to build the packages or the packages form this URL: https://gofile.io/d/vJc9cz

Best regards.

jghodd commented on 2023-10-15 02:52 (UTC)

I've followed @Pilli with all his suggestions and removed COMPILE_WEBKIT from gradle.properties and am still getting the following error:

* What went wrong: Could not open settings generic class cache for settings file '/distro/local/repository/java-openjfx/java-openjfx/src/jfx21u-21-31/settings.gradle' (/home/jghodd/.gradle/caches/7.6/scripts/ausqagc3u3ca3g3hmlj5mrb5).

BUG! exception in phase 'semantic analysis' in source unit 'BuildScript' Unsupported class file major version 65

nomisge commented on 2023-10-14 16:14 (UTC)

When using @Pilli suggestions and additionally not building with webkit (configure in gradle.properties) it works for me. Building with webkit results in an error similar to @Bitals comment.

dreieck commented on 2023-10-14 13:28 (UTC) (edited on 2023-10-14 13:35 (UTC) by dreieck)

This now builds version 21 of java-openjfx.

Why is java-environment-openjdk=17 needed as make dependency, and not
java-environment-openjdk>=21 java-environment-openjdk<22?

And thinking of maybe outdated (make)dependencies: Is still explicitly gradle7 needed, and the up to date gradle does not suffice?

Regards!

Viterzgir commented on 2023-10-13 23:11 (UTC) (edited on 2023-10-13 23:13 (UTC) by Viterzgir)

I have an error while build

  • Where: Build file '/home/serge/Downloads/temp/java-openjfx/src/jfx21u-21-31/build.gradle' line: 731
  • What went wrong: A problem occurred evaluating root project 'jfx21u-21-31'. Unable to determine the version of Java in JDK_HOME at /usr/lib/jvm/zulu-17/

Pilli commented on 2023-10-12 14:28 (UTC)

Hi.

@Freso, you can delete Gradle7 dependency and use Gradle wrapper instead. Gradle wrapper is included in the source code. You can read this here.

build() {
  cd jfx${pkgver//.*}u-${pkgver//.u/-}
  # cd jfx${pkgver%%.*}u-${pkgver//.u/-}

  # build against ffmpeg4.4
  export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig'

  chmod u+x ./gradlew
  ./gradlew zips
}

@Bitals, I've had the same problem in Manjaro, it is related with cstdio library. I've added the library into 2 header files and it has worked.

This is the patch file (java-openjfx-cstdio.patch):

--- a/modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoPage.h
+++ b/modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoPage.h
@@ -31,6 +31,7 @@
 #include "Mutex.h"
 #include <climits>
 #include <mutex>
+#include <cstdio>

 #if !BUSE(LIBPAS)

--- a/modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.h
--- a/modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.h
@@ -44,6 +44,7 @@
 #include <condition_variable>
 #include <mutex>
 #include <vector>
+#include <cstdio>

 #if !BUSE(LIBPAS)

And this is the prepare section:

prepare() {
  cd jfx${pkgver//.*}u-${pkgver//.u/-}
  # cd jfx${pkgver%%.*}u-${pkgver//.u/-}

  ln -sf ../gradle.properties .
  patch -Np1 -i ../java-openjfx-flags.patch
  patch -Np1 -i ../java-openjfx-no-xlocale.patch
  patch -Np1 -i ../java-openjfx-cstdio.patch
  sed 's|, "-Werror"||g' -i buildSrc/linux.gradle
}

Don't forget adding the patch b2sum to the b2sums section.

Best regards.

Bitals commented on 2023-10-10 15:03 (UTC)

Also errors out on Java 21, which this package corresponds to. But it fails towards the end:

23:35:10 make: *** [Makefile:111: all] Error 2
23:35:10 
23:35:10 > Task :web:compileNativeLinux FAILED
23:35:10 
23:35:10 FAILURE: Build failed with an exception.
23:35:10 
23:35:10 * Where:
23:35:10 Build file '/home/builder/.cache/aurutils/sync/java-openjfx/src/jfx21u-21-31/build.gradle' line: 3655
23:35:10 
23:35:10 * What went wrong:
23:35:10 Execution failed for task ':web:compileNativeLinux'.
23:35:10 > Process 'command 'perl'' finished with non-zero exit value 2

w568w commented on 2023-10-10 03:13 (UTC) (edited on 2023-10-10 03:14 (UTC) by w568w)

This package seems to only support SDK version <= 19. On SDK 20, it complains:

Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* What went wrong:
Could not open settings generic class cache for settings file '/home/<user>/.cache/yay/java-openjfx/src/jfx21u-21-31/settings.gradle' (/home/<user>/.gradle/caches/7.6.3/scripts/5wos0t9vak6e2kbhol4h58iy5).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 64

/path/to/src/gradle/wrapper/gradle-wrapper.properties indicates that it uses Gradle 7.6, which does not support Java 20. Maybe add constraints for the version of java-runtime-openjdk?