Package Details: java21-openjfx-doc 21.0.5.u0-1

Git Clone URL: https://aur.archlinux.org/java21-openjfx.git (read-only, click to copy)
Package Base: java21-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: java21 javafx openjfx
Licenses: GPL-2.0-only WITH Classpath-exception-2.0
Submitter: Freso
Maintainer: Freso (AutoUpdateBot)
Last Packager: Freso
Votes: 1
Popularity: 0.102370
First Submitted: 2024-04-05 23:59 (UTC)
Last Updated: 2024-08-15 13:30 (UTC)

Dependencies (24)

Required by (0)

Sources (4)

Pinned Comments

Freso commented on 2024-04-21 11:59 (UTC)

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

Disabling the building of WebKit seems to unbreak the build. 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/java21-openjfx-no-webkit

Latest Comments

hron84 commented on 2024-10-09 20:31 (UTC)

It would be much better if JavaFX could use the system/AUR libraries/packages instead bringing its own version and compiling them locally. It elongates the build time a lot, also the build process could contain errors/issues that are potentially fixed in the system packages / other PKGBUILDs.

n0s4 commented on 2024-10-02 13:10 (UTC)

I'm getting build error:

[18/4593] Building CXX object Source/WebCore/PAL/pal/CMakeFiles/PAL.dir/text/TextCodecCJK.cpp.o cc1plus: warning: command-line option ‘-Wno-incompatible-pointer-types’ is valid for C/ObjC but not for C++ cc1plus: warning: command-line option ‘-Wno-int-conversion’ is valid for C/ObjC but not for C++ cc1plus: warning: command-line option ‘-Wno-discarded-qualifiers’ is valid for C/ObjC but not for C++ ninja: build stopped: subcommand failed.  > Task :web:compileNativeLinux FAILED  FAILURE: Build failed with an exception.  * Where: Build file '/home/joe/Downloads/java21-openjfx/src/jfx21u-21.0.5-0/build.gradle' line: 3659  * What went wrong: Execution failed for task ':web:compileNativeLinux'. > Process 'command 'perl'' finished with non-zero exit value 1  * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights.  * Get more help at https://help.gradle.org  BUILD FAILED in 8s 59 actionable tasks: 9 executed, 50 up-to-date ==> ERROR: A failure occurred in build().     Aborting... 

I have perl v5.40.0 installed.

Any suggestions?

dreieck commented on 2024-05-18 11:07 (UTC)

Please change options=(!lto) to options+=('!lto'), so that !lto is appended but other options set by the user (e.g. in /etc/makepkg.conf) stay in effect.

Regards and thanks for maintaining!

dreieck commented on 2024-05-18 10:12 (UTC) (edited on 2024-05-18 10:56 (UTC) by dreieck)

With up to date GCC 14.1.1, you need to add the following (or code with similar effect) to build():

  _FIXWERROR_GCC14="-Wno-error=incompatible-pointer-types -Wno-error=sign-compare -Wno-error=int-conversion"   _SILENCEWARNINGS="-Wno-incompatible-pointer-types -Wno-sign-compare -Wno-int-conversion -Wno-missing-field-initializers -Wno-cast-function-type -Wno-discarded-qualifiers -Wno-deprecated-copy -Wno-missing-field-initializers -Wno-stringop-truncation -Wno-return-local-addr -Wno-dangling-pointer -Wno-address -Wno-switch -Wno-deprecated-declarations -Wno-stringop-overread -Wno-expansion-to-defined -Wno-array-bounds"   _CFLAGSADDITIONS=" ${_FIXWERROR_GCC14} ${_SILENCEWARNINGS}"   CFLAGS+="${_CFLAGSADDITIONS}"   CXXFLAGS+="${_CFLAGSADDITIONS}"   export CFLAGS   export CXXFLAGS 

(_SILENCEWARNINGS is optional, it also silences the printing of some compiler warnings.)

Otherwise build fails with
freetype.c:523:33: error: initialization of ‘jbyte *’ {aka ‘signed char *’} from incompatible pointer type ‘jfloat *’ {aka ‘float *’} [-Wincompatible-pointer-types]
and
freetype.c:387:21: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
and
pango.c:427:53: error: passing argument 2 of ‘g_utf8_strlen’ makes integer from pointer without a cast [-Wint-conversion]:

> Task :graphics:compileFullJava Note: /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/java/javafx/scene/layout/Region.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c: In function ‘Java_com_sun_javafx_font_freetype_OSFreetype_getBitmapData’: /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c:387:21: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]   387 |     if (bitmap.rows > INT_MAX / bitmap.pitch) return NULL;       |                     ^ /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c: In function ‘checkSize’: /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c:523:33: error: initialization of ‘jbyte *’ {aka ‘signed char *’} from incompatible pointer type ‘jfloat *’ {aka ‘float *’} [-Wincompatible-pointer-types]   523 |         jbyte* newPointCoords = (jfloat*)realloc(info->pointCoords, info->lenCoords * sizeof(jfloat));       |                                 ^ /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c:525:27: error: assignment to ‘jfloat *’ {aka ‘float *’} from incompatible pointer type ‘jbyte *’ {aka ‘signed char *’} [-Wincompatible-pointer-types]   525 |         info->pointCoords = newPointCoords;       |                           ^  > Task :graphics:ccLinuxFontFreetype FAILED  FAILURE: Build failed with an exception. 
> Task :graphics:compileFullJava Note: /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/java/javafx/scene/layout/Region.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c: In function ‘Java_com_sun_javafx_font_freetype_OSFreetype_getBitmapData’: /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c:387:21: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]   387 |     if (bitmap.rows > INT_MAX / bitmap.pitch) return NULL;       |                     ^ /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c: In function ‘checkSize’: /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c:523:33: warning: initialization of ‘jbyte *’ {aka ‘signed char *’} from incompatible pointer type ‘jfloat *’ {aka ‘float *’} [-Wincompatible-pointer-types]   523 |         jbyte* newPointCoords = (jfloat*)realloc(info->pointCoords, info->lenCoords * sizeof(jfloat));       |                                 ^ /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c:525:27: warning: assignment to ‘jfloat *’ {aka ‘float *’} from incompatible pointer type ‘jbyte *’ {aka ‘signed char *’} [-Wincompatible-pointer-types]   525 |         info->pointCoords = newPointCoords;       |                           ^ /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c: In function ‘Java_com_sun_javafx_font_freetype_OSFreetype_FT_1Set_1Transform’: /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c:412:13: warning: dangling pointer ‘lpDelta’ to ‘vec’ may be used [-Wdangling-pointer=]   412 |             FT_Set_Transform((FT_Face)arg0, lpMatrix, lpDelta);       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/freetype.c:405:19: note: ‘vec’ declared here   405 |         FT_Vector vec = {arg2, arg3};       |                   ^~~ /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/pango.c: In function ‘Java_com_sun_javafx_font_freetype_OSPango_g_1utf8_1strlen’: /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/pango.c:427:53: error: passing argument 2 of ‘g_utf8_strlen’ makes integer from pointer without a cast [-Wint-conversion]   427 |     return (jlong)g_utf8_strlen((const gchar *)str, (const gchar *)pos);       |                                                     ^~~~~~~~~~~~~~~~~~       |                                                     |       |                                                     const gchar * {aka const char *} In file included from /usr/include/glib-2.0/glib/gstring.h:35,                  from /usr/include/glib-2.0/glib/giochannel.h:36,                  from /usr/include/glib-2.0/glib.h:56,                  from /usr/include/glib-2.0/gobject/gbinding.h:30,                  from /usr/include/glib-2.0/glib-object.h:24,                  from /usr/include/pango-1.0/pango/pango-coverage.h:25,                  from /usr/include/pango-1.0/pango/pango-font.h:25,                  from /usr/include/pango-1.0/pango/pango-attributes.h:25,                  from /usr/include/pango-1.0/pango/pango.h:25,                  from /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/pango.c:31: /usr/include/glib-2.0/glib/gunicode.h:834:49: note: expected ‘gssize’ {aka ‘long int’} but argument is of type ‘const gchar *’ {aka ‘const char *’}   834 |                                    gssize       max) G_GNUC_PURE;       |                                    ~~~~~~~~~~~~~^~~  > Task :graphics:ccLinuxFontPango FAILED  FAILURE: Build failed with an exception. 
> Task :graphics:compileFullJava [...] /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/pango.c: In function ‘Java_com_sun_javafx_font_freetype_OSPango_g_1utf8_1strlen’: /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/pango.c:427:53: error: passing argument 2 of ‘g_utf8_strlen’ makes integer from pointer without a cast [-Wint-conversion]   427 |     return (jlong)g_utf8_strlen((const gchar *)str, (const gchar *)pos);       |                                                     ^~~~~~~~~~~~~~~~~~       |                                                     |       |                                                     const gchar * {aka const char *} In file included from /usr/include/glib-2.0/glib/gstring.h:35,                  from /usr/include/glib-2.0/glib/giochannel.h:36,                  from /usr/include/glib-2.0/glib.h:56,                  from /usr/include/glib-2.0/gobject/gbinding.h:30,                  from /usr/include/glib-2.0/glib-object.h:24,                  from /usr/include/pango-1.0/pango/pango-coverage.h:25,                  from /usr/include/pango-1.0/pango/pango-font.h:25,                  from /usr/include/pango-1.0/pango/pango-attributes.h:25,                  from /usr/include/pango-1.0/pango/pango.h:25,                  from /var/cache/makepkg/build/java21-openjfx/src/jfx21u-21.0.4-0/modules/javafx.graphics/src/main/native-font/pango.c:31: /usr/include/glib-2.0/glib/gunicode.h:834:49: note: expected ‘gssize’ {aka ‘long int’} but argument is of type ‘const gchar *’ {aka ‘const char *’}   834 |                                    gssize       max) G_GNUC_PURE;       |                                    ~~~~~~~~~~~~~^~~  > Task :graphics:ccLinuxFontPango FAILED  FAILURE: Build failed with an exception. 

Regards!

patlefort commented on 2024-04-21 17:35 (UTC)

Another small change: Can you please add --no-daemon to your gradle command? We generally don't want to daemonize gradle when building packages.

Freso commented on 2024-04-21 11:59 (UTC)

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

Disabling the building of WebKit seems to unbreak the build. 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/java21-openjfx-no-webkit

patlefort commented on 2024-04-17 13:41 (UTC)

Patch to fix issues:

  • Fix wrong provides.
  • Add LDFLAGS work around, it won't compile without it.
  • Move conflicting files with java-openjfx package.
  • Disable webkit, it doesn't compile, same problem as java-openjfx.

Also, can you please bump pkgrel instead of adding a .u to pkgver? That's what pkgrel is for.

diff --git a/PKGBUILD b/PKGBUILD index b445826..f71b730 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -54,7 +54,7 @@ source=(    java-openjfx-no-xlocale.patch  )  b2sums=('e569482a6b89f541e0349772f4bc91c2f2fa97073da9a894c73d9d1107dc074b84d6ab004a259519bdaf03b6abf7fbf84cccd1e23234847f20627592050f2e5d' -        'a77fd8814a5978827de01a652f7b945f3439df04606434ced8998c8d77a82985292490e6965299aeb52f9da3d8069b4091d75519bd4ec8a15f70bc6d28b13498' +        '0c023ef99e7ee600710c54dad0ad59070620595109ca42c5057fa2ab74ef6d244631745f5cd4c1bea9c0321ee69f1e1efaab820ff124ad1d4f453121e77fd14f'          '609ffbc0938922f00ccebab6d1e9ab0d54b84f088f75c10c0eb4211ff1b33438481d76092eae8811a5e9f53dfc3ff422f7aa4e98abd8fc27fb73f1c3d4661c41'          '13216615c01b8d48d17889ffa22668c38568870d83ab30c542eb5b5620db305f02efb1acb99d9b5e89eb0a73a134bb336cb301f4de4e8855cae50efb099e384e')  @@ -77,6 +77,9 @@ build() {     # build against ffmpeg4.4    export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig' + +  # Workaround for situation where the linker treats whitespace as arguments +  export LDFLAGS="${LDFLAGS//+([[:space:]]|[[:blank:]])/ }"     gradle zips  } @@ -94,14 +97,14 @@ package_java21-openjfx() {      'gtk3: GTK3 support',      'webkit2gtk: Web support'    ) -  provides=(java21-openjfx=${pkgver%%.*}) +  provides=(java-openjfx=${pkgver%%.*})     cd $_jfxdir     install -dm 755  "${pkgdir}"/usr/{lib/jvm/java-${pkgver%%.*}-openjdk,share/licenses}    cp -dr --no-preserve=ownership build/sdk/lib "${pkgdir}"/usr/lib/jvm/java-${pkgver%%.*}-openjdk/    cp -dr --no-preserve=ownership build/jmods "${pkgdir}"/usr/lib/jvm/java-${pkgver%%.*}-openjdk/ -  cp -dr --no-preserve=ownership build/sdk/legal "${pkgdir}"/usr/share/licenses/java-openjfx +  cp -dr --no-preserve=ownership build/sdk/legal "${pkgdir}"/usr/share/licenses/java-${pkgver%%.*}-openjfx  }   package_java21-openjfx-doc() { @@ -109,8 +112,8 @@ package_java21-openjfx-doc() {    cd $_jfxdir     install -dm 755 "${pkgdir}"/usr/share/{doc,licenses} -  cp -dr --no-preserve=ownership build/javadoc "${pkgdir}"/usr/share/doc/java-openjfx -  ln -s java-openjfx "${pkgdir}"/usr/share/licenses/java-openjfx-doc +  cp -dr --no-preserve=ownership build/javadoc "${pkgdir}"/usr/share/doc/java-${pkgver%%.*}-openjfx +  ln -s java-${pkgver%%.*}-openjfx "${pkgdir}"/usr/share/licenses/java-${pkgver%%.*}-openjfx-doc  }   package_java21-openjfx-src() { @@ -119,7 +122,7 @@ package_java21-openjfx-src() {     install -dm 755  "${pkgdir}"/usr/{lib/jvm/java-${pkgver%%.*}-openjdk,share/licenses}    install -m 644 build/sdk/src.zip "${pkgdir}"/usr/lib/jvm/java-${pkgver%%.*}-openjdk/javafx-src.zip -  ln -s java-openjfx "${pkgdir}"/usr/share/licenses/java-openjfx-src +  ln -s java-${pkgver%%.*}-openjfx "${pkgdir}"/usr/share/licenses/java-${pkgver%%.*}-openjfx-src  }   # vim: ts=2 sw=2 et: diff --git a/gradle.properties b/gradle.properties index 56d4684..eaf8704 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@  COMPILE_MEDIA = true -COMPILE_WEBKIT = true +COMPILE_WEBKIT = false  CONF = Release 

Narwhal commented on 2024-04-10 08:08 (UTC)

The checksum for java-openjfx-21.0.3+1.tar.gz seems incorrect. Validation fails.