Duplicate openjfx:8, implement ant-core changes

This commit is contained in:
Ben 2024-01-25 03:27:52 +01:00
parent 1f00181a5b
commit 97a50ef2c8
Signed by: ben
GPG Key ID: 1353F41CF1CFF2D3
16 changed files with 939 additions and 0 deletions

View File

@ -0,0 +1,3 @@
DIST gradle-4.10.3-bin.zip 78422006 BLAKE2B f565e591751acb5b05c261b3d8dbc8e07f76b48c73516f6cb1b2846ebf0bbf38000b9a61790e9b3055bddd9f9846d61979d187f4a30c317a1de98546891d9d2d SHA512 fd3f4cfbd5262cc8514b7fb3e303ef46b9ca4b22901f1fe848ec4679f8d6bc283bde12ec584437624f0acf5486e5663966ad0736bf8ab341ac3e2667f514ceec
DIST openjfx-8.1000-backports.tar.bz2 9142182 BLAKE2B 58ea420ec015c49d2755105a3d11675a92ecab337c7bda5a1ad72e84d0b35f04ed4252cee24da89b1e7b1b5b8b8b9fea7db93364434800246b87827b21970cc3 SHA512 077392368947cb9da1b5c7e14b641d6edcddd9821eb4f16dbea33e8986568211e93799aca29e70b490c8ef2125d69f8372abd1b1ce428a95420f62ff15c414d6
DIST openjfx-8.1000.tar.bz2 62286455 BLAKE2B c9a714a618d9ae02768dae6128756d64b2b6299a36a6ad9828bf2213dc641cbbcaa2d3f3e0b4913bb60893419a2d5c730ca2db88f759bbd94b3e83112199278c SHA512 6049730b72e569939fed3d62b46a409e949b4c2309f4355253c8c891799c7fb5138e20aa217454fbbd78b1dd99c254b34b3fe6c9cbb35854bd8656993655bf32

View File

@ -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

View 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) {

View File

@ -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

View 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()

View File

@ -0,0 +1,25 @@
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
---
.../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

View File

@ -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 == "") {

View 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 {

View 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

View File

@ -0,0 +1,90 @@
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/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

View 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"

View File

@ -0,0 +1,51 @@
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) \
--
2.26.2

View File

@ -0,0 +1,24 @@
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
---
.../fxpackager/src/main/native/library/common/PosixPlatform.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp b/modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp
index 5ea3bc6..b5d167b 100644
--- 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

View File

@ -0,0 +1,213 @@
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
---
buildSrc/linux.gradle | 4 ++++
.../gstreamer/projects/linux/avplugin/Makefile | 16 ++++++----------
.../gstreamer/projects/linux/fxplugins/Makefile | 17 ++++++-----------
.../gstreamer/projects/linux/glib-lite/Makefile | 11 +++--------
.../projects/linux/gstreamer-lite/Makefile | 16 ++++++----------
.../gstreamer/projects/linux/libffi/Makefile | 6 ------
6 files changed, 25 insertions(+), 45 deletions(-)
diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle
index a8886c16..e2397a54 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 toolchainDir
if (hasProperty('toolchainDir')) {
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 f82f0537..01e069b1 100644
--- 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
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 3887ac6d..99c82718 100644
--- 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
diff --git a/modules/media/src/main/native/gstreamer/projects/linux/glib-lite/Makefile b/modules/media/src/main/native/gstreamer/projects/linux/glib-lite/Makefile
index c5b4b0a6..b0e6d6f9 100644
--- 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
diff --git a/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile b/modules/media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile
index 8634b559..109375f5 100644
--- 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
diff --git a/modules/media/src/main/native/gstreamer/projects/linux/libffi/Makefile b/modules/media/src/main/native/gstreamer/projects/linux/libffi/Makefile
index 62f1b802..54e0a63b 100644
--- 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

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<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>
</pkgmetadata>

View File

@ -0,0 +1,195 @@
# 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.8.2: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
)
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
}