commit:     8e8c365e360745698059e9bfd64916bbc30fcf29
Author:     Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  6 14:53:03 2023 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Fri Jan  6 14:53:03 2023 +0000
URL:        https://gitweb.gentoo.org/proj/java.git/commit/?id=8e8c365e

dev-java/openjfx: add version using gradle.eclass

Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 dev-java/openjfx/Manifest                          |   9 +
 dev-java/openjfx/files/11/11.0.9_p0-version.patch  |  22 ++
 .../11/disable-architecture-verification.patch     |  33 +++
 .../openjfx/files/11/disable-buildSrc-tests.patch  |  13 ++
 .../files/11/don-t-force-msse-11.0.11.patch        |  92 +++++++++
 dev-java/openjfx/files/11/don-t-force-msse.patch   |  95 +++++++++
 .../openjfx/files/11/glibc-compatibility.patch     |  15 ++
 .../openjfx/files/11/gstreamer-CVE-2021-3522.patch |  31 +++
 .../files/11/respect-user-cflags-11.0.11.patch     | 227 +++++++++++++++++++++
 .../openjfx/files/11/respect-user-cflags.patch     | 227 +++++++++++++++++++++
 dev-java/openjfx/files/11/use-system-swt-jar.patch |  25 +++
 dev-java/openjfx/files/11/wno-error-11.0.11.patch  |  43 ++++
 dev-java/openjfx/files/11/wno-error.patch          |  43 ++++
 dev-java/openjfx/metadata.xml                      |  19 ++
 dev-java/openjfx/openjfx-11.0.11_p1.ebuild         | 206 +++++++++++++++++++
 15 files changed, 1100 insertions(+)

diff --git a/dev-java/openjfx/Manifest b/dev-java/openjfx/Manifest
new file mode 100644
index 00000000..65b8ba4f
--- /dev/null
+++ b/dev-java/openjfx/Manifest
@@ -0,0 +1,9 @@
+DIST ST4-4.0.8.jar 239543 BLAKE2B 
72d257c6d0f1b3bde0afce805128dd38d8520b2073377bbb995fed3b4e18a3ea69d508d6d7554755ec68bf50940082b896ed89998a5178272d24376404b389c5
 SHA512 
9877289297cd5b15ad464a19467699387f57c510fe8a476e07e9d2334bd11933f9bdb9c6caa4972d4d4c84b56740c6d885cd39300dd7ce35b7c5bde536238086
+DIST antlr4-4.7.2-complete.jar 2079769 BLAKE2B 
9407e5096b5943702a1375f568957f35486a80f122bc59c5ec8e899f59214c43ee4ece551d9078de14b7707d85f9306ae99953981c755a1e1205d83412010738
 SHA512 
e788d28796c8925a158f0a09048590bdcf6730d46dcb8a12b362cbcc80a7ceb76374b2675987c953faecd3cf4a847b1571485a71081a84684170d25d05176a11
+DIST gunit-3.5.2.jar 287425 BLAKE2B 
86e759c5bb164758b689d93bef4b6a0bcb39eb9fee28d2a8dc113a4c97e5e8516b55ada87c27738ffa0fc512805caa338d8649f6f5c9ba36490c4c3ebed86fdd
 SHA512 
c9f14dacec2f22f62b7d3849d1c0e9d626b3dc20eb74a85b32f1901f6279b7b84af095107128bcbe80c49ac05448a713309b60d0c3d2f88e0bca8a14690292b2
+DIST lucene-core-7.1.0.jar 2779248 BLAKE2B 
9edea1cfdeca2f2ec9e5c014e575774dc32fa5cf12ba02fd419fc252da10c03cd9f6cda989203211de4bc2ffcd2e79e8b97914e9792951bb0877a203760f07ad
 SHA512 
0cd96016de2bc7ad94779e30348c443cf6028119fdae42c6f29e33d84495876a7519640f20680762324ea40c42e21b595f79cd606a6142b9875501f1e9179678
+DIST lucene-grouping-7.1.0.jar 87200 BLAKE2B 
93f4ca6938b3fbc74752e22ee9d53022a60c57489017985448ddff46bc8c527b72e615e5f28d0301c28dc8119f0e6c75f4e8a711df3e6aaa418190b8ac8d1857
 SHA512 
41a85eafde03718efba7cf22598a430efbc6a6a68cf68058988f9eff648d19faa6cc4cf68293fe6e39783a7636eae571f27e04006f4607250dd9f6642184c61d
+DIST lucene-queries-7.1.0.jar 243126 BLAKE2B 
166c3efea04c19314be7fd8c1d6b1378b2b967243289d9bded5e9768cb441a35fabbe63641d00b72a8c14aace0bad402df49c21b853f620bf81bc1e829dcecdb
 SHA512 
34df5eccf0577ed037ef347adc9c2552c49d57e35dbff629fdbb860926765be48f8b06fd693bdacfc2edcd9c6ad711c13fe98e5317cb1d1f2157dcab938e34ea
+DIST lucene-queryparser-7.1.0.jar 384680 BLAKE2B 
adce2572de9f534323eead31dd30f97b853b2d5e4be6828c415f0c647460c361e00680d856ff9ffbba0fe45c3e4a425d68938a3d2dc01c76491bb65673e120fa
 SHA512 
7151ef899e318679995138262c3450577ae33580708864581dc22a027f43ca4989825d434680925547e3c04ad4453a454e7045f605d7eee0da57d63db978ed68
+DIST lucene-sandbox-7.1.0.jar 182914 BLAKE2B 
70c795f84d8f0908abe47db77f632eeb6571a77e1445b8ab04a75080cea40e3b8171071965ff7fd9f6d39a450dd33144e922d19c1f07c605de54b45e3e881323
 SHA512 
6faf9fd9c7c082bf062adb6a28d89447e6e27152eb3f0a325081e5f791196e5440334632ccbf9c458940220676f7e73390a174889d9b7a656d088b3dade5d500
+DIST openjfx-11.0.11_p1.tar.bz2 65017753 BLAKE2B 
ea5834e469bb0bd3a70595a91cc298f6091bc45de4c471ee9d0bcd45700ab3966a3396781ace2666bf94decd1219a83f01b277116cf23baeb6dd34a1a0f44191
 SHA512 
a1f94b3166aca50344f8af77ec2a5f52be1b0abc1c65fd3ff97f98017377ab772262502af00ad8cd4a6c44281ea459aff43a9cb7e30a1c35b822da8fb39b94fb

diff --git a/dev-java/openjfx/files/11/11.0.9_p0-version.patch 
b/dev-java/openjfx/files/11/11.0.9_p0-version.patch
new file mode 100644
index 00000000..fbcbb389
--- /dev/null
+++ b/dev-java/openjfx/files/11/11.0.9_p0-version.patch
@@ -0,0 +1,22 @@
+
+# HG changeset patch
+# User jvos
+# Date 1597927682 -7200
+# Node ID c0fe72db97a8924c906e4237881aa3c1d5669d19
+# Parent  38425dc30b9a25d52fbb0548ea1b0d098888aaed
+8252067: Change JavaFX release version in 11-dev to 11.0.9
+Reviewed-by: kcr
+
+diff -r 38425dc30b9a -r c0fe72db97a8 build.properties
+--- a/build.properties Thu Aug 20 10:24:03 2020 +0200
++++ b/build.properties Thu Aug 20 14:48:02 2020 +0200
+@@ -41,7 +41,7 @@
+ # UPDATE THE FOLLOWING VALUES FOR A NEW RELEASE
+ jfx.release.major.version=11
+ jfx.release.minor.version=0
+-jfx.release.security.version=8
++jfx.release.security.version=9
+ jfx.release.patch.version=0
+ 
+ # Note: The release version is now calculated in build.gradle as the
+

diff --git a/dev-java/openjfx/files/11/disable-architecture-verification.patch 
b/dev-java/openjfx/files/11/disable-architecture-verification.patch
new file mode 100644
index 00000000..9e5a3fc3
--- /dev/null
+++ b/dev-java/openjfx/files/11/disable-architecture-verification.patch
@@ -0,0 +1,33 @@
+From 715ea681d14364be4fb2bdda120f6bf9ebaa9d5e Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakov...@gentoo.org>
+Date: Sat, 19 Sep 2020 18:38:05 -0700
+Subject: [PATCH] disable architecture verification
+
+---
+ build.gradle | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/build.gradle b/build.gradle
+index 66a4b3c..f66ee01 100644
+--- a/build.gradle
++++ b/build.gradle
+@@ -302,6 +302,7 @@ ext.MAVEN_GROUP_ID = "org.openjfx"
+ // at present building on PI is not supported, but we would only need to make
+ // some changes on assumptions on what should be built (like SWT / Swing) and
+ // such and we could probably make it work.
++/*
+ if (!IS_MAC && !IS_WINDOWS && !IS_LINUX) fail("Unsupported build OS 
${OS_NAME}")
+ if (IS_WINDOWS && OS_ARCH != "x86" && OS_ARCH != "amd64") {
+     fail("Unknown and unsupported build architecture: $OS_ARCH")
+@@ -310,7 +311,7 @@ if (IS_WINDOWS && OS_ARCH != "x86" && OS_ARCH != "amd64") {
+ } else if (IS_LINUX && OS_ARCH != "i386" && OS_ARCH != "amd64") {
+     fail("Unknown and unsupported build architecture: $OS_ARCH")
+ }
+-
++*/
+ 
+ // Get the JDK_HOME automatically based on the version of Java used to 
execute gradle. Or, if specified,
+ // use a user supplied JDK_HOME, STUB_RUNTIME, JAVAC, all of which may be 
specified
+-- 
+2.28.0
+

diff --git a/dev-java/openjfx/files/11/disable-buildSrc-tests.patch 
b/dev-java/openjfx/files/11/disable-buildSrc-tests.patch
new file mode 100644
index 00000000..39e24710
--- /dev/null
+++ b/dev-java/openjfx/files/11/disable-buildSrc-tests.patch
@@ -0,0 +1,13 @@
+Description: Disables the buildSrc tests to work around a Gradle bug 
(UnsupportedOperationException: Cannot nest operations in the same thread)
+Author: Emmanuel Bourg <ebo...@apache.org>
+Forwarded: not-needed
+--- a/buildSrc/build.gradle
++++ b/buildSrc/build.gradle
+@@ -81,6 +81,7 @@
+ // Java 7 but when we switch to 8 this will be needed, and probably again when
+ // we start building with Java 9.
+ test {
++    enabled = false;
+     enableAssertions = true;
+     testLogging.exceptionFormat = "full";
+     scanForTestClasses = false;

diff --git a/dev-java/openjfx/files/11/don-t-force-msse-11.0.11.patch 
b/dev-java/openjfx/files/11/don-t-force-msse-11.0.11.patch
new file mode 100644
index 00000000..aa04c15a
--- /dev/null
+++ b/dev-java/openjfx/files/11/don-t-force-msse-11.0.11.patch
@@ -0,0 +1,92 @@
+From cf60da4cb9429f01b5793b0116651e6766068e7b Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakov...@gentoo.org>
+Date: Sat, 19 Sep 2020 18:30:58 -0700
+Subject: [PATCH] don't force -msse
+
+---
+ .../src/main/native/gstreamer/projects/linux/avplugin/Makefile | 1 -
+ .../main/native/gstreamer/projects/linux/fxplugins/Makefile    | 1 -
+ .../src/main/native/gstreamer/projects/mac/fxplugins/Makefile  | 3 +--
+ .../main/native/gstreamer/projects/mac/gstreamer-lite/Makefile | 3 +--
+ .../src/main/native/jfxmedia/projects/linux/Makefile           | 1 -
+ .../src/main/native/jfxmedia/projects/mac/Makefile             | 3 +--
+ 6 files changed, 3 insertions(+), 9 deletions(-)
+
+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 682f1da..6222e29 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
+@@ -24,7 +24,6 @@ CFLAGS = -fPIC                   \
+          -fstack-protector       \
+          -Werror=implicit-function-declaration \
+          -Werror=trampolines     \
+-         -msse2                  \
+          -fbuiltin               \
+          -DHAVE_STDINT_H         \
+          -DLINUX                 \
+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 c2cd04d..bb815fe 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
+@@ -21,7 +21,6 @@ CFLAGS = -fPIC                   \
+          -fstack-protector       \
+          -Werror=implicit-function-declaration \
+          -Werror=trampolines     \
+-         -msse2                  \
+          -fbuiltin               \
+          -DHAVE_STDINT_H         \
+          -DLINUX                 \
+diff --git 
a/modules/javafx.media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile
 
b/modules/javafx.media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile
+index 9f80434..659ab1c 100644
+--- 
a/modules/javafx.media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile
++++ 
b/modules/javafx.media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile
+@@ -30,8 +30,7 @@ CFLAGS += -fPIC                     \
+          -DHAVE_STDINT_H           \
+          -DGSTREAMER_LITE          \
+          -DG_DISABLE_DEPRECATED    \
+-         -DOSX                     \
+-         -msse2
++         -DOSX
+ 
+ ifeq ($(BUILD_TYPE), Release)
+     CFLAGS += -Os
+diff --git 
a/modules/javafx.media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile
 
b/modules/javafx.media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile
+index 2020404..34bdf42 100644
+--- 
a/modules/javafx.media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile
++++ 
b/modules/javafx.media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile
+@@ -51,8 +51,7 @@ CFLAGS += -fPIC \
+          -DHAVE_CONFIG_H \
+          -DGSTREAMER_LITE \
+          -DGST_REMOVE_DISABLED \
+-         -DOSX \
+-         -msse2
++         -DOSX
+ 
+ ifeq ($(BUILD_TYPE), Release)
+     CFLAGS += -Os
+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 aaef98e..f5b06c6 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,6 @@ ifdef HOST_COMPILE
+                   -Wformat-security \
+                   -fstack-protector \
+                   -Werror=trampolines \
+-                -msse2 \
+                 -DGSTREAMER_LITE
+ 
+       PACKAGES_INCLUDES := $(shell pkg-config --cflags glib-2.0)
+diff --git 
a/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile 
b/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile
+index 5ffd9ea..a7b3ddb 100644
+--- a/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile
++++ b/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile
+@@ -30,8 +30,7 @@ CFLAGS += -pipe \
+          -fPIC                     \
+          -Werror=implicit-function-declaration \
+          -DTARGET_OS_MAC=1         \
+-         -D_GNU_SOURCE             \
+-         -msse2
++         -D_GNU_SOURCE
+ 
+ ifeq ($(BUILD_TYPE), Release)
+     CFLAGS += -Os

diff --git a/dev-java/openjfx/files/11/don-t-force-msse.patch 
b/dev-java/openjfx/files/11/don-t-force-msse.patch
new file mode 100644
index 00000000..f3d62c8e
--- /dev/null
+++ b/dev-java/openjfx/files/11/don-t-force-msse.patch
@@ -0,0 +1,95 @@
+From cf60da4cb9429f01b5793b0116651e6766068e7b Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakov...@gentoo.org>
+Date: Sat, 19 Sep 2020 18:30:58 -0700
+Subject: [PATCH] don't force -msse
+
+---
+ .../src/main/native/gstreamer/projects/linux/avplugin/Makefile | 1 -
+ .../main/native/gstreamer/projects/linux/fxplugins/Makefile    | 1 -
+ .../src/main/native/gstreamer/projects/mac/fxplugins/Makefile  | 3 +--
+ .../main/native/gstreamer/projects/mac/gstreamer-lite/Makefile | 3 +--
+ .../src/main/native/jfxmedia/projects/linux/Makefile           | 1 -
+ .../src/main/native/jfxmedia/projects/mac/Makefile             | 3 +--
+ 6 files changed, 3 insertions(+), 9 deletions(-)
+
+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 f27b9479..4e229f20 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
+@@ -23,7 +23,6 @@ CFLAGS := -fPIC                   \
+          -Wformat-security       \
+          -fstack-protector       \
+          -Werror=implicit-function-declaration \
+-         -msse2                  \
+          -fbuiltin               \
+          -DHAVE_STDINT_H         \
+          -DLINUX                 \
+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 627865f9..a4d99299 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
+@@ -20,7 +20,6 @@ CFLAGS := -fPIC                   \
+          -Wformat-security       \
+          -fstack-protector       \
+          -Werror=implicit-function-declaration \
+-         -msse2                  \
+          -fbuiltin               \
+          -DHAVE_STDINT_H         \
+          -DLINUX                 \
+diff --git 
a/modules/javafx.media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile
 
b/modules/javafx.media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile
+index 9f80434d..659ab1c1 100644
+--- 
a/modules/javafx.media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile
++++ 
b/modules/javafx.media/src/main/native/gstreamer/projects/mac/fxplugins/Makefile
+@@ -30,8 +30,7 @@ CFLAGS += -fPIC                     \
+          -DHAVE_STDINT_H           \
+          -DGSTREAMER_LITE          \
+          -DG_DISABLE_DEPRECATED    \
+-         -DOSX                     \
+-         -msse2
++         -DOSX
+ 
+ ifeq ($(BUILD_TYPE), Release)
+     CFLAGS += -Os
+diff --git 
a/modules/javafx.media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile
 
b/modules/javafx.media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile
+index 2020404c..34bdf42c 100644
+--- 
a/modules/javafx.media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile
++++ 
b/modules/javafx.media/src/main/native/gstreamer/projects/mac/gstreamer-lite/Makefile
+@@ -51,8 +51,7 @@ CFLAGS += -fPIC \
+          -DHAVE_CONFIG_H \
+          -DGSTREAMER_LITE \
+          -DGST_REMOVE_DISABLED \
+-         -DOSX \
+-         -msse2
++         -DOSX
+ 
+ ifeq ($(BUILD_TYPE), Release)
+     CFLAGS += -Os
+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 c9500236..175be13e 100644
+--- a/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile
++++ b/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile
+@@ -43,7 +43,6 @@ ifdef HOST_COMPILE
+                   -Wformat-security \
+                   -fstack-protector \
+                   -Werror=implicit-function-declaration \
+-                -msse2 \
+                 -DGSTREAMER_LITE
+ 
+       PACKAGES_INCLUDES := $(shell pkg-config --cflags glib-2.0)
+diff --git 
a/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile 
b/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile
+index 5ffd9eac..a7b3ddbb 100644
+--- a/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile
++++ b/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile
+@@ -30,8 +30,7 @@ CFLAGS += -pipe \
+          -fPIC                     \
+          -Werror=implicit-function-declaration \
+          -DTARGET_OS_MAC=1         \
+-         -D_GNU_SOURCE             \
+-         -msse2
++         -D_GNU_SOURCE
+ 
+ ifeq ($(BUILD_TYPE), Release)
+     CFLAGS += -Os
+-- 
+2.28.0
+

diff --git a/dev-java/openjfx/files/11/glibc-compatibility.patch 
b/dev-java/openjfx/files/11/glibc-compatibility.patch
new file mode 100644
index 00000000..e7e9b173
--- /dev/null
+++ b/dev-java/openjfx/files/11/glibc-compatibility.patch
@@ -0,0 +1,15 @@
+Description: Fixes the compatibility with the version of glibc in Debian
+Author: Emmanuel Bourg <ebo...@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;

diff --git a/dev-java/openjfx/files/11/gstreamer-CVE-2021-3522.patch 
b/dev-java/openjfx/files/11/gstreamer-CVE-2021-3522.patch
new file mode 100644
index 00000000..600f1cb8
--- /dev/null
+++ b/dev-java/openjfx/files/11/gstreamer-CVE-2021-3522.patch
@@ -0,0 +1,31 @@
+From 8a88e5c1db05ebadfd4569955f6f47c23cdca3c4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <t...@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/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/gst-libs/gst/tag/id3v2frames.c
++++ 
b/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/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/dev-java/openjfx/files/11/respect-user-cflags-11.0.11.patch 
b/dev-java/openjfx/files/11/respect-user-cflags-11.0.11.patch
new file mode 100644
index 00000000..45830560
--- /dev/null
+++ b/dev-java/openjfx/files/11/respect-user-cflags-11.0.11.patch
@@ -0,0 +1,227 @@
+From a28f9aaab759d82384279c16d86bb98ab47412a3 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakov...@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().split(" "))
++
+ if (!IS_64) {
+     commonFlags += "-m32"
+ }
+@@ -61,6 +64,8 @@ def linkFlags = ["-static-libgcc", "-static-libstdc++", 
"-shared", commonFlags,
+                  "-z", "relro",
+                  "-Wl,--gc-sections"].flatten()
+ 
++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 = [ccFlags].flatten()
+ LINUX.iio.linker = linker
+-LINUX.iio.linkFlags = [linkFlags].flatten()
++LINUX.iio.linkFlags = [linkFlags, "-ljpeg"].flatten()
+ LINUX.iio.lib = "javafx_iio"
+ 
+ LINUX.prismES2 = [:]
+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,13 +29,8 @@ CFLAGS = -fPIC                   \
+          -DLINUX                 \
+          -DGST_DISABLE_LOADSAVE  \
+          -DGSTREAMER_LITE \
+-         -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)
+@@ -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,14 +30,8 @@ CFLAGS = -fPIC                   \
+          -DGST_DISABLE_LOADSAVE  \
+          -DGST_DISABLE_GST_DEBUG \
+          -DGSTREAMER_LITE \
+-         -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)) \
+@@ -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-link,\$$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
+

diff --git a/dev-java/openjfx/files/11/respect-user-cflags.patch 
b/dev-java/openjfx/files/11/respect-user-cflags.patch
new file mode 100644
index 00000000..6ffb0394
--- /dev/null
+++ b/dev-java/openjfx/files/11/respect-user-cflags.patch
@@ -0,0 +1,227 @@
+From a28f9aaab759d82384279c16d86bb98ab47412a3 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakov...@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=implicit-function-declaration"] // warning flags
+ 
++commonFlags.addAll(System.getenv("CFLAGS").trim().split(" "))
++
+ if (!IS_64) {
+     commonFlags += "-m32"
+ }
+@@ -61,6 +64,8 @@ def linkFlags = ["-static-libgcc", "-static-libstdc++", 
"-shared", commonFlags,
+                  "-z", "relro",
+                  "-Wl,--gc-sections"].flatten()
+ 
++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 = [ccFlags].flatten()
+ LINUX.iio.linker = linker
+-LINUX.iio.linkFlags = [linkFlags].flatten()
++LINUX.iio.linkFlags = [linkFlags, "-ljpeg"].flatten()
+ LINUX.iio.lib = "javafx_iio"
+ 
+ LINUX.prismES2 = [:]
+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,13 +29,8 @@ CFLAGS = -fPIC                   \
+          -DLINUX                 \
+          -DGST_DISABLE_LOADSAVE  \
+          -DGSTREAMER_LITE \
+-         -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)
+@@ -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,14 +30,8 @@ CFLAGS = -fPIC                   \
+          -DGST_DISABLE_LOADSAVE  \
+          -DGST_DISABLE_GST_DEBUG \
+          -DGSTREAMER_LITE \
+-         -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)) \
+@@ -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-link,\$$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
+

diff --git a/dev-java/openjfx/files/11/use-system-swt-jar.patch 
b/dev-java/openjfx/files/11/use-system-swt-jar.patch
new file mode 100644
index 00000000..34b4245b
--- /dev/null
+++ b/dev-java/openjfx/files/11/use-system-swt-jar.patch
@@ -0,0 +1,25 @@
+From c7a04feac8281cd3e53c8d0215a229bb6cd4fce8 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakov...@gentoo.org>
+Date: Sat, 1 Jun 2019 00:36:04 -0700
+Subject: [PATCH] use system swt jar
+
+---
+ build.gradle | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build.gradle b/build.gradle
+index 1e414b7..3d967bb 100644
+--- a/build.gradle
++++ b/build.gradle
+@@ -2477,7 +2477,7 @@ project(":swt") {
+     commonModuleSetup(project, [ 'base', 'graphics' ])
+ 
+     dependencies {
+-        compile name: SWT_FILE_NAME
++        compile files("__gentoo_swt_jar__")
+     }
+ 
+     classes {
+-- 
+2.21.0
+

diff --git a/dev-java/openjfx/files/11/wno-error-11.0.11.patch 
b/dev-java/openjfx/files/11/wno-error-11.0.11.patch
new file mode 100644
index 00000000..639b3c11
--- /dev/null
+++ b/dev-java/openjfx/files/11/wno-error-11.0.11.patch
@@ -0,0 +1,43 @@
+From 9df57c50dcf4b0ac729595600932f844e1f8d4a3 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakov...@gentoo.org>
+Date: Wed, 17 Nov 2021 19:52:13 -0800
+Subject: [PATCH] no -Werror
+
+---
+ buildSrc/linux.gradle | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle
+index 00a3bca..2295566 100644
+--- a/buildSrc/linux.gradle
++++ b/buildSrc/linux.gradle
+@@ -231,7 +231,7 @@ FileTree ft_gtk = 
fileTree("${project(":graphics").projectDir}/src/main/native-g
+ LINUX.glass.glass = [:]
+ LINUX.glass.glass.nativeSource = ft_gtk_launcher.getFiles()
+ LINUX.glass.glass.compiler = compiler
+-LINUX.glass.glass.ccFlags = [cppFlags, "-Werror"].flatten()
++LINUX.glass.glass.ccFlags = [cppFlags].flatten()
+ LINUX.glass.glass.linker = linker
+ LINUX.glass.glass.linkFlags = IS_STATIC_BUILD? linkFlags : [linkFlags, 
"-lX11", "-ldl"].flatten()
+ LINUX.glass.glass.lib = "glass"
+@@ -241,7 +241,7 @@ LINUX.glass.glassgtk2.nativeSource =  ft_gtk.getFiles()
+ LINUX.glass.glassgtk2.compiler = compiler
+ LINUX.glass.glassgtk2.ccFlags = IS_STATIC_BUILD ?
+         ["-fno-threadsafe-statics", cppFlags, gtk2CCFlags].flatten() :
+-        [cppFlags, gtk2CCFlags, "-Werror"].flatten()
++        [cppFlags, gtk2CCFlags].flatten()
+ LINUX.glass.glassgtk2.linker = linker
+ LINUX.glass.glassgtk2.linkFlags = IS_STATIC_BUILD ? linkFlags : [linkFlags, 
gtk2LinkFlags].flatten()
+ LINUX.glass.glassgtk2.lib = "glassgtk2"
+@@ -251,7 +251,7 @@ LINUX.glass.glassgtk3.nativeSource =  ft_gtk.getFiles()
+ LINUX.glass.glassgtk3.compiler = compiler
+ LINUX.glass.glassgtk3.ccFlags = IS_STATIC_BUILD ?
+         ["-fno-threadsafe-statics", cppFlags, gtk3CCFlags].flatten() :
+-        [cppFlags, gtk3CCFlags, "-Werror"].flatten()
++        [cppFlags, gtk3CCFlags].flatten()
+ LINUX.glass.glassgtk3.linker = linker
+ LINUX.glass.glassgtk3.linkFlags = IS_STATIC_BUILD ? linkFlags : [linkFlags, 
gtk3LinkFlags].flatten()
+ LINUX.glass.glassgtk3.lib = "glassgtk3"
+-- 
+2.34.0
+

diff --git a/dev-java/openjfx/files/11/wno-error.patch 
b/dev-java/openjfx/files/11/wno-error.patch
new file mode 100644
index 00000000..eb354c6f
--- /dev/null
+++ b/dev-java/openjfx/files/11/wno-error.patch
@@ -0,0 +1,43 @@
+From 737acaff3658663de61813ba877379841e76631e Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakov...@gentoo.org>
+Date: Thu, 19 Mar 2020 09:50:22 -0700
+Subject: [PATCH] remove werror
+
+---
+ buildSrc/linux.gradle | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle
+index 7a7cbc7..6955155 100644
+--- a/buildSrc/linux.gradle
++++ b/buildSrc/linux.gradle
+@@ -223,7 +223,7 @@ FileTree ft_gtk = 
fileTree("${project(":graphics").projectDir}/src/main/native-g
+ LINUX.glass.glass = [:]
+ LINUX.glass.glass.nativeSource = ft_gtk_launcher.getFiles()
+ LINUX.glass.glass.compiler = compiler
+-LINUX.glass.glass.ccFlags = [ccFlags, gtk2CCFlags,  "-Werror"].flatten()
++LINUX.glass.glass.ccFlags = [ccFlags, gtk2CCFlags].flatten()
+ LINUX.glass.glass.linker = linker
+ LINUX.glass.glass.linkFlags = [linkFlags, "-lX11", "-ldl" ].flatten()
+ LINUX.glass.glass.lib = "glass"
+@@ -231,7 +231,7 @@ LINUX.glass.glass.lib = "glass"
+ LINUX.glass.glassgtk2 = [:]
+ LINUX.glass.glassgtk2.nativeSource =  ft_gtk.getFiles()
+ LINUX.glass.glassgtk2.compiler = compiler
+-LINUX.glass.glassgtk2.ccFlags = [ccFlags, gtk2CCFlags, "-Werror"].flatten()
++LINUX.glass.glassgtk2.ccFlags = [ccFlags, gtk2CCFlags].flatten()
+ LINUX.glass.glassgtk2.linker = linker
+ LINUX.glass.glassgtk2.linkFlags = [linkFlags, gtk2LinkFlags ].flatten()
+ LINUX.glass.glassgtk2.lib = "glassgtk2"
+@@ -239,7 +239,7 @@ LINUX.glass.glassgtk2.lib = "glassgtk2"
+ LINUX.glass.glassgtk3 = [:]
+ LINUX.glass.glassgtk3.nativeSource =  ft_gtk.getFiles()
+ LINUX.glass.glassgtk3.compiler = compiler
+-LINUX.glass.glassgtk3.ccFlags = [ccFlags, gtk3CCFlags, "-Werror"].flatten()
++LINUX.glass.glassgtk3.ccFlags = [ccFlags, gtk3CCFlags].flatten()
+ LINUX.glass.glassgtk3.linker = linker
+ LINUX.glass.glassgtk3.linkFlags = [linkFlags, gtk3LinkFlags ].flatten()
+ LINUX.glass.glassgtk3.lib = "glassgtk3"
+-- 
+2.24.1
+

diff --git a/dev-java/openjfx/metadata.xml b/dev-java/openjfx/metadata.xml
new file mode 100644
index 00000000..06173f63
--- /dev/null
+++ b/dev-java/openjfx/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>gyakov...@gentoo.org</email>
+               <name>Georgy Yakovlev</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>j...@gentoo.org</email>
+       </maintainer>
+       <longdescription lang="en">
+               OpenJFX is an open source, next generation client application 
platform for desktop,
+               mobile and embedded systems built on Java.
+       </longdescription>
+       <use>
+               <flag name="media">Compile media module, based on 
gstreamer-minimal (does not pull gstreamer)</flag>
+               <flag name="source">Install JavaFX sources</flag>
+       </use>
+</pkgmetadata>

diff --git a/dev-java/openjfx/openjfx-11.0.11_p1.ebuild 
b/dev-java/openjfx/openjfx-11.0.11_p1.ebuild
new file mode 100644
index 00000000..8e6908ad
--- /dev/null
+++ b/dev-java/openjfx/openjfx-11.0.11_p1.ebuild
@@ -0,0 +1,206 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="${PV/_p/+}"
+SLOT="${MY_PV%%[.+]*}"
+
+inherit flag-o-matic gradle java-pkg-2 multiprocessing
+
+DESCRIPTION="Java OpenJFX client application platform"
+HOMEPAGE="https://openjfx.io";
+
+SRC_URI="
+       
https://hg.openjdk.java.net/${PN}/${SLOT}-dev/rt/archive/${MY_PV}.tar.bz2 -> 
${P}.tar.bz2
+       
https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/7.1.0/lucene-sandbox-7.1.0.jar
+       
https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/7.1.0/lucene-grouping-7.1.0.jar
+       
https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/7.1.0/lucene-queryparser-7.1.0.jar
+       
https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/7.1.0/lucene-queries-7.1.0.jar
+       
https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/7.1.0/lucene-core-7.1.0.jar
+       
https://repo.maven.apache.org/maven2/org/antlr/gunit/3.5.2/gunit-3.5.2.jar
+       
https://repo1.maven.org/maven2/org/antlr/antlr4/4.7.2/antlr4-4.7.2-complete.jar
+       https://repo.maven.apache.org/maven2/org/antlr/ST4/4.0.8/ST4-4.0.8.jar
+"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="-* ~amd64"
+
+IUSE="cpu_flags_x86_sse2 debug doc source +media"
+
+EGRADLE_EXACT_VER="4.10.3"
+EGRADLE_PARALLEL=false
+
+RDEPEND="
+       dev-java/swt:4.10[cairo,opengl]
+       dev-libs/atk
+       dev-libs/glib:2
+       dev-libs/libxml2:2
+       dev-libs/libxslt
+       media-libs/freetype:2
+       media-libs/fontconfig:1.0
+       media-video/ffmpeg:0=
+       x11-libs/gdk-pixbuf
+       x11-libs/gtk+:2
+       x11-libs/gtk+:3
+       x11-libs/cairo[glib]
+       x11-libs/libX11
+       x11-libs/libXtst
+       x11-libs/libXxf86vm
+       x11-libs/pango
+       virtual/jpeg
+       virtual/opengl
+       doc? ( dev-java/openjdk:${SLOT}[doc] )
+       !doc? (
+               || (
+                       dev-java/openjdk-bin:${SLOT}
+                       dev-java/openjdk:${SLOT}
+               )
+       )
+"
+
+DEPEND="${RDEPEND}
+       app-arch/unzip
+       app-arch/zip
+       >=dev-java/ant-core-1.10.7-r1:0
+       dev-java/antlr:0
+       dev-java/antlr:3.5
+       dev-java/hamcrest-core:0
+       dev-java/stringtemplate:0
+       virtual/ttf-fonts
+       virtual/pkgconfig
+"
+
+BDEPEND="~dev-java/gradle-bin-${EGRADLE_EXACT_VER}"
+
+REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )"
+
+PATCHES=(
+       "${FILESDIR}"/11/disable-buildSrc-tests.patch
+       "${FILESDIR}"/11/glibc-compatibility.patch
+       "${FILESDIR}"/11/respect-user-cflags-11.0.11.patch
+       "${FILESDIR}"/11/use-system-swt-jar.patch
+       "${FILESDIR}"/11/wno-error-11.0.11.patch
+       "${FILESDIR}"/11/don-t-force-msse-11.0.11.patch
+       "${FILESDIR}"/11/disable-architecture-verification.patch
+       "${FILESDIR}"/11/gstreamer-CVE-2021-3522.patch
+)
+
+S="${WORKDIR}/rt-${MY_PV}"
+
+pkg_setup() {
+       JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+       JAVA_PKG_WANT_SOURCE="${SLOT}"
+       JAVA_PKG_WANT_TARGET="${SLOT}"
+
+       # The nastiness below is necessary while the gentoo-vm USE flag is
+       # masked. First we call java-pkg-2_pkg_setup if it looks like the
+       # flag was unmasked against one of the possible build VMs. If not,
+       # we try finding one of them in their expected locations. This would
+       # have been slightly less messy if openjdk-bin had been installed to
+       # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+       # file but disable it so that it would not normally be selectable.
+
+       local vm
+       for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+               if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then
+                       java-pkg-2_pkg_setup
+                       return
+               fi
+       done
+
+       if has_version --host-root dev-java/openjdk:${SLOT}; then
+               export JAVA_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT}
+               export JDK_HOME="${JAVA_HOME}"
+               export ANT_RESPECT_JAVA_HOME=true
+
+       else
+               if [[ ${MERGE_TYPE} != "binary" ]]; then
+                       JDK_HOME=$(best_version --host-root 
dev-java/openjdk-bin:${SLOT})
+                       [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+                       JDK_HOME=${JDK_HOME#*/}
+                       JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
+                       export JDK_HOME
+                       export JAVA_HOME="${JDK_HOME}"
+                       export ANT_RESPECT_JAVA_HOME=true
+               fi
+       fi
+}
+
+src_unpack() {
+       unpack "${P}.tar.bz2"
+
+       mkdir "${T}/jars" || die
+
+       local line jar
+       for line in ${SRC_URI}; do
+               if [[ ${line} =~ 
(http|https)://[a-zA-Z0-9.-_]*/(maven2|m2|eclipse)/(.*[.]jar)$ ]]; then
+                       jar=$(basename "${BASH_REMATCH[-1]}")
+                       cp -v "${DISTDIR}/${jar}" "${T}/jars/" || die
+               fi
+       done
+}
+
+src_prepare() {
+       default
+
+       local d="${T}/jars"
+
+       java-pkg_jar-from --build-only --with-dependencies --into "${d}" antlr
+       java-pkg_jar-from --build-only --with-dependencies --into "${d}" 
antlr-3.5
+       java-pkg_jar-from --build-only --with-dependencies --into "${d}" 
stringtemplate
+       java-pkg_jar-from --build-only --with-dependencies --into "${d}" 
hamcrest-core
+
+       sed -i "s#__gentoo_swt_jar__#$(java-pkg_getjars swt-4.10)#" 
build.gradle || die
+}
+
+src_configure() {
+       append-flags -Wno-error -fcommon
+
+       #FIXME: still calls gcc, pkg-config etc by name without chost prefix
+       #FIXME: should we enable webkit? doubt so
+
+       # build is very sensetive to doc presense, take extra steps
+       if use doc; then
+               local jdk_doc
+               if has_version --host-root dev-java/openjdk:${SLOT}[doc]; then
+                       
jdk_doc="${EPREFIX}/usr/share/doc/openjdk-${SLOT}/html/api"
+               fi
+               [[ -r ${jdk_doc}/element-list ]] || die "JDK Docs not found, 
terminating build early"
+       fi
+
+       cat <<- _EOF_ > gradle.properties
+               COMPILE_TARGETS = linux
+               COMPILE_WEBKIT = false
+               COMPILE_MEDIA = $(usex media true false)
+               JDK_DOCS = 
https://docs.oracle.com/en/java/javase/${SLOT}/docs/api
+               JDK_DOCS_LINK = $(usex doc "${jdk_doc}" "")
+               BUILD_LIBAV_STUBS = false
+               GRADLE_VERSION_CHECK = false
+               LINT = none
+               CONF = $(usex debug DebugNative Release)
+               NUM_COMPILE_THREADS = $(makeopts_jobs)
+               JFX_DEPS_URL = ${T}/jars
+               COMPANY_NAME = "Gentoo"
+       _EOF_
+}
+
+src_compile() {
+       egradle zips $(usex doc "" "--exclude-task javadoc")
+}
+
+src_install() {
+       if ! use source ; then
+               rm -v build/sdk/lib/src.zip || die
+       fi
+
+       insinto "/usr/$(get_libdir)/${PN}-${SLOT}"
+       doins -r build/sdk/.
+       doins build/javafx-exports.zip
+
+       if use doc; then
+               docinto html
+               dodoc -r build/javadoc/.
+               dosym ../../../usr/share/doc/"${PF}" 
/usr/share/doc/"${PN}-${SLOT}"
+       fi
+}

Reply via email to