summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Schwan2022-03-09 19:40:47 +0100
committerFrederik Schwan2022-03-09 19:40:47 +0100
commitc59b51857daead1ca75e727e52bdf17d824e859b (patch)
tree2812bdc08287e11ff5817a298bfac6b087409e1a
downloadaur-c59b51857daead1ca75e727e52bdf17d824e859b.tar.gz
move from official repos to AUR
-rw-r--r--.SRCINFO58
-rw-r--r--PKGBUILD123
-rw-r--r--gradle.properties6
-rw-r--r--java8-openjfx-CVE-2021-3517-fix.patch49
-rw-r--r--java8-openjfx-CVE-2021-3522-fix.patch31
-rw-r--r--java8-openjfx-flags.patch241
-rw-r--r--java8-openjfx-no-sys-sysctl.patch12
-rw-r--r--java8-openjfx-no-xlocale.patch29
8 files changed, 549 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..d4b2e5fa1bca
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,58 @@
+pkgbase = java8-openjfx
+ pkgdesc = Java OpenJFX 8 client application platform (open-source implementation of JavaFX)
+ pkgver = 8.u202
+ pkgrel = 4
+ url = https://wiki.openjdk.java.net/display/OpenJFX/Main
+ arch = x86_64
+ license = GPL
+ makedepends = alsa-lib
+ makedepends = cairo
+ makedepends = cmake
+ makedepends = ffmpeg4.4
+ makedepends = freetype2
+ makedepends = gdk-pixbuf2
+ makedepends = glib2
+ makedepends = gperf
+ makedepends = gtk2
+ makedepends = gtk3
+ makedepends = java-environment-openjdk=8
+ makedepends = libgl
+ makedepends = libx11
+ makedepends = libxtst
+ makedepends = pango
+ makedepends = python
+ makedepends = qt5-base
+ makedepends = ruby
+ makedepends = unzip
+ makedepends = webkit2gtk
+ source = https://hg.openjdk.java.net/openjfx/8u-dev/rt/archive/8u202-ga.tar.bz2
+ source = gradle.properties
+ source = https://services.gradle.org/distributions/gradle-4.8-bin.zip
+ source = java8-openjfx-flags.patch
+ source = java8-openjfx-no-xlocale.patch
+ source = java8-openjfx-no-sys-sysctl.patch
+ source = java8-openjfx-CVE-2021-3517-fix.patch::https://gitlab.gnome.org/GNOME/libxml2/-/commit/bf22713507fe1fc3a2c4b525cf0a88c2dc87a3a2.patch
+ source = java8-openjfx-CVE-2021-3522-fix.patch::https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/8a88e5c1db05ebadfd4569955f6f47c23cdca3c4.patch
+ sha256sums = 12b0538d04c4bd451e4692ee06357ac36233ff4ec2af9fa3b9bbdbab48c3f2fc
+ sha256sums = d1c2255893e5ec6268d7c92bb6539cde629d325872f26cffb5f1f616c9d5f30d
+ sha256sums = f3e29692a8faa94eb0b02ebf36fa263a642b3ae8694ef806c45c345b8683f1ba
+ sha256sums = a2e0d5ac5cdb83958d2886aef7f5a419f460e103959f65aaadd69cb26cc6adec
+ sha256sums = b21f6b254acc7aa2124521b6521d3bdfdfcfd9b062624a84ef73608120957d0d
+ sha256sums = cd1a2bd60f636662e4f3334217b3e14f1d51cf30b77b9ca3eff8d030312fd26a
+ sha256sums = 4db6e995d46f5ab29c4169dab5dbbe367ebd01dee66ef1750abe5cf0c8364d42
+ sha256sums = 3487eb180fff9866c8b8b08be45f13fa9e8edd04e5719bc867e59b09b81954b4
+
+pkgname = java8-openjfx
+ depends = java-runtime-openjdk=8
+ 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=8
+
+pkgname = java8-openjfx-doc
+
+pkgname = java8-openjfx-src
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b566ba25988f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,123 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Maintainer: Frederik Schwan <freswa at archlinux dot org>
+# Contributor: Guillaume Alaux <guillaume@archlinux.org>
+# Contributor: Maxime Gauduin <alucryd@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=java8-openjfx
+pkgname=(
+ java8-openjfx
+ java8-openjfx-doc
+ java8-openjfx-src
+)
+pkgver=8.u202
+pkgrel=4
+pkgdesc='Java OpenJFX 8 client application platform (open-source implementation of JavaFX)'
+arch=(x86_64)
+url=https://wiki.openjdk.java.net/display/OpenJFX/Main
+license=(GPL)
+makedepends=(
+ alsa-lib
+ cairo
+ cmake
+ ffmpeg4.4
+ freetype2
+ gdk-pixbuf2
+ glib2
+ gperf
+ gtk2
+ gtk3
+ java-environment-openjdk=8
+ libgl
+ libx11
+ libxtst
+ pango
+ python
+ qt5-base
+ ruby
+ unzip
+ webkit2gtk
+)
+source=(
+ https://hg.openjdk.java.net/openjfx/8u-dev/rt/archive/${pkgver//./}-ga.tar.bz2
+ gradle.properties
+ https://services.gradle.org/distributions/gradle-4.8-bin.zip
+ java8-openjfx-flags.patch
+ java8-openjfx-no-xlocale.patch
+ java8-openjfx-no-sys-sysctl.patch
+ java8-openjfx-CVE-2021-3517-fix.patch::https://gitlab.gnome.org/GNOME/libxml2/-/commit/bf22713507fe1fc3a2c4b525cf0a88c2dc87a3a2.patch
+ java8-openjfx-CVE-2021-3522-fix.patch::https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/8a88e5c1db05ebadfd4569955f6f47c23cdca3c4.patch
+)
+sha256sums=('12b0538d04c4bd451e4692ee06357ac36233ff4ec2af9fa3b9bbdbab48c3f2fc'
+ 'd1c2255893e5ec6268d7c92bb6539cde629d325872f26cffb5f1f616c9d5f30d'
+ 'f3e29692a8faa94eb0b02ebf36fa263a642b3ae8694ef806c45c345b8683f1ba'
+ 'a2e0d5ac5cdb83958d2886aef7f5a419f460e103959f65aaadd69cb26cc6adec'
+ 'b21f6b254acc7aa2124521b6521d3bdfdfcfd9b062624a84ef73608120957d0d'
+ 'cd1a2bd60f636662e4f3334217b3e14f1d51cf30b77b9ca3eff8d030312fd26a'
+ '4db6e995d46f5ab29c4169dab5dbbe367ebd01dee66ef1750abe5cf0c8364d42'
+ '3487eb180fff9866c8b8b08be45f13fa9e8edd04e5719bc867e59b09b81954b4')
+
+prepare() {
+ cd rt-${pkgver//./}-ga
+
+ ln -sf ../gradle.properties .
+ patch -Np1 -i ../java8-openjfx-flags.patch
+ patch -Np1 -i ../java8-openjfx-no-xlocale.patch
+ patch -Np1 -i ../java8-openjfx-no-sys-sysctl.patch
+ # loose match the following patch due to whitespace differences
+ patch -Np1 -l -i "$srcdir"/java8-openjfx-CVE-2021-3517-fix.patch -d modules/web/src/main/native/Source/ThirdParty/libxml/src
+ patch -Np1 -i "$srcdir"/java8-openjfx-CVE-2021-3522-fix.patch -d modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base
+}
+
+build() {
+ cd rt-${pkgver//./}-ga
+
+ # https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common
+ CFLAGS+=' -fcommon'
+ # build against ffmpeg4.4
+ export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig'
+
+ ../gradle-4.8/bin/gradle
+}
+
+package_java8-openjfx() {
+ depends=(
+ java-runtime-openjdk=8
+ libgl
+ libx11
+ libxtst
+ )
+ optdepends=(
+ 'ffmpeg4.4: Media support',
+ 'gtk2: GTK2 support',
+ 'gtk3: GTK3 support',
+ 'webkit2gtk: Web support'
+ )
+ provides=('java-openjfx=8')
+
+ cd rt-${pkgver//./}-ga
+
+ install -dm 755 "${pkgdir}"/usr/lib/jvm/java-8-openjdk/jre
+ cp -dr --no-preserve=ownership build/sdk/{bin,lib} "${pkgdir}"/usr/lib/jvm/java-8-openjdk/
+ cp -dr --no-preserve=ownership build/sdk/rt/lib "${pkgdir}"/usr/lib/jvm/java-8-openjdk/jre/
+}
+
+package_java8-openjfx-doc() {
+ cd rt-${pkgver//./}-ga
+
+ install -dm 755 "${pkgdir}"/usr/share/doc
+ cp -dr --no-preserve=ownership build/javadoc "${pkgdir}"/usr/share/doc/java8-openjfx
+}
+
+package_java8-openjfx-src() {
+ cd rt-${pkgver//./}-ga
+
+ install -Dm 644 build/javafx-src.zip -t "${pkgdir}"/usr/lib/jvm/java-8-openjdk/
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 000000000000..3a5a0b3378ff
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,6 @@
+BUILD_JAVADOC = true
+BUILD_SRC_ZIP = true
+COMPILE_MEDIA = true
+COMPILE_WEBKIT = true
+COMPILE_JFR = false
+CONF = Release
diff --git a/java8-openjfx-CVE-2021-3517-fix.patch b/java8-openjfx-CVE-2021-3517-fix.patch
new file mode 100644
index 000000000000..e3ef73602ff1
--- /dev/null
+++ b/java8-openjfx-CVE-2021-3517-fix.patch
@@ -0,0 +1,49 @@
+From bf22713507fe1fc3a2c4b525cf0a88c2dc87a3a2 Mon Sep 17 00:00:00 2001
+From: Joel Hockey <joel.hockey@gmail.com>
+Date: Sun, 16 Aug 2020 17:19:35 -0700
+Subject: [PATCH] Validate UTF8 in xmlEncodeEntities
+
+Code is currently assuming UTF-8 without validating. Truncated UTF-8
+input can cause out-of-bounds array access.
+
+Adds further checks to partial fix in 50f06b3e.
+
+Fixes #178
+---
+ entities.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/entities.c b/entities.c
+index 37b99a56..1a8f86f0 100644
+--- a/entities.c
++++ b/entities.c
+@@ -704,11 +704,25 @@ xmlEncodeEntitiesInternal(xmlDocPtr doc, const xmlChar *input, int attr) {
+ } else {
+ /*
+ * We assume we have UTF-8 input.
++ * It must match either:
++ * 110xxxxx 10xxxxxx
++ * 1110xxxx 10xxxxxx 10xxxxxx
++ * 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
++ * That is:
++ * cur[0] is 11xxxxxx
++ * cur[1] is 10xxxxxx
++ * cur[2] is 10xxxxxx if cur[0] is 111xxxxx
++ * cur[3] is 10xxxxxx if cur[0] is 1111xxxx
++ * cur[0] is not 11111xxx
+ */
+ char buf[11], *ptr;
+ int val = 0, l = 1;
+
+- if (*cur < 0xC0) {
++ if (((cur[0] & 0xC0) != 0xC0) ||
++ ((cur[1] & 0xC0) != 0x80) ||
++ (((cur[0] & 0xE0) == 0xE0) && ((cur[2] & 0xC0) != 0x80)) ||
++ (((cur[0] & 0xF0) == 0xF0) && ((cur[3] & 0xC0) != 0x80)) ||
++ (((cur[0] & 0xF8) == 0xF8))) {
+ xmlEntitiesErr(XML_CHECK_NOT_UTF8,
+ "xmlEncodeEntities: input not UTF-8");
+ if (doc != NULL)
+--
+GitLab
+
diff --git a/java8-openjfx-CVE-2021-3522-fix.patch b/java8-openjfx-CVE-2021-3522-fix.patch
new file mode 100644
index 000000000000..7571683b01a2
--- /dev/null
+++ b/java8-openjfx-CVE-2021-3522-fix.patch
@@ -0,0 +1,31 @@
+From 8a88e5c1db05ebadfd4569955f6f47c23cdca3c4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Wed, 3 Mar 2021 01:08:25 +0000
+Subject: [PATCH] tag: id3v2: fix frame size check and potential invalid reads
+
+Check the right variable when checking if there's
+enough data left to read the frame size.
+
+Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/876
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1066>
+---
+ gst-libs/gst/tag/id3v2frames.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst-libs/gst/tag/id3v2frames.c b/gst-libs/gst/tag/id3v2frames.c
+index 8e9f78254..f39659bf7 100644
+--- a/gst-libs/gst/tag/id3v2frames.c
++++ b/gst-libs/gst/tag/id3v2frames.c
+@@ -109,7 +109,7 @@ id3v2_parse_frame (ID3TagsWorking * work)
+
+ if (work->frame_flags & (ID3V2_FRAME_FORMAT_COMPRESSION |
+ ID3V2_FRAME_FORMAT_DATA_LENGTH_INDICATOR)) {
+- if (work->hdr.frame_data_size <= 4)
++ if (frame_data_size <= 4)
+ return FALSE;
+ if (ID3V2_VER_MAJOR (work->hdr.version) == 3) {
+ work->parse_size = GST_READ_UINT32_BE (frame_data);
+--
+GitLab
+
diff --git a/java8-openjfx-flags.patch b/java8-openjfx-flags.patch
new file mode 100644
index 000000000000..c4a87bbd08fb
--- /dev/null
+++ b/java8-openjfx-flags.patch
@@ -0,0 +1,241 @@
+diff -rupN rt-8u202-ga.orig/buildSrc/linux.gradle rt-8u202-ga/buildSrc/linux.gradle
+--- rt-8u202-ga.orig/buildSrc/linux.gradle 2019-06-03 15:45:22.599465670 +0200
++++ rt-8u202-ga/buildSrc/linux.gradle 2019-06-03 15:50:59.746039363 +0200
+@@ -44,8 +44,11 @@ LINUX.library = { name -> return "lib${n
+ def commonFlags = [
+ "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
+ "-fstack-protector",
++ "-Wno-error=cast-function-type","-Wno-error=deprecated-declarations",
+ "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags
+
++commonFlags.addAll(System.getenv("CFLAGS").trim().replaceAll(" +", " ").split(" "))
++
+ if (!IS_64) {
+ commonFlags += "-m32"
+ }
+@@ -60,6 +63,9 @@ def ccFlagsGTK3 = ccFlags
+ def linkFlags = ["-static-libgcc", "-static-libstdc++", "-shared", commonFlags,
+ "-z", "relro",
+ "-Wl,--gc-sections"].flatten()
++
++linkFlags.addAll(System.getenv("LDFLAGS").trim().split(" "))
++
+ def defaultLinkFlags = linkFlags.flatten()
+
+ def gtk2CCFlags = [ ];
+@@ -274,7 +280,7 @@ LINUX.iio.nativeSource = [
+ LINUX.iio.compiler = compiler
+ LINUX.iio.ccFlags = [ccFlags].flatten()
+ LINUX.iio.linker = linker
+-LINUX.iio.linkFlags = [linkFlags].flatten()
++LINUX.iio.linkFlags = [linkFlags, "-ljpeg"].flatten()
+ LINUX.iio.lib = "javafx_iio"
+
+ LINUX.prismES2 = [:]
+@@ -339,5 +345,5 @@ LINUX.media.lib = "ar"
+ LINUX.webkit = [:]
+ LINUX.webkit.compiler = compiler
+ LINUX.webkit.linker = linker
+-LINUX.webkit.ccFlags = commonFlags.flatten()
++LINUX.webkit.ccFlags = [commonFlags , "-std=gnu++14", "-fno-lto"].flatten()
+ LINUX.webkit.linkFlags = defaultLinkFlags.flatten()
+diff -rupN rt-8u202-ga.orig/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile rt-8u202-ga/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile
+--- rt-8u202-ga.orig/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile 2019-06-03 15:45:28.772858454 +0200
++++ rt-8u202-ga/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile 2019-06-03 15:52:15.503480874 +0200
+@@ -22,7 +22,7 @@ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
+ OBJBASE_DIR = $(BUILD_DIR)/obj/plugins/avplugin
+ endif
+
+-CFLAGS = -fPIC \
++CFLAGS := -fPIC \
+ -Wformat \
+ -Wextra \
+ -Wformat-security \
+@@ -35,13 +35,8 @@ CFLAGS = -fPIC \
+ -DGST_DISABLE_LOADSAVE \
+ -DGSTREAMER_LITE \
+ -DG_DISABLE_DEPRECATED \
+- -ffunction-sections -fdata-sections
+-
+-ifeq ($(BUILD_TYPE), Release)
+- CFLAGS += -Os
+-else
+- CFLAGS += -g -Wall
+-endif
++ -ffunction-sections -fdata-sections \
++ ${CFLAGS}
+
+ INCLUDES= -I../../../plugins \
+ -I../../../plugins/av \
+@@ -51,11 +46,12 @@ INCLUDES= -I../../../plugins
+ -I$(GLIB_DIR)/glib \
+ -I$(GLIB_DIR)/gmodule
+
+-LDFLAGS = -L$(BUILD_DIR) \
++LDFLAGS := -L$(BUILD_DIR) \
+ -z relro \
+ -lgstreamer-lite \
+ -lglib-lite \
+- -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 -rupN rt-8u202-ga.orig/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile rt-8u202-ga/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile
+--- rt-8u202-ga.orig/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile 2019-06-03 15:45:28.772858454 +0200
++++ rt-8u202-ga/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile 2019-06-03 15:53:26.784252777 +0200
+@@ -19,7 +19,7 @@ DIRLIST = progressbuffer \
+
+ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
+
+-CFLAGS = -fPIC \
++CFLAGS := -fPIC \
+ -Wformat \
+ -Wextra \
+ -Wformat-security \
+@@ -36,14 +36,8 @@ CFLAGS = -fPIC \
+ -DGST_DISABLE_GST_DEBUG \
+ -DGSTREAMER_LITE \
+ -DG_DISABLE_DEPRECATED \
+- -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)) \
+@@ -53,9 +47,10 @@ INCLUDES = -I$(SRCBASE_DIR) \
+ -I$(GLIB_DIR)/glib \
+ -I$(GLIB_DIR)/gmodule
+
+-LDFLAGS = -L$(BUILD_DIR) -lgstreamer-lite -lglib-lite \
++LDFLAGS := -L$(BUILD_DIR) -lgstreamer-lite -lglib-lite \
+ -z relro \
+- -static-libgcc -static-libstdc++ -Wl,--gc-sections
++ -static-libgcc -static-libstdc++ -Wl,--gc-sections \
++ ${LDFLAGS}
+
+ ifeq ($(ARCH), x32)
+ CFLAGS += -m32
+diff -rupN rt-8u202-ga.orig/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile rt-8u202-ga/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile
+--- rt-8u202-ga.orig/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile 2019-06-03 15:45:28.772858454 +0200
++++ rt-8u202-ga/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile 2019-06-03 15:55:03.568631974 +0200
+@@ -41,7 +41,7 @@ DIRLIST = gstreamer/gst \
+
+ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
+
+-CFLAGS =-fPIC \
++CFLAGS :=-fPIC \
+ -Wformat \
+ -Wextra \
+ -Wformat-security \
+@@ -56,13 +56,8 @@ CFLAGS =-fPIC \
+ -DGST_DISABLE_GST_DEBUG \
+ -DGST_DISABLE_LOADSAVE \
+ -DG_DISABLE_DEPRECATED \
+- -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 \
+@@ -83,9 +78,10 @@ INCLUDES = -I$(BASE_DIR)/plugins
+ PACKAGES_INCLUDES := $(shell pkg-config --cflags alsa)
+ PACKAGES_LIBS := $(shell pkg-config --libs alsa)
+
+-LDFLAGS = -L$(BUILD_DIR) -lm -lglib-lite $(PACKAGES_LIBS) \
++LDFLAGS := -L$(BUILD_DIR) -lm -lglib-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 -rupN rt-8u202-ga.orig/modules/media/src/main/native/jfxmedia/projects/linux/Makefile rt-8u202-ga/modules/media/src/main/native/jfxmedia/projects/linux/Makefile
+--- rt-8u202-ga.orig/modules/media/src/main/native/jfxmedia/projects/linux/Makefile 2019-06-03 15:45:28.819525570 +0200
++++ rt-8u202-ga/modules/media/src/main/native/jfxmedia/projects/linux/Makefile 2019-06-03 15:57:02.209910725 +0200
+@@ -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 \
+@@ -27,7 +27,8 @@ CFLAGS = -DTARGET_OS_LINUX=1 \
+ -DJFXMEDIA_JNI_EXPORTS \
+ -DLINUX \
+ -DG_DISABLE_DEPRECATED \
+- -ffunction-sections -fdata-sections
++ -ffunction-sections -fdata-sections \
++ ${CFLAGS}
+
+ CPPFLAGS = -fno-rtti -ffunction-sections -fdata-sections
+
+@@ -57,21 +58,16 @@ ifdef HOST_COMPILE
+ -I$(GLIB_LITE_DIR)/glib \
+ -I$(GLIB_LITE_DIR)/gmodule
+
+- LDFLAGS = -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) -lgstreamer-lite -lglib-lite \
++LDFLAGS := -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) -lgstreamer-lite -lglib-lite \
+ -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
+--- rt-8u202-ga.orig/modules/media/src/main/native/gstreamer/projects/linux/glib-lite/Makefile 2019-06-04 07:44:53.882738260 +0000
++++ rt-8u202-ga/modules/media/src/main/native/gstreamer/projects/linux/glib-lite/Makefile 2019-06-04 07:47:36.024744987 +0000
+@@ -40,20 +40,15 @@ CFLAGS += -fPIC \
+ -DMATCH_LIMIT=10000000 \
+ -DMATCH_LIMIT_RECURSION=10000000
+
+-ifeq ($(BUILD_TYPE), Release)
+- CFLAGS += -Os
+-else
+- CFLAGS += -g -Wall
+-endif
+-
+ INCLUDES = -I$(SRCBASE_DIR) \
+ -I$(SRCBASE_DIR)/glib \
+ -I$(SRCBASE_DIR)/build/linux \
+ -I$(LIBFFI_DIR)/include
+
+-LDFLAGS = -L$(BUILD_DIR) -lffi \
++LDFLAGS := -L$(BUILD_DIR) -lffi \
+ -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/java8-openjfx-no-sys-sysctl.patch b/java8-openjfx-no-sys-sysctl.patch
new file mode 100644
index 000000000000..90c2d0e49d41
--- /dev/null
+++ b/java8-openjfx-no-sys-sysctl.patch
@@ -0,0 +1,12 @@
+diff --git a/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp b/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp
+index 40f83f25..df39a3c7 100644
+--- a/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp
++++ b/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp
+@@ -43,7 +43,6 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <unistd.h>
+-#include <sys/sysctl.h>
+ #include <iostream>
+ #include <dlfcn.h>
+ #include <signal.h>
diff --git a/java8-openjfx-no-xlocale.patch b/java8-openjfx-no-xlocale.patch
new file mode 100644
index 000000000000..cc0846c180de
--- /dev/null
+++ b/java8-openjfx-no-xlocale.patch
@@ -0,0 +1,29 @@
+diff -rupN rt-8u202-ga.orig/modules/media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c rt-8u202-ga/modules/media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c
+--- rt-8u202-ga.orig/modules/media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c 2019-06-03 14:24:26.400583977 +0200
++++ rt-8u202-ga/modules/media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c 2019-06-03 14:25:04.844259624 +0200
+@@ -37,11 +37,6 @@
+ #include <errno.h>
+ #include <ctype.h> /* For tolower() */
+
+-#ifdef HAVE_XLOCALE_H
+-/* Needed on BSD/OS X for e.g. strtod_l */
+-#include <xlocale.h>
+-#endif
+-
+ #ifdef G_OS_WIN32
+ #include <windows.h>
+ #endif
+
+--- rt-8u202-ga.orig/modules/web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/xsltlocale.h
++++ rt-8u202-ga/modules/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;
+