From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1557929-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id B348B158089
	for <garchives@archives.gentoo.org>; Wed, 27 Sep 2023 07:11:32 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id F04D72BC01E;
	Wed, 27 Sep 2023 07:11:31 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id D550E2BC01E
	for <gentoo-commits@lists.gentoo.org>; Wed, 27 Sep 2023 07:11:31 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 05C99335CEC
	for <gentoo-commits@lists.gentoo.org>; Wed, 27 Sep 2023 07:11:31 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id A62FE10A3
	for <gentoo-commits@lists.gentoo.org>; Wed, 27 Sep 2023 07:11:29 +0000 (UTC)
From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Ulrich Müller" <ulm@gentoo.org>
Message-ID: <1695798678.ddbbca3c064b767d9dab6b63a6046537f8ebc01e.ulm@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/openjfx/files/11/, dev-java/openjfx/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-java/openjfx/files/11/ffmpeg5.patch dev-java/openjfx/openjfx-11.0.11_p1-r1.ebuild dev-java/openjfx/openjfx-11.0.9_p0-r1.ebuild
X-VCS-Directories: dev-java/openjfx/ dev-java/openjfx/files/11/
X-VCS-Committer: ulm
X-VCS-Committer-Name: Ulrich Müller
X-VCS-Revision: ddbbca3c064b767d9dab6b63a6046537f8ebc01e
X-VCS-Branch: master
Date: Wed, 27 Sep 2023 07:11:29 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 2670f7f9-08cc-4d22-8fc1-70481f051044
X-Archives-Hash: 2a5cb17f1cbf6b6aac4199b41a0dcf4f

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
+}