public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjfx/files/11/, dev-java/openjfx/
@ 2020-03-17  1:02 Georgy Yakovlev
  0 siblings, 0 replies; 6+ messages in thread
From: Georgy Yakovlev @ 2020-03-17  1:02 UTC (permalink / raw
  To: gentoo-commits

commit:     da7795a2de4ddee539e28c94c476883a395a8f2a
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 17 00:21:43 2020 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Tue Mar 17 01:01:24 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da7795a2

dev-java/openjfx: drop old

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-java/openjfx/Manifest                          |   2 -
 .../openjfx/files/11/fix-build-on-gradle-5x.patch  |  23 ---
 dev-java/openjfx/openjfx-11.0.3_p1.ebuild          | 220 ---------------------
 3 files changed, 245 deletions(-)

diff --git a/dev-java/openjfx/Manifest b/dev-java/openjfx/Manifest
index 703a2bb2892..8506d389f9b 100644
--- a/dev-java/openjfx/Manifest
+++ b/dev-java/openjfx/Manifest
@@ -1,5 +1,4 @@
 DIST ST4-4.0.8.jar 239543 BLAKE2B 72d257c6d0f1b3bde0afce805128dd38d8520b2073377bbb995fed3b4e18a3ea69d508d6d7554755ec68bf50940082b896ed89998a5178272d24376404b389c5 SHA512 9877289297cd5b15ad464a19467699387f57c510fe8a476e07e9d2334bd11933f9bdb9c6caa4972d4d4c84b56740c6d885cd39300dd7ce35b7c5bde536238086
-DIST antlr-complete-3.5.2.jar 2456317 BLAKE2B d9afa08ad98dbff16d30425b97a0ddac7402055916e6a7dd290c3b9a2b26a4751c02f405d8d13c186333430c370c94bd73419b14c8e46df2971f68536cc484a0 SHA512 560f208e38759b5e626de56816e1fce9c191c526c04ca782513859d468ac444d1e8e62c03870a68f8f9d8daee0f45fca465150e2bbfc71b46e46b952519044b1
 DIST antlr4-4.7.2-complete.jar 2079769 BLAKE2B 9407e5096b5943702a1375f568957f35486a80f122bc59c5ec8e899f59214c43ee4ece551d9078de14b7707d85f9306ae99953981c755a1e1205d83412010738 SHA512 e788d28796c8925a158f0a09048590bdcf6730d46dcb8a12b362cbcc80a7ceb76374b2675987c953faecd3cf4a847b1571485a71081a84684170d25d05176a11
 DIST gradle-4.8-bin.zip 75885015 BLAKE2B eb6592afe122690f5e013abec2821beabac070563556ceec67ce02506582d4d9ac9c5d9f97ad2c464e442446f26ff90e9ead2c04e462a564411259564e3332c6 SHA512 4b351c9c5b0970bafb3b2b9b9e2ec9f37ff681cc3ac30004852d712cf8bb83061211a58e5b1f101813cde6a0aec914badf4ef0a806eec603418b851b64a06882
 DIST gunit-3.5.2.jar 287425 BLAKE2B 86e759c5bb164758b689d93bef4b6a0bcb39eb9fee28d2a8dc113a4c97e5e8516b55ada87c27738ffa0fc512805caa338d8649f6f5c9ba36490c4c3ebed86fdd SHA512 c9f14dacec2f22f62b7d3849d1c0e9d626b3dc20eb74a85b32f1901f6279b7b84af095107128bcbe80c49ac05448a713309b60d0c3d2f88e0bca8a14690292b2
@@ -8,5 +7,4 @@ DIST lucene-grouping-7.1.0.jar 87200 BLAKE2B 93f4ca6938b3fbc74752e22ee9d53022a60
 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.3_p1.tar.bz2 63272033 BLAKE2B 574a622b2b2587fcdc64c91cfef0fbcc6d97baa7827e84a540bf1c8493b9fbc3629bd131e5c0972fb82687d194ceb527dfdedd6c2a00edc16d9a76850699f9b6 SHA512 8f8e07d7588b1a5fbcdfcc2837ae0389fefea3a1d91f89fdd4aab03e0bc6f5b9a1e66a824ae9388b777b36e76beb19cb6c69c963c7d904d36cad40f36c5ef0c7
 DIST openjfx-11.0.6_p2.tar.bz2 63971065 BLAKE2B e68cebef34c39b163bf9de5f7184a363553650921bcf86ea338d6cbb583cc66056c3f5d8ff593b320ee38afd9daf738ffe041de6a90062e35e59274ad0242c9d SHA512 7112a7f4a02f36c131892953d76f6a8d82bdce69b67479091187045d78c090f6b4bc8f21b6df259f154c3d0ae87866566eca50ef2741ed440d62655c36e20f3c

diff --git a/dev-java/openjfx/files/11/fix-build-on-gradle-5x.patch b/dev-java/openjfx/files/11/fix-build-on-gradle-5x.patch
deleted file mode 100644
index 51fde6ad39a..00000000000
--- a/dev-java/openjfx/files/11/fix-build-on-gradle-5x.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 2f74649395f0242d08b95572b7b30246457b1d6b Mon Sep 17 00:00:00 2001
-From: Ty Young <BlueGoliath@users.noreply.github.com>
-Date: Mon, 3 Dec 2018 20:34:07 -0600
-Subject: [PATCH] Remove final from HashSet instance
-
-Removes final from HashSet instance at about line 107 which causes build failure
----
- .../main/groovy/com/sun/javafx/gradle/NativeCompileTask.groovy  | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/buildSrc/src/main/groovy/com/sun/javafx/gradle/NativeCompileTask.groovy b/buildSrc/src/main/groovy/com/sun/javafx/gradle/NativeCompileTask.groovy
-index 10a85d62d1..13d573fe6e 100644
---- a/buildSrc/src/main/groovy/com/sun/javafx/gradle/NativeCompileTask.groovy
-+++ b/buildSrc/src/main/groovy/com/sun/javafx/gradle/NativeCompileTask.groovy
-@@ -102,7 +102,7 @@ class NativeCompileTask extends DefaultTask {
-         updateFiles();
-         def source = project.files(allFiles);
-         boolean forceCompile = false;
--        final Set<File> files = new HashSet<File>();
-+        Set<File> files = new HashSet<File>();
-         source.each { File file ->
-             final Map fileData = dependencies.get(file.toString());
-             final boolean isModified = fileData == null ||

diff --git a/dev-java/openjfx/openjfx-11.0.3_p1.ebuild b/dev-java/openjfx/openjfx-11.0.3_p1.ebuild
deleted file mode 100644
index a41615a7a6a..00000000000
--- a/dev-java/openjfx/openjfx-11.0.3_p1.ebuild
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PV=${PV/_p/+}
-SLOT=${MY_PV%%[.+]*}
-EGRADLE_VER="4.8"
-
-inherit java-pkg-2 multiprocessing
-
-DESCRIPTION="Java OpenJFX client application platform"
-HOMEPAGE="https://openjfx.io"
-
-SRC_URI="https://hg.openjdk.java.net/${PN}/${SLOT}/rt/archive/${MY_PV}.tar.bz2 -> ${P}.tar.bz2
-	https://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
-	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://repo.maven.apache.org/maven2/org/antlr/antlr-complete/3.5.2/antlr-complete-3.5.2.jar
-	https://repo.maven.apache.org/maven2/org/antlr/ST4/4.0.8/ST4-4.0.8.jar
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="-* ~amd64"
-
-IUSE="cpu_flags_x86_sse2 debug doc source +media"
-
-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
-	|| (
-		dev-java/openjdk-bin:${SLOT}[doc?]
-		dev-java/openjdk:${SLOT}[doc?]
-	)
-"
-
-DEPEND="${RDEPEND}
-	app-arch/unzip
-	app-arch/zip
-	>=dev-java/ant-core-1.10.5-r2:0
-	dev-java/antlr:0
-	dev-java/antlr:3.5
-	dev-java/hamcrest-core:0
-	dev-java/stringtemplate:0
-	virtual/ttf-fonts
-	virtual/pkgconfig
-"
-
-REQUIRED_USE="cpu_flags_x86_sse2"
-
-PATCHES=(
-	"${FILESDIR}"/11/disable-buildSrc-tests.patch
-	"${FILESDIR}"/11/glibc-compatibility.patch
-	"${FILESDIR}"/11/respect-user-cflags.patch
-	"${FILESDIR}"/11/use-system-swt-jar.patch
-	"${FILESDIR}"/11/fix-build-on-gradle-5x.patch
-)
-
-S="${WORKDIR}/rt-${MY_PV}"
-
-egradle() {
-	local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
-	local gradle="${GRADLE_HOME}/bin/gradle"
-	local gradle_args=(
-		--info
-		--stacktrace
-		--no-build-cache
-		--no-daemon
-		--offline
-		--gradle-user-home "${T}/gradle_user_home"
-		--project-cache-dir "${T}/gradle_project_cache"
-	)
-
-	export GRADLE_HOME
-
-	# FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
-	unset ANT_HOME
-
-	einfo "gradle "${gradle_args[@]}" ${@}"
-	"${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
-}
-
-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=ture
-
-	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=ture
-		fi
-	fi
-}
-
-src_unpack() {
-	unpack "${P}.tar.bz2"
-	unpack "gradle-${EGRADLE_VER}-bin.zip"
-
-	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)#" "${S}"/build.gradle || die
-}
-
-src_configure() {
-	#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="${EROOT%/}/usr/share/doc/openjdk-${SLOT}/html/api"
-		elif has_version --host-root dev-java/java-sdk-docs:${SLOT}; then
-			jdk_doc="${EROOT%/}/usr/share/doc/java-sdk-docs-${SLOT}/html/api"
-		fi
-		[[ -r ${jdk_doc}/element-list ]] || die "JDK Docs not found, terminating build early"
-	fi
-
-	cat <<- _EOF_ > "${S}"/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
-}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjfx/files/11/, dev-java/openjfx/
@ 2020-09-20  2:30 Georgy Yakovlev
  0 siblings, 0 replies; 6+ messages in thread
From: Georgy Yakovlev @ 2020-09-20  2:30 UTC (permalink / raw
  To: gentoo-commits

commit:     3f29c657613eb20825762da1c2384e57c16d946b
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 20 02:24:41 2020 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Sun Sep 20 02:29:05 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f29c657

dev-java/openjfx: keyword 11 on ~ppc64

adjust some patches and switch to newer gradle

Package-Manager: Portage-3.0.7, Repoman-3.0.1
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-java/openjfx/Manifest                          |  1 -
 .../11/disable-architecture-verification.patch     | 33 ++++++++
 dev-java/openjfx/files/11/don-t-force-msse.patch   | 95 ++++++++++++++++++++++
 dev-java/openjfx/openjfx-11.0.9_p0.ebuild          | 19 +++--
 4 files changed, 139 insertions(+), 9 deletions(-)

diff --git a/dev-java/openjfx/Manifest b/dev-java/openjfx/Manifest
index e3aefd22af5..71a68df134f 100644
--- a/dev-java/openjfx/Manifest
+++ b/dev-java/openjfx/Manifest
@@ -1,7 +1,6 @@
 DIST ST4-4.0.8.jar 239543 BLAKE2B 72d257c6d0f1b3bde0afce805128dd38d8520b2073377bbb995fed3b4e18a3ea69d508d6d7554755ec68bf50940082b896ed89998a5178272d24376404b389c5 SHA512 9877289297cd5b15ad464a19467699387f57c510fe8a476e07e9d2334bd11933f9bdb9c6caa4972d4d4c84b56740c6d885cd39300dd7ce35b7c5bde536238086
 DIST antlr4-4.7.2-complete.jar 2079769 BLAKE2B 9407e5096b5943702a1375f568957f35486a80f122bc59c5ec8e899f59214c43ee4ece551d9078de14b7707d85f9306ae99953981c755a1e1205d83412010738 SHA512 e788d28796c8925a158f0a09048590bdcf6730d46dcb8a12b362cbcc80a7ceb76374b2675987c953faecd3cf4a847b1571485a71081a84684170d25d05176a11
 DIST gradle-4.10.3-bin.zip 78422006 BLAKE2B f565e591751acb5b05c261b3d8dbc8e07f76b48c73516f6cb1b2846ebf0bbf38000b9a61790e9b3055bddd9f9846d61979d187f4a30c317a1de98546891d9d2d SHA512 fd3f4cfbd5262cc8514b7fb3e303ef46b9ca4b22901f1fe848ec4679f8d6bc283bde12ec584437624f0acf5486e5663966ad0736bf8ab341ac3e2667f514ceec
-DIST gradle-4.8-bin.zip 75885015 BLAKE2B eb6592afe122690f5e013abec2821beabac070563556ceec67ce02506582d4d9ac9c5d9f97ad2c464e442446f26ff90e9ead2c04e462a564411259564e3332c6 SHA512 4b351c9c5b0970bafb3b2b9b9e2ec9f37ff681cc3ac30004852d712cf8bb83061211a58e5b1f101813cde6a0aec914badf4ef0a806eec603418b851b64a06882
 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

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 00000000000..9e5a3fc3b75
--- /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 <gyakovlev@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/don-t-force-msse.patch b/dev-java/openjfx/files/11/don-t-force-msse.patch
new file mode 100644
index 00000000000..f3d62c8e26f
--- /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 <gyakovlev@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/openjfx-11.0.9_p0.ebuild b/dev-java/openjfx/openjfx-11.0.9_p0.ebuild
index d9fd79845b4..119aa94597c 100644
--- a/dev-java/openjfx/openjfx-11.0.9_p0.ebuild
+++ b/dev-java/openjfx/openjfx-11.0.9_p0.ebuild
@@ -5,7 +5,7 @@ EAPI=6
 
 MY_PV="${PV/_p/+}"
 SLOT="${MY_PV%%[.+]*}"
-EGRADLE_VER="4.8"
+EGRADLE_VER="4.10.3"
 
 inherit flag-o-matic java-pkg-2 multiprocessing
 
@@ -25,7 +25,7 @@ SRC_URI="https://hg.openjdk.java.net/${PN}/${SLOT}-dev/rt/archive/${MY_PV}.tar.b
 "
 
 LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="-* ~amd64"
+KEYWORDS="-* ~amd64 ~ppc64"
 
 IUSE="cpu_flags_x86_sse2 debug doc source +media"
 
@@ -48,9 +48,12 @@ RDEPEND="
 	x11-libs/pango
 	virtual/jpeg
 	virtual/opengl
-	|| (
-		dev-java/openjdk-bin:${SLOT}[doc?]
-		dev-java/openjdk:${SLOT}[doc?]
+	doc? ( dev-java/openjdk:${SLOT}[doc] )
+	!doc? (
+		|| (
+			dev-java/openjdk-bin:${SLOT}
+			dev-java/openjdk:${SLOT}
+		)
 	)
 "
 
@@ -66,7 +69,7 @@ DEPEND="${RDEPEND}
 	virtual/pkgconfig
 "
 
-REQUIRED_USE="cpu_flags_x86_sse2"
+REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )"
 
 PATCHES=(
 	"${FILESDIR}"/11/disable-buildSrc-tests.patch
@@ -74,6 +77,8 @@ PATCHES=(
 	"${FILESDIR}"/11/respect-user-cflags.patch
 	"${FILESDIR}"/11/use-system-swt-jar.patch
 	"${FILESDIR}"/11/wno-error.patch
+	"${FILESDIR}"/11/don-t-force-msse.patch
+	"${FILESDIR}"/11/disable-architecture-verification.patch
 	"${FILESDIR}/11/${PV}-version.patch"
 )
 
@@ -180,8 +185,6 @@ src_configure() {
 		local jdk_doc
 		if has_version --host-root dev-java/openjdk:${SLOT}[doc]; then
 			jdk_doc="${EROOT%/}/usr/share/doc/openjdk-${SLOT}/html/api"
-		elif has_version --host-root dev-java/java-sdk-docs:${SLOT}; then
-			jdk_doc="${EROOT%/}/usr/share/doc/java-sdk-docs-${SLOT}/html/api"
 		fi
 		[[ -r ${jdk_doc}/element-list ]] || die "JDK Docs not found, terminating build early"
 	fi


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjfx/files/11/, dev-java/openjfx/
@ 2021-11-18  4:42 Georgy Yakovlev
  0 siblings, 0 replies; 6+ messages in thread
From: Georgy Yakovlev @ 2021-11-18  4:42 UTC (permalink / raw
  To: gentoo-commits

commit:     ff3f6a85bb049a349d47de3a6c0a5760f6494afc
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 18 04:22:38 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Thu Nov 18 04:39:07 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff3f6a85

dev-java/openjfx: add 11.0.11_p1

Bug: https://bugs.gentoo.org/797604
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-java/openjfx/Manifest                          |   1 +
 .../files/11/don-t-force-msse-11.0.11.patch        |  92 +++++++++
 .../files/11/respect-user-cflags-11.0.11.patch     | 227 +++++++++++++++++++++
 dev-java/openjfx/files/11/wno-error-11.0.11.patch  |  43 ++++
 dev-java/openjfx/openjfx-11.0.11_p1.ebuild         | 225 ++++++++++++++++++++
 5 files changed, 588 insertions(+)

diff --git a/dev-java/openjfx/Manifest b/dev-java/openjfx/Manifest
index 46d451a907e9..65b4b0f82bef 100644
--- a/dev-java/openjfx/Manifest
+++ b/dev-java/openjfx/Manifest
@@ -7,6 +7,7 @@ DIST lucene-grouping-7.1.0.jar 87200 BLAKE2B 93f4ca6938b3fbc74752e22ee9d53022a60
 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
 DIST openjfx-11.0.9_p0.tar.bz2 64148934 BLAKE2B 317fb1c9ea99816ecbd8ab64ed3a6ad0aaa319bedd17bf71ee192c5e610fea14611f3938302f1caf666980bcc7d4787f770e36aec1884a73dac3ddba8e1a878f SHA512 8b6d339131f096b4490d7a8c4a20c15362b4f6c6aa4ddd74f610f3b5a8b8c7aac3ab123dcdd5488cc37dc38f1536ce1db95286f4233ee4db1845d1bd560b2236
 DIST openjfx-8.1000-backports.tar.bz2 9142182 BLAKE2B 58ea420ec015c49d2755105a3d11675a92ecab337c7bda5a1ad72e84d0b35f04ed4252cee24da89b1e7b1b5b8b8b9fea7db93364434800246b87827b21970cc3 SHA512 077392368947cb9da1b5c7e14b641d6edcddd9821eb4f16dbea33e8986568211e93799aca29e70b490c8ef2125d69f8372abd1b1ce428a95420f62ff15c414d6
 DIST openjfx-8.1000.tar.bz2 62286455 BLAKE2B c9a714a618d9ae02768dae6128756d64b2b6299a36a6ad9828bf2213dc641cbbcaa2d3f3e0b4913bb60893419a2d5c730ca2db88f759bbd94b3e83112199278c SHA512 6049730b72e569939fed3d62b46a409e949b4c2309f4355253c8c891799c7fb5138e20aa217454fbbd78b1dd99c254b34b3fe6c9cbb35854bd8656993655bf32

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 000000000000..aa04c15aa778
--- /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 <gyakovlev@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/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 000000000000..458305608903
--- /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 <gyakovlev@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/wno-error-11.0.11.patch b/dev-java/openjfx/files/11/wno-error-11.0.11.patch
new file mode 100644
index 000000000000..639b3c117889
--- /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 <gyakovlev@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/openjfx-11.0.11_p1.ebuild b/dev-java/openjfx/openjfx-11.0.11_p1.ebuild
new file mode 100644
index 000000000000..e2ae13e4147f
--- /dev/null
+++ b/dev-java/openjfx/openjfx-11.0.11_p1.ebuild
@@ -0,0 +1,225 @@
+# Copyright 2019-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PV="${PV/_p/+}"
+SLOT="${MY_PV%%[.+]*}"
+EGRADLE_VER="4.10.3"
+
+inherit flag-o-matic 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://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
+	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 ~ppc64"
+
+IUSE="cpu_flags_x86_sse2 debug doc source +media"
+
+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
+"
+
+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
+)
+
+S="${WORKDIR}/rt-${MY_PV}"
+
+egradle() {
+	local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
+	local gradle="${GRADLE_HOME}/bin/gradle"
+	local gradle_args=(
+		--info
+		--stacktrace
+		--no-build-cache
+		--no-daemon
+		--offline
+		--gradle-user-home "${T}/gradle_user_home"
+		--project-cache-dir "${T}/gradle_project_cache"
+	)
+
+	export GRADLE_HOME
+
+	# FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
+	unset ANT_HOME
+
+	einfo "gradle "${gradle_args[@]}" ${@}"
+	# TERM needed, otherwise gradle may fail on terms it does not know about
+	TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
+}
+
+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"
+	unpack "gradle-${EGRADLE_VER}-bin.zip"
+
+	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)#" "${S}"/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_ > "${S}"/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
+}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjfx/files/11/, dev-java/openjfx/
@ 2021-11-18  4:49 Georgy Yakovlev
  0 siblings, 0 replies; 6+ messages in thread
From: Georgy Yakovlev @ 2021-11-18  4:49 UTC (permalink / raw
  To: gentoo-commits

commit:     e18fbd00f235dd87479fde7ea039a6b8339f8f6a
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 18 04:48:45 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Thu Nov 18 04:48:45 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e18fbd00

dev-java/openjfx: add gstreamer CVE-2021-3522 fix

Bug: https://bugs.gentoo.org/819633
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 .../openjfx/files/11/gstreamer-CVE-2021-3522.patch | 31 ++++++++++++++++++++++
 dev-java/openjfx/openjfx-11.0.11_p1.ebuild         |  1 +
 2 files changed, 32 insertions(+)

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 000000000000..600f1cb84640
--- /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?= <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/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/openjfx-11.0.11_p1.ebuild b/dev-java/openjfx/openjfx-11.0.11_p1.ebuild
index e2ae13e4147f..7d61ff67f2c2 100644
--- a/dev-java/openjfx/openjfx-11.0.11_p1.ebuild
+++ b/dev-java/openjfx/openjfx-11.0.11_p1.ebuild
@@ -79,6 +79,7 @@ PATCHES=(
 	"${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}"


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjfx/files/11/, dev-java/openjfx/
@ 2023-09-27  7:11 Ulrich Müller
  0 siblings, 0 replies; 6+ messages in thread
From: Ulrich Müller @ 2023-09-27  7:11 UTC (permalink / raw
  To: gentoo-commits

commit:     ddbbca3c064b767d9dab6b63a6046537f8ebc01e
Author:     Marco Genasci <fedeliallalinea <AT> gmail <DOT> com>
AuthorDate: Mon Sep 25 12:22:08 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Sep 27 07:11:18 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddbbca3c

dev-java/openjfx: drop ffmpeg dependency

The openjfx package isn't compatible with >=media-video/ffmpeg-5.

Closes: https://bugs.gentoo.org/834369
Signed-off-by: Marco Genasci <fedeliallalinea <AT> gmail.com>
[Clean patch]
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dev-java/openjfx/files/11/ffmpeg5.patch       |  17 ++
 dev-java/openjfx/openjfx-11.0.11_p1-r1.ebuild | 226 ++++++++++++++++++++++++++
 dev-java/openjfx/openjfx-11.0.9_p0-r1.ebuild  | 226 ++++++++++++++++++++++++++
 3 files changed, 469 insertions(+)

diff --git a/dev-java/openjfx/files/11/ffmpeg5.patch b/dev-java/openjfx/files/11/ffmpeg5.patch
new file mode 100644
index 000000000000..ca0bd1fbecb5
--- /dev/null
+++ b/dev-java/openjfx/files/11/ffmpeg5.patch
@@ -0,0 +1,17 @@
+--- a/build.gradle
++++ b/build.gradle
+@@ -3710,14 +3710,6 @@
+                                     }
+                                 }
+                             }
+-                        } else {
+-                            // Building fxavcodec plugin (libav plugin)
+-                            exec {
+-                                commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
+-                                args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
+-                                     "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
+-                                     "BASE_NAME=avplugin", IS_64 ? "ARCH=x64" : "ARCH=x32")
+-                            }
+                         }
+                     }
+                 }

diff --git a/dev-java/openjfx/openjfx-11.0.11_p1-r1.ebuild b/dev-java/openjfx/openjfx-11.0.11_p1-r1.ebuild
new file mode 100644
index 000000000000..3263c68c1c08
--- /dev/null
+++ b/dev-java/openjfx/openjfx-11.0.11_p1-r1.ebuild
@@ -0,0 +1,226 @@
+# 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%%[.+]*}"
+EGRADLE_VER="4.10.3"
+
+inherit flag-o-matic 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://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
+	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 ~ppc64"
+
+IUSE="cpu_flags_x86_sse2 debug doc source +media"
+
+RDEPEND="
+	app-accessibility/at-spi2-core
+	dev-java/swt:4.10[cairo,opengl]
+	dev-libs/glib:2
+	dev-libs/libxml2:2
+	dev-libs/libxslt
+	media-libs/freetype:2
+	media-libs/fontconfig:1.0
+	media-libs/libjpeg-turbo
+	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/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
+"
+
+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
+	"${FILESDIR}"/11/ffmpeg5.patch
+)
+
+S="${WORKDIR}/rt-${MY_PV}"
+
+egradle() {
+	local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
+	local gradle="${GRADLE_HOME}/bin/gradle"
+	local gradle_args=(
+		--info
+		--stacktrace
+		--no-build-cache
+		--no-daemon
+		--offline
+		--gradle-user-home "${T}/gradle_user_home"
+		--project-cache-dir "${T}/gradle_project_cache"
+	)
+
+	export GRADLE_HOME
+
+	# FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
+	unset ANT_HOME
+
+	einfo "gradle "${gradle_args[@]}" ${@}"
+	# TERM needed, otherwise gradle may fail on terms it does not know about
+	TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
+}
+
+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"
+	unpack "gradle-${EGRADLE_VER}-bin.zip"
+
+	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)#" "${S}"/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_ > "${S}"/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
+}

diff --git a/dev-java/openjfx/openjfx-11.0.9_p0-r1.ebuild b/dev-java/openjfx/openjfx-11.0.9_p0-r1.ebuild
new file mode 100644
index 000000000000..7fca74112cfd
--- /dev/null
+++ b/dev-java/openjfx/openjfx-11.0.9_p0-r1.ebuild
@@ -0,0 +1,226 @@
+# 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%%[.+]*}"
+EGRADLE_VER="4.10.3"
+
+inherit flag-o-matic 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://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
+	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 ~ppc64"
+
+IUSE="cpu_flags_x86_sse2 debug doc source +media"
+
+RDEPEND="
+	app-accessibility/at-spi2-core
+	dev-java/swt:4.10[cairo,opengl]
+	dev-libs/glib:2
+	dev-libs/libxml2:2
+	dev-libs/libxslt
+	media-libs/freetype:2
+	media-libs/fontconfig:1.0
+	media-libs/libjpeg-turbo
+	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/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
+"
+
+REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )"
+
+PATCHES=(
+	"${FILESDIR}"/11/disable-buildSrc-tests.patch
+	"${FILESDIR}"/11/glibc-compatibility.patch
+	"${FILESDIR}"/11/respect-user-cflags.patch
+	"${FILESDIR}"/11/use-system-swt-jar.patch
+	"${FILESDIR}"/11/wno-error.patch
+	"${FILESDIR}"/11/don-t-force-msse.patch
+	"${FILESDIR}"/11/disable-architecture-verification.patch
+	"${FILESDIR}"/11/ffmpeg5.patch
+	"${FILESDIR}/11/${PV}-version.patch"
+)
+
+S="${WORKDIR}/rt-${MY_PV}"
+
+egradle() {
+	local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
+	local gradle="${GRADLE_HOME}/bin/gradle"
+	local gradle_args=(
+		--info
+		--stacktrace
+		--no-build-cache
+		--no-daemon
+		--offline
+		--gradle-user-home "${T}/gradle_user_home"
+		--project-cache-dir "${T}/gradle_project_cache"
+	)
+
+	export GRADLE_HOME
+
+	# FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
+	unset ANT_HOME
+
+	einfo "gradle "${gradle_args[@]}" ${@}"
+	# TERM needed, otherwise gradle may fail on terms it does not know about
+	TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
+}
+
+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"
+	unpack "gradle-${EGRADLE_VER}-bin.zip"
+
+	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)#" "${S}"/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_ > "${S}"/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
+}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-java/openjfx/files/11/, dev-java/openjfx/
@ 2024-03-06 15:21 Sam James
  0 siblings, 0 replies; 6+ messages in thread
From: Sam James @ 2024-03-06 15:21 UTC (permalink / raw
  To: gentoo-commits

commit:     6da9779d9b80919be7a96f11a5316f74746d4d0f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  6 15:18:41 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Mar  6 15:21:36 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6da9779d

dev-java/openjfx: various fixes to 11.x

I don't even know where to start with this, so I'll keep it brief before
I pop several veins.

* Filter LTO (bundled gstreamer breaks).
* Waste several hours debugging broken arg handling, despite inventing a DSL
  for the build system, making the same errors as CMake. Most of the build
  failure bugs linked are actually because of whitespace _somewhere_ within
  {C,CXX,LD}FLAGS. Strip it.
* Respect AR, CC, CXX.
* Various Modern C fixes from Fedora (and are upstream).

Bug: https://bugs.gentoo.org/713488
Bug: https://bugs.gentoo.org/857942
Closes: https://bugs.gentoo.org/715092
Closes: https://bugs.gentoo.org/719484
Closes: https://bugs.gentoo.org/799227
Closes: https://bugs.gentoo.org/915727
Closes: https://bugs.gentoo.org/919413
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-java/openjfx/files/11/0001-c99.patch           |  22 ++
 dev-java/openjfx/files/11/0002-c99.patch           |  18 ++
 dev-java/openjfx/files/11/0003-c99.patch           |  19 ++
 dev-java/openjfx/files/11/respect-cc.patch         |  15 ++
 .../files/11/strip-blank-elements-flags.patch      |  29 +++
 dev-java/openjfx/openjfx-11.0.11_p1-r2.ebuild      | 231 +++++++++++++++++++++
 6 files changed, 334 insertions(+)

diff --git a/dev-java/openjfx/files/11/0001-c99.patch b/dev-java/openjfx/files/11/0001-c99.patch
new file mode 100644
index 000000000000..f553d2858801
--- /dev/null
+++ b/dev-java/openjfx/files/11/0001-c99.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/919413
+https://src.fedoraproject.org/rpms/openjfx/c/9e893037f3a20273c79603220b7a18a44be60fcc?branch=rawhide
+
+commit 42321838b98d2ebb3d8384c88a764ff2b4d70581
+Author: Florian Weimer <fweimer@openjdk.org>
+Date:   Fri Jun 16 12:19:10 2023 +0000
+
+    8307542: Call to FcConfigAppFontAddFile uses wrong prototype, arguments
+    
+    Reviewed-by: kcr
+
+--- a/modules/javafx.graphics/src/main/native-font/pango.c
++++ b/modules/javafx.graphics/src/main/native-font/pango.c
+@@ -243,7 +243,7 @@ JNIEXPORT jboolean JNICALL OS_NATIVE(FcConfigAppFontAddFile)
+         if (text) {
+ //            rc = (jboolean)FcConfigAppFontAddFile(arg0, text);
+             if (fp) {
+-                rc = (jboolean)((jboolean (*)(void *, const char *))fp)(arg0, text);
++                rc = (jboolean)((int (*)(void *, const char *))fp)((void *)arg0, text);
+             }
+             (*env)->ReleaseStringUTFChars(env, arg1, text);
+         }

diff --git a/dev-java/openjfx/files/11/0002-c99.patch b/dev-java/openjfx/files/11/0002-c99.patch
new file mode 100644
index 000000000000..4cdc5ed35e50
--- /dev/null
+++ b/dev-java/openjfx/files/11/0002-c99.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/919413
+https://src.fedoraproject.org/rpms/openjfx/c/9e893037f3a20273c79603220b7a18a44be60fcc?branch=rawhide
+
+8323078: Incorrect length argument to g_utf8_strlen in pango.c
+
+Submitted upstream: <https://github.com/openjdk/jfx/pull/1320>
+
+--- a/modules/javafx.graphics/src/main/native-font/pango.c
++++ b/modules/javafx.graphics/src/main/native-font/pango.c
+@@ -402,7 +402,7 @@ JNIEXPORT jlong JNICALL OS_NATIVE(g_1utf8_1strlen)
+     (JNIEnv *env, jclass that, jlong str, jlong pos)
+ {
+     if (!str) return 0;
+-    return (jlong)g_utf8_strlen((const gchar *)str, (const gchar *)pos);
++    return (jlong)g_utf8_strlen((const gchar *)str, (gssize)pos);
+ }
+ 
+ JNIEXPORT jlong JNICALL OS_NATIVE(g_1utf16_1to_1utf8)

diff --git a/dev-java/openjfx/files/11/0003-c99.patch b/dev-java/openjfx/files/11/0003-c99.patch
new file mode 100644
index 000000000000..8779f882b799
--- /dev/null
+++ b/dev-java/openjfx/files/11/0003-c99.patch
@@ -0,0 +1,19 @@
+https://bugs.gentoo.org/919413
+https://src.fedoraproject.org/rpms/openjfx/c/9e893037f3a20273c79603220b7a18a44be60fcc?branch=rawhide
+
+8323077: C type error (incompatible function pointer) in X11GLContext.c
+
+Submitted upstream: <https://github.com/openjdk/jfx/pull/1319>
+
+--- a/modules/javafx.graphics/src/main/native-prism-es2/x11/X11GLContext.c
++++ b/modules/javafx.graphics/src/main/native-prism-es2/x11/X11GLContext.c
+@@ -275,7 +275,8 @@ JNIEXPORT jlong JNICALL Java_com_sun_prism_es2_X11GLContext_nInitialize
+                 dlsym(RTLD_DEFAULT, "glXSwapIntervalSGI");
+ 
+         if (ctxInfo->glXSwapIntervalSGI == NULL) {
+-            ctxInfo->glXSwapIntervalSGI = glXGetProcAddress("glXSwapIntervalSGI");
++            ctxInfo->glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)
++                glXGetProcAddress((const GLubyte *)"glXSwapIntervalSGI");
+         }
+ 
+     }

diff --git a/dev-java/openjfx/files/11/respect-cc.patch b/dev-java/openjfx/files/11/respect-cc.patch
new file mode 100644
index 000000000000..85b742f3a630
--- /dev/null
+++ b/dev-java/openjfx/files/11/respect-cc.patch
@@ -0,0 +1,15 @@
+diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle
+index 2295566..ce54c3f 100644
+--- a/buildSrc/linux.gradle
++++ b/buildSrc/linux.gradle
+@@ -214,8 +214,8 @@ setupTools("linux_freetype_tools",
+     }
+ )
+ 
+-def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : "${toolchainDir}gcc";
+-def linker = IS_STATIC_BUILD ? "ar" : IS_COMPILE_PARFAIT ? "parfait-g++" : "${toolchainDir}g++";
++def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : System.getenv("CC");
++def linker = IS_STATIC_BUILD ? "ar" : IS_COMPILE_PARFAIT ? "parfait-g++" : System.getenv("CXX");
+ 
+ LINUX.glass = [:]
+ LINUX.glass.variants = ["glass", "glassgtk2", "glassgtk3"]

diff --git a/dev-java/openjfx/files/11/strip-blank-elements-flags.patch b/dev-java/openjfx/files/11/strip-blank-elements-flags.patch
new file mode 100644
index 000000000000..87f0279979f7
--- /dev/null
+++ b/dev-java/openjfx/files/11/strip-blank-elements-flags.patch
@@ -0,0 +1,29 @@
+Without this, you'll get bizarre errors where linking fails because it looks for
+a literal "" arg.
+
+https://bugs.gentoo.org/715092
+https://bugs.gentoo.org/719484
+https://bugs.gentoo.org/799227
+https://bugs.gentoo.org/915727
+--- a/buildSrc/linux.gradle
++++ b/buildSrc/linux.gradle
+@@ -47,7 +47,8 @@ def commonFlags = [
+         "-Wno-error=cast-function-type",
+         "-Wextra", "-Wall", "-Wformat-security", "-Wno-unused", "-Wno-parentheses", "-Werror=trampolines"] // warning flags
+ 
+-commonFlags.addAll(System.getenv("CFLAGS").trim().split(" "))
++commonFlags.addAll(System.getenv("CFLAGS").strip().split(" "))
++commonFlags.removeAll([""])
+ 
+ if (!IS_64) {
+     commonFlags += "-m32"
+@@ -75,7 +76,8 @@ def staticLinkFlags = [].flatten()
+ 
+ def linkFlags = IS_STATIC_BUILD ? staticLinkFlags : dynamicLinkFlags;
+ 
+-linkFlags.addAll(System.getenv("LDFLAGS").trim().split(" "))
++linkFlags.addAll(System.getenv("LDFLAGS").strip().split(" "))
++linkFlags.removeAll([""])
+ 
+ if (IS_DEBUG_NATIVE) {
+     linkFlags += "-g"

diff --git a/dev-java/openjfx/openjfx-11.0.11_p1-r2.ebuild b/dev-java/openjfx/openjfx-11.0.11_p1-r2.ebuild
new file mode 100644
index 000000000000..4f4331a06705
--- /dev/null
+++ b/dev-java/openjfx/openjfx-11.0.11_p1-r2.ebuild
@@ -0,0 +1,231 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="${PV/_p/+}"
+SLOT="${MY_PV%%[.+]*}"
+EGRADLE_VER="4.10.3"
+
+inherit flag-o-matic java-pkg-2 multiprocessing toolchain-funcs
+
+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://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
+	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
+"
+
+S="${WORKDIR}/rt-${MY_PV}"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="-* ~amd64 ~ppc64"
+IUSE="cpu_flags_x86_sse2 debug doc source +media"
+REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )"
+
+RDEPEND="
+	app-accessibility/at-spi2-core
+	dev-java/swt:4.10[cairo,opengl]
+	dev-libs/glib:2
+	dev-libs/libxml2:2
+	dev-libs/libxslt
+	media-libs/freetype:2
+	media-libs/fontconfig:1.0
+	media-libs/libjpeg-turbo
+	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/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
+"
+
+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
+	"${FILESDIR}"/11/ffmpeg5.patch
+	"${FILESDIR}"/11/respect-cc.patch
+	"${FILESDIR}"/11/strip-blank-elements-flags.patch
+)
+
+egradle() {
+	local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
+	local gradle="${GRADLE_HOME}/bin/gradle"
+	local gradle_args=(
+		--info
+		--stacktrace
+		--no-build-cache
+		--no-daemon
+		--offline
+		--gradle-user-home "${T}/gradle_user_home"
+		--project-cache-dir "${T}/gradle_project_cache"
+		#--debug
+	)
+
+	export GRADLE_HOME
+
+	# FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
+	unset ANT_HOME
+
+	einfo "gradle "${gradle_args[@]}" ${@}"
+	# TERM needed, otherwise gradle may fail on terms it does not know about
+	TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
+}
+
+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 -b 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 -b 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"
+	unpack "gradle-${EGRADLE_VER}-bin.zip"
+
+	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)#" "${S}"/build.gradle || die
+}
+
+src_configure() {
+	append-flags -Wno-error -fcommon
+	# This package is ridiculously brittle and fails when building e.g.
+	# bundled gstreamer with LTO.
+	filter-lto
+	tc-export AR CC CXX
+
+	# FIXME: still calls pkg-config etc by name without chost prefix
+	# FIXME: should we enable webkit? doubt so
+
+	# build is very sensitive to doc presence, take extra steps
+	if use doc; then
+		local jdk_doc
+		if has_version -b 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_ > "${S}"/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
+}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-03-06 15:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-20  2:30 [gentoo-commits] repo/gentoo:master commit in: dev-java/openjfx/files/11/, dev-java/openjfx/ Georgy Yakovlev
  -- strict thread matches above, loose matches on Subject: below --
2024-03-06 15:21 Sam James
2023-09-27  7:11 Ulrich Müller
2021-11-18  4:49 Georgy Yakovlev
2021-11-18  4:42 Georgy Yakovlev
2020-03-17  1:02 Georgy Yakovlev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox