mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
79
dev-java/openjfx/files/8/0001-Change-Lucene.patch
Normal file
79
dev-java/openjfx/files/8/0001-Change-Lucene.patch
Normal file
@@ -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) {
|
||||
|
||||
69
dev-java/openjfx/files/8/0001-don-t-force-msse.patch
Normal file
69
dev-java/openjfx/files/8/0001-don-t-force-msse.patch
Normal file
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
23
dev-java/openjfx/files/8/0004-Fix-Compilation-Flags.patch
Normal file
23
dev-java/openjfx/files/8/0004-Fix-Compilation-Flags.patch
Normal file
@@ -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()
|
||||
|
||||
25
dev-java/openjfx/files/8/0005-don-t-include-xlocale.h.patch
Normal file
25
dev-java/openjfx/files/8/0005-don-t-include-xlocale.h.patch
Normal file
@@ -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
|
||||
|
||||
@@ -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 == "") {
|
||||
@@ -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 ==== */
|
||||
|
||||
21
dev-java/openjfx/files/8/10-javadoc-locale.patch
Normal file
21
dev-java/openjfx/files/8/10-javadoc-locale.patch
Normal file
@@ -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 {
|
||||
30
dev-java/openjfx/files/8/99-sysdeps.patch
Normal file
30
dev-java/openjfx/files/8/99-sysdeps.patch
Normal file
@@ -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
|
||||
121
dev-java/openjfx/files/8/Wno-error.patch
Normal file
121
dev-java/openjfx/files/8/Wno-error.patch
Normal file
@@ -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
|
||||
|
||||
54
dev-java/openjfx/files/8/disable-online-repos.patch
Normal file
54
dev-java/openjfx/files/8/disable-online-repos.patch
Normal file
@@ -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"
|
||||
22
dev-java/openjfx/files/8/respect_flags.patch
Normal file
22
dev-java/openjfx/files/8/respect_flags.patch
Normal file
@@ -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" ];
|
||||
185
dev-java/openjfx/openjfx-8.202.ebuild
Normal file
185
dev-java/openjfx/openjfx-8.202.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user