diff options
author | Georgy Yakovlev <gyakovlev@gentoo.org> | 2020-09-18 18:10:05 -0700 |
---|---|---|
committer | Georgy Yakovlev <gyakovlev@gentoo.org> | 2020-09-18 19:56:26 -0700 |
commit | 4eda5ab2b3cb995c23c2af6b2b0397637c2b21f0 (patch) | |
tree | 034ccce930247494d6bced68978e30d9f7c5ed9f /dev-java/openjfx | |
parent | app-portage/nattka: Stabilize 0.2.10 arm, #743265 (diff) | |
download | gentoo-4eda5ab2b3cb995c23c2af6b2b0397637c2b21f0.tar.gz gentoo-4eda5ab2b3cb995c23c2af6b2b0397637c2b21f0.tar.bz2 gentoo-4eda5ab2b3cb995c23c2af6b2b0397637c2b21f0.zip |
dev-java/openjfx: add openjfx8
Bug: https://bugs.gentoo.org/681828
Closes: https://bugs.gentoo.org/547918
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'dev-java/openjfx')
16 files changed, 770 insertions, 0 deletions
diff --git a/dev-java/openjfx/Manifest b/dev-java/openjfx/Manifest index 1b63e2853373..28cb9dbe6dac 100644 --- a/dev-java/openjfx/Manifest +++ b/dev-java/openjfx/Manifest @@ -8,3 +8,4 @@ DIST lucene-queries-7.1.0.jar 243126 BLAKE2B 166c3efea04c19314be7fd8c1d6b1378b2b 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.9_p0.tar.bz2 64148934 BLAKE2B 317fb1c9ea99816ecbd8ab64ed3a6ad0aaa319bedd17bf71ee192c5e610fea14611f3938302f1caf666980bcc7d4787f770e36aec1884a73dac3ddba8e1a878f SHA512 8b6d339131f096b4490d7a8c4a20c15362b4f6c6aa4ddd74f610f3b5a8b8c7aac3ab123dcdd5488cc37dc38f1536ce1db95286f4233ee4db1845d1bd560b2236 +DIST openjfx-8.202.tar.bz2 62024068 BLAKE2B 006d9a3922812b58a80b6c8e2c80d758b7e18375da5667141cd266b5ce6ae4859d95d7a6701031926db1ce12b5638dfc6ff710cbe8e6c0bc74f347dc0c5f167c SHA512 6759c6422bfc18f78877b13ac664da23c820e8c37f31f3b470760e344b2b6a18936c5a70e3a495addf2129c2548375dc5588147eb0cefbf41dae258ef0d8896c 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..fee211fd8770 --- /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 2018-10-29 16:26:04.000000000 +0100 ++++ rt-8u202-b02-patched/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp 2018-11-27 15:34:52.170181958 +0100 +@@ -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/0001-don-t-force-msse.patch b/dev-java/openjfx/files/8/0001-don-t-force-msse.patch new file mode 100644 index 000000000000..0a114b039c3e --- /dev/null +++ b/dev-java/openjfx/files/8/0001-don-t-force-msse.patch @@ -0,0 +1,69 @@ +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 + +--- + .../main/native/gstreamer/projects/linux/avplugin/Makefile | 1 - + .../native/gstreamer/projects/linux/fxplugins/Makefile | 1 - + .../media/src/main/native/jfxmedia/projects/linux/Makefile | 1 - + modules/web/src/main/native/Tools/Scripts/webkitdirs.pm | 7 ------- + 4 files changed, 10 deletions(-) + +diff --git a/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile b/modules/media/src/main/native/gstreamer/projects/linux/avplugin/Makefile +index df9f7f21..f82f0537 100644 +--- 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 \ +diff --git a/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile b/modules/media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile +index fd3847d0..3887ac6d 100644 +--- 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 \ +diff --git a/modules/media/src/main/native/jfxmedia/projects/linux/Makefile b/modules/media/src/main/native/jfxmedia/projects/linux/Makefile +index 3d089501..10fad68f 100644 +--- 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) \ +diff --git a/modules/web/src/main/native/Tools/Scripts/webkitdirs.pm b/modules/web/src/main/native/Tools/Scripts/webkitdirs.pm +index ced93727..b95062ea 100644 +--- a/modules/web/src/main/native/Tools/Scripts/webkitdirs.pm ++++ b/modules/web/src/main/native/Tools/Scripts/webkitdirs.pm +@@ -2192,13 +2192,6 @@ sub generateBuildSystemFromCMakeProject + my $cmakeSourceDir = isCygwin() ? windowsSourceDir() : sourceDir(); + push @args, '"' . $cmakeSourceDir . '"'; + +- # Compiler options to keep floating point values consistent +- # between 32-bit and 64-bit architectures. +- determineArchitecture(); +- if ($architecture eq "i686" && !isCrossCompilation() && !isAnyWindows()) { +- $ENV{'CXXFLAGS'} = "-march=pentium4 -msse2 -mfpmath=sse " . ($ENV{'CXXFLAGS'} || ""); +- } +- + # We call system("cmake @args") instead of system("cmake", @args) so that @args is + # parsed for shell metacharacters. + my $wrapper = join(" ", wrapperPrefixIfNeeded()) . " "; +-- +2.26.2 + diff --git a/dev-java/openjfx/files/8/0002-Allow-build-to-work-on-newer-gradles.patch b/dev-java/openjfx/files/8/0002-Allow-build-to-work-on-newer-gradles.patch new file mode 100644 index 000000000000..050ee23b07ae --- /dev/null +++ b/dev-java/openjfx/files/8/0002-Allow-build-to-work-on-newer-gradles.patch @@ -0,0 +1,10 @@ +--- rt-8u152-b05/buildSrc/build.gradle 2017-06-16 01:18:26.000000000 +0200 ++++ rt-8u152-b05-patched/buildSrc/build.gradle 2018-11-07 13:15:06.915893681 +0100 +@@ -57,6 +57,7 @@ + + + repositories { ++ xmvn() + if (buildClosed) { + ivy { + url jfxRepositoryURL 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..011e952b9440 --- /dev/null +++ b/dev-java/openjfx/files/8/0003-fix-cast-between-incompatible-function-types.patch @@ -0,0 +1,77 @@ +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 + +--- + modules/graphics/src/main/native-glass/gtk/glass_dnd.cpp | 8 ++++++-- + .../src/main/native-glass/gtk/glass_window_ime.cpp | 9 +++------ + 2 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/modules/graphics/src/main/native-glass/gtk/glass_dnd.cpp b/modules/graphics/src/main/native-glass/gtk/glass_dnd.cpp +index f85b1dae..3b9225f7 100644 +--- 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); + } + } + } +diff --git a/modules/graphics/src/main/native-glass/gtk/glass_window_ime.cpp b/modules/graphics/src/main/native-glass/gtk/glass_window_ime.cpp +index 82e54d11..51af2a6a 100644 +--- 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..c47331e1e624 --- /dev/null +++ b/dev-java/openjfx/files/8/0005-don-t-include-xlocale.h.patch @@ -0,0 +1,25 @@ +From 597f200762be416d5a62f1efd351cba6e47c1c4c Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gaikai.com> +Date: Thu, 30 May 2019 12:07:30 -0700 +Subject: [PATCH] don't include xlocale.h + +--- + .../gstreamer/3rd_party/glib/glib-2.56.1/glib/gstrfuncs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git 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 +index 72dc1301..32669789 100644 +--- 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/07-disable-assembler-on-unsupported-archs.patch b/dev-java/openjfx/files/8/07-disable-assembler-on-unsupported-archs.patch new file mode 100644 index 000000000000..551a1e82ba50 --- /dev/null +++ b/dev-java/openjfx/files/8/07-disable-assembler-on-unsupported-archs.patch @@ -0,0 +1,18 @@ +Description: Disable assembler in WebKit on unsupported architectures +Author: Emmanuel Bourg <ebourg@apache.org> +Forwarded: no +--- a/modules/web/src/main/native/Source/WTF/wtf/Platform.h ++++ b/modules/web/src/main/native/Source/WTF/wtf/Platform.h +@@ -325,6 +325,12 @@ + #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 + #endif + ++#if !CPU(ARM_THUMB2) && !CPU(ARM_TRADITIONAL) && !CPU(MIPS) && !CPU(X86) && !CPU(X86_64) && !CPU(SH4) ++#define ENABLE_ASSEMBLER 0 ++#define ENABLE_JIT 0 ++#define ENABLE_YARR_JIT 0 ++#endif ++ + /* ==== OS() - underlying operating system; only to be used for mandated low-level services like + virtual memory, not to choose a GUI toolkit ==== */ + 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..367d9392d95e --- /dev/null +++ b/dev-java/openjfx/files/8/99-sysdeps.patch @@ -0,0 +1,30 @@ +diff --git a/build.gradle b/build.gradle +index 0914d7d..6bd9e78 100644 +--- 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 +diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle +index 25f88d1..642450d 100644 +--- 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..208411508d87 --- /dev/null +++ b/dev-java/openjfx/files/8/Wno-error.patch @@ -0,0 +1,121 @@ +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 + +--- + buildSrc/armv5sf.gradle | 1 - + buildSrc/armv6hf.gradle | 1 - + buildSrc/armv6sf.gradle | 1 - + buildSrc/armv7hf.gradle | 1 - + buildSrc/armv7sf.gradle | 1 - + buildSrc/linux.gradle | 6 +++--- + buildSrc/x86egl.gradle | 1 - + 7 files changed, 3 insertions(+), 9 deletions(-) + +diff --git a/buildSrc/armv5sf.gradle b/buildSrc/armv5sf.gradle +index ee154182..bee6003e 100644 +--- 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"] +diff --git a/buildSrc/armv6hf.gradle b/buildSrc/armv6hf.gradle +index dfdff237..0f090f23 100644 +--- 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() + +diff --git a/buildSrc/armv6sf.gradle b/buildSrc/armv6sf.gradle +index ee6615f0..6ebbdd90 100644 +--- 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"] +diff --git a/buildSrc/armv7hf.gradle b/buildSrc/armv7hf.gradle +index e75bf8a9..092be817 100644 +--- 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() + +diff --git a/buildSrc/armv7sf.gradle b/buildSrc/armv7sf.gradle +index 0bb8a530..38e98303 100644 +--- 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"] +diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle +index f233b817..0f9d5252 100644 +--- a/buildSrc/linux.gradle ++++ b/buildSrc/linux.gradle +@@ -203,7 +203,7 @@ LINUX.glass.javahInclude = [ + "com/sun/glass/ui/gtk/*"] + 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" +@@ -211,7 +211,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" +@@ -219,7 +219,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" +diff --git a/buildSrc/x86egl.gradle b/buildSrc/x86egl.gradle +index 6bf6196b..ff24207d 100644 +--- 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..6b0afe4bf070 --- /dev/null +++ b/dev-java/openjfx/files/8/disable-online-repos.patch @@ -0,0 +1,54 @@ +diff --git a/build.gradle b/build.gradle +index df82f63..3f920b6 100644 +--- 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/respect_flags.patch b/dev-java/openjfx/files/8/respect_flags.patch new file mode 100644 index 000000000000..5c5dfa14e042 --- /dev/null +++ b/dev-java/openjfx/files/8/respect_flags.patch @@ -0,0 +1,22 @@ +diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle +index 022d073..8bccdd8 100644 +--- 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 gtk2CCFlags = [ ]; + def gtk3CCFlags = [ "-Wno-deprecated-declarations" ]; diff --git a/dev-java/openjfx/openjfx-8.202.ebuild b/dev-java/openjfx/openjfx-8.202.ebuild new file mode 100644 index 000000000000..c3aeb88a51ed --- /dev/null +++ b/dev-java/openjfx/openjfx-8.202.ebuild @@ -0,0 +1,185 @@ +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +JAVA_PKG_IUSE="doc source" + +inherit java-pkg-2 java-pkg-simple multiprocessing toolchain-funcs + +MY_PV="$(ver_rs 1 'u' 2 '-' ${PV//p/b})-ga" +EGRADLE_VER="4.8" + +DESCRIPTION="Java OpenJFX 8 client application platform" +HOMEPAGE="https://openjfx.io" +SRC_URI=" + http://hg.openjdk.java.net/${PN}/8u/rt/archive/${MY_PV}.tar.bz2 -> ${P}.tar.bz2 + https://services.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip +" + +LICENSE="GPL-2-with-classpath-exception" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~ppc64" + +IUSE="debug doc media cpu_flags_x86_sse2" + +DEPEND=" + app-arch/unzip + >=dev-java/ant-core-1.8.2:0 + >=dev-java/antlr-2.7.7-r7:0 + dev-java/antlr:3 + dev-java/stringtemplate:0 + dev-java/swt:4.10[cairo,opengl] + sys-devel/bison + sys-devel/flex + virtual/jdk:1.8 + virtual/pkgconfig +" + +RDEPEND=" + dev-java/swt:4.10[cairo,opengl] + virtual/jre:1.8 +" + +REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )" + +RESTRICT="test" # needs junit version we don't have, fragile + +# FIXME: majority of flags are honored, needs a bit more patching +QA_FLAGS_IGNORED="*" + +S="${WORKDIR}/rt-${MY_PV}" + +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/07-disable-assembler-on-unsupported-archs.patch + "${FILESDIR}"/8/10-javadoc-locale.patch + "${FILESDIR}"/8/Wno-error.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_prepare() { + 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-core ant.jar ant-1.8.2.jar + java-pkg_jar-from --build-only --into "${d}" ant-core 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_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 + +} + +src_compile() { + 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 +} |