diff options
author | Frederik Schwan | 2023-10-08 22:19:43 +0200 |
---|---|---|
committer | Frederik Schwan | 2023-10-08 22:19:50 +0200 |
commit | 9dc34eeaa67e84fe58a4a45b08f13a5534ac625b (patch) | |
tree | 3ba3d3537a21997fece4c92ff8ae9bba68d8277f | |
download | aur-9dc34eeaa67e84fe58a4a45b08f13a5534ac625b.tar.gz |
initial import from [extra]
-rw-r--r-- | .SRCINFO | 54 | ||||
-rw-r--r-- | PKGBUILD | 124 | ||||
-rw-r--r-- | gradle.properties | 3 | ||||
-rw-r--r-- | java-openjfx-flags.patch | 243 | ||||
-rw-r--r-- | java-openjfx-no-xlocale.patch | 16 |
5 files changed, 440 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..3f1e43171b64 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,54 @@ +pkgbase = java-openjfx + pkgdesc = Java OpenJFX client application platform (open-source implementation of JavaFX) - latest version + pkgver = 21.u31 + pkgrel = 1 + url = https://wiki.openjdk.java.net/display/OpenJFX/Main + arch = x86_64 + license = custom + makedepends = alsa-lib + makedepends = ant + makedepends = cairo + makedepends = cmake + makedepends = ffmpeg4.4 + makedepends = freetype2 + makedepends = gdk-pixbuf2 + makedepends = glib2 + makedepends = gperf + makedepends = gradle7 + makedepends = gtk2 + makedepends = gtk3 + makedepends = java-environment-openjdk=17 + makedepends = libgl + makedepends = libx11 + makedepends = libxtst + makedepends = pango + makedepends = perl + makedepends = python + makedepends = qt5-base + makedepends = ruby + makedepends = unzip + makedepends = webkit2gtk + makedepends = zip + source = https://github.com/openjdk/jfx21u/archive/refs/tags/21+31.tar.gz + source = gradle.properties + source = java-openjfx-flags.patch + source = java-openjfx-no-xlocale.patch + b2sums = 125079b6250fac52850ad11b12fb5436c45d14969298ea3123c57f332200db130e8928ca25579620b62715937bfe061e9dbf07c55acf2499aa1d550b9522d51a + b2sums = a77fd8814a5978827de01a652f7b945f3439df04606434ced8998c8d77a82985292490e6965299aeb52f9da3d8069b4091d75519bd4ec8a15f70bc6d28b13498 + b2sums = 609ffbc0938922f00ccebab6d1e9ab0d54b84f088f75c10c0eb4211ff1b33438481d76092eae8811a5e9f53dfc3ff422f7aa4e98abd8fc27fb73f1c3d4661c41 + b2sums = 13216615c01b8d48d17889ffa22668c38568870d83ab30c542eb5b5620db305f02efb1acb99d9b5e89eb0a73a134bb336cb301f4de4e8855cae50efb099e384e + +pkgname = java-openjfx + depends = java-runtime-openjdk=21 + depends = libgl + depends = libx11 + depends = libxtst + optdepends = ffmpeg4.4: Media support, + optdepends = gtk2: GTK2 support, + optdepends = gtk3: GTK3 support, + optdepends = webkit2gtk: Web support + provides = java-openjfx=21 + +pkgname = java-openjfx-doc + +pkgname = java-openjfx-src diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..11993258c122 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,124 @@ +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Maintainer: Frederik Schwan <freswa at archlinux dot org> +# Contributor: Maxime Gauduin <alucryd@archlinux.org> +# Contributor: Guillaume Alaux <guillaume@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=21.u31 +pkgrel=1 +pkgdesc="Java OpenJFX client application platform (open-source implementation of JavaFX) - latest version" +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 + gradle7 + gtk2 + gtk3 + java-environment-openjdk=17 + libgl + libx11 + libxtst + pango + perl + python + qt5-base + ruby + unzip + webkit2gtk + zip +) +source=( + https://github.com/openjdk/jfx${pkgver//.*}u/archive/refs/tags/${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 +) +b2sums=('125079b6250fac52850ad11b12fb5436c45d14969298ea3123c57f332200db130e8928ca25579620b62715937bfe061e9dbf07c55acf2499aa1d550b9522d51a' + 'a77fd8814a5978827de01a652f7b945f3439df04606434ced8998c8d77a82985292490e6965299aeb52f9da3d8069b4091d75519bd4ec8a15f70bc6d28b13498' + '609ffbc0938922f00ccebab6d1e9ab0d54b84f088f75c10c0eb4211ff1b33438481d76092eae8811a5e9f53dfc3ff422f7aa4e98abd8fc27fb73f1c3d4661c41' + '13216615c01b8d48d17889ffa22668c38568870d83ab30c542eb5b5620db305f02efb1acb99d9b5e89eb0a73a134bb336cb301f4de4e8855cae50efb099e384e') + +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 + sed 's|, "-Werror"||g' -i buildSrc/linux.gradle +} + +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' + + 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-${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-${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-${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: diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 000000000000..56d468493e61 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,3 @@ +COMPILE_MEDIA = true +COMPILE_WEBKIT = true +CONF = Release diff --git a/java-openjfx-flags.patch b/java-openjfx-flags.patch new file mode 100644 index 000000000000..06936dc4874a --- /dev/null +++ b/java-openjfx-flags.patch @@ -0,0 +1,243 @@ +From 6a90da118a7ab787c675e25ff871f7f8aa03dc53 Mon Sep 17 00:00:00 2001 +From: Frederik Schwan <frederik.schwan@linux.com> +Date: Wed, 19 Oct 2022 12:18:28 +0200 +Subject: [PATCH] use the systems CFLAGS and LDFLAGS + +(cherry picked from commit 7895d73c94aebec4786ab5dbdcdac0361aa3c548) +--- + buildSrc/linux.gradle | 8 ++++++-- + .../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(+), 43 deletions(-) + +diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle +index 387d5eee06..ac3be55f6a 100644 +--- a/buildSrc/linux.gradle ++++ b/buildSrc/linux.gradle +@@ -43,8 +43,11 @@ LINUX.library = { name -> return (IS_STATIC_BUILD ? "lib${name}.a" : "lib${name} + 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 +73,7 @@ def dynamicLinkFlags = ["-static-libgcc", "-static-libstdc++", "-shared", common + def staticLinkFlags = [].flatten() + + def linkFlags = IS_STATIC_BUILD ? staticLinkFlags : dynamicLinkFlags; ++linkFlags.addAll(System.getenv("LDFLAGS").trim().split(" ")) + + if (IS_DEBUG_NATIVE) { + linkFlags += "-g" +@@ -284,7 +288,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 = [:] +@@ -332,5 +336,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 fbc3f45650..0e674d27ff 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 \ +@@ -31,18 +31,13 @@ CFLAGS = -fPIC \ + -DGSTREAMER_LITE \ + -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_48 \ + -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_48 \ +- -ffunction-sections -fdata-sections ++ -ffunction-sections -fdata-sections \ ++ ${CFLAGS} + + ifneq (,$(findstring $(ARCH), x64 x32)) + 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) + +@@ -52,11 +47,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 d831760bbc..d29e13c765 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 \ +@@ -33,19 +33,13 @@ CFLAGS = -fPIC \ + -DGSTREAMER_LITE \ + -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_48 \ + -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_48 \ +- -ffunction-sections -fdata-sections ++ -ffunction-sections -fdata-sections \ ++ ${CFLAGS} + + ifneq (,$(findstring $(ARCH), x64 x32)) + CFLAGS += -msse2 + endif + +-ifeq ($(BUILD_TYPE), Release) +- CFLAGS += -Os +-else +- CFLAGS += -g -Wall +-endif +- +- + INCLUDES = -I$(SRCBASE_DIR) \ + $(addprefix -I$(SRCBASE_DIR)/,$(DIRLIST)) \ + -I../../../gstreamer-lite/gstreamer \ +@@ -54,9 +48,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 86ef57d154..0942421aa0 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 \ +@@ -55,13 +55,8 @@ CFLAGS =-fPIC \ + -DGST_DISABLE_LOADSAVE \ + -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_48 \ + -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_48 \ +- -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 \ +@@ -79,9 +74,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 fc10e0f88b..e944f6e3ce 100644 +--- a/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile ++++ b/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile +@@ -42,7 +42,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 \ +@@ -54,7 +54,8 @@ CFLAGS = -DTARGET_OS_LINUX=1 \ + -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_48 \ + -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_48 \ + -Werror=deprecated-declarations \ +- -ffunction-sections -fdata-sections ++ -ffunction-sections -fdata-sections \ ++ ${CFLAGS} + + CPPFLAGS = -fno-rtti -ffunction-sections -fdata-sections + +@@ -89,21 +90,16 @@ ifdef HOST_COMPILE + -I$(PLUGINS_DIR) \ + $(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.38.1 diff --git a/java-openjfx-no-xlocale.patch b/java-openjfx-no-xlocale.patch new file mode 100644 index 000000000000..da3ac418836f --- /dev/null +++ b/java-openjfx-no-xlocale.patch @@ -0,0 +1,16 @@ +Description: Fixes the compatibility with the version of glibc in Debian +Author: Emmanuel Bourg <ebourg@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; + |