recaf: 2.0.0_p5, a proper fix

This commit is contained in:
blshkv 2020-04-18 14:28:21 +08:00
parent 1e9e841a06
commit 7567615255
No known key found for this signature in database
GPG key ID: 273E3E90D1A6294F
19 changed files with 1404 additions and 41 deletions

2
dev-java/swt/Manifest Normal file
View file

@ -0,0 +1,2 @@
DIST swt-4.10-gtk-linux-ppc64le.zip 3848264 BLAKE2B 214861fde6987906fb24f3187936f3bcb49aebed54fe242427c3737bf6761e8f77d049c376f30ca0fc33e74a1e8a48b6aff6d9863775ee9c33fea7cb2edd1309 SHA512 1b3ede58c2b41abae76f58a303bd3fbf1849ba8be3fd6518325bc22400e960c3ab542e7351b1bc08053e2746ea3e28812e04c2d1789cb1e19ea28745c8a5f39a
DIST swt-4.10-gtk-linux-x86_64.zip 3844306 BLAKE2B 0e0ed21708acce347fd025920ee635f586c460f8a9c05a7067fd70eed9da999b4a62a5febd17f0c5546ab15198336038e4ab49a1bd588d49ffb39450353a1911 SHA512 9dd946cb7c11446f553f06b8af516167519bab00d4a89f626cd612be6d18e50023fc537aa3d844a8f7a56a767df00410efe4dd20e2bfd930639330a1e279a7a0

View file

@ -0,0 +1,243 @@
--- make_linux.mak~ 2010-06-08 17:30:58.000000000 +0000
+++ make_linux.mak 2010-08-09 22:48:01.515433721 +0000
@@ -66,7 +66,7 @@
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
-MOZILLACFLAGS = -O \
+MOZILLACFLAGS = $(CXXFLAGS) \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DMOZILLA_STRICT_API=1 \
@@ -107,7 +107,7 @@
WEBKIT_OBJECTS = swt.o webkit.o webkit_structs.o webkit_stats.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-CFLAGS = -O -Wall \
+CFLAGS += \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DLINUX -DGTK \
@@ -131,13 +131,13 @@
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -156,7 +156,7 @@
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -172,7 +172,7 @@
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -180,7 +180,7 @@
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+ $(CC) $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -188,7 +188,7 @@
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -205,7 +205,7 @@
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -222,7 +222,7 @@
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
+ $(CXX) $(LDFLAGS) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -242,7 +242,7 @@
make_xulrunner:$(XULRUNNER_LIB)
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -262,7 +262,7 @@
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -279,7 +279,7 @@
make_webkit: $(WEBKIT_LIB)
$(WEBKIT_LIB): $(WEBKIT_OBJECTS)
- $(CC) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS) $(WEBKITLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS) $(WEBKITLIBS)
webkit.o: webkitgtk.c
$(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk.c -o webkit.o
@@ -296,7 +296,7 @@
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
--- make_freebsd.mak~ 2010-06-08 17:30:58.000000000 +0000
+++ make_freebsd.mak 2010-08-09 22:50:26.173246263 +0000
@@ -64,7 +64,7 @@
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
-MOZILLACFLAGS = -O \
+MOZILLACFLAGS += \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DMOZILLA_STRICT_API=1 \
@@ -91,7 +91,7 @@
XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-CFLAGS = -O -Wall \
+CFLAGS += \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DFREEBSD -DGTK \
@@ -115,13 +115,13 @@
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -140,7 +140,7 @@
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -156,7 +156,7 @@
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -164,7 +164,7 @@
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+ $(CC) $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -172,7 +172,7 @@
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -189,7 +189,7 @@
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -206,7 +206,7 @@
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
+ $(CXX) $(LDFLAGS) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -226,7 +226,7 @@
make_xulrunner:$(XULRUNNER_LIB)
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -252,7 +252,7 @@
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -269,7 +269,7 @@
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c

View file

@ -0,0 +1,17 @@
<project name="SWT" default="jar" basedir=".">
<property name="src" location="."/>
<property name="build" location="build"/>
<target name="init">
<tstamp/>
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init" description="Compile the SWT toolset">
<javac srcdir="${src}" destdir="${build}"/>
</target>
<target name="jar">
<jar destfile="swt.jar" basedir="${build}"/>
</target>
</project>

View file

@ -0,0 +1,17 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
Bundle-SymbolicName: org.eclipse.swt.gtk.linux.SWT_ARCH; singleton:=true
Bundle-Version: 3.7
Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=SWT_ARCH))
Export-Package: org.eclipse.swt.internal.accessibility.gtk; x-internal:=true,
org.eclipse.swt.internal.cairo; x-internal:=true,
org.eclipse.swt.internal.cde; x-internal:=true,
org.eclipse.swt.internal.gnome; x-internal:=true,
org.eclipse.swt.internal.gtk; x-internal:=true,
org.eclipse.swt.internal.opengl.glx; x-internal:=true
org.eclipse.swt.internal.webkit; x-internal:=true

View file

@ -0,0 +1,121 @@
Program.launch will first attempt to open files using libgio and then fallback
to gnome-vfs. gio_launch uses g_file_new_for_path which fails when passed a
URI. If swt was built with USE="-gnome" then the fallback fails as well,
making it appear that a package has a dependency on swt[gnome] when it does
not.
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gnome-gtk-3740 in java.library.path
no swt-gnome-gtk in java.library.path
Can't load library: /home/xxx/.swt/lib/linux/x86_64/libswt-gnome-gtk-3740.so
Can't load library: /home/xxx/.swt/lib/linux/x86_64/libswt-gnome-gtk.so
Use g_file_new_for_commandline_arg instead.
https://bugs.gentoo.org/424151
--- a/os.c
+++ b/os.c
@@ -3059,6 +3059,30 @@ fail:
}
#endif
+#ifndef NO__1g_1file_1new_1for_1commandline_1arg
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1new_1for_1commandline_1arg)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1new_1for_1commandline_1arg_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_file_new_for_commandline_arg(lparg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_new_for_commandline_arg)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jbyte *))fp)(lparg0);
+ }
+ }
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1file_1new_1for_1commandline_1arg_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1g_1file_1new_1for_1path
JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1new_1for_1path)
(JNIEnv *env, jclass that, jbyteArray arg0)
--- a/os_custom.h
+++ b/os_custom.h
@@ -280,6 +280,7 @@
#define g_file_icon_get_file_LIB LIB_GIO
#define g_file_info_get_content_type_LIB LIB_GIO
#define g_file_info_get_modification_time_LIB LIB_GIO
+#define g_file_new_for_commandline_arg_LIB LIB_GIO
#define g_file_new_for_path_LIB LIB_GIO
#define g_file_new_for_uri_LIB LIB_GIO
#define g_file_read_LIB LIB_GIO
--- a/os_stats.c
+++ b/os_stats.c
@@ -18,8 +18,8 @@
#ifdef NATIVE_STATS
-int OS_nativeFunctionCount = 1396;
-int OS_nativeFunctionCallCount[1396];
+int OS_nativeFunctionCount = 1397;
+int OS_nativeFunctionCallCount[1397];
char * OS_nativeFunctionNames[] = {
#ifndef JNI64
"Call__IIII",
@@ -250,6 +250,7 @@ char * OS_nativeFunctionNames[] = {
"_1g_1file_1icon_1get_1file",
"_1g_1file_1info_1get_1content_1type",
"_1g_1file_1info_1get_1modification_1time",
+ "_1g_1file_1new_1for_1commandline_1arg",
"_1g_1file_1new_1for_1path",
"_1g_1file_1new_1for_1uri",
"_1g_1file_1query_1info",
--- a/os_stats.h
+++ b/os_stats.h
@@ -258,6 +258,7 @@ typedef enum {
_1g_1file_1icon_1get_1file_FUNC,
_1g_1file_1info_1get_1content_1type_FUNC,
_1g_1file_1info_1get_1modification_1time_FUNC,
+ _1g_1file_1new_1for_1commandline_1arg_FUNC,
_1g_1file_1new_1for_1path_FUNC,
_1g_1file_1new_1for_1uri_FUNC,
_1g_1file_1query_1info_FUNC,
--- a/src/org/eclipse/swt/internal/gtk/OS.java
+++ b/src/org/eclipse/swt/internal/gtk/OS.java
@@ -2113,6 +2113,16 @@ public static final int /*long*/ g_file_new_for_path(byte[] fileName) {
}
}
/** @method flags=dynamic */
+public static final native int /*long*/ _g_file_new_for_commandline_arg(byte[] fileName);
+public static final int /*long*/ g_file_new_for_commandline_arg(byte[] fileName) {
+ lock.lock();
+ try {
+ return _g_file_new_for_commandline_arg(fileName);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
public static final native int /*long*/ _g_file_new_for_uri(byte[] fileName);
public static final int /*long*/ g_file_new_for_uri(byte[] fileName) {
lock.lock();
--- a/src/org/eclipse/swt/program/Program.java
+++ b/src/org/eclipse/swt/program/Program.java
@@ -954,7 +954,7 @@ static boolean gio_isExecutable(String fileName) {
static boolean gio_launch(String fileName) {
boolean result = false;
byte[] fileNameBuffer = Converter.wcsToMbcs (null, fileName, true);
- int /*long*/ file = OS.g_file_new_for_path (fileNameBuffer);
+ int /*long*/ file = OS.g_file_new_for_commandline_arg (fileNameBuffer);
if (file != 0) {
int /*long*/ uri = OS.g_file_get_uri (file);
if (uri != 0) {

View file

@ -0,0 +1,121 @@
Program.launch will first attempt to open files using libgio and then fallback
to gnome-vfs. gio_launch uses g_file_new_for_path which fails when passed a
URI. If swt was built with USE="-gnome" then the fallback fails as well,
making it appear that a package has a dependency on swt[gnome] when it does
not.
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gnome-gtk-3740 in java.library.path
no swt-gnome-gtk in java.library.path
Can't load library: /home/xxx/.swt/lib/linux/x86_64/libswt-gnome-gtk-3740.so
Can't load library: /home/xxx/.swt/lib/linux/x86_64/libswt-gnome-gtk.so
Use g_file_new_for_commandline_arg instead.
https://bugs.gentoo.org/424151
--- a/os.c
+++ b/os.c
@@ -3059,6 +3059,30 @@ fail:
}
#endif
+#ifndef NO__1g_1file_1new_1for_1commandline_1arg
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1new_1for_1commandline_1arg)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1new_1for_1commandline_1arg_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_file_new_for_commandline_arg(lparg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_new_for_commandline_arg)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jbyte *))fp)(lparg0);
+ }
+ }
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1file_1new_1for_1commandline_1arg_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1g_1file_1new_1for_1path
JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1new_1for_1path)
(JNIEnv *env, jclass that, jbyteArray arg0)
--- a/os_custom.h
+++ b/os_custom.h
@@ -280,6 +280,7 @@
#define g_file_icon_get_file_LIB LIB_GIO
#define g_file_info_get_content_type_LIB LIB_GIO
#define g_file_info_get_modification_time_LIB LIB_GIO
+#define g_file_new_for_commandline_arg_LIB LIB_GIO
#define g_file_new_for_path_LIB LIB_GIO
#define g_file_new_for_uri_LIB LIB_GIO
#define g_file_read_LIB LIB_GIO
--- a/os_stats.c
+++ b/os_stats.c
@@ -18,8 +18,8 @@
#ifdef NATIVE_STATS
-int OS_nativeFunctionCount = 1396;
-int OS_nativeFunctionCallCount[1396];
+int OS_nativeFunctionCount = 1397;
+int OS_nativeFunctionCallCount[1397];
char * OS_nativeFunctionNames[] = {
#ifndef JNI64
"Call__IIII",
@@ -250,6 +250,7 @@ char * OS_nativeFunctionNames[] = {
"_1g_1file_1icon_1get_1file",
"_1g_1file_1info_1get_1content_1type",
"_1g_1file_1info_1get_1modification_1time",
+ "_1g_1file_1new_1for_1commandline_1arg",
"_1g_1file_1new_1for_1path",
"_1g_1file_1new_1for_1uri",
"_1g_1file_1query_1info",
--- a/os_stats.h
+++ b/os_stats.h
@@ -258,6 +258,7 @@ typedef enum {
_1g_1file_1icon_1get_1file_FUNC,
_1g_1file_1info_1get_1content_1type_FUNC,
_1g_1file_1info_1get_1modification_1time_FUNC,
+ _1g_1file_1new_1for_1commandline_1arg_FUNC,
_1g_1file_1new_1for_1path_FUNC,
_1g_1file_1new_1for_1uri_FUNC,
_1g_1file_1query_1info_FUNC,
--- a/src/org/eclipse/swt/internal/gtk/OS.java
+++ b/src/org/eclipse/swt/internal/gtk/OS.java
@@ -2113,6 +2113,16 @@ public static final long /*int*/ g_file_new_for_path(byte[] fileName) {
}
}
/** @method flags=dynamic */
+public static final native long /*int*/ _g_file_new_for_commandline_arg(byte[] fileName);
+public static final long /*int*/ g_file_new_for_commandline_arg(byte[] fileName) {
+ lock.lock();
+ try {
+ return _g_file_new_for_commandline_arg(fileName);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
public static final native long /*int*/ _g_file_new_for_uri(byte[] fileName);
public static final long /*int*/ g_file_new_for_uri(byte[] fileName) {
lock.lock();
--- a/src/org/eclipse/swt/program/Program.java
+++ b/src/org/eclipse/swt/program/Program.java
@@ -954,7 +954,7 @@ static boolean gio_isExecutable(String fileName) {
static boolean gio_launch(String fileName) {
boolean result = false;
byte[] fileNameBuffer = Converter.wcsToMbcs (null, fileName, true);
- long /*int*/ file = OS.g_file_new_for_path (fileNameBuffer);
+ long /*int*/ file = OS.g_file_new_for_commandline_arg (fileNameBuffer);
if (file != 0) {
long /*int*/ uri = OS.g_file_get_uri (file);
if (uri != 0) {

View file

@ -0,0 +1,243 @@
--- a/make_freebsd.mak
+++ b/make_freebsd.mak
@@ -64,7 +64,7 @@ GLXLIBS = -L/usr/X11R6/lib -lGL -lGLU -lm
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
-MOZILLACFLAGS = -O \
+MOZILLACFLAGS += \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DMOZILLA_STRICT_API=1 \
@@ -91,7 +91,7 @@ XULRUNNER_OBJECTS = swt.o xpcomxul.o xpcomxul_custom.o xpcomxul_structs.o xpcomx
XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-CFLAGS = -O -Wall \
+CFLAGS += \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DFREEBSD -DGTK \
@@ -115,13 +115,13 @@ all: make_swt make_atk make_gnome make_glx
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -140,7 +140,7 @@ os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -156,7 +156,7 @@ cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -164,7 +164,7 @@ $(CDE_LIB): $(CDE_OBJECTS)
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+ $(CC) $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -172,7 +172,7 @@ $(AWT_LIB): $(AWT_OBJECTS)
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -189,7 +189,7 @@ atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -206,7 +206,7 @@ gnome_stats.o: gnome_stats.c gnome_stats.h
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
+ $(CXX) $(LDFLAGS) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -226,7 +226,7 @@ xpcom_stats.o: xpcom_stats.cpp
make_xulrunner:$(XULRUNNER_LIB)
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -252,7 +252,7 @@ xpcomxulglue_stats.o: xpcomglue_stats.cpp
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -269,7 +269,7 @@ xpcominit_stats.o: xpcominit_stats.cpp
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
--- a/make_linux.mak
+++ b/make_linux.mak
@@ -66,7 +66,7 @@ GLXLIBS = -lGL -lGLU -lm
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
-MOZILLACFLAGS = -O \
+MOZILLACFLAGS = $(CXXFLAGS) \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DMOZILLA_STRICT_API=1 \
@@ -106,7 +106,7 @@ XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o
WEBKIT_OBJECTS = swt.o webkit.o webkit_structs.o webkit_stats.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-CFLAGS = -O -Wall \
+CFLAGS += \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DLINUX -DGTK \
@@ -130,13 +130,13 @@ all: make_swt make_atk make_glx make_webkit
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -155,7 +155,7 @@ os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -171,7 +171,7 @@ cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -179,7 +179,7 @@ $(CDE_LIB): $(CDE_OBJECTS)
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+ $(CC) $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -187,7 +187,7 @@ $(AWT_LIB): $(AWT_OBJECTS)
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -204,7 +204,7 @@ atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -221,7 +221,7 @@ gnome_stats.o: gnome_stats.c gnome_stats.h
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
+ $(CXX) $(LDFLAGS) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -242,7 +242,7 @@ make_xulrunner:$(XULRUNNER_LIB)
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
echo -e "#include<stdlib.h>\nsize_t je_malloc_usable_size_in_advance(size_t n) {\nreturn n;\n}" | gcc --shared -xc - -o libswt-xulrunner-fix.so
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -262,7 +262,7 @@ xpcomxul_stats.o: xpcom_stats.cpp
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -279,7 +279,7 @@ xpcominit_stats.o: xpcominit_stats.cpp
make_webkit: $(WEBKIT_LIB)
$(WEBKIT_LIB): $(WEBKIT_OBJECTS)
- $(CC) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS)
webkit.o: webkitgtk.c
$(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk.c -o webkit.o
@@ -296,7 +296,7 @@ webkit_stats.o: webkitgtk_stats.c webkitgtk_stats.h
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c

View file

@ -0,0 +1,17 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
Bundle-SymbolicName: org.eclipse.swt.gtk.linux.SWT_ARCH; singleton:=true
Bundle-Version: 3.8
Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=SWT_ARCH))
Export-Package: org.eclipse.swt.internal.accessibility.gtk; x-internal:=true,
org.eclipse.swt.internal.cairo; x-internal:=true,
org.eclipse.swt.internal.cde; x-internal:=true,
org.eclipse.swt.internal.gnome; x-internal:=true,
org.eclipse.swt.internal.gtk; x-internal:=true,
org.eclipse.swt.internal.opengl.glx; x-internal:=true
org.eclipse.swt.internal.webkit; x-internal:=true

View file

@ -0,0 +1,44 @@
From c973b9b9be568ebbce618985bc5ee440babf8ab1 Mon Sep 17 00:00:00 2001
From: Jakub Adam <jakub.adam@ktknet.cz>
Date: Thu, 27 Jun 2013 10:16:49 +0200
Subject: [PATCH 1/2] fix-glib-2.35-compatibility
g_thread_init() and g_thread_supported() are deprecated and don't
have to be used anymore.
---
os.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
--- a/os.c
+++ b/os.c
@@ -4444,9 +4444,9 @@ fail:
JNIEXPORT void JNICALL OS_NATIVE(_1g_1thread_1init)
(JNIEnv *env, jclass that, jintLong arg0)
{
- OS_NATIVE_ENTER(env, that, _1g_1thread_1init_FUNC);
+ /*OS_NATIVE_ENTER(env, that, _1g_1thread_1init_FUNC);
g_thread_init((GThreadFunctions *)arg0);
- OS_NATIVE_EXIT(env, that, _1g_1thread_1init_FUNC);
+ OS_NATIVE_EXIT(env, that, _1g_1thread_1init_FUNC);*/
}
#endif
@@ -4454,11 +4454,12 @@ JNIEXPORT void JNICALL OS_NATIVE(_1g_1thread_1init)
JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1thread_1supported)
(JNIEnv *env, jclass that)
{
- jboolean rc = 0;
+ /*jboolean rc = 0;
OS_NATIVE_ENTER(env, that, _1g_1thread_1supported_FUNC);
rc = (jboolean)g_thread_supported();
OS_NATIVE_EXIT(env, that, _1g_1thread_1supported_FUNC);
- return rc;
+ return rc;*/
+ return 1;
}
#endif
--
1.7.10.4

View file

@ -0,0 +1,82 @@
diff -Naur a/make_linux.mak b/make_linux.mak
--- a/make_linux.mak 2019-01-07 14:08:00.269147198 +0100
+++ b/make_linux.mak 2019-01-07 14:10:28.645155241 +0100
@@ -101,7 +101,7 @@
WEBKIT_OBJECTS = swt.o webkitgtk.o webkitgtk_structs.o webkitgtk_stats.o webkitgtk_custom.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-CFLAGS := $(CFLAGS) \
+CFLAGS += -fPIC \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
$(SWT_DEBUG) \
@@ -129,13 +129,13 @@
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -154,7 +154,7 @@
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -169,7 +169,7 @@
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+ $(CC) -fPIC $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -177,7 +177,7 @@
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -198,7 +198,7 @@
endif
$(WEBKIT_LIB): $(WEBKIT_OBJECTS)
- $(CC) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS) $(WEBKITLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS) $(WEBKITLIBS)
webkitgtk.o: webkitgtk.c webkitgtk_custom.h
$(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk.c
@@ -217,7 +217,7 @@
make_webkit2extension: $(WEBKIT_EXTENSION_LIB)
$(WEBKIT_EXTENSION_LIB) : webkitgtk_extension.o
- $(CC) $(LFLAGS) -o $@ $^ $(WEBKIT_EXTENSION_LFLAGS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $@ $^ $(WEBKIT_EXTENSION_LFLAGS)
webkitgtk_extension.o : webkitgtk_extension.c
$(CC) $(CFLAGS) $(WEBKIT_EXTENSION_CFLAGS) ${SWT_PTR_CFLAGS} -fPIC -c $^
@@ -228,7 +228,7 @@
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c

View file

@ -0,0 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Fragment-Host: org.eclipse.swt; bundle-version=4.5.1
Bundle-SymbolicName: org.eclipse.swt.gtk.linux.SWT_ARCH; singleton:=true
Bundle-Version: 4.5
Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=SWT_ARCH))
Export-Package: org.eclipse.swt.internal.accessibility.gtk; x-internal:=true,
org.eclipse.swt.internal.cairo; x-internal:=true,
org.eclipse.swt.internal.cde; x-internal:=true,
org.eclipse.swt.internal.gnome; x-internal:=true,
org.eclipse.swt.internal.gtk; x-internal:=true,
org.eclipse.swt.internal.opengl.glx; x-internal:=true
org.eclipse.swt.internal.webkit; x-internal:=true

View file

@ -0,0 +1,243 @@
--- make_linux.mak- 2012-07-02 00:49:48.729100052 +0000
+++ make_linux.mak 2012-07-02 00:53:16.753499389 +0000
@@ -66,7 +66,7 @@
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
-MOZILLACFLAGS = -O \
+MOZILLACFLAGS = $(CXXFLAGS) \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DMOZILLA_STRICT_API=1 \
@@ -106,7 +106,7 @@
WEBKIT_OBJECTS = swt.o webkit.o webkit_structs.o webkit_stats.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-CFLAGS = -O -Wall \
+CFLAGS += \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DLINUX -DGTK \
@@ -130,13 +130,13 @@
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -155,7 +155,7 @@
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -171,7 +171,7 @@
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -179,7 +179,7 @@
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+ $(CC) $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -187,7 +187,7 @@
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -204,7 +204,7 @@
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -221,7 +221,7 @@
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
+ $(CXX) $(LDFLAGS) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -242,7 +242,7 @@
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
echo -e "#include<stdlib.h>\nsize_t je_malloc_usable_size_in_advance(size_t n) {\nreturn n;\n}" | gcc --shared -xc - -o libswt-xulrunner-fix.so
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -262,7 +262,7 @@
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -279,7 +279,7 @@
make_webkit: $(WEBKIT_LIB)
$(WEBKIT_LIB): $(WEBKIT_OBJECTS)
- $(CC) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS)
webkit.o: webkitgtk.c
$(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk.c -o webkit.o
@@ -296,7 +296,7 @@
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
--- make_freebsd.mak- 2012-07-02 00:53:28.553351871 +0000
+++ make_freebsd.mak 2012-07-02 00:55:37.369741444 +0000
@@ -64,7 +64,7 @@
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
-MOZILLACFLAGS = -O \
+MOZILLACFLAGS += \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DMOZILLA_STRICT_API=1 \
@@ -91,7 +91,7 @@
XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-CFLAGS = -O -Wall \
+CFLAGS += \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DFREEBSD -DGTK \
@@ -115,13 +115,13 @@
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -140,7 +140,7 @@
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -156,7 +156,7 @@
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -164,7 +164,7 @@
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+ $(CC) $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -172,7 +172,7 @@
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -189,7 +189,7 @@
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -206,7 +206,7 @@
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
+ $(CXX) $(LDFLAGS) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -226,7 +226,7 @@
make_xulrunner:$(XULRUNNER_LIB)
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -252,7 +252,7 @@
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
+ $(CXX) $(LDFLAGS) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -269,7 +269,7 @@
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c

View file

@ -0,0 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Fragment-Host: org.eclipse.swt; bundle-version=4.2.0
Bundle-SymbolicName: org.eclipse.swt.gtk.linux.SWT_ARCH; singleton:=true
Bundle-Version: 4.2
Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=SWT_ARCH))
Export-Package: org.eclipse.swt.internal.accessibility.gtk; x-internal:=true,
org.eclipse.swt.internal.cairo; x-internal:=true,
org.eclipse.swt.internal.cde; x-internal:=true,
org.eclipse.swt.internal.gnome; x-internal:=true,
org.eclipse.swt.internal.gtk; x-internal:=true,
org.eclipse.swt.internal.opengl.glx; x-internal:=true
org.eclipse.swt.internal.webkit; x-internal:=true

View file

@ -0,0 +1,169 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils flag-o-matic java-pkg-2 java-ant-2 toolchain-funcs java-osgi
MY_PV="${PV/_rc/RC}"
MY_DMF="http://download.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-201812060815"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="GTK based SWT Library"
HOMEPAGE="http://www.eclipse.org/"
SRC_URI="
amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip )
ppc64? ( ${MY_DMF}/${MY_P}-gtk-linux-ppc64le.zip )"
LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1"
SLOT="4.10"
KEYWORDS="~amd64 ~ppc64"
IUSE="cairo opengl webkit"
COMMON_DEP="
>=dev-libs/atk-1.10.2
>=dev-libs/glib-2.32
>=x11-libs/gtk+-2.6.8:2
x11-libs/libXtst
cairo? ( >=x11-libs/cairo-1.4.14 )
opengl? (
virtual/glu
virtual/opengl
)
webkit? (
net-libs/webkit-gtk:4
)"
DEPEND="${COMMON_DEP}
>=virtual/jdk-1.8
app-arch/unzip
virtual/pkgconfig
x11-base/xorg-proto
x11-libs/libX11
x11-libs/libXrender
x11-libs/libXt
>=x11-libs/libXtst-1.1.0"
RDEPEND="${COMMON_DEP}
>=virtual/jre-1.8"
S="${WORKDIR}"
# JNI libraries don't need SONAME, bug #253756
QA_SONAME='usr/lib[^/]*/libswt-[^/]+.so'
PATCHES=(
"${FILESDIR}"/${P}-as-needed-and-flag-fixes.patch
)
src_unpack() {
local DISTFILE=${A}
unzip -jq "${DISTDIR}"/${DISTFILE} swt.jar src.zip || die "Unable to extract distfile"
unpack "./src.zip"
# Cleanup the redirtied directory structure
rm -rf about_files/ || die
}
src_prepare() {
# Replace the build.xml to allow compilation without Eclipse tasks
cp "${FILESDIR}/build.xml" "${S}/build.xml" || die "Unable to update build.xml"
mkdir "${S}/src" && mv "${S}/org" "${S}/src" || die "Unable to restructure SWT sources"
# Apply patches
default
# Define missing g_thread_supported() to be already started.
sed -i '1s/^/#define g_thread_supported() 1\n\n/' "${S}"/os_custom.h || die
# Webext is also in the library directory
sed -i 's|findResource([^,]\+|findResource("swt"|' \
"${S}"/src/org/eclipse/swt/browser/WebKit.java || die
}
src_compile() {
# Drop jikes support as it seems to be unfriendly with SWT
java-pkg_filter-compiler jikes
local AWT_ARCH
local JAWTSO="libjawt.so"
if [[ $(tc-arch) == 'ppc64' ]] ; then
AWT_ARCH="ppc64"
else
AWT_ARCH="amd64"
fi
if [[ -f "${JAVA_HOME}/jre/lib/${AWT_ARCH}/${JAWTSO}" ]]; then
export AWT_LIB_PATH="${JAVA_HOME}/jre/lib/${AWT_ARCH}"
elif [[ -f "${JAVA_HOME}/jre/bin/${JAWTSO}" ]]; then
export AWT_LIB_PATH="${JAVA_HOME}/jre/bin"
elif [[ -f "${JAVA_HOME}/$(get_libdir)/${JAWTSO}" ]] ; then
export AWT_LIB_PATH="${JAVA_HOME}/$(get_libdir)"
elif [[ -f "${JAVA_HOME}/lib/${JAWTSO}" ]] ; then
export AWT_LIB_PATH="${JAVA_HOME}/lib"
else
eerror "${JAWTSO} not found in the JDK being used for compilation!"
die "cannot build AWT library"
fi
# Fix the pointer size for AMD64
export SWT_PTR_CFLAGS=-DJNI64
# Bug #461784, g_thread_init is deprecated since glib-2.32.
append-cflags -DNO__1g_1thread_1init
local make="emake -f make_linux.mak NO_STRIP=y CC=$(tc-getCC) CXX=$(tc-getCXX)"
einfo "Building AWT library"
${make} make_awt AWT_LIBS="-L\$(AWT_LIB_PATH) -Wl,-rpath,\$(AWT_LIB_PATH) -ljawt \`pkg-config --libs x11\`"
einfo "Building SWT library"
${make} make_swt
einfo "Building JAVA-AT-SPI bridge"
${make} make_atk
if use cairo ; then
einfo "Building CAIRO support"
${make} make_cairo
fi
if use opengl ; then
einfo "Building OpenGL component"
${make} make_glx
fi
if use webkit ; then
einfo "Building WebKit component"
${make} make_webkit make_webkit2extension
fi
einfo "Building JNI libraries"
eant compile
einfo "Copying missing files"
cp -i "${S}/version.txt" "${S}/build/version.txt" || die
cp -i "${S}/src/org/eclipse/swt/internal/SWTMessages.properties" \
"${S}/build/org/eclipse/swt/internal/" || die
unzip swt.jar 'org/eclipse/swt/internal/gtk/*.css' -d build || die
einfo "Packing JNI libraries"
eant jar
}
src_install() {
local swtArch=${ARCH}
use amd64 && swtArch=x86_64
sed "s/SWT_ARCH/${swtArch}/" "${FILESDIR}/${PN}-${SLOT}-manifest" > "MANIFEST_TMP.MF" || die
remove_from_manifest() {
local subpkg=$1
sed -i -e "/ org.eclipse.swt.internal.$subpkg; x-internal:=true,/d" "MANIFEST_TMP.MF" || die
}
use cairo || remove_from_manifest cairo
use opengl || remove_from_manifest opengl.glx
use webkit || remove_from_manifest webkit
java-osgi_newjar-fromfile "swt.jar" "MANIFEST_TMP.MF" "Standard Widget Toolkit for GTK 2.0"
java-pkg_sointo "/usr/$(get_libdir)/swt"
java-pkg_doso *.so
dodoc about.html
}

View file

@ -1,3 +1,3 @@
DIST recaf-1.15.10-patched.jar 49591747 BLAKE2B 851636021a9e28ecb030dde8633384e91dde0d14486e4f6090a3606ec794f7a9423665de702debf39b2bff62d9836c6762c05b087a0af1fd4205c4727a21f45a SHA512 7522cdfabc612ec09a800a95e7bc8e5c0e8189a31c6d23ca766f93be6640f32423ba9534954c522d8d86cef9e3a489a8d1e5bd7fbafbc73c58e0ff08bf24a97a
DIST recaf-1.15.10.jar 10203841 BLAKE2B 3c02b374922db441e3ccf304b3a532db47e78992c11b7878026f79a698f05caef6f28bf1bf34fa21a5c90dd03177d5b32b427f76b60a8c71d44853586ffdcf76 SHA512 7c9a724bea6b210f5b70a8635d36c54ad93e691ca2941109bb34e5e46bd0b4782ecc8b3115f1d5d02d7c3810942c3ec560b58413426aacc410784b064a14711b
DIST recaf-2.0.0-J11-jar-with-dependencies.jar 61962806 BLAKE2B c88395e02ec4d9c34e8c390b0d765f8e74b32a2113e25c6fabdbd7a6a2b4fb80ca04dfc8338566196c88eeab9b5c4d48e3297473b9a4cfa3e4732bbd366d76e3 SHA512 931f107ec1b548ab8cf6676c3fc96c6217e4b0d4dd79d37ea1d616dc731bf383c5f8ed31d48adb49ad7d22200252dab0de60c2ca15c5160066b69748024e9f0d
DIST recaf-bin-2.0.0_p5.jar 24305985 BLAKE2B 0b7179d8aaebbccc0cd455719c7e89dfa5c31ac35fb8ac88f14643f4526d5c4e4e260f9a7fdd904abc97adc5917f05cbd4544bda0dae41f7b5164203f77e899a SHA512 e8a77c9e054a0ce7ccca9f0bb8013f9560466fb06c6a66bd45b7227682524679df3912a96b8383aad0ab55b1970eaeacd491774130b9fb3d99b8afcd66b21c5e

View file

@ -16,7 +16,7 @@ KEYWORDS="~amd64"
IUSE="javafx"
#might work with oracle/javafx using https://gluonhq.com/products/javafx/
RDEPEND="|| ( virtual/jre virtual/jdk:* )
RDEPEND="|| ( virtual/jre:* virtual/jdk:* )
javafx? ( dev-java/openjdk[javafx?] ) "
DEPEND="${RDEPEND}"

View file

@ -1,39 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN="recaf"
DESCRIPTION="A modern Java bytecode editor"
HOMEPAGE="https://col-e.github.io/Recaf/"
SRC_URI="https://dev.pentoo.ch/~blshkv/distfiles/recaf-2.0.0-J11-jar-with-dependencies.jar"
#SRC_URI="javafx? ( https://github.com/Col-E/Recaf/releases/download/${PV}/${MY_PN}-${PV}.jar )"
# !javafx? ( https://dev.pentoo.ch/~blshkv/distfiles/${MY_PN}-${PV}-patched.jar )"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="javafx"
#might work with oracle/javafx using https://gluonhq.com/products/javafx/
RDEPEND="|| ( virtual/jre:11 virtual/jdk:11 )
javafx? ( dev-java/openjdk[javafx?] ) "
DEPEND="${RDEPEND}"
S="${WORKDIR}"
src_unpack() {
dodir "${S}"
cp -L "${DISTDIR}/${A}" "${S}/${MY_PN}.jar" || die
}
src_install() {
insinto "/opt/${MY_PN}/"
doins "${MY_PN}.jar"
newbin - ${MY_PN} <<-EOF
java -jar /opt/recaf/recaf.jar
EOF
}

View file

@ -0,0 +1,50 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN="recaf"
MY_PV="$(ver_cut 1-3)-redesign.$(ver_cut 5)"
DESCRIPTION="A modern Java bytecode editor"
HOMEPAGE="https://col-e.github.io/Recaf/"
SRC_URI="https://github.com/Col-E/Recaf/releases/download/${MY_PV}/recaf-$(ver_cut 1-3)-J8-jar-with-dependencies.jar -> ${P}.jar"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="system-openjfx"
RDEPEND="system-openjfx? ( dev-java/openjfx )
virtual/jre:*"
DEPEND="${RDEPEND}"
S="${WORKDIR}"
src_unpack() {
dodir "${S}"
cp -L "${DISTDIR}/${A}" "${S}/${MY_PN}.jar" || die
}
src_install() {
insinto "/opt/${MY_PN}/"
doins "${MY_PN}.jar"
newbin - ${MY_PN} <<-EOF
#!/bin/sh
FXLIB_PATH="/usr/lib64/openjfx-11/lib"
FXLIBS="\$FXLIB_PATH/javafx.base.jar:\$FXLIB_PATH/javafx.controls.jar:\
\$FXLIB_PATH/javafx.graphics.jar:\
/opt/${MY_PN}/recaf.jar"
java -cp \$FXLIBS me.coley.recaf.Recaf
EOF
}
pkg_postinst() {
if ! use system-openjfx; then
einfo "The tool is installed without system-openjfx use flag"
einfo "It will download openjfx during runtime into a home diretory"
fi
}

View file

@ -28,3 +28,4 @@ virtual/jre:11
#recaf
=dev-java/openjfx-11.0*
dev-java/swt:4.10
~dev-java/ant-core-1.10.7