diff options
author | Frederik Schwan | 2023-04-20 22:17:14 +0200 |
---|---|---|
committer | Frederik Schwan | 2023-04-20 22:17:14 +0200 |
commit | 186a46ad5956a5262bed27f52e253938c46ed768 (patch) | |
tree | 49399f3a89edcadb61d34261cd7f339f9613dd61 | |
download | aur-186a46ad5956a5262bed27f52e253938c46ed768.tar.gz |
initial import from [extra]
-rw-r--r-- | .SRCINFO | 54 | ||||
-rw-r--r-- | PKGBUILD | 119 | ||||
-rw-r--r-- | gradle.properties | 3 | ||||
-rw-r--r-- | java11-openjfx-flags.patch | 217 | ||||
-rw-r--r-- | java11-openjfx-gstreamer-lite-gcc10-compat.patch | 11 | ||||
-rw-r--r-- | java11-openjfx-no-xlocale.patch | 16 |
6 files changed, 420 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..70920ef6f041 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,54 @@ +pkgbase = java11-openjfx + pkgdesc = Java OpenJFX 11 client application platform (open-source implementation of JavaFX) + pkgver = 11.0.19.u1 + 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 = gradle + makedepends = gtk2 + makedepends = gtk3 + makedepends = java-environment-openjdk=11 + makedepends = libgl + makedepends = libx11 + makedepends = libxtst + makedepends = pango + makedepends = python + makedepends = ruby + makedepends = unzip + makedepends = webkit2gtk + makedepends = zip + source = java11-openjfx-11.0.19.u1.tar.gz::https://github.com/openjdk/jfx11u/archive/refs/tags/11.0.19+1.tar.gz + source = gradle.properties + source = java11-openjfx-flags.patch + source = java11-openjfx-no-xlocale.patch + source = java11-openjfx-gstreamer-lite-gcc10-compat.patch + b2sums = ac448da4b1a807333b5ef5e32878ff5cab0d10456388ec8fd7e7b55f868ac6a2a2bc8d2b81ddf9bb114f3205ab2d20e909032f090239e018c0502a3736b776cb + b2sums = a77fd8814a5978827de01a652f7b945f3439df04606434ced8998c8d77a82985292490e6965299aeb52f9da3d8069b4091d75519bd4ec8a15f70bc6d28b13498 + b2sums = 191de086c12e4ae8fd901a06c6382891544d1a336c51dbd491c76c0ecff808c042a2117e3f25239768809a38cceddcb17c32331715cc2bbdd057fe307b908df3 + b2sums = 13216615c01b8d48d17889ffa22668c38568870d83ab30c542eb5b5620db305f02efb1acb99d9b5e89eb0a73a134bb336cb301f4de4e8855cae50efb099e384e + b2sums = 119fa1cc5da2cdefa22bbe9b6f76581faa74e05fa7b6e5576470fc0251c6e257f122fbba03754cc01f7c7251145cfa1cab4ffc2f9d59ff0c175a121e943a0f64 + +pkgname = java11-openjfx + depends = java-runtime-openjdk=11 + 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=11 + +pkgname = java11-openjfx-doc + +pkgname = java11-openjfx-src diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..4231cdba520e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,119 @@ +# 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@gathoye.be> +# Contributor: Emanuel Couto <emanuel.amaral.couto@gmail.com> +# Contributor: Richard Jackson <rdjack21@gmail.com> +# Contributor: Tinx <arch@tinx.eu> +# Contributor: Jens Kapitza <j.kapitza@schwarze-allianz.de> +# Contributor: Olli <olli@coderkun.de> + +pkgbase=java11-openjfx +pkgname=( + java11-openjfx + java11-openjfx-doc + java11-openjfx-src +) +pkgver=11.0.19.u1 +pkgrel=1 +pkgdesc='Java OpenJFX 11 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 + ruby + unzip + webkit2gtk + zip +) +source=( + ${pkgname}-${pkgver}.tar.gz::https://github.com/openjdk/jfx11u/archive/refs/tags/${pkgver//.u/+}.tar.gz + gradle.properties + java11-openjfx-flags.patch + java11-openjfx-no-xlocale.patch + java11-openjfx-gstreamer-lite-gcc10-compat.patch +) +b2sums=('ac448da4b1a807333b5ef5e32878ff5cab0d10456388ec8fd7e7b55f868ac6a2a2bc8d2b81ddf9bb114f3205ab2d20e909032f090239e018c0502a3736b776cb' + 'a77fd8814a5978827de01a652f7b945f3439df04606434ced8998c8d77a82985292490e6965299aeb52f9da3d8069b4091d75519bd4ec8a15f70bc6d28b13498' + '191de086c12e4ae8fd901a06c6382891544d1a336c51dbd491c76c0ecff808c042a2117e3f25239768809a38cceddcb17c32331715cc2bbdd057fe307b908df3' + '13216615c01b8d48d17889ffa22668c38568870d83ab30c542eb5b5620db305f02efb1acb99d9b5e89eb0a73a134bb336cb301f4de4e8855cae50efb099e384e' + '119fa1cc5da2cdefa22bbe9b6f76581faa74e05fa7b6e5576470fc0251c6e257f122fbba03754cc01f7c7251145cfa1cab4ffc2f9d59ff0c175a121e943a0f64') + +prepare() { + cd jfx11u-${pkgver//.u/-} + + ln -sf ../gradle.properties . + patch -Np1 -i ../java11-openjfx-flags.patch + patch -Np1 -i ../java11-openjfx-no-xlocale.patch + patch -Np1 -i ../java11-openjfx-gstreamer-lite-gcc10-compat.patch +} + +build() { + cd jfx11u-${pkgver//.u/-} + + # build against ffmpeg4.4 + export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig' + + gradle zips +} + +package_java11-openjfx() { + depends=( + java-runtime-openjdk=11 + libgl + libx11 + libxtst + ) + optdepends=( + 'ffmpeg4.4: Media support', + 'gtk2: GTK2 support', + 'gtk3: GTK3 support', + 'webkit2gtk: Web support' + ) + provides=('java-openjfx=11') + + cd jfx11u-${pkgver//.u/-} + + install -dm 755 "${pkgdir}"/usr/{lib/jvm/java-11-openjfx,share/licenses} + cp -dr --no-preserve=ownership build/sdk/lib "${pkgdir}"/usr/lib/jvm/java-11-openjfx/ + rm "${pkgdir}"/usr/lib/jvm/java-11-openjfx/lib/src.zip + cp -dr --no-preserve=ownership build/jmods "${pkgdir}"/usr/lib/jvm/java-11-openjfx/ + cp -dr --no-preserve=ownership build/sdk/legal "${pkgdir}"/usr/share/licenses/java11-openjfx +} + +package_java11-openjfx-doc() { + cd jfx11u-${pkgver//.u/-} + + install -dm 755 "${pkgdir}"/usr/share/{doc,licenses} + cp -dr --no-preserve=ownership build/javadoc "${pkgdir}"/usr/share/doc/java11-openjfx + ln -s java11-openjfx "${pkgdir}"/usr/share/licenses/java11-openjfx-doc +} + +package_java11-openjfx-src() { + cd jfx11u-${pkgver//.u/-} + + install -dm 755 "${pkgdir}"/usr/{lib/jvm/java-11-openjfx,share/licenses} + install -m 644 build/sdk/lib/src.zip "${pkgdir}"/usr/lib/jvm/java-11-openjfx/javafx-src.zip + ln -s java11-openjfx "${pkgdir}"/usr/share/licenses/java11-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/java11-openjfx-flags.patch b/java11-openjfx-flags.patch new file mode 100644 index 000000000000..d246fd5a67f7 --- /dev/null +++ b/java11-openjfx-flags.patch @@ -0,0 +1,217 @@ +diff -aur orig/buildSrc/linux.gradle patched/buildSrc/linux.gradle +--- orig/buildSrc/linux.gradle 2022-05-25 14:11:20.000000000 +0200 ++++ patched/buildSrc/linux.gradle 2022-07-22 12:45:39.164493724 +0200 +@@ -44,8 +44,11 @@ + 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" + } +@@ -72,6 +75,8 @@ + + def linkFlags = IS_STATIC_BUILD ? staticLinkFlags : dynamicLinkFlags; + ++linkFlags.addAll(System.getenv("LDFLAGS").trim().split(" ")) ++ + if (IS_DEBUG_NATIVE) { + linkFlags += "-g" + } +@@ -305,7 +310,7 @@ + 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 = [:] +@@ -353,5 +358,5 @@ + 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 -aur orig/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile patched/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile +--- orig/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile 2022-05-25 14:11:20.000000000 +0200 ++++ patched/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile 2022-07-22 12:45:39.167827045 +0200 +@@ -17,7 +17,7 @@ + OBJBASE_DIR = $(BUILD_DIR)/obj/plugins/avplugin + endif + +-CFLAGS = -fPIC \ ++CFLAGS := -fPIC \ + -Wformat \ + -Wextra \ + -Wformat-security \ +@@ -32,13 +32,8 @@ + -DGSTREAMER_LITE \ + -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} + + PACKAGES_INCLUDES := $(shell pkg-config --cflags glib-2.0) + PACKAGES_LIBS := $(shell pkg-config --libs glib-2.0 gobject-2.0) +@@ -49,11 +44,12 @@ + -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 +Only in patched/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin: Makefile.orig +diff -aur orig/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile patched/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile +--- orig/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile 2022-05-25 14:11:20.000000000 +0200 ++++ patched/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile 2022-07-22 12:45:39.167827045 +0200 +@@ -14,7 +14,7 @@ + + TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so + +-CFLAGS = -fPIC \ ++CFLAGS := -fPIC \ + -Wformat \ + -Wextra \ + -Wformat-security \ +@@ -34,14 +34,8 @@ + -DGSTREAMER_LITE \ + -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$(SRCBASE_DIR) \ + $(addprefix -I$(SRCBASE_DIR)/,$(DIRLIST)) \ +@@ -51,9 +45,10 @@ + 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 +Only in patched/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins: Makefile.orig +diff -aur orig/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile patched/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile +--- orig/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile 2022-05-25 14:11:20.000000000 +0200 ++++ patched/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile 2022-07-22 12:45:39.167827045 +0200 +@@ -37,7 +37,7 @@ + + TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so + +-CFLAGS =-fPIC \ ++CFLAGS :=-fPIC \ + -Wformat \ + -Wextra \ + -Wformat-security \ +@@ -55,13 +55,8 @@ + -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 @@ + 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 +Only in patched/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite: Makefile.orig +diff -aur orig/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile patched/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile +--- orig/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile 2022-05-25 14:11:20.000000000 +0200 ++++ patched/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile 2022-07-22 12:45:39.167827045 +0200 +@@ -42,7 +42,7 @@ + + 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 @@ + -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 + +@@ -84,21 +85,16 @@ + -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 +Only in patched/modules/javafx.media/src/main/native/jfxmedia/projects/linux: Makefile.orig diff --git a/java11-openjfx-gstreamer-lite-gcc10-compat.patch b/java11-openjfx-gstreamer-lite-gcc10-compat.patch new file mode 100644 index 000000000000..f6d2795d8adf --- /dev/null +++ b/java11-openjfx-gstreamer-lite-gcc10-compat.patch @@ -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 \ diff --git a/java11-openjfx-no-xlocale.patch b/java11-openjfx-no-xlocale.patch new file mode 100644 index 000000000000..da3ac418836f --- /dev/null +++ b/java11-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; + |