diff options
Diffstat (limited to 'dev-java/openjfx')
-rw-r--r-- | dev-java/openjfx/Manifest | 4 | ||||
-rw-r--r-- | dev-java/openjfx/files/11/respect-user-cflags.patch | 2 | ||||
-rw-r--r-- | dev-java/openjfx/openjfx-11.0.7_p1.ebuild | 221 |
3 files changed, 225 insertions, 2 deletions
diff --git a/dev-java/openjfx/Manifest b/dev-java/openjfx/Manifest index 01f8e73d4e55..b1483bf81586 100644 --- a/dev-java/openjfx/Manifest +++ b/dev-java/openjfx/Manifest @@ -1,6 +1,6 @@ AUX 11/disable-buildSrc-tests.patch 534 BLAKE2B d1cb4da89602fa9a48e5509586d1909d10b9d62e167bdd4d57b9615f2896704dd0ee925d14a86753bf53182f85fc9c21f195c3f044a0c6d38c960ee4f5494332 SHA512 ffbc3d671cea448ffddd8d92e4a4031a941008c067d5a7acb358fb82ed217c9388ef1916aa04cf4693ff2a83e0bdcf3fc5bdc919196a6231d57c8341e44ddede AUX 11/glibc-compatibility.patch 547 BLAKE2B e63e83d708765dc7ad5013ff3a5bf0885fa426290e4fa164684739c15e7c15652c41256b98e9720c35682193086ec19c0225dd202fabc9bd9c9f99fb0fd6d5ff SHA512 abb08198b94e38fe8fb16229f506e2cad78869ed9c4fcabe22490a87884b1851373ee4a92ae4d7dbecaf3fc9a784911d932fad2457b0611a102e63a983113981 -AUX 11/respect-user-cflags.patch 8604 BLAKE2B b4455f5580a9b310e013c0d58ba39a3d9ebe15e7ed30e75a954c1f6ba36107f1c1a5b6bbc88e5a0e0d21f21d275214ad66ed012088f8fbbf81a6384127c8edfe SHA512 3547c711515714ffdbfbeaf84e538fe0103bc8b38ebe2fc5493414af6eb95bb3a956a7e3fe28936019de4996a62f705e1e28e8ce7eb3a5dbbda6f93f058a5089 +AUX 11/respect-user-cflags.patch 8609 BLAKE2B 865e8c2b10cc24c7ce45a4d6b039a1e852902f702fee06102273565f22ed870391f5f072c59db51fa48077516a8072b41252fdce961cde20581d8f520eb67afe SHA512 ab77752add6fe7b708d7e7eb94cad722b6016d50bc3ba40505107db0e70e642dfd7d48550cba344ee2e88bf2ea7f55d58140f5eeb7b025c112b87be0ce71e74c AUX 11/use-system-swt-jar.patch 608 BLAKE2B b0083c54f5f42e6c0069812913c800c9366073e34a401187e90c498ee9cb67b619baa87b7d140cda5a1330076c3b04ff3114898cd264cd51ec4b99498acfd894 SHA512 a700c33639603a26d21b89a4f8a9299cdf42cf7f7a0dc082ec9cd4c9c2235184add1685b05d2a62f3a52bd2251b4c133476e5944471092a2c0c269c973d2604f AUX 11/wno-error.patch 1894 BLAKE2B 8b4380c97942cc542164ab1673eb4e5701ae17aab7b6673c3b01518fdce91d2daac1e52dd5d7dad09b619093d0b4a153f0aadf060c32ffab19428ab2f307661c SHA512 0d808836b0f52e911ea6172b3c573cfea84035611ce797da7cf58b5eaa51d8c4ef536eb21d3a0c2139311e3c7ba702f13dc96b9e1d3b6cefaaca88188e409f3b DIST ST4-4.0.8.jar 239543 BLAKE2B 72d257c6d0f1b3bde0afce805128dd38d8520b2073377bbb995fed3b4e18a3ea69d508d6d7554755ec68bf50940082b896ed89998a5178272d24376404b389c5 SHA512 9877289297cd5b15ad464a19467699387f57c510fe8a476e07e9d2334bd11933f9bdb9c6caa4972d4d4c84b56740c6d885cd39300dd7ce35b7c5bde536238086 @@ -14,6 +14,8 @@ DIST lucene-queryparser-7.1.0.jar 384680 BLAKE2B adce2572de9f534323eead31dd30f97 DIST lucene-sandbox-7.1.0.jar 182914 BLAKE2B 70c795f84d8f0908abe47db77f632eeb6571a77e1445b8ab04a75080cea40e3b8171071965ff7fd9f6d39a450dd33144e922d19c1f07c605de54b45e3e881323 SHA512 6faf9fd9c7c082bf062adb6a28d89447e6e27152eb3f0a325081e5f791196e5440334632ccbf9c458940220676f7e73390a174889d9b7a656d088b3dade5d500 DIST openjfx-11.0.6_p2.tar.bz2 63971065 BLAKE2B e68cebef34c39b163bf9de5f7184a363553650921bcf86ea338d6cbb583cc66056c3f5d8ff593b320ee38afd9daf738ffe041de6a90062e35e59274ad0242c9d SHA512 7112a7f4a02f36c131892953d76f6a8d82bdce69b67479091187045d78c090f6b4bc8f21b6df259f154c3d0ae87866566eca50ef2741ed440d62655c36e20f3c DIST openjfx-11.0.7_p0.tar.bz2 63969275 BLAKE2B 50f30cf736ff8713f0be5c4404d6494a96bdaf23082eff8b83ecd704fb417d7e54502f0e0fff9a993d814d9ed9cec98f152487bc96bf929a67b74ec08615f053 SHA512 54b1b010800d3edfc9bb1319860fceab2083d77cbcb45ebe4baefbecf7e0ac2756cb24470cf4c9e7f53d44d7bf345c5f869f9d50748da6bb9d8be8bf1e325ec3 +DIST openjfx-11.0.7_p1.tar.bz2 64302415 BLAKE2B 1a0705b5a668025dd73cc92af35b9e33d698adb1130dace1c079e20f6f6a848517102fe28f7e5e62a141fdfbd6f8086e9a2bb96573a597245d935e5d80918c4c SHA512 ff2b0af1d4b18963bd8ce26c20ab1def268fec8e6030732336edec3aedf58f8bdc25b61b3cd1d70c7d814a3ee96413965f26fba2426c083338c62d8483e93564 EBUILD openjfx-11.0.6_p2.ebuild 6330 BLAKE2B 8317c71dc033af4f8d0933a0d16d736a76d48b0acc5858ee17ac42f85b7ddcaa8baa7a1536a290c2c379d2fc135da5b6592b95885158da19fe1b13785db9d32d SHA512 510d01fad9f3ae9669235d7ddbfbcdebd38b49d31585e4f1d254824b6ba4207344cb37ff6785b5d5c90cd3af1d3bd3e2067ac7aaeacea1ab35579b7982b6e91f EBUILD openjfx-11.0.7_p0.ebuild 6368 BLAKE2B 6126fddfec0ad94b6a1a2df962cbe30e29b2a89981dbe603179a06b75b060b866467a290587773f38e8760a84f9180e01a593d3a58b9f400a23d321124708da8 SHA512 519649070773da5ac3010654e4e79def45e97e2d5dc0e78304fa338ca6dc4b71026d6e5bb99557723b5ea28f54329b330575b60414d0c6ba52bfaf03eca9198a +EBUILD openjfx-11.0.7_p1.ebuild 6368 BLAKE2B 6126fddfec0ad94b6a1a2df962cbe30e29b2a89981dbe603179a06b75b060b866467a290587773f38e8760a84f9180e01a593d3a58b9f400a23d321124708da8 SHA512 519649070773da5ac3010654e4e79def45e97e2d5dc0e78304fa338ca6dc4b71026d6e5bb99557723b5ea28f54329b330575b60414d0c6ba52bfaf03eca9198a MISC metadata.xml 678 BLAKE2B 2b7537a59f3d6cb5b465322c68d374e664291178dad94a527a625243c1abe5846b3d0e066e9a715ccf8d5b12a9a58c46c58d00b13881265973e20a29c4f5b720 SHA512 889ad3984e64acb24e01041d98c1f9273d02256bf89810c8e84607911ba35bcac239fdc8341e839b91d7af999e575d06249d87a64c78a3684f63ad5a3003bd8d diff --git a/dev-java/openjfx/files/11/respect-user-cflags.patch b/dev-java/openjfx/files/11/respect-user-cflags.patch index 2339f905b7fa..6ffb039467c3 100644 --- a/dev-java/openjfx/files/11/respect-user-cflags.patch +++ b/dev-java/openjfx/files/11/respect-user-cflags.patch @@ -202,7 +202,7 @@ index ecbd859f..5881cf53 100644 $(PACKAGES_INCLUDES) - LDFLAGS = -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \ -+ 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 \ diff --git a/dev-java/openjfx/openjfx-11.0.7_p1.ebuild b/dev-java/openjfx/openjfx-11.0.7_p1.ebuild new file mode 100644 index 000000000000..957104f45e10 --- /dev/null +++ b/dev-java/openjfx/openjfx-11.0.7_p1.ebuild @@ -0,0 +1,221 @@ +# 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 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" + +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.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="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 +) + +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() { + append-flags -Wno-error + + #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 +} |