[arch-commits] Commit in (8 files)

Frederik Schwan freswa at gemini.archlinux.org
Tue Apr 5 16:36:43 UTC 2022


    Date: Tuesday, April 5, 2022 @ 16:36:43
  Author: freswa
Revision: 441595

add java 17 openjfx

Added:
  java17-openjfx/
  java17-openjfx/repos/
  java17-openjfx/trunk/
  java17-openjfx/trunk/PKGBUILD
  java17-openjfx/trunk/gradle.properties
  java17-openjfx/trunk/java-openjfx-flags.patch
  java17-openjfx/trunk/java-openjfx-gstreamer-lite-gcc10-compat.patch
  java17-openjfx/trunk/java-openjfx-no-xlocale.patch

------------------------------------------------+
 PKGBUILD                                       |  126 ++++++++++++
 gradle.properties                              |    3 
 java-openjfx-flags.patch                       |  241 +++++++++++++++++++++++
 java-openjfx-gstreamer-lite-gcc10-compat.patch |   11 +
 java-openjfx-no-xlocale.patch                  |   16 +
 5 files changed, 397 insertions(+)

Added: java17-openjfx/trunk/PKGBUILD
===================================================================
--- java17-openjfx/trunk/PKGBUILD	                        (rev 0)
+++ java17-openjfx/trunk/PKGBUILD	2022-04-05 16:36:43 UTC (rev 441595)
@@ -0,0 +1,126 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Maintainer: Frederik Schwan <freswa at archlinux dot org>
+# Contributor: Maxime Gauduin <alucryd at archlinux.org>
+# Contributor: Guillaume Alaux <guillaume at archlinux.org>
+# Contributor: William Gathoye <william + archlinux at gathoye dot be>
+# Contributor: Emanuel Couto <emanuel dot amaral dot couto at gmail dot com>
+# Contributor: Richard Jackson <rdjack21 at gmail dot com>
+# Contributor: Tinx <arch at tinx dot eu>
+# Contributor: Jens Kapitza <j dot kapitza at schwarze-allianz dot de>
+# Contributor: Olli <olli at coderkun dot de>
+
+pkgbase=java-openjfx
+pkgname=(
+  java-openjfx
+  java-openjfx-doc
+  java-openjfx-src
+)
+pkgver=17.0.3.u0
+pkgrel=1
+pkgdesc="Java OpenJFX 17 client application platform (open-source implementation of JavaFX)"
+arch=(x86_64)
+url=https://wiki.openjdk.java.net/display/OpenJFX/Main
+license=(custom)
+makedepends=(
+  alsa-lib
+  ant
+  cairo
+  cmake
+  ffmpeg4.4
+  freetype2
+  gdk-pixbuf2
+  glib2
+  gperf
+  gradle
+  gtk2
+  gtk3
+  java-environment-openjdk=11
+  libgl
+  libx11
+  libxtst
+  pango
+  python
+  qt5-base
+  ruby
+  unzip
+  webkit2gtk
+  zip
+)
+source=(
+  # https://github.com/openjdk/jfx/archive/refs/tags/jfx-${pkgver//.u/+}.tar.gz
+  ${pkgname}-${pkgver}.tar.gz::https://github.com/openjdk/jfx${pkgver%%.*}u/archive/refs/tags/${pkgver//.u/+}.tar.gz
+  gradle.properties
+  java-openjfx-flags.patch
+  java-openjfx-no-xlocale.patch
+  java-openjfx-gstreamer-lite-gcc10-compat.patch
+)
+b2sums=('1a859d93c1710598c7b2ee20ca36250d79889fb8028877de169cf9f7e43173ee38b36b25e7a18220bc955570cf280562c7bc930decb7d08a7c1f9104dd7d67d1'
+        'a77fd8814a5978827de01a652f7b945f3439df04606434ced8998c8d77a82985292490e6965299aeb52f9da3d8069b4091d75519bd4ec8a15f70bc6d28b13498'
+        '2bc0cd6945ac33c882d56beb8abaa26bde038ebf25badb6e8f8af301449e7d56c2f795159d57ef2ccc8f5504bb8466e00445e65ff09519d9c6132e1b7dc6f4b5'
+        '13216615c01b8d48d17889ffa22668c38568870d83ab30c542eb5b5620db305f02efb1acb99d9b5e89eb0a73a134bb336cb301f4de4e8855cae50efb099e384e'
+        '119fa1cc5da2cdefa22bbe9b6f76581faa74e05fa7b6e5576470fc0251c6e257f122fbba03754cc01f7c7251145cfa1cab4ffc2f9d59ff0c175a121e943a0f64')
+
+prepare() {
+  # cd jfx-${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-gstreamer-lite-gcc10-compat.patch
+  sed 's|, "-Werror"||g' -i buildSrc/linux.gradle
+}
+
+build() {
+  # cd jfx-${pkgver//.u/-}
+  cd jfx${pkgver%%.*}u-${pkgver//.u/-}
+
+  # build against ffmpeg4.4
+  export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig'
+
+  gradle zips
+}
+
+package_java-openjfx() {
+  depends=(
+    java-runtime-openjdk=${pkgver%%.*}
+    libgl
+    libx11
+    libxtst
+  )
+  optdepends=(
+    'ffmpeg4.4: Media support',
+    'gtk2: GTK2 support',
+    'gtk3: GTK3 support',
+    'webkit2gtk: Web support'
+  )
+  provides=(java-openjfx=${pkgver%%.*})
+
+  # cd jfx-${pkgver//.u/-}
+  cd jfx${pkgver%%.*}u-${pkgver//.u/-}
+
+  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
+}
+
+package_java-openjfx-doc() {
+  # cd jfx-${pkgver//.u/-}
+  cd jfx${pkgver%%.*}u-${pkgver//.u/-}
+
+  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
+}
+
+package_java-openjfx-src() {
+  # cd jfx-${pkgver//.u/-}
+  cd jfx${pkgver%%.*}u-${pkgver//.u/-}
+
+  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
+}
+
+# vim: ts=2 sw=2 et:

Added: java17-openjfx/trunk/gradle.properties
===================================================================
--- java17-openjfx/trunk/gradle.properties	                        (rev 0)
+++ java17-openjfx/trunk/gradle.properties	2022-04-05 16:36:43 UTC (rev 441595)
@@ -0,0 +1,3 @@
+COMPILE_MEDIA = true
+COMPILE_WEBKIT = true
+CONF = Release

Added: java17-openjfx/trunk/java-openjfx-flags.patch
===================================================================
--- java17-openjfx/trunk/java-openjfx-flags.patch	                        (rev 0)
+++ java17-openjfx/trunk/java-openjfx-flags.patch	2022-04-05 16:36:43 UTC (rev 441595)
@@ -0,0 +1,241 @@
+From a28f9aaab759d82384279c16d86bb98ab47412a3 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev at gentoo.org>
+Date: Sat, 1 Jun 2019 00:12:55 -0700
+Subject: [PATCH] respect user cflags
+
+---
+ buildSrc/linux.gradle                           |  7 ++++++-
+ .../gstreamer/projects/linux/avplugin/Makefile  | 16 ++++++----------
+ .../gstreamer/projects/linux/fxplugins/Makefile | 17 ++++++-----------
+ .../projects/linux/gstreamer-lite/Makefile      | 16 ++++++----------
+ .../native/jfxmedia/projects/linux/Makefile     | 16 ++++++----------
+ 5 files changed, 30 insertions(+), 42 deletions(-)
+
+diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle
+index 7a7cbc72..6705a0f3 100644
+--- a/buildSrc/linux.gradle
++++ b/buildSrc/linux.gradle
+@@ -44,8 +44,11 @@ LINUX.library = { name -> return "lib${name}.so" as String }
+ def commonFlags = [
+         "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
+         "-fstack-protector",
++        "-Wno-error=cast-function-type",
+         "-Wextra", "-Wall", "-Wformat-security", "-Wno-unused", "-Wno-parentheses", "-Werror=trampolines"] // warning flags
+ 
++commonFlags.addAll(System.getenv("CFLAGS").trim().replaceAll(" +", " ").split(" "))
++
+ if (!IS_64) {
+     commonFlags += "-m32"
+ }
+@@ -70,6 +70,7 @@
+ def staticLinkFlags = [].flatten()
+
+ def linkFlags = IS_STATIC_BUILD ? staticLinkFlags : dynamicLinkFlags;
++linkFlags.addAll(System.getenv("LDFLAGS").trim().split(" "))
+
+ if (IS_DEBUG_NATIVE) {
+     linkFlags += "-g"
+@@ -294,7 +299,7 @@ LINUX.iio.nativeSource = [
+ LINUX.iio.compiler = compiler
+ LINUX.iio.ccFlags = [cFlags, "-fvisibility=hidden"].flatten()
+ LINUX.iio.linker = IS_STATIC_BUILD ? "ld" : linker
+-LINUX.iio.linkFlags = [linkFlags].flatten()
++LINUX.iio.linkFlags = [linkFlags, "-ljpeg"].flatten()
+ LINUX.iio.lib = "javafx_iio"
+ 
+ LINUX.prismES2 = [:]
+@@ -349,5 +354,5 @@ LINUX.media.ar = "${toolchainDir}ar"
+ LINUX.webkit = [:]
+ LINUX.webkit.compiler = compiler
+ LINUX.webkit.linker = linker
+-LINUX.webkit.ccFlags = commonFlags.flatten()
++LINUX.webkit.ccFlags = [commonFlags, "-fno-lto"].flatten()
+ LINUX.webkit.linkFlags = linkFlags.flatten()
+diff --git a/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile b/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile
+index 450b55d3..f27b9479 100644
+--- a/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile
++++ b/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile
+@@ -17,7 +17,7 @@ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
+ OBJBASE_DIR = $(BUILD_DIR)/obj/plugins/avplugin
+ endif
+ 
+-CFLAGS = -fPIC                   \
++CFLAGS := -fPIC                   \
+          -Wformat                \
+          -Wextra                 \
+          -Wformat-security       \
+@@ -29,17 +29,13 @@ CFLAGS = -fPIC                   \
+          -DLINUX                 \
+          -DGST_DISABLE_LOADSAVE  \
+          -DGSTREAMER_LITE \
+-         -ffunction-sections -fdata-sections
++         -ffunction-sections -fdata-sections \
++         ${CFLAGS}
+
+ ifneq ($(ARCH), aarch64)
+     CFLAGS += -msse2
+ endif
+
+-ifeq ($(BUILD_TYPE), Release)
+-    CFLAGS += -Os
+-else
+-    CFLAGS += -g -Wall
+-endif
+ 
+ PACKAGES_INCLUDES := $(shell pkg-config --cflags glib-2.0)
+ PACKAGES_LIBS     := $(shell pkg-config --libs glib-2.0 gobject-2.0)
+@@ -46,11 +41,12 @@ INCLUDES= -I../../../plugins                          \
+           -I../../../gstreamer-lite/gstreamer/libs    \
+           $(PACKAGES_INCLUDES)
+ 
+-LDFLAGS = -L$(BUILD_DIR)    \
++LDFLAGS := -L$(BUILD_DIR)    \
+           -lgstreamer-lite  \
+            $(PACKAGES_LIBS) \
+           -z relro          \
+-          -static-libgcc -static-libstdc++ -Wl,--gc-sections
++          -static-libgcc -static-libstdc++ -Wl,--gc-sections \
++          ${LDFLAGS}
+ 
+ ifneq ($(strip $(LIBAV_DIR)),)
+ INCLUDES += -I$(LIBAV_DIR)/include
+diff --git a/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile b/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile
+index 1e58d4d3..627865f9 100644
+--- a/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile
++++ b/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile
+@@ -14,7 +14,7 @@ DIRLIST = progressbuffer       \
+ 
+ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
+ 
+-CFLAGS = -fPIC                   \
++CFLAGS := -fPIC                   \
+          -Wformat                \
+          -Wextra                 \
+          -Wformat-security       \
+@@ -30,18 +30,13 @@ CFLAGS = -fPIC                   \
+          -DGST_DISABLE_LOADSAVE  \
+          -DGST_DISABLE_GST_DEBUG \
+          -DGSTREAMER_LITE \
+-         -ffunction-sections -fdata-sections
++         -ffunction-sections -fdata-sections \
++         ${CFLAGS}
+ 
+ ifneq ($(ARCH), aarch64)
+     CFLAGS += -msse2
+ endif
+
+-ifeq ($(BUILD_TYPE), Release)
+-    CFLAGS += -Os
+-else
+-    CFLAGS += -g -Wall
+-endif
+-
+ 
+ INCLUDES = -I$(SRCBASE_DIR) \
+ 	   $(addprefix -I$(SRCBASE_DIR)/,$(DIRLIST)) \
+@@ -47,9 +41,10 @@ INCLUDES = -I$(SRCBASE_DIR) \
+ PACKAGES_INCLUDES := $(shell pkg-config --cflags glib-2.0)
+ PACKAGES_LIBS := $(shell pkg-config --libs glib-2.0 gobject-2.0)
+ 
+-LDFLAGS = -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \
++LDFLAGS := -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \
+           -z relro \
+-          -static-libgcc -static-libstdc++ -Wl,--gc-sections
++          -static-libgcc -static-libstdc++ -Wl,--gc-sections \
++          ${LDFLAGS}
+ 
+ ifeq ($(ARCH), x32)
+     CFLAGS += -m32
+diff --git a/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile b/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile
+index 5baa30a1..ddf0e521 100644
+--- a/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile
++++ b/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile
+@@ -37,7 +37,7 @@ DIRLIST = gstreamer/gst \
+ 
+ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
+ 
+-CFLAGS =-fPIC                   \
++CFLAGS :=-fPIC                   \
+         -Wformat                \
+         -Wextra                 \
+         -Wformat-security       \
+@@ -51,13 +51,8 @@ CFLAGS =-fPIC                   \
+         -DLINUX                 \
+         -DGST_DISABLE_GST_DEBUG \
+         -DGST_DISABLE_LOADSAVE  \
+-        -ffunction-sections -fdata-sections
+-
+-ifeq ($(BUILD_TYPE), Release)
+-    CFLAGS += -Os
+-else
+-    CFLAGS += -g -Wall
+-endif
++        -ffunction-sections -fdata-sections \
++        ${CFLAGS}
+ 
+ INCLUDES = -I$(BASE_DIR)/plugins                          \
+ 	   -I$(SRCBASE_DIR)/projects/build/linux/common   \
+@@ -75,9 +70,10 @@ INCLUDES = -I$(BASE_DIR)/plugins                          \
+ PACKAGES_INCLUDES := $(shell pkg-config --cflags alsa glib-2.0)
+ PACKAGES_LIBS := $(shell pkg-config --libs alsa glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0)
+ 
+-LDFLAGS = -L$(BUILD_DIR) -lm $(PACKAGES_LIBS) \
++LDFLAGS := -L$(BUILD_DIR) -lm $(PACKAGES_LIBS) \
+           -z relro \
+-          -static-libgcc -static-libstdc++ -Wl,--gc-sections
++          -static-libgcc -static-libstdc++ -Wl,--gc-sections \
++          ${LDFLAGS}
+ 
+ ifeq ($(ARCH), x32)
+     CFLAGS += -m32
+diff --git a/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile b/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile
+index ecbd859f..5881cf53 100644
+--- a/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile
++++ b/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile
+@@ -17,7 +17,7 @@ DIRLIST = jni                \
+ 
+ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
+ 
+-CFLAGS = -DTARGET_OS_LINUX=1     \
++CFLAGS := -DTARGET_OS_LINUX=1     \
+          -D_GNU_SOURCE           \
+          -DGST_REMOVE_DEPRECATED \
+          -DGST_DISABLE_GST_DEBUG \
+@@ -26,7 +26,8 @@ CFLAGS = -DTARGET_OS_LINUX=1     \
+          -DHAVE_CONFIG_H         \
+          -DJFXMEDIA_JNI_EXPORTS  \
+          -DLINUX                 \
+-         -ffunction-sections -fdata-sections
++         -ffunction-sections -fdata-sections \
++         ${CFLAGS}
+ 
+ CPPFLAGS = -fno-rtti -ffunction-sections -fdata-sections
+ 
+@@ -56,21 +57,16 @@ ifdef HOST_COMPILE
+ 	           -I$(GSTREAMER_LITE_DIR)/gstreamer/libs \
+ 		  $(PACKAGES_INCLUDES)
+ 
+-	LDFLAGS = -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \
++	LDFLAGS := -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \
+             -z relro \
+-            -static-libgcc -static-libstdc++ -Wl,--gc-sections
++            -static-libgcc -static-libstdc++ -Wl,--gc-sections \
++            ${LDFLAGS}
+ else
+ 	CFLAGS += $(EXTRA_CFLAGS)
+ 	INCLUDES = $(BASE_INCLUDES)
+ 	LDFLAGS = -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) $(EXTRA_LDFLAGS)
+ endif
+ 
+-ifeq ($(BUILD_TYPE), Release)
+-	CFLAGS += -Os
+-else
+-	CFLAGS += -g -Wall -D_DEBUG
+-endif
+-
+ ifeq ($(ARCH), x32)
+     CFLAGS += -m32
+     LDFLAGS += -m32
+-- 
+2.21.0
+

Added: java17-openjfx/trunk/java-openjfx-gstreamer-lite-gcc10-compat.patch
===================================================================
--- java17-openjfx/trunk/java-openjfx-gstreamer-lite-gcc10-compat.patch	                        (rev 0)
+++ java17-openjfx/trunk/java-openjfx-gstreamer-lite-gcc10-compat.patch	2022-04-05 16:36:43 UTC (rev 441595)
@@ -0,0 +1,11 @@
+diff --git a/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile b/jfx-14.0.2-0/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile
+--- jfx-14.0.2-0/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile	2020-05-24 23:46:14.657738704 +0200
++++ src/jfx-14.0.2-0/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile	2020-05-24 23:44:33.644120502 +0200
+@@ -53,6 +53,7 @@
+         -DGST_DISABLE_GST_DEBUG \
+         -DGST_DISABLE_LOADSAVE  \
+         -ffunction-sections -fdata-sections \
++        -fcommon \
+         ${CFLAGS}
+ 
+ INCLUDES = -I$(BASE_DIR)/plugins                          \

Added: java17-openjfx/trunk/java-openjfx-no-xlocale.patch
===================================================================
--- java17-openjfx/trunk/java-openjfx-no-xlocale.patch	                        (rev 0)
+++ java17-openjfx/trunk/java-openjfx-no-xlocale.patch	2022-04-05 16:36:43 UTC (rev 441595)
@@ -0,0 +1,16 @@
+Description: Fixes the compatibility with the version of glibc in Debian
+Author: Emmanuel Bourg <ebourg at apache.org>
+Forwarded: https://bugs.openjdk.java.net/browse/JDK-8211399
+--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/xsltlocale.h
++++ b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/xsltlocale.h
+@@ -25,9 +25,6 @@
+ #ifdef HAVE_LOCALE_H
+ #include <locale.h>
+ #endif
+-#ifdef HAVE_XLOCALE_H
+-#include <xlocale.h>
+-#endif
+ 
+ typedef locale_t xsltLocale;
+ typedef xmlChar xsltLocaleChar;
+



More information about the arch-commits mailing list