summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Schwan2023-04-20 22:17:14 +0200
committerFrederik Schwan2023-04-20 22:17:14 +0200
commit186a46ad5956a5262bed27f52e253938c46ed768 (patch)
tree49399f3a89edcadb61d34261cd7f339f9613dd61
downloadaur-186a46ad5956a5262bed27f52e253938c46ed768.tar.gz
initial import from [extra]
-rw-r--r--.SRCINFO54
-rw-r--r--PKGBUILD119
-rw-r--r--gradle.properties3
-rw-r--r--java11-openjfx-flags.patch217
-rw-r--r--java11-openjfx-gstreamer-lite-gcc10-compat.patch11
-rw-r--r--java11-openjfx-no-xlocale.patch16
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;
+