diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /dev-java/openjfx | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'dev-java/openjfx')
37 files changed, 2028 insertions, 0 deletions
diff --git a/dev-java/openjfx/Manifest b/dev-java/openjfx/Manifest new file mode 100644 index 000000000000..63028b364713 --- /dev/null +++ b/dev-java/openjfx/Manifest @@ -0,0 +1,12 @@ +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 gunit-3.5.2.jar 287425 BLAKE2B 86e759c5bb164758b689d93bef4b6a0bcb39eb9fee28d2a8dc113a4c97e5e8516b55ada87c27738ffa0fc512805caa338d8649f6f5c9ba36490c4c3ebed86fdd SHA512 c9f14dacec2f22f62b7d3849d1c0e9d626b3dc20eb74a85b32f1901f6279b7b84af095107128bcbe80c49ac05448a713309b60d0c3d2f88e0bca8a14690292b2 +DIST lucene-core-7.1.0.jar 2779248 BLAKE2B 9edea1cfdeca2f2ec9e5c014e575774dc32fa5cf12ba02fd419fc252da10c03cd9f6cda989203211de4bc2ffcd2e79e8b97914e9792951bb0877a203760f07ad SHA512 0cd96016de2bc7ad94779e30348c443cf6028119fdae42c6f29e33d84495876a7519640f20680762324ea40c42e21b595f79cd606a6142b9875501f1e9179678 +DIST lucene-grouping-7.1.0.jar 87200 BLAKE2B 93f4ca6938b3fbc74752e22ee9d53022a60c57489017985448ddff46bc8c527b72e615e5f28d0301c28dc8119f0e6c75f4e8a711df3e6aaa418190b8ac8d1857 SHA512 41a85eafde03718efba7cf22598a430efbc6a6a68cf68058988f9eff648d19faa6cc4cf68293fe6e39783a7636eae571f27e04006f4607250dd9f6642184c61d +DIST lucene-queries-7.1.0.jar 243126 BLAKE2B 166c3efea04c19314be7fd8c1d6b1378b2b967243289d9bded5e9768cb441a35fabbe63641d00b72a8c14aace0bad402df49c21b853f620bf81bc1e829dcecdb SHA512 34df5eccf0577ed037ef347adc9c2552c49d57e35dbff629fdbb860926765be48f8b06fd693bdacfc2edcd9c6ad711c13fe98e5317cb1d1f2157dcab938e34ea +DIST lucene-queryparser-7.1.0.jar 384680 BLAKE2B adce2572de9f534323eead31dd30f97b853b2d5e4be6828c415f0c647460c361e00680d856ff9ffbba0fe45c3e4a425d68938a3d2dc01c76491bb65673e120fa SHA512 7151ef899e318679995138262c3450577ae33580708864581dc22a027f43ca4989825d434680925547e3c04ad4453a454e7045f605d7eee0da57d63db978ed68 +DIST lucene-sandbox-7.1.0.jar 182914 BLAKE2B 70c795f84d8f0908abe47db77f632eeb6571a77e1445b8ab04a75080cea40e3b8171071965ff7fd9f6d39a450dd33144e922d19c1f07c605de54b45e3e881323 SHA512 6faf9fd9c7c082bf062adb6a28d89447e6e27152eb3f0a325081e5f791196e5440334632ccbf9c458940220676f7e73390a174889d9b7a656d088b3dade5d500 +DIST openjfx-11.0.11_p1.tar.bz2 65017753 BLAKE2B ea5834e469bb0bd3a70595a91cc298f6091bc45de4c471ee9d0bcd45700ab3966a3396781ace2666bf94decd1219a83f01b277116cf23baeb6dd34a1a0f44191 SHA512 a1f94b3166aca50344f8af77ec2a5f52be1b0abc1c65fd3ff97f98017377ab772262502af00ad8cd4a6c44281ea459aff43a9cb7e30a1c35b822da8fb39b94fb +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/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/11.0.9_p0-version.patch b/dev-java/openjfx/files/11/11.0.9_p0-version.patch new file mode 100644 index 000000000000..558423e3ab6d --- /dev/null +++ b/dev-java/openjfx/files/11/11.0.9_p0-version.patch @@ -0,0 +1,21 @@ + +# HG changeset patch +# User jvos +# Date 1597927682 -7200 +# Node ID c0fe72db97a8924c906e4237881aa3c1d5669d19 +# Parent 38425dc30b9a25d52fbb0548ea1b0d098888aaed +8252067: Change JavaFX release version in 11-dev to 11.0.9 +Reviewed-by: kcr + +--- a/build.properties ++++ b/build.properties +@@ -41,7 +41,7 @@ + # UPDATE THE FOLLOWING VALUES FOR A NEW RELEASE + jfx.release.major.version=11 + jfx.release.minor.version=0 +-jfx.release.security.version=8 ++jfx.release.security.version=9 + jfx.release.patch.version=0 + + # Note: The release version is now calculated in build.gradle as the + diff --git a/dev-java/openjfx/files/11/disable-architecture-verification.patch b/dev-java/openjfx/files/11/disable-architecture-verification.patch new file mode 100644 index 000000000000..3cddae50595c --- /dev/null +++ b/dev-java/openjfx/files/11/disable-architecture-verification.patch @@ -0,0 +1,27 @@ +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 + +--- a/build.gradle ++++ b/build.gradle +@@ -302,6 +302,7 @@ ext.MAVEN_GROUP_ID = "org.openjfx" + // at present building on PI is not supported, but we would only need to make + // some changes on assumptions on what should be built (like SWT / Swing) and + // such and we could probably make it work. ++/* + if (!IS_MAC && !IS_WINDOWS && !IS_LINUX) fail("Unsupported build OS ${OS_NAME}") + if (IS_WINDOWS && OS_ARCH != "x86" && OS_ARCH != "amd64") { + fail("Unknown and unsupported build architecture: $OS_ARCH") +@@ -310,7 +311,7 @@ if (IS_WINDOWS && OS_ARCH != "x86" && OS_ARCH != "amd64") { + } else if (IS_LINUX && OS_ARCH != "i386" && OS_ARCH != "amd64") { + fail("Unknown and unsupported build architecture: $OS_ARCH") + } +- ++*/ + + // Get the JDK_HOME automatically based on the version of Java used to execute gradle. Or, if specified, + // use a user supplied JDK_HOME, STUB_RUNTIME, JAVAC, all of which may be specified +-- +2.28.0 + diff --git a/dev-java/openjfx/files/11/disable-buildSrc-tests.patch b/dev-java/openjfx/files/11/disable-buildSrc-tests.patch new file mode 100644 index 000000000000..39e247107992 --- /dev/null +++ b/dev-java/openjfx/files/11/disable-buildSrc-tests.patch @@ -0,0 +1,13 @@ +Description: Disables the buildSrc tests to work around a Gradle bug (UnsupportedOperationException: Cannot nest operations in the same thread) +Author: Emmanuel Bourg <ebourg@apache.org> +Forwarded: not-needed +--- a/buildSrc/build.gradle ++++ b/buildSrc/build.gradle +@@ -81,6 +81,7 @@ + // Java 7 but when we switch to 8 this will be needed, and probably again when + // we start building with Java 9. + test { ++ enabled = false; + enableAssertions = true; + testLogging.exceptionFormat = "full"; + scanForTestClasses = false; diff --git a/dev-java/openjfx/files/11/don-t-force-msse-11.0.11.patch b/dev-java/openjfx/files/11/don-t-force-msse-11.0.11.patch new file mode 100644 index 000000000000..be635a2d6367 --- /dev/null +++ b/dev-java/openjfx/files/11/don-t-force-msse-11.0.11.patch @@ -0,0 +1,71 @@ +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 + +--- 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 \ +--- 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 \ +--- 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 +--- 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 +--- 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) +--- a/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile ++++ b/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile +@@ -30,8 +30,7 @@ CFLAGS += -pipe \ + -fPIC \ + -Werror=implicit-function-declaration \ + -DTARGET_OS_MAC=1 \ +- -D_GNU_SOURCE \ +- -msse2 ++ -D_GNU_SOURCE + + ifeq ($(BUILD_TYPE), Release) + CFLAGS += -Os diff --git a/dev-java/openjfx/files/11/don-t-force-msse.patch b/dev-java/openjfx/files/11/don-t-force-msse.patch new file mode 100644 index 000000000000..b3f1e4fee774 --- /dev/null +++ b/dev-java/openjfx/files/11/don-t-force-msse.patch @@ -0,0 +1,74 @@ +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 + +--- 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 \ +--- 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 \ +--- 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 +--- 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 +--- 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) +--- a/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile ++++ b/modules/javafx.media/src/main/native/jfxmedia/projects/mac/Makefile +@@ -30,8 +30,7 @@ CFLAGS += -pipe \ + -fPIC \ + -Werror=implicit-function-declaration \ + -DTARGET_OS_MAC=1 \ +- -D_GNU_SOURCE \ +- -msse2 ++ -D_GNU_SOURCE + + ifeq ($(BUILD_TYPE), Release) + CFLAGS += -Os +-- +2.28.0 + diff --git a/dev-java/openjfx/files/11/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/files/11/glibc-compatibility.patch b/dev-java/openjfx/files/11/glibc-compatibility.patch new file mode 100644 index 000000000000..e7e9b173bb4d --- /dev/null +++ b/dev-java/openjfx/files/11/glibc-compatibility.patch @@ -0,0 +1,15 @@ +Description: Fixes the compatibility with the version of glibc in Debian +Author: Emmanuel Bourg <ebourg@apache.org> +Forwarded: https://bugs.openjdk.java.net/browse/JDK-8211399 +--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/xsltlocale.h ++++ b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/xsltlocale.h +@@ -25,9 +25,6 @@ + #ifdef HAVE_LOCALE_H + #include <locale.h> + #endif +-#ifdef HAVE_XLOCALE_H +-#include <xlocale.h> +-#endif + + typedef locale_t xsltLocale; + typedef xmlChar xsltLocaleChar; diff --git a/dev-java/openjfx/files/11/gstreamer-CVE-2021-3522.patch b/dev-java/openjfx/files/11/gstreamer-CVE-2021-3522.patch new file mode 100644 index 000000000000..ffcc0cb10f20 --- /dev/null +++ b/dev-java/openjfx/files/11/gstreamer-CVE-2021-3522.patch @@ -0,0 +1,25 @@ +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> +--- a/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/gst-libs/gst/tag/id3v2frames.c ++++ b/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/gst-libs/gst/tag/id3v2frames.c +@@ -109,7 +109,7 @@ id3v2_parse_frame (ID3TagsWorking * work) + + if (work->frame_flags & (ID3V2_FRAME_FORMAT_COMPRESSION | + ID3V2_FRAME_FORMAT_DATA_LENGTH_INDICATOR)) { +- if (work->hdr.frame_data_size <= 4) ++ if (frame_data_size <= 4) + return FALSE; + if (ID3V2_VER_MAJOR (work->hdr.version) == 3) { + work->parse_size = GST_READ_UINT32_BE (frame_data); +-- +GitLab + diff --git a/dev-java/openjfx/files/11/missing-casts.patch b/dev-java/openjfx/files/11/missing-casts.patch new file mode 100644 index 000000000000..82e3f3b4f78b --- /dev/null +++ b/dev-java/openjfx/files/11/missing-casts.patch @@ -0,0 +1,31 @@ +--- 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)((jboolean (*)(void *, const char *))fp)((void *)(intptr_t)arg0, text); + } + (*env)->ReleaseStringUTFChars(env, arg1, text); + } +@@ -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)(const gchar *)pos); + } + + JNIEXPORT jlong JNICALL OS_NATIVE(g_1utf16_1to_1utf8) +--- 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,7 @@ 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("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..a1b9bf106e24 --- /dev/null +++ b/dev-java/openjfx/files/11/respect-cc.patch @@ -0,0 +1,13 @@ +--- 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/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..4564a0502cd3 --- /dev/null +++ b/dev-java/openjfx/files/11/respect-user-cflags-11.0.11.patch @@ -0,0 +1,209 @@ +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 + +--- 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 = [:] +--- 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 +--- 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 +--- 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 +--- a/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile ++++ b/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile +@@ -17,7 +17,7 @@ DIRLIST = jni \ + + TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so + +-CFLAGS = -DTARGET_OS_LINUX=1 \ ++CFLAGS := -DTARGET_OS_LINUX=1 \ + -D_GNU_SOURCE \ + -DGST_REMOVE_DEPRECATED \ + -DGST_DISABLE_GST_DEBUG \ +@@ -26,7 +26,8 @@ CFLAGS = -DTARGET_OS_LINUX=1 \ + -DHAVE_CONFIG_H \ + -DJFXMEDIA_JNI_EXPORTS \ + -DLINUX \ +- -ffunction-sections -fdata-sections ++ -ffunction-sections -fdata-sections \ ++ ${CFLAGS} + + CPPFLAGS = -fno-rtti -ffunction-sections -fdata-sections + +@@ -56,21 +57,16 @@ ifdef HOST_COMPILE + -I$(GSTREAMER_LITE_DIR)/gstreamer/libs \ + $(PACKAGES_INCLUDES) + +- LDFLAGS = -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \ ++ LDFLAGS := -Wl,-rpath-link,\$$ORIGIN -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \ + -z relro \ +- -static-libgcc -static-libstdc++ -Wl,--gc-sections ++ -static-libgcc -static-libstdc++ -Wl,--gc-sections \ ++ ${LDFLAGS} + else + CFLAGS += $(EXTRA_CFLAGS) + INCLUDES = $(BASE_INCLUDES) + LDFLAGS = -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) $(EXTRA_LDFLAGS) + endif + +-ifeq ($(BUILD_TYPE), Release) +- CFLAGS += -Os +-else +- CFLAGS += -g -Wall -D_DEBUG +-endif +- + ifeq ($(ARCH), x32) + CFLAGS += -m32 + LDFLAGS += -m32 +-- +2.21.0 + diff --git a/dev-java/openjfx/files/11/respect-user-cflags.patch b/dev-java/openjfx/files/11/respect-user-cflags.patch new file mode 100644 index 000000000000..d1483a2a1303 --- /dev/null +++ b/dev-java/openjfx/files/11/respect-user-cflags.patch @@ -0,0 +1,209 @@ +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 + +--- a/buildSrc/linux.gradle ++++ b/buildSrc/linux.gradle +@@ -44,8 +44,11 @@ LINUX.library = { name -> return "lib${name}.so" as String } + def commonFlags = [ + "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags + "-fstack-protector", ++ "-Wno-error=cast-function-type", + "-Wextra", "-Wall", "-Wformat-security", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags + ++commonFlags.addAll(System.getenv("CFLAGS").trim().split(" ")) ++ + if (!IS_64) { + commonFlags += "-m32" + } +@@ -61,6 +64,8 @@ def linkFlags = ["-static-libgcc", "-static-libstdc++", "-shared", commonFlags, + "-z", "relro", + "-Wl,--gc-sections"].flatten() + ++linkFlags.addAll(System.getenv("LDFLAGS").trim().split(" ")) ++ + if (IS_DEBUG_NATIVE) { + linkFlags += "-g" + } +@@ -294,7 +299,7 @@ LINUX.iio.nativeSource = [ + LINUX.iio.compiler = compiler + LINUX.iio.ccFlags = [ccFlags].flatten() + LINUX.iio.linker = linker +-LINUX.iio.linkFlags = [linkFlags].flatten() ++LINUX.iio.linkFlags = [linkFlags, "-ljpeg"].flatten() + LINUX.iio.lib = "javafx_iio" + + LINUX.prismES2 = [:] +--- 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 +--- 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 +--- 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 +--- 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/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/files/11/use-system-swt-jar.patch b/dev-java/openjfx/files/11/use-system-swt-jar.patch new file mode 100644 index 000000000000..39e2980f0147 --- /dev/null +++ b/dev-java/openjfx/files/11/use-system-swt-jar.patch @@ -0,0 +1,19 @@ +From c7a04feac8281cd3e53c8d0215a229bb6cd4fce8 Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gentoo.org> +Date: Sat, 1 Jun 2019 00:36:04 -0700 +Subject: [PATCH] use system swt jar + +--- a/build.gradle ++++ b/build.gradle +@@ -2477,7 +2477,7 @@ project(":swt") { + commonModuleSetup(project, [ 'base', 'graphics' ]) + + dependencies { +- compile name: SWT_FILE_NAME ++ compile files("__gentoo_swt_jar__") + } + + classes { +-- +2.21.0 + diff --git a/dev-java/openjfx/files/11/wno-error-11.0.11.patch b/dev-java/openjfx/files/11/wno-error-11.0.11.patch new file mode 100644 index 000000000000..184f8775a5f6 --- /dev/null +++ b/dev-java/openjfx/files/11/wno-error-11.0.11.patch @@ -0,0 +1,37 @@ +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 + +--- a/buildSrc/linux.gradle ++++ b/buildSrc/linux.gradle +@@ -231,7 +231,7 @@ FileTree ft_gtk = fileTree("${project(":graphics").projectDir}/src/main/native-g + LINUX.glass.glass = [:] + LINUX.glass.glass.nativeSource = ft_gtk_launcher.getFiles() + LINUX.glass.glass.compiler = compiler +-LINUX.glass.glass.ccFlags = [cppFlags, "-Werror"].flatten() ++LINUX.glass.glass.ccFlags = [cppFlags].flatten() + LINUX.glass.glass.linker = linker + LINUX.glass.glass.linkFlags = IS_STATIC_BUILD? linkFlags : [linkFlags, "-lX11", "-ldl"].flatten() + LINUX.glass.glass.lib = "glass" +@@ -241,7 +241,7 @@ LINUX.glass.glassgtk2.nativeSource = ft_gtk.getFiles() + LINUX.glass.glassgtk2.compiler = compiler + LINUX.glass.glassgtk2.ccFlags = IS_STATIC_BUILD ? + ["-fno-threadsafe-statics", cppFlags, gtk2CCFlags].flatten() : +- [cppFlags, gtk2CCFlags, "-Werror"].flatten() ++ [cppFlags, gtk2CCFlags].flatten() + LINUX.glass.glassgtk2.linker = linker + LINUX.glass.glassgtk2.linkFlags = IS_STATIC_BUILD ? linkFlags : [linkFlags, gtk2LinkFlags].flatten() + LINUX.glass.glassgtk2.lib = "glassgtk2" +@@ -251,7 +251,7 @@ LINUX.glass.glassgtk3.nativeSource = ft_gtk.getFiles() + LINUX.glass.glassgtk3.compiler = compiler + LINUX.glass.glassgtk3.ccFlags = IS_STATIC_BUILD ? + ["-fno-threadsafe-statics", cppFlags, gtk3CCFlags].flatten() : +- [cppFlags, gtk3CCFlags, "-Werror"].flatten() ++ [cppFlags, gtk3CCFlags].flatten() + LINUX.glass.glassgtk3.linker = linker + LINUX.glass.glassgtk3.linkFlags = IS_STATIC_BUILD ? linkFlags : [linkFlags, gtk3LinkFlags].flatten() + LINUX.glass.glassgtk3.lib = "glassgtk3" +-- +2.34.0 + diff --git a/dev-java/openjfx/files/11/wno-error.patch b/dev-java/openjfx/files/11/wno-error.patch new file mode 100644 index 000000000000..4c8dd6e8f247 --- /dev/null +++ b/dev-java/openjfx/files/11/wno-error.patch @@ -0,0 +1,37 @@ +From 737acaff3658663de61813ba877379841e76631e Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gentoo.org> +Date: Thu, 19 Mar 2020 09:50:22 -0700 +Subject: [PATCH] remove werror + +--- a/buildSrc/linux.gradle ++++ b/buildSrc/linux.gradle +@@ -223,7 +223,7 @@ FileTree ft_gtk = fileTree("${project(":graphics").projectDir}/src/main/native-g + LINUX.glass.glass = [:] + LINUX.glass.glass.nativeSource = ft_gtk_launcher.getFiles() + LINUX.glass.glass.compiler = compiler +-LINUX.glass.glass.ccFlags = [ccFlags, gtk2CCFlags, "-Werror"].flatten() ++LINUX.glass.glass.ccFlags = [ccFlags, gtk2CCFlags].flatten() + LINUX.glass.glass.linker = linker + LINUX.glass.glass.linkFlags = [linkFlags, "-lX11", "-ldl" ].flatten() + LINUX.glass.glass.lib = "glass" +@@ -231,7 +231,7 @@ LINUX.glass.glass.lib = "glass" + LINUX.glass.glassgtk2 = [:] + LINUX.glass.glassgtk2.nativeSource = ft_gtk.getFiles() + LINUX.glass.glassgtk2.compiler = compiler +-LINUX.glass.glassgtk2.ccFlags = [ccFlags, gtk2CCFlags, "-Werror"].flatten() ++LINUX.glass.glassgtk2.ccFlags = [ccFlags, gtk2CCFlags].flatten() + LINUX.glass.glassgtk2.linker = linker + LINUX.glass.glassgtk2.linkFlags = [linkFlags, gtk2LinkFlags ].flatten() + LINUX.glass.glassgtk2.lib = "glassgtk2" +@@ -239,7 +239,7 @@ LINUX.glass.glassgtk2.lib = "glassgtk2" + LINUX.glass.glassgtk3 = [:] + LINUX.glass.glassgtk3.nativeSource = ft_gtk.getFiles() + LINUX.glass.glassgtk3.compiler = compiler +-LINUX.glass.glassgtk3.ccFlags = [ccFlags, gtk3CCFlags, "-Werror"].flatten() ++LINUX.glass.glassgtk3.ccFlags = [ccFlags, gtk3CCFlags].flatten() + LINUX.glass.glassgtk3.linker = linker + LINUX.glass.glassgtk3.linkFlags = [linkFlags, gtk3LinkFlags ].flatten() + LINUX.glass.glassgtk3.lib = "glassgtk3" +-- +2.24.1 + diff --git a/dev-java/openjfx/files/8/0000-Fix-wait-call-in-PosixPlatform.patch b/dev-java/openjfx/files/8/0000-Fix-wait-call-in-PosixPlatform.patch new file mode 100644 index 000000000000..4a482240dc6b --- /dev/null +++ b/dev-java/openjfx/files/8/0000-Fix-wait-call-in-PosixPlatform.patch @@ -0,0 +1,14 @@ +--- rt-8u202-b02/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp ++++ rt-8u202-b02-patched/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp +@@ -232,10 +232,7 @@ + pid_t wpid = 0; + + //TODO Use waitpid instead of wait +-#ifdef LINUX +- wait(&status); +-#endif +-#ifdef MAC ++#if defined(LINUX) || defined(MAC) + wpid = wait(&status); + #endif + diff --git a/dev-java/openjfx/files/8/0001-Change-Lucene.patch b/dev-java/openjfx/files/8/0001-Change-Lucene.patch new file mode 100644 index 000000000000..58d0c805ccb5 --- /dev/null +++ b/dev-java/openjfx/files/8/0001-Change-Lucene.patch @@ -0,0 +1,79 @@ +--- rt-8u202-b02/build.gradle ++++ rt-8u202-b02-patched/build.gradle +@@ -3268,38 +3268,38 @@ + // The apps build is Ant based, and gradle lets us "import" ant build.xml + // into our configuration. + +- ant.importBuild 'build.xml' ++ //ant.importBuild 'build.xml' + + // Download the Lucene libraries needed for the Ensemble8 app +- def luceneVersion = "7.4.0" +- getConfigurations().create("lucene"); +- dependencies { +- lucene group: "org.apache.lucene", name: "lucene-core", version: luceneVersion +- lucene group: "org.apache.lucene", name: "lucene-grouping", version: luceneVersion +- lucene group: "org.apache.lucene", name: "lucene-queryparser", version: luceneVersion +- } ++ //def luceneVersion = "7.4.0" ++ //getConfigurations().create("lucene"); ++ //dependencies { ++ // lucene group: "org.apache.lucene", name: "lucene-core", version: luceneVersion ++ // lucene group: "org.apache.lucene", name: "lucene-grouping", version: luceneVersion ++ // lucene group: "org.apache.lucene", name: "lucene-queryparser", version: luceneVersion ++ //} + + // Copy Lucene libraries into the Ensemble8/lib directory +- File ensembleLibDir = rootProject.file("apps/samples/Ensemble8/lib"); +- def libNames = [ "lucene-core-${luceneVersion}.jar", +- "lucene-grouping-${luceneVersion}.jar", +- "lucene-queryparser-${luceneVersion}.jar" ] +- +- +- task getLucene(type: Copy) { +- doFirst { +- ensembleLibDir.mkdirs(); +- } +- into ensembleLibDir +- includeEmptyDirs = false +- configurations.lucene.files.each { f -> +- libNames.each { name -> +- if (name == f.getName()) { +- from f.getPath() +- } +- } +- } +- } ++ //File ensembleLibDir = rootProject.file("apps/samples/Ensemble8/lib"); ++ //def libNames = [ "lucene-core-${luceneVersion}.jar", ++ // "lucene-grouping-${luceneVersion}.jar", ++ // "lucene-queryparser-${luceneVersion}.jar" ] ++ ++ ++ //task getLucene(type: Copy) { ++ // doFirst { ++ // ensembleLibDir.mkdirs(); ++ // } ++ // into ensembleLibDir ++ // includeEmptyDirs = false ++ // configurations.lucene.files.each { f -> ++ // libNames.each { name -> ++ // if (name == f.getName()) { ++ // from f.getPath() ++ // } ++ // } ++ // } ++ //} + + compileTargets { t -> + // The apps build is Ant based, and gradle lets us "import" ant apps/build.xml +@@ -3310,7 +3310,7 @@ + def jfxrtJar = "${rootProject.buildDir}/${sdkDirName}/rt/lib/ext/jfxrt.jar" + + def appsJar = project.task("appsJar${t.capital}") { +- dependsOn(sdk, getLucene) ++ dependsOn(sdk) + doLast() { + ant.properties['targetBld'] = "$t.name" + if (!rootProject.ext[t.upper].compileSwing) { + diff --git a/dev-java/openjfx/files/8/0003-fix-cast-between-incompatible-function-types.patch b/dev-java/openjfx/files/8/0003-fix-cast-between-incompatible-function-types.patch new file mode 100644 index 000000000000..7095841498a1 --- /dev/null +++ b/dev-java/openjfx/files/8/0003-fix-cast-between-incompatible-function-types.patch @@ -0,0 +1,68 @@ +From 36b952bdcdc301a600009308bff90440b6ceab5b Mon Sep 17 00:00:00 2001 +From: Mat Booth <mat.booth@redhat.com> +Date: Thu, 21 Jun 2018 15:57:01 +0100 +Subject: [PATCH 4/4] fix cast between incompatible function types + +--- a/modules/graphics/src/main/native-glass/gtk/glass_dnd.cpp ++++ b/modules/graphics/src/main/native-glass/gtk/glass_dnd.cpp +@@ -556,7 +556,7 @@ static GdkDragContext *get_drag_context() { + return ctx; + } + +-static gboolean dnd_finish_callback() { ++static gboolean dnd_finish_callback(gpointer data) { + if (dnd_window) { + dnd_set_performed_action( + translate_gdk_action_to_glass( +@@ -1079,6 +1079,10 @@ gboolean DragView::get_drag_image_offset(int* x, int* y) { + return offset_set; + } + ++static void on_pixbuf_destroy_notify(guchar *pixels, gpointer data) { ++ g_free(pixels); ++} ++ + GdkPixbuf* DragView::get_drag_image(gboolean* is_raw_image, gint* width, gint* height) { + GdkPixbuf *pixbuf = NULL; + gboolean is_raw = FALSE; +@@ -1106,7 +1110,7 @@ GdkPixbuf* DragView::get_drag_image(gboolean* is_raw_image, gint* width, gint* h + if (data) { + memcpy(data, (raw + whsz), nraw - whsz); + pixbuf = gdk_pixbuf_new_from_data(data, GDK_COLORSPACE_RGB, TRUE, 8, +- w, h, w * 4, (GdkPixbufDestroyNotify) g_free, NULL); ++ w, h, w * 4, (GdkPixbufDestroyNotify) on_pixbuf_destroy_notify, NULL); + } + } + } +--- a/modules/graphics/src/main/native-glass/gtk/glass_window_ime.cpp ++++ b/modules/graphics/src/main/native-glass/gtk/glass_window_ime.cpp +@@ -122,15 +122,12 @@ bool WindowContextBase::filterIME(GdkEvent * event) { + } + } + +-//Note: this function must return int, despite the fact it doesn't conform to XIMProc type. +-// This is required in documentation of XIM +-static int im_preedit_start(XIM im_xim, XPointer client, XPointer call) { ++static void im_preedit_start(XIM im_xim, XPointer client, XPointer call) { + (void)im_xim; + (void)call; + + mainEnv->CallVoidMethod((jobject) client, jViewNotifyPreeditMode, JNI_TRUE); +- CHECK_JNI_EXCEPTION_RET(mainEnv, -1); +- return -1; // No restrictions ++ CHECK_JNI_EXCEPTION(mainEnv); + } + + static void im_preedit_done(XIM im_xim, XPointer client, XPointer call) { +@@ -234,7 +231,7 @@ void WindowContextBase::enableOrResetIME() { + return; + } + +- XIMCallback startCallback = {(XPointer) jview, (XIMProc) im_preedit_start}; ++ XIMCallback startCallback = {(XPointer) jview, im_preedit_start}; + XIMCallback doneCallback = {(XPointer) jview, im_preedit_done}; + XIMCallback drawCallback = {(XPointer) jview, im_preedit_draw}; + XIMCallback caretCallback = {(XPointer) jview, im_preedit_caret}; +-- +2.17.1 + diff --git a/dev-java/openjfx/files/8/0004-Fix-Compilation-Flags.patch b/dev-java/openjfx/files/8/0004-Fix-Compilation-Flags.patch new file mode 100644 index 000000000000..17c91ab9ab88 --- /dev/null +++ b/dev-java/openjfx/files/8/0004-Fix-Compilation-Flags.patch @@ -0,0 +1,23 @@ +--- rt-8u202-b07/buildSrc/linux.gradle ++++ rt-8u202-b07-patched/buildSrc/linux.gradle +@@ -54,7 +54,7 @@ + def ccFlags = [ + commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/linux", "-c", + "-ffunction-sections", "-fdata-sections", +- IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten() ++ IS_DEBUG_NATIVE ? ["-ggdb", "-DNDEBUG"] : ["-O2", "-DNDEBUG"]].flatten() + def ccFlagsGTK3 = ccFlags + //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"]) + def linkFlags = ["-static-libgcc", "-static-libstdc++", "-shared", commonFlags, + +--- rt-8u202-b07/buildSrc/x86egl.gradle ++++ rt-8u202-b07-patched/buildSrc/x86egl.gradle +@@ -99,7 +99,7 @@ + def ccFlags = [ + commonFlags, + "-I$JDK_HOME/include", "-I$JDK_HOME/include/${jniPlatform}", "-c", +- IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten() ++ IS_DEBUG_NATIVE ? ["-ggdb", "-DNDEBUG"] : ["-O2", "-DNDEBUG"]].flatten() + //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"]) + def linkFlags = ["-shared", commonFlags].flatten() + diff --git a/dev-java/openjfx/files/8/0005-don-t-include-xlocale.h.patch b/dev-java/openjfx/files/8/0005-don-t-include-xlocale.h.patch new file mode 100644 index 000000000000..cabb36eefe54 --- /dev/null +++ b/dev-java/openjfx/files/8/0005-don-t-include-xlocale.h.patch @@ -0,0 +1,19 @@ +From 597f200762be416d5a62f1efd351cba6e47c1c4c Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gentoo.org> +Date: Thu, 30 May 2019 12:07:30 -0700 +Subject: [PATCH] don't include xlocale.h + +--- a/modules/media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c ++++ b/modules/media/src/main/native/gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c +@@ -39,7 +39,7 @@ + + #ifdef HAVE_XLOCALE_H + /* Needed on BSD/OS X for e.g. strtod_l */ +-#include <xlocale.h> ++#include <locale.h> + #endif + + #ifdef G_OS_WIN32 +-- +2.21.0 + diff --git a/dev-java/openjfx/files/8/06-disable-architecture-verification.patch b/dev-java/openjfx/files/8/06-disable-architecture-verification.patch new file mode 100644 index 000000000000..d10e62850c31 --- /dev/null +++ b/dev-java/openjfx/files/8/06-disable-architecture-verification.patch @@ -0,0 +1,21 @@ +Description: Disable the architecture verification which is limited to i386 and amd64 +Author: Emmanuel Bourg <ebourg@apache.org> +Forwarded: no +--- a/build.gradle ++++ b/build.gradle +@@ -699,6 +699,7 @@ + // 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) logger.error("Unsupported build OS ${OS_NAME}") + if (IS_WINDOWS && OS_ARCH != "x86" && OS_ARCH != "amd64") { + throw new Exception("Unknown and unsupported build architecture: $OS_ARCH") +@@ -707,6 +708,7 @@ + } else if (IS_LINUX && OS_ARCH != "i386" && OS_ARCH != "amd64") { + throw new Exception("Unknown and unsupported build architecture: $OS_ARCH") + } ++*/ + + // Sanity check that we actually have a list of compile targets to execute + if (COMPILE_TARGETS == null || COMPILE_TARGETS == "") { diff --git a/dev-java/openjfx/files/8/10-javadoc-locale.patch b/dev-java/openjfx/files/8/10-javadoc-locale.patch new file mode 100644 index 000000000000..39d346a4fb73 --- /dev/null +++ b/dev-java/openjfx/files/8/10-javadoc-locale.patch @@ -0,0 +1,21 @@ +Description: Set the locale of the javadoc to make the build reproducible +Author: Emmanuel Bourg <ebourg@apache.org> +Forwarded: no +--- a/build.gradle ++++ b/build.gradle +@@ -1218,6 +1218,7 @@ + } else { + options.links(JDK_DOCS); + } ++ options.locale("en"); + options.addBooleanOption("XDignore.symbol.file").setValue(true); + options.addBooleanOption("Xdoclint:none").setValue(!IS_DOC_LINT); + options.addBooleanOption("javafx").setValue(true); +@@ -2769,6 +2770,7 @@ + options.windowTitle("${javadocTitle}") + options.header("${javadocHeader}") + options.bottom("${javadocBottom}") ++ options.locale("en"); + if (BUILD_CLOSED) { + options.linksOffline(JDK_DOCS, JDK_DOCS_CLOSED); + } else { diff --git a/dev-java/openjfx/files/8/99-sysdeps.patch b/dev-java/openjfx/files/8/99-sysdeps.patch new file mode 100644 index 000000000000..abcdbab67ef3 --- /dev/null +++ b/dev-java/openjfx/files/8/99-sysdeps.patch @@ -0,0 +1,26 @@ +--- a/build.gradle ++++ b/build.gradle +@@ -1309,6 +1309,7 @@ project(":graphics") { + antlr3 group: "org.antlr", name: "antlr", version: "3.1.3" + antlr3 group: "org.antlr", name: "antlr-runtime", version: "3.1.3" + antlr3 group: "org.antlr", name: "stringtemplate", version: "3.2" ++ antlr3 group: "antlr", name: "antlr", version: "2.7.7" + } + + // Create a single "native" task which will depend on all the individual native tasks for graphics +--- a/buildSrc/build.gradle ++++ b/buildSrc/build.gradle +@@ -82,10 +82,13 @@ getConfigurations().create("antlr3"); + + dependencies { + compile group: "org.antlr", name: "antlr", version: "3.1.3" ++ compile group: "org.antlr", name: "antlr-runtime", version: "3.1.3" ++ compile group: "org.antlr", name: "stringtemplate", version: "3.2" + testCompile group: "junit", name: "junit", version: "4.8.2" + antlr3 group: "org.antlr", name: "antlr-runtime", version: "3.1.3" + antlr3 group: "org.antlr", name: "stringtemplate", version: "3.2" + antlr3 group: "org.antlr", name: "antlr", version: "3.1.3" ++ antlr3 group: "antlr", name: "antlr", version: "2.7.7" + } + + // At the moment the ASM library shipped with Gradle that is used to diff --git a/dev-java/openjfx/files/8/Wno-error.patch b/dev-java/openjfx/files/8/Wno-error.patch new file mode 100644 index 000000000000..771da0707088 --- /dev/null +++ b/dev-java/openjfx/files/8/Wno-error.patch @@ -0,0 +1,68 @@ +From 822bf818933311327c5b73cb1b185484f22f55fb Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gentoo.org> +Date: Sun, 26 Apr 2020 21:15:36 -0700 +Subject: [PATCH] Wno-error + +--- a/buildSrc/armv5sf.gradle ++++ b/buildSrc/armv5sf.gradle +@@ -135,7 +135,6 @@ def dfbLFlags = ["-ldl"] + def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() + def monocleCFlags = [ + extraCFlags, +- "-Werror", + "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); + def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() + def glassCFlags = ["-ffast-math"] +--- a/buildSrc/armv6hf.gradle ++++ b/buildSrc/armv6hf.gradle +@@ -131,7 +131,6 @@ def extraLFlags = [ + def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() + def monocleCFlags = [ + extraCFlags, +- "-Werror", + "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); + def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() + +--- a/buildSrc/armv6sf.gradle ++++ b/buildSrc/armv6sf.gradle +@@ -135,7 +135,6 @@ def dfbLFlags = ["-ldl"] + def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() + def monocleCFlags = [ + extraCFlags, +- "-Werror", + "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); + def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() + def glassCFlags = ["-ffast-math"] +--- a/buildSrc/armv7hf.gradle ++++ b/buildSrc/armv7hf.gradle +@@ -131,7 +131,6 @@ def extraLFlags = [ + def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() + def monocleCFlags = [ + extraCFlags, +- "-Werror", + "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); + def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() + +--- a/buildSrc/armv7sf.gradle ++++ b/buildSrc/armv7sf.gradle +@@ -135,7 +135,6 @@ def dfbLFlags = ["-ldl"] + def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() + def monocleCFlags = [ + extraCFlags, +- "-Werror", + "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); + def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() + def glassCFlags = ["-ffast-math"] +--- a/buildSrc/x86egl.gradle ++++ b/buildSrc/x86egl.gradle +@@ -118,7 +118,6 @@ def extraLFlags = [ + def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() + def monocleCFlags = [ + extraCFlags, +- "-Werror", + "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); + def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() + +-- +2.26.2 + diff --git a/dev-java/openjfx/files/8/disable-online-repos.patch b/dev-java/openjfx/files/8/disable-online-repos.patch new file mode 100644 index 000000000000..6dd2db128e90 --- /dev/null +++ b/dev-java/openjfx/files/8/disable-online-repos.patch @@ -0,0 +1,52 @@ +--- a/build.gradle ++++ b/build.gradle +@@ -1135,17 +1135,17 @@ allprojects { + // "artifact" in the pattern below. Note that the closed builds use different repositories + // so if you are debugging a closed-build artifact related build issue, check out the + // closed gradle file instead. +- if (!BUILD_CLOSED) { +- repositories { +- mavenCentral() +- ivy { +- url "http://download.eclipse.org/eclipse/updates/4.6/R-4.6.3-201703010400/plugins/" +- layout "pattern", { +- artifact "[artifact].[ext]" +- } +- } +- } +- } ++ // if (!BUILD_CLOSED) { ++ // repositories { ++ // mavenCentral() ++ // ivy { ++ // url "http://download.eclipse.org/eclipse/updates/4.6/R-4.6.3-201703010400/plugins/" ++ // layout "pattern", { ++ // artifact "[artifact].[ext]" ++ // } ++ // } ++ // } ++ // } + + // We want to configure all projects as java projects and use the same compile settings + // etc, except for the root project which we just want to ignore (and for now media) +@@ -1785,13 +1785,13 @@ project(":fxpackager") { + } + // fxpackager has a dependency on ant in order to build the ant jar, + // and as such needs to point to the apache binary repository +- if (!BUILD_CLOSED) { +- repositories { +- maven { +- url "https://repository.apache.org" +- } +- } +- } ++ // if (!BUILD_CLOSED) { ++ // repositories { ++ // maven { ++ // url "https://repository.apache.org" ++ // } ++ // } ++ // } + + dependencies { + compile group: "org.apache.ant", name: "ant", version: "1.8.2" diff --git a/dev-java/openjfx/files/8/don-t-force-msse.patch b/dev-java/openjfx/files/8/don-t-force-msse.patch new file mode 100644 index 000000000000..6cdb19e5a002 --- /dev/null +++ b/dev-java/openjfx/files/8/don-t-force-msse.patch @@ -0,0 +1,38 @@ +From 6483d73551590e8036cd5ec6d317e8114b403f36 Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gentoo.org> +Date: Sun, 26 Apr 2020 20:57:39 -0700 +Subject: [PATCH] don't force msse + +--- a/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile ++++ b/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile +@@ -28,7 +28,6 @@ CFLAGS = -fPIC \ + -Wformat-security \ + -Werror=implicit-function-declaration \ + -fstack-protector \ +- -msse2 \ + -fbuiltin \ + -DHAVE_STDINT_H \ + -DLINUX \ +--- a/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile ++++ b/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile +@@ -25,7 +25,6 @@ CFLAGS = -fPIC \ + -Wformat-security \ + -Werror=implicit-function-declaration \ + -fstack-protector \ +- -msse2 \ + -fbuiltin \ + -DHAVE_STDINT_H \ + -DLINUX \ +--- a/modules/media/src/main/native/jfxmedia/projects/linux/Makefile ++++ b/modules/media/src/main/native/jfxmedia/projects/linux/Makefile +@@ -44,7 +44,6 @@ ifdef HOST_COMPILE + -Wformat-security \ + -fstack-protector \ + -Werror=implicit-function-declaration \ +- -msse2 \ + -DGSTREAMER_LITE + + INCLUDES = $(BASE_INCLUDES) \ +-- +2.26.2 + diff --git a/dev-java/openjfx/files/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch b/dev-java/openjfx/files/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch new file mode 100644 index 000000000000..6fd0a9852012 --- /dev/null +++ b/dev-java/openjfx/files/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch @@ -0,0 +1,18 @@ +From 26d59b7c8cc2b40277756f55387606ba8a852b31 Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gentoo.org> +Date: Fri, 18 Sep 2020 21:43:57 -0700 +Subject: [PATCH] fxpackager: don't include obsolete sys/sysctl.h + +--- a/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp ++++ b/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp +@@ -43,7 +43,6 @@ + #include <sys/types.h> + #include <sys/wait.h> + #include <unistd.h> +-#include <sys/sysctl.h> + #include <iostream> + #include <dlfcn.h> + #include <signal.h> +-- +2.28.0 + diff --git a/dev-java/openjfx/files/8/missing-casts.patch b/dev-java/openjfx/files/8/missing-casts.patch new file mode 100644 index 000000000000..c3d45f4f07df --- /dev/null +++ b/dev-java/openjfx/files/8/missing-casts.patch @@ -0,0 +1,22 @@ +--- a/modules/graphics/src/main/native-font/pango.c ++++ b/modules/graphics/src/main/native-font/pango.c +@@ -225,7 +225,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)((jboolean (*)(void *, const char *))fp)((void *)(intptr_t)arg0, text); + } + (*env)->ReleaseStringUTFChars(env, arg1, text); + } +--- a/modules/graphics/src/main/native-prism-es2/x11/X11GLContext.c ++++ b/modules/graphics/src/main/native-prism-es2/x11/X11GLContext.c +@@ -275,7 +275,7 @@ 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("glXSwapIntervalSGI"); + } + + } diff --git a/dev-java/openjfx/files/8/respect_flags.patch b/dev-java/openjfx/files/8/respect_flags.patch new file mode 100644 index 000000000000..b8a0975965a8 --- /dev/null +++ b/dev-java/openjfx/files/8/respect_flags.patch @@ -0,0 +1,192 @@ +From 102cfe6848fe3e67c3d85cca8f3c02c1f316845b Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gentoo.org> +Date: Thu, 25 Mar 2021 10:06:49 -0700 +Subject: [PATCH] respect flags + +--- a/buildSrc/linux.gradle ++++ b/buildSrc/linux.gradle +@@ -46,6 +46,9 @@ def commonFlags = [ + "-fstack-protector", + "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags + ++ ++commonFlags.addAll(System.getenv('CFLAGS').trim().split(" ")) ++ + if (!IS_64) { + commonFlags += "-m32" + } +@@ -61,6 +64,7 @@ def linkFlags = ["-static-libgcc", "-static-libstdc++", "-shared", commonFlags, + "-z", "relro", + "-Wl,--gc-sections"].flatten() + def defaultLinkFlags = linkFlags.flatten() ++linkFlags.addAll(System.getenv('LDFLAGS').trim().split(" ")) + + def toolchainDir + if (hasProperty('toolchainDir')) { +--- a/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile ++++ b/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile +@@ -22,7 +22,7 @@ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so + OBJBASE_DIR = $(BUILD_DIR)/obj/plugins/avplugin + endif + +-CFLAGS = -fPIC \ ++CFLAGS := -fPIC \ + -Wformat \ + -Wextra \ + -Wformat-security \ +@@ -34,13 +34,8 @@ CFLAGS = -fPIC \ + -DGST_DISABLE_LOADSAVE \ + -DGSTREAMER_LITE \ + -DG_DISABLE_DEPRECATED \ +- -ffunction-sections -fdata-sections +- +-ifeq ($(BUILD_TYPE), Release) +- CFLAGS += -Os +-else +- CFLAGS += -g -Wall +-endif ++ -ffunction-sections -fdata-sections \ ++ ${CFLAGS} + + INCLUDES= -I../../../plugins \ + -I../../../plugins/av \ +@@ -50,11 +45,12 @@ INCLUDES= -I../../../plugins \ + -I$(GLIB_DIR)/glib \ + -I$(GLIB_DIR)/gmodule + +-LDFLAGS = -L$(BUILD_DIR) \ ++LDFLAGS := -L$(BUILD_DIR) \ + -z relro \ + -lgstreamer-lite \ + -lglib-lite \ +- -static-libgcc -static-libstdc++ -Wl,--gc-sections ++ -static-libgcc -static-libstdc++ -Wl,--gc-sections \ ++ ${LDFLAGS} + + ifneq ($(strip $(LIBAV_DIR)),) + INCLUDES += -I$(LIBAV_DIR)/include +--- a/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile ++++ b/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile +@@ -19,7 +19,7 @@ DIRLIST = progressbuffer \ + + TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so + +-CFLAGS = -fPIC \ ++CFLAGS := -fPIC \ + -Wformat \ + -Wextra \ + -Wformat-security \ +@@ -35,14 +35,8 @@ CFLAGS = -fPIC \ + -DGST_DISABLE_GST_DEBUG \ + -DGSTREAMER_LITE \ + -DG_DISABLE_DEPRECATED \ +- -ffunction-sections -fdata-sections +- +-ifeq ($(BUILD_TYPE), Release) +- CFLAGS += -Os +-else +- CFLAGS += -g -Wall +-endif +- ++ -ffunction-sections -fdata-sections \ ++ ${CFLAGS} + + INCLUDES = -I$(SRCBASE_DIR) \ + $(addprefix -I$(SRCBASE_DIR)/,$(DIRLIST)) \ +@@ -52,9 +46,10 @@ INCLUDES = -I$(SRCBASE_DIR) \ + -I$(GLIB_DIR)/glib \ + -I$(GLIB_DIR)/gmodule + +-LDFLAGS = -L$(BUILD_DIR) -lgstreamer-lite -lglib-lite \ ++LDFLAGS := -L$(BUILD_DIR) -lgstreamer-lite -lglib-lite \ + -z relro \ +- -static-libgcc -static-libstdc++ -Wl,--gc-sections ++ -static-libgcc -static-libstdc++ -Wl,--gc-sections \ ++ ${LDFLAGS} + + ifeq ($(ARCH), x32) + CFLAGS += -m32 +--- a/modules/media/src/main/native/gstreamer/projects/linux/glib-lite/Makefile ++++ b/modules/media/src/main/native/gstreamer/projects/linux/glib-lite/Makefile +@@ -40,20 +40,15 @@ CFLAGS += -fPIC \ + -DMATCH_LIMIT=10000000 \ + -DMATCH_LIMIT_RECURSION=10000000 + +-ifeq ($(BUILD_TYPE), Release) +- CFLAGS += -Os +-else +- CFLAGS += -g -Wall +-endif +- + INCLUDES = -I$(SRCBASE_DIR) \ + -I$(SRCBASE_DIR)/glib \ + -I$(SRCBASE_DIR)/build/linux \ + -I$(LIBFFI_DIR)/include + +-LDFLAGS = -L$(BUILD_DIR) -lffi \ ++LDFLAGS := -L$(BUILD_DIR) -lffi \ + -z relro \ +- -static-libgcc -static-libstdc++ -Wl,--gc-sections ++ -static-libgcc -static-libstdc++ -Wl,--gc-sections \ ++ ${LDFLAGS} + + ifeq ($(ARCH), x32) + CFLAGS += -m32 +--- a/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile ++++ b/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile +@@ -41,7 +41,7 @@ DIRLIST = gstreamer/gst \ + + TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so + +-CFLAGS =-fPIC \ ++CFLAGS :=-fPIC \ + -Wformat \ + -Wextra \ + -Wformat-security \ +@@ -56,13 +56,8 @@ CFLAGS =-fPIC \ + -DGST_DISABLE_GST_DEBUG \ + -DGST_DISABLE_LOADSAVE \ + -DG_DISABLE_DEPRECATED \ +- -ffunction-sections -fdata-sections +- +-ifeq ($(BUILD_TYPE), Release) +- CFLAGS += -Os +-else +- CFLAGS += -g -Wall +-endif ++ -ffunction-sections -fdata-sections \ ++ ${CFLAGS} + + INCLUDES = -I$(BASE_DIR)/plugins \ + -I$(SRCBASE_DIR)/projects/build/linux/common \ +@@ -83,9 +78,10 @@ INCLUDES = -I$(BASE_DIR)/plugins \ + PACKAGES_INCLUDES := $(shell pkg-config --cflags alsa) + PACKAGES_LIBS := $(shell pkg-config --libs alsa) + +-LDFLAGS = -L$(BUILD_DIR) -lm -lglib-lite $(PACKAGES_LIBS) \ ++LDFLAGS := -L$(BUILD_DIR) -lm -lglib-lite $(PACKAGES_LIBS) \ + -z relro \ +- -static-libgcc -static-libstdc++ -Wl,--gc-sections ++ -static-libgcc -static-libstdc++ -Wl,--gc-sections \ ++ ${LDFLAGS} + + ifeq ($(ARCH), x32) + CFLAGS += -m32 +--- a/modules/media/src/main/native/gstreamer/projects/linux/libffi/Makefile ++++ b/modules/media/src/main/native/gstreamer/projects/linux/libffi/Makefile +@@ -20,12 +20,6 @@ CFLAGS += -c \ + -DHAVE_AS_X86_PCREL \ + -DGSTREAMER_LITE + +-ifeq ($(BUILD_TYPE), Release) +- CFLAGS += -Os +-else +- CFLAGS += -O0 -g -Wall +-endif +- + INCLUDES = -I$(SRCBASE_DIR)/include + + C_SOURCES = src/closures.c \ +-- +2.31.0 + diff --git a/dev-java/openjfx/metadata.xml b/dev-java/openjfx/metadata.xml new file mode 100644 index 000000000000..428651d61de7 --- /dev/null +++ b/dev-java/openjfx/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>java@gentoo.org</email> + </maintainer> + <longdescription lang="en"> + OpenJFX is an open source, next generation client application platform for desktop, + mobile and embedded systems built on Java. + </longdescription> + <use> + <flag name="media">Compile media module, based on gstreamer-minimal (does not pull gstreamer)</flag> + <flag name="source">Install JavaFX sources</flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/dev-java/openjfx/openjfx-11.0.11_p1-r5.ebuild b/dev-java/openjfx/openjfx-11.0.11_p1-r5.ebuild new file mode 100644 index 000000000000..1186e000724a --- /dev/null +++ b/dev-java/openjfx/openjfx-11.0.11_p1-r5.ebuild @@ -0,0 +1,237 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV="${PV/_p/+}" +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" +SLOT="${MY_PV%%[.+]*}" +KEYWORDS="-* ~amd64 ~ppc64" +IUSE="cpu_flags_x86_sse2 debug doc source +media" +REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )" + +# Using higher version like swt-4.35 would lead to compile error: +# import org.eclipse.swt.SWT; +# ^ +# bad class file: /usr/share/swt/lib/swt.jar(/org/eclipse/swt/SWT.class) +# class file has wrong version 61.0, should be 55.0 +RDEPEND=" + app-accessibility/at-spi2-core + dev-java/swt:4.27[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: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 + "${FILESDIR}"/11/missing-casts.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.27)#" "${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 +} diff --git a/dev-java/openjfx/openjfx-8.1000-r2.ebuild b/dev-java/openjfx/openjfx-8.1000-r2.ebuild new file mode 100644 index 000000000000..303971b7904b --- /dev/null +++ b/dev-java/openjfx/openjfx-8.1000-r2.ebuild @@ -0,0 +1,196 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source" + +inherit flag-o-matic java-pkg-2 java-pkg-simple multiprocessing toolchain-funcs + +EGRADLE_VER="4.10.3" +EHG_COMMIT="9f49e3b6147f" + +DESCRIPTION="Java OpenJFX 8 client application platform" +HOMEPAGE="https://openjfx.io" +SRC_URI=" + https://hg.openjdk.java.net/${PN}/8u-dev/rt/archive/${EHG_COMMIT}.tar.bz2 -> ${P}.tar.bz2 + https://dev.gentoo.org/~gyakovlev/distfiles/${P}-backports.tar.bz2 + https://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip +" +# eclass overrides it, set back to normal +S="${WORKDIR}/${P}" + +LICENSE="GPL-2-with-classpath-exception" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~ppc64" +IUSE="debug doc media cpu_flags_x86_sse2" +REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )" +RESTRICT="test" # needs junit version we don't have, fragile + +DEPEND=" + app-arch/unzip + >=dev-java/ant-1.10.14:0 + >=dev-java/antlr-2.7.7-r7:0 + dev-java/antlr:3 + dev-java/openjdk:8 + dev-java/stringtemplate:0 + dev-java/swt:4.10[cairo,opengl] + app-alternatives/yacc + app-alternatives/lex + virtual/jdk:1.8 + virtual/pkgconfig +" + +RDEPEND=" + dev-java/swt:4.10[cairo,opengl] + virtual/jre:1.8 +" + +# FIXME: majority of flags are honored, needs a bit more patching +QA_FLAGS_IGNORED=".*" + +JAVA_PKG_WANT_BUILD_VM="openjdk-8" +JAVA_PKG_WANT_SOURCE="1.8" +JAVA_PKG_WANT_TARGET="1.8" + +PATCHES=( + "${FILESDIR}"/8/99-sysdeps.patch + "${FILESDIR}"/8/disable-online-repos.patch + "${FILESDIR}"/8/respect_flags.patch + "${FILESDIR}"/8/0000-Fix-wait-call-in-PosixPlatform.patch + "${FILESDIR}"/8/0001-Change-Lucene.patch + "${FILESDIR}"/8/0003-fix-cast-between-incompatible-function-types.patch + "${FILESDIR}"/8/0004-Fix-Compilation-Flags.patch + "${FILESDIR}"/8/0005-don-t-include-xlocale.h.patch + "${FILESDIR}"/8/06-disable-architecture-verification.patch + "${FILESDIR}"/8/10-javadoc-locale.patch + "${FILESDIR}"/8/Wno-error.patch + "${FILESDIR}"/8/don-t-force-msse.patch + "${FILESDIR}"/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch + "${FILESDIR}"/8/missing-casts.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" + ) + + 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" +} + +src_unpack() { + default + mv -v "rt-${EHG_COMMIT}" "${P}" || die +} + +src_prepare() { + eapply "${WORKDIR}/${P}-backports" + default + + # this will create local jar storage to be used as ivy repo + local d="${T}/jars" + mkdir "${d}" || die + + # we need jars subdir in every prokect so gradle can find them + # only system jars, no bundling + local target targets + targets=( + jars + buildSrc/jars + modules/{base,builders,controls,extensions,fxml}/jars + modules/{graphics,jmx,media,swing,swt,web,fxpackager}/jars + ) + einfo "Copying system jars" + for target in ${targets[@]}; do + ln -vs "${T}/jars" "${target}" || die + done + + local swt_file_name="$(java-pkg_getjars swt-4.10)" + java-pkg_jar-from --build-only --into "${d}" ant ant.jar ant-1.8.2.jar + java-pkg_jar-from --build-only --into "${d}" ant ant-launcher.jar ant-launcher-1.8.2.jar + java-pkg_jar-from --build-only --into "${d}" antlr antlr.jar antlr-2.7.7.jar + java-pkg_jar-from --build-only --into "${d}" antlr-3 antlr-tool.jar antlr-3.1.3.jar + java-pkg_jar-from --build-only --into "${d}" antlr-3 antlr-runtime.jar antlr-runtime-3.1.3.jar + java-pkg_jar-from --build-only --into "${d}" stringtemplate stringtemplate.jar stringtemplate-3.2.jar + sed -i "s#compile name: SWT_FILE_NAME#compile files(\"${swt_file_name}\")#" "${S}"/build.gradle || die + + sed -i 's/-rpath/-rpath-link/g' modules/media/src/main/native/jfxmedia/projects/linux/Makefile || die +} + +src_configure() { + # see gradle.properties.template in ${S} + cat <<- _EOF_ > "${S}"/gradle.properties + COMPILE_TARGETS = linux + GRADLE_VERSION_CHECK = false + COMPILE_AVPLUGIN = $(usex media true false) + COMPILE_MEDIA = $(usex media true false) + COMPILE_WEBKIT = false + BUILD_JAVADOC = $(usex doc true false) + BUILD_SRC_ZIP = $(usex source true false) + FULL_TEST = false + CONF = $(usex debug DebugNative Release) + NUM_COMPILE_THREADS = $(makeopts_jobs) + _EOF_ + + local repostring=' + repositories { + ivy { + url file("${projectDir}/jars") + layout "pattern", { + artifact "[artifact]-[revision].[ext]" + artifact "[artifact].[ext]" + } + } + mavenLocal() + }' + + cat <<- _EOF_ > "${S}"/buildSrc/gentoo.gradle + ${repostring} + _EOF_ + + cat <<- _EOF_ > "${S}"/gentoo.gradle + ${repostring} + allprojects { + ${repostring} + } + _EOF_ + + echo "apply from: 'gentoo.gradle'" >> build.gradle || die + echo "apply from: 'gentoo.gradle'" >> buildSrc/build.gradle || die + sed -i 's/mavenCentral/mavenLocal/g' build.gradle || die + sed -i 's/mavenCentral/mavenLocal/g' buildSrc/build.gradle || die + einfo "Configured with the following settings:" + cat gradle.properties || die + +} + +src_compile() { + append-cflags '-fcommon' + tc-export_build_env CC CXX PKG_CONFIG + rm -r tests buildSrc/src/test || die + egradle openExportLinux +} + +src_install() { + local dest="/usr/$(get_libdir)/openjdk-${SLOT}" + local ddest="${ED}${dest}" + dodir "${dest}" + pushd build/export/sdk > /dev/null || die + cp -pPRv * "${ddest}" || die + popd > /dev/null || die +} |
