diff --git a/x11-toolkits/swt/Makefile b/x11-toolkits/swt/Makefile index 8cee5d4569ef..980b09500857 100644 --- a/x11-toolkits/swt/Makefile +++ b/x11-toolkits/swt/Makefile @@ -1,60 +1,60 @@ # Created by: Robert C. Noland III PORTNAME= swt -DISTVERSION= 4.11 -PORTREVISION= 2 +DISTVERSION= 4.20 CATEGORIES= x11-toolkits devel java -MASTER_SITES= http://archive.eclipse.org/eclipse/downloads/drops4/R-${DISTVERSION}-201903070500/ +MASTER_SITES= http://archive.eclipse.org/eclipse/downloads/drops4/R-${DISTVERSION}-202106111600/ DISTNAME= ${PORTNAME}-${DISTVERSION}-gtk-linux-x86_64 MAINTAINER= makc@FreeBSD.org COMMENT= Standard Widget Toolkit for Java LICENSE= EPL ONLY_FOR_ARCHS= aarch64 amd64 i386 powerpc64 powerpc64le USES= compiler:c++11-lang gl gmake gnome pkgconfig zip:infozip xorg USE_ANT= yes USE_GL= glu gl USE_GNOME= gdkpixbuf2 gtk30 USE_JAVA= yes USE_XORG= xtst JAVA_OS= native -SWT_VERSION= 4924r25 +SWT_VERSION= 4944r26 MAKEFILE= make_freebsd.mak MAKE_ENV= SWT_VERSION=${SWT_VERSION} PLIST_SUB= SWT_VERSION=${SWT_VERSION} NO_WRKSUBDIR= yes OPTIONS_DEFINE= CAIRO WEBKIT OPTIONS_DEFAULT= CAIRO OPTIONS_SUB= yes -CAIRO_LIB_DEPENDS= libcairo.so:graphics/cairo +CAIRO_USE= GNOME=cairo CAIRO_MAKE_ENV= MAKE_CAIRO=make_cairo +WEBKIT_IMPLIES= CAIRO WEBKIT_LIB_DEPENDS= libsoup-2.4.so:devel/libsoup \ libwebkit2gtk-4.0.so:www/webkit2-gtk3 WEBKIT_MAKE_ENV= BUILD_WEBKIT2EXTENSION=yes WEBKIT_MAKE_ENV_OFF= BUILD_WEBKIT2EXTENSION=no post-extract: @(cd ${WRKSRC} && ${UNZIP_CMD} -qo "*.zip") @${CP} ${FILESDIR}/build.xml ${WRKSRC}/build.xml @${CP} ${WRKSRC}/make_linux.mak ${WRKSRC}/make_freebsd.mak post-patch: ${SED} -e 's|freebsd|dragonfly|g' ${WRKSRC}/make_freebsd.mak \ > ${WRKSRC}/make_dragonfly.mak do-install: @${MKDIR} ${STAGEDIR}${JAVAJARDIR} ${INSTALL_LIB} ${WRKSRC}/libswt-*.so ${STAGEDIR}${PREFIX}/lib ${INSTALL_DATA} ${WRKSRC}/swt.jar ${STAGEDIR}${JAVAJARDIR}/ .include diff --git a/x11-toolkits/swt/distinfo b/x11-toolkits/swt/distinfo index 37178b7cdd73..eb9b0137ae53 100644 --- a/x11-toolkits/swt/distinfo +++ b/x11-toolkits/swt/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1560677318 -SHA256 (swt-4.11-gtk-linux-x86_64.zip) = 2ca4029a2154e8ded50a61f330d916dfc66cb749d4cfcc3e245730553268e663 -SIZE (swt-4.11-gtk-linux-x86_64.zip) = 3889518 +TIMESTAMP = 1627381059 +SHA256 (swt-4.20-gtk-linux-x86_64.zip) = 0d1ab552b95aab6df6c0499c934fd82864100dc638c43b6c1e793e740bb534c2 +SIZE (swt-4.20-gtk-linux-x86_64.zip) = 3808712 diff --git a/x11-toolkits/swt/files/patch-OS.java b/x11-toolkits/swt/files/patch-OS.java index ed49c51056e3..5a89171d0b5c 100644 --- a/x11-toolkits/swt/files/patch-OS.java +++ b/x11-toolkits/swt/files/patch-OS.java @@ -1,22 +1,22 @@ ---- org/eclipse/swt/internal/gtk/OS.java.orig 2019-03-07 04:31:06 UTC +--- org/eclipse/swt/internal/gtk/OS.java.orig 2021-06-11 17:24:22 UTC +++ org/eclipse/swt/internal/gtk/OS.java -@@ -53,15 +53,16 @@ +@@ -61,15 +61,16 @@ import org.eclipse.swt.internal.*; */ public class OS extends C { /** OS Constants */ - public static final boolean IsLinux, IsWin32, BIG_ENDIAN; + public static final boolean IsLinux, IsWin32, BIG_ENDIAN, IsFreeBSD; static { /* Initialize the OS flags and locale constants */ String osName = System.getProperty ("os.name"); - boolean isLinux = false, isWin32 = false; + boolean isLinux = false, isWin32 = false, isFreeBSD = false; if (osName.equals ("Linux")) isLinux = true; if (osName.startsWith("Windows")) isWin32 = true; - IsLinux = isLinux; IsWin32 = isWin32; + if (osName.equals ("FreeBSD")) isFreeBSD = true; + IsLinux = isLinux; IsWin32 = isWin32; IsFreeBSD = isFreeBSD; byte[] buffer = new byte[4]; - long /*int*/ ptr = C.malloc(4); + long ptr = C.malloc(4); diff --git a/x11-toolkits/swt/files/patch-build.sh b/x11-toolkits/swt/files/patch-build.sh index 9536139667d3..19afc49f5095 100644 --- a/x11-toolkits/swt/files/patch-build.sh +++ b/x11-toolkits/swt/files/patch-build.sh @@ -1,98 +1,85 @@ ---- build.sh.orig 2019-03-07 04:31:04 UTC +--- build.sh.orig 2021-06-11 17:24:22 UTC +++ build.sh @@ -72,7 +72,7 @@ echo -e "${RED}*** ${@}${NC}" cd `dirname $0` -MAKE_TYPE=make +MAKE_TYPE=gmake export CFLAGS='-O -Wall -fPIC' @@ -86,15 +86,15 @@ case $OS in MAKEFILE=make_win32.mak ;; *) - SWT_OS=`uname -s | tr -s '[:upper:]' '[:lower:]'` - MAKEFILE=make_linux.mak + SWT_OS=`uname -s | tr '[:upper:]' '[:lower:]'` + MAKEFILE=make_${SWT_OS}.mak ;; esac # Determine which CPU type we are building for if [ "${MODEL}" = "" ]; then - if uname -i > /dev/null 2>&1; then - MODEL=`uname -i` + if uname -p > /dev/null 2>&1; then + MODEL=`uname -p` if [ ${MODEL} = 'unknown' ]; then MODEL=`uname -m` fi -@@ -103,7 +103,7 @@ if [ "${MODEL}" = "" ]; then +@@ -103,10 +103,18 @@ if [ "${MODEL}" = "" ]; then fi fi case $MODEL in - "x86_64") + "x86_64"|"amd64") SWT_ARCH=x86_64 AWT_ARCH=amd64 ;; -@@ -111,6 +111,14 @@ case $MODEL in - SWT_ARCH=x86 - AWT_ARCH=i386 - ;; + powerpc64) + SWT_ARCH=ppc64 + AWT_ARCH=ppc64 + ;; + powerpc64le) + SWT_ARCH=ppc64le + AWT_ARCH=ppc64le + ;; *) SWT_ARCH=$MODEL AWT_ARCH=$MODEL -@@ -156,7 +164,7 @@ case $SWT_OS.$SWT_ARCH in - # Cross-platform method of finding JAVA_HOME. - # Tested on Fedora 24 and Ubuntu 16 - DYNAMIC_JAVA_HOME=`readlink -f /usr/bin/java | sed "s:jre/::" | sed "s:bin/java::"` -- if [ -a "${DYNAMIC_JAVA_HOME}include/jni.h" ]; then -+ if [ -a "${DYNAMIC_JAVA_HOME}include/freebsd/jni.h" ]; then - func_echo_plus "JAVA_HOME not set, but jni.h found, dynamically configured to $DYNAMIC_JAVA_HOME" - export JAVA_HOME="$DYNAMIC_JAVA_HOME" - else -@@ -194,10 +202,10 @@ esac +@@ -148,10 +156,10 @@ esac # For 64-bit CPUs, we have a switch --if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' ]; then -+if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'amd64' -o ${MODEL} = 's390x' -o ${MODEL} = 'powerpc64' -o ${MODEL} = 'powerpc64le' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' ]; then +-if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' ]; then ++if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'amd64' -o ${MODEL} = 'powerpc64' -o ${MODEL} = 'powerpc64le' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' ]; then SWT_PTR_CFLAGS=-DJNI64 if [ -d /lib64 ]; then - XLIB64=-L/usr/X11R6/lib64 + XLIB64=-L${LOCALBASE}/lib64 export XLIB64 fi if [ ${MODEL} = 'ppc64le' ]; then -@@ -214,11 +222,13 @@ if [ ${MODEL} = 'x86' -a ${SWT_OS} = 'linux' ]; then - export SWT_LFLAGS SWT_PTR_CFLAGS +@@ -163,11 +171,13 @@ if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64le' -o ${ + export SWT_PTR_CFLAGS fi +if [ x${MAKE_CAIRO} = "xmake_cairo" ]; then if [ x`pkg-config --exists cairo && echo YES` = "xYES" ]; then func_echo_plus "Cairo found, compiling SWT support for the cairo graphics library." MAKE_CAIRO=make_cairo else func_echo_error "Cairo not found: Advanced graphics support using cairo will not be compiled." +fi fi # Find AWT if available -@@ -364,4 +374,4 @@ elif [ "${GTK_VERSION}" = "4.0" ]; then +@@ -332,4 +342,4 @@ elif [ "${GTK_VERSION}" = "4.0" ]; then elif [ "${GTK_VERSION}" = "3.0" -o "${GTK_VERSION}" = "" ]; then export GTK_VERSION="3.0" func_build_gtk3 "$@" -fi \ No newline at end of file +fi diff --git a/x11-toolkits/swt/files/patch-make_freebsd.mak b/x11-toolkits/swt/files/patch-make_freebsd.mak index 57ee7e838780..bc82f853ab8b 100644 --- a/x11-toolkits/swt/files/patch-make_freebsd.mak +++ b/x11-toolkits/swt/files/patch-make_freebsd.mak @@ -1,65 +1,70 @@ ---- make_freebsd.mak.orig 2021-01-11 14:12:37 UTC +--- make_freebsd.mak.orig 2021-07-27 10:18:21 UTC +++ make_freebsd.mak @@ -12,7 +12,7 @@ # IBM Corporation - initial API and implementation #******************************************************************************* -# Makefile for creating SWT libraries for Linux GTK +# Makefile for creating SWT libraries for FreeBSD GTK # SWT debug flags for various SWT components. #SWT_WEBKIT_DEBUG = -DWEBKIT_DEBUG -@@ -64,9 +64,9 @@ CAIROLIBS = `pkg-config --libs-only-L cairo` -lcairo +@@ -66,11 +66,11 @@ CAIROLIBS = `pkg-config --libs-only-L cairo` -lcairo # Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0) - GTKCFLAGS = `pkg-config --cflags gtk+-$(GTK_VERSION) gtk+-unix-print-$(GTK_VERSION)` ifeq ($(GTK_VERSION), 4.0) --GTKLIBS = `pkg-config --libs-only-L gtk+-$(GTK_VERSION) gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lgtk-4 -lcairo -lgthread-2.0 -+GTKLIBS = `pkg-config --libs-only-L gtk+-$(GTK_VERSION) gthread-2.0` $(XLIB64) -L$(LOCALBASE)/lib -lgtk-4 -lcairo -lgthread-2.0 + GTKCFLAGS = `pkg-config --cflags gtk4 gtk4-x11 gtk4-unix-print` +-GTKLIBS = `pkg-config --libs-only-L gtk4 gtk4-x11 gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lgtk-4 -lcairo -lgthread-2.0 ++GTKLIBS = `pkg-config --libs-only-L gtk4 gtk4-x11 gthread-2.0` $(XLIB64) -L$(LOCALBASE)/lib -lgtk-4 -lcairo -lgthread-2.0 + ATKCFLAGS = `pkg-config --cflags atk gtk4 gtk4-unix-print` else + GTKCFLAGS = `pkg-config --cflags gtk+-$(GTK_VERSION) gtk+-unix-print-$(GTK_VERSION)` -GTKLIBS = `pkg-config --libs-only-L gtk+-$(GTK_VERSION) gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lgtk-3 -lgdk-3 -lcairo -lgthread-2.0 +GTKLIBS = `pkg-config --libs-only-L gtk+-$(GTK_VERSION) gthread-2.0` $(XLIB64) -L$(LOCALBASE)/lib -lgtk-3 -lgdk-3 -lcairo -lgthread-2.0 + ATKCFLAGS = `pkg-config --cflags atk gtk+-$(GTK_VERSION) gtk+-unix-print-$(GTK_VERSION)` endif - AWT_LFLAGS = -shared ${SWT_LFLAGS} -@@ -75,12 +75,13 @@ AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt - ATKCFLAGS = `pkg-config --cflags atk gtk+-$(GTK_VERSION) gtk+-unix-print-$(GTK_VERSION)` +@@ -79,12 +79,13 @@ AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt + ATKLIBS = `pkg-config --libs-only-L atk` -latk-1.0 -GLXLIBS = -lGL -lGLU -lm +GLXLIBS = -L$(LOCALBASE)/lib -lGL -lGLU -lm +GLXCFLAGS = -I$(LOCALBASE)/include # Uncomment for Native Stats tool #NATIVE_STATS = -DNATIVE_STATS -WEBKITLIBS = `pkg-config --libs-only-l gio-2.0` +WEBKITLIBS = `pkg-config --libs-only-l gio-2.0` $(XLIB64) -L$(LOCALBASE)/lib WEBKITCFLAGS = `pkg-config --cflags gio-2.0` WEBKIT_EXTENSION_CFLAGS=`pkg-config --cflags gtk+-3.0 webkit2gtk-web-extension-4.0` -@@ -108,17 +109,18 @@ CFLAGS := $(CFLAGS) \ +@@ -120,7 +121,8 @@ CFLAGS := $(CFLAGS) \ $(SWT_WEBKIT_DEBUG) \ -DLINUX -DGTK \ -I$(JAVA_HOME)/include \ - -I$(JAVA_HOME)/include/linux \ + -I$(JAVA_HOME)/include/freebsd \ + -I$(LOCALBASE)/include \ ${SWT_PTR_CFLAGS} LFLAGS = -shared -fPIC ${SWT_LFLAGS} +@@ -129,12 +131,12 @@ LFLAGS = -shared -fPIC ${SWT_LFLAGS} + CFLAGS += -Werror + ifndef NO_STRIP - # -s = Remove all symbol table and relocation information from the executable. - # i.e, more efficent code, but removes debug information. Should not be used if you want to debug. - # https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#Link-Options - # http://stackoverflow.com/questions/14175040/effects-of-removing-all-symbol-table-and-relocation-information-from-an-executab - AWT_LFLAGS := $(AWT_LFLAGS) -s - LFLAGS := $(LFLAGS) -s +# -s = Remove all symbol table and relocation information from the executable. +# i.e, more efficent code, but removes debug information. Should not be used if you want to debug. +# https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#Link-Options +# http://stackoverflow.com/questions/14175040/effects-of-removing-all-symbol-table-and-relocation-information-from-an-executab +AWT_LFLAGS := $(AWT_LFLAGS) -s +LFLAGS := $(LFLAGS) -s endif all: make_swt make_atk make_glx make_webkit diff --git a/x11-toolkits/swt/files/patch-org_eclipse_swt_graphics_Device.java b/x11-toolkits/swt/files/patch-org_eclipse_swt_graphics_Device.java index c676135e549d..98789df25c16 100644 --- a/x11-toolkits/swt/files/patch-org_eclipse_swt_graphics_Device.java +++ b/x11-toolkits/swt/files/patch-org_eclipse_swt_graphics_Device.java @@ -1,11 +1,11 @@ ---- org/eclipse/swt/graphics/Device.java.orig 2019-03-07 02:31:06 UTC +--- org/eclipse/swt/graphics/Device.java.orig 2021-06-11 17:24:22 UTC +++ org/eclipse/swt/graphics/Device.java -@@ -701,7 +701,7 @@ protected void init () { +@@ -740,7 +740,7 @@ protected void init () { } systemFont = Font.gtk_new (this, defaultFont); - overrideThemeValues(); + //overrideThemeValues(); } /** diff --git a/x11-toolkits/swt/files/patch-os.c b/x11-toolkits/swt/files/patch-os.c index e44dbf2a4fcb..19b342888fbd 100644 --- a/x11-toolkits/swt/files/patch-os.c +++ b/x11-toolkits/swt/files/patch-os.c @@ -1,20 +1,20 @@ ---- os.c.orig 2008-12-31 21:16:39 UTC +--- os.c.orig 2021-06-11 17:24:22 UTC +++ os.c -@@ -18036,11 +18036,16 @@ - jintLong rc = 0; +@@ -16083,11 +16083,16 @@ JNIEXPORT jlong JNICALL OS_NATIVE(realpath) + jlong rc = 0; OS_NATIVE_ENTER(env, that, realpath_FUNC); if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail; - if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail; + if (arg1) { + if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail; + } else + lparg1 = malloc(PATH_MAX); - rc = (jintLong)realpath((const char *)lparg0, (char *)lparg1); + rc = (jlong)realpath((const char *)lparg0, (char *)lparg1); fail: if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0); if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0); + if (!arg1 && lparg1 && rc == 0) + free(lparg1); OS_NATIVE_EXIT(env, that, realpath_FUNC); return rc; } diff --git a/x11-toolkits/swt/files/patch-os__custom.h b/x11-toolkits/swt/files/patch-os__custom.h deleted file mode 100644 index 803689e3524f..000000000000 --- a/x11-toolkits/swt/files/patch-os__custom.h +++ /dev/null @@ -1,11 +0,0 @@ ---- os_custom.h.orig 2019-03-07 02:31:04 UTC -+++ os_custom.h -@@ -105,7 +105,7 @@ glong g_utf16_offset_to_utf8_offset(const gchar*, glon - glong g_utf8_offset_to_utf16_offset(const gchar*, glong); - - // Cached JVM pointer: see bug 521487. --JavaVM *cached_jvm; -+extern JavaVM *cached_jvm; - - #define SWT_TYPE_FIXED (swt_fixed_get_type ()) - #define SWT_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWT_TYPE_FIXED, SwtFixed))