Update to 3.5

- Remove traditional gecko support and replace with libxul.
This commit is contained in:
Robert Noland 2009-12-01 21:00:28 +00:00
parent dd464d3440
commit 1a7f0de42c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=245076
8 changed files with 176 additions and 71 deletions

View File

@ -6,11 +6,10 @@
#
PORTNAME= swt
DISTVERSION= 3.4
PORTREVISION= 1
DISTVERSION= 3.5
CATEGORIES= x11-toolkits devel java
MASTER_SITES= ${MASTER_SITE_ECLIPSE}
MASTER_SITE_SUBDIR= R-${DISTVERSION}-200806172000
MASTER_SITE_SUBDIR= R-${DISTVERSION}-200906111540
DISTNAME= swt-${DISTVERSION}-${DIST_EXT}
MAINTAINER= rnoland@FreeBSD.org
@ -20,16 +19,14 @@ ONLY_FOR_ARCHS= i386 amd64
CONFLICTS= swt-3.1*
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-${ARCH}-os.c
SWT_VERSION= 3448
SWT_VERSION= 3550
OUTPUT_JAR= swt.jar
USE_ZIP= yes
USE_GL= yes
USE_GNOME= gtk20 pkgconfig
USE_JAVA= yes
JAVA_VERSION= 1.4+
JAVA_VERSION= 1.5+
JAVA_OS= native
USE_ANT= yes
MAKE_ARGS+= -Doutput.jar=${OUTPUT_JAR}
@ -64,17 +61,15 @@ MAKE_GNOME= make_gnome
.endif
.if defined(WITH_BROWSER)
USE_GECKO= firefox seamonkey mozilla
.include "${PORTSDIR}/www/mozilla/bsd.gecko.mk"
PLIST_FILES+= lib/libswt-mozilla-gtk-%%BUILD%%.so
MAKE_MOZILLA= make_mozilla
USE_GECKO= libxul
PLIST_FILES+= lib/libswt-xulrunner-gtk-%%BUILD%%.so
MAKE_MOZILLA= make_xulrunner
.endif
MAKE_ENV+= MAKE_CAIRO=${MAKE_CAIRO} \
MAKE_GNOME=${MAKE_GNOME} \
MAKE_MOZILLA=${MAKE_MOZILLA}
MAKE_MOZILLA=${MAKE_MOZILLA} \
JAVA_HOME=${JAVA_HOME}
.if (${ARCH} == "amd64")
DIST_EXT= gtk-linux-x86_64
@ -86,10 +81,6 @@ post-extract:
@(cd ${WRKSRC} && ${UNZIP_CMD} -qo "*.zip")
@${RM} -f ${WRKSRC}/*.o ${WRKSRC}/*.so ${WRKSRC}/*.jar
post-patch:
@${REINPLACE_CMD} -e 's|mozilla-|${GECKO}-|' \
${WRKSRC}/build.sh
do-install:
${MKDIR} ${JAVAJARDIR}
${INSTALL_DATA} ${WRKSRC}/libswt-*.so ${PREFIX}/lib

View File

@ -1,6 +1,6 @@
MD5 (swt-3.4-gtk-linux-x86.zip) = b6bf01aa408377f2fe5f617a4dea1876
SHA256 (swt-3.4-gtk-linux-x86.zip) = c913105c740fe9cbbf7ab49f663acf5640b812995c2f9c716294f6b44a3185c4
SIZE (swt-3.4-gtk-linux-x86.zip) = 4548421
MD5 (swt-3.4-gtk-linux-x86_64.zip) = d1caf792ac86f211edcd6f08501a4807
SHA256 (swt-3.4-gtk-linux-x86_64.zip) = 67013b409f21bcad6ba07c36977d526dd0642184d1068158da9cb9d23b95e34d
SIZE (swt-3.4-gtk-linux-x86_64.zip) = 4730884
MD5 (swt-3.5-gtk-linux-x86.zip) = b489ab3d8fccb153343bfabf59b8f353
SHA256 (swt-3.5-gtk-linux-x86.zip) = cf92816555a54e613a8ececc24259f8c6bc1b463be2a6903a87c8278e6cdb337
SIZE (swt-3.5-gtk-linux-x86.zip) = 4834113
MD5 (swt-3.5-gtk-linux-x86_64.zip) = 82852b10fbf1597e038afe13183a7cbe
SHA256 (swt-3.5-gtk-linux-x86_64.zip) = 96ca4d807ef998c96dfa043a8cc30a36ff358fb4516cdb41bf7cbd71c2c6e3a7
SIZE (swt-3.5-gtk-linux-x86_64.zip) = 5021592

View File

@ -1,20 +0,0 @@
--- os.c.orig 2007-06-25 16:06:14.000000000 -0400
+++ os.c 2007-08-10 11:54:37.000000000 -0400
@@ -17397,11 +17397,16 @@
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 = (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;
}

View File

@ -1,12 +1,22 @@
--- build.sh.orig Thu May 31 18:04:22 2007
+++ build.sh Mon Jun 11 18:25:04 2007
@@ -65,15 +65,16 @@
--- build.sh.orig 2009-06-11 16:10:54.000000000 -0500
+++ build.sh 2009-12-01 14:42:09.000000000 -0600
@@ -44,6 +44,9 @@
"FreeBSD")
SWT_OS=freebsd
MAKEFILE=make_freebsd.mak
+ if uname -p > /dev/null 2>&1; then
+ MODEL=`uname -p`
+ fi
;;
*)
SWT_OS=`uname -s | tr -s '[:upper:]' '[:lower:]'`
@@ -75,15 +78,16 @@
esac
# For 64-bit CPUs, we have a switch
-if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' ]; then
+if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'amd64' ]; then
SWT_PTR_CFLAGS=-DSWT_PTR_SIZE_64
SWT_PTR_CFLAGS=-DJNI64
export SWT_PTR_CFLAGS
if [ -d /lib64 ]; then
- XLIB64=-L/usr/X11R6/lib64
@ -19,7 +29,7 @@
if [ x`pkg-config --exists gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0 && echo YES` = "xYES" ]; then
echo "libgnomeui-2.0 found, compiling SWT program support using GNOME"
MAKE_GNOME=make_gnome
@@ -81,7 +82,9 @@
@@ -91,7 +95,9 @@
echo "libgnome-2.0 and libgnomeui-2.0 not found:"
echo " *** SWT Program support for GNOME will not be compiled."
fi
@ -29,21 +39,44 @@
if [ x`pkg-config --exists cairo && echo YES` = "xYES" ]; then
echo "Cairo found, compiling SWT support for the cairo graphics library."
MAKE_CAIRO=make_cairo
@@ -89,7 +92,9 @@
@@ -99,30 +105,17 @@
echo "Cairo not found:"
echo " *** Advanced graphics support using cairo will not be compiled."
fi
+fi
+if [ x${MAKE_MOZILLA} = "xmake_mozilla" ]; then
if [ -z "${MOZILLA_INCLUDES}" -a -z "${MOZILLA_LIBS}" ]; then
if [ x`pkg-config --exists mozilla-xpcom && echo YES` = "xYES" ]; then
MOZILLA_INCLUDES=`pkg-config --cflags mozilla-xpcom`
@@ -107,6 +112,7 @@
echo "Mozilla/XPCOM or Firefox/XPCOM libraries not found:"
echo " *** Mozilla embedding support will not be compiled."
fi
+fi
-if [ -z "${MOZILLA_INCLUDES}" -a -z "${MOZILLA_LIBS}" ]; then
- if [ x`pkg-config --exists mozilla-xpcom && echo YES` = "xYES" ]; then
- MOZILLA_INCLUDES=`pkg-config --cflags mozilla-xpcom`
- MOZILLA_LIBS=`pkg-config --libs mozilla-xpcom`
- export MOZILLA_INCLUDES
- export MOZILLA_LIBS
- MAKE_MOZILLA=make_mozilla
- elif [ x`pkg-config --exists firefox-xpcom && echo YES` = "xYES" ]; then
- MOZILLA_INCLUDES=`pkg-config --cflags firefox-xpcom`
- MOZILLA_LIBS=`pkg-config --libs firefox-xpcom`
- export MOZILLA_INCLUDES
- export MOZILLA_LIBS
- MAKE_MOZILLA=make_mozilla
- elif [ x`pkg-config --exists libxul && echo YES` = "xYES" ]; then
- XULRUNNER_INCLUDES=`pkg-config --cflags libxul`
- XULRUNNER_LIBS=`pkg-config --libs libxul`
- export XULRUNNER_INCLUDES
- export XULRUNNER_LIBS
- MAKE_MOZILLA=make_xulrunner
- else
- echo "None of the following libraries were found: Mozilla/XPCOM, Firefox/XPCOM, or XULRunner/XPCOM"
- echo " *** Mozilla embedding support will not be compiled."
- fi
+if [ x${MAKE_MOZILLA} = "xmake_xulrunner" ]; then
+ echo "Using libxul for gecko support"
+ XULRUNNER_INCLUDES=`pkg-config --cflags libxul libxul-embedding`
+ XULRUNNER_LIBS=`pkg-config --libs libxul libxul-embedding`
+ export XULRUNNER_INCLUDES
+ export XULRUNNER_LIBS
+else
+ echo "None of the following libraries were found: XULRunner/XPCOM"
+ echo " *** Mozilla embedding support will not be compiled."
fi
# Find AWT if available

View File

@ -1,5 +1,5 @@
--- build.xml.orig 2005-12-05 15:14:46.000000000 -0500
+++ build.xml 2007-10-11 13:30:41.000000000 -0400
+++ build.xml 2007-10-11 13:38:48.000000000 -0400
@@ -1,55 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
+<project name="org.eclipse.swt.gtk.freebsd.x86_64" default="build.jar" basedir=".">

View File

@ -1,5 +1,12 @@
--- make_freebsd.mak.orig 2007-10-23 17:56:14.000000000 +0300
+++ make_freebsd.mak 2008-03-22 21:34:42.000000000 +0200
--- make_freebsd.mak.orig 2009-06-11 16:10:54.000000000 -0500
+++ make_freebsd.mak 2009-07-11 08:37:19.000000000 -0500
@@ -1,5 +1,5 @@
#*******************************************************************************
-# Copyright (c) 2000, 2007 IBM Corporation and others.
+# Copyright (c) 2000, 2009 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -9,7 +9,7 @@
# IBM Corporation - initial API and implementation
#*******************************************************************************
@ -18,20 +25,52 @@
CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
@@ -59,7 +59,7 @@
@@ -58,8 +58,8 @@
GNOMECFLAGS = `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0`
GNOMELIBS = `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2
GLXCFLAGS =
-GLXCFLAGS =
-GLXLIBS = -shared -fPIC -L/usr/X11R6/lib -lGL -lGLU -lm
+GLXCFLAGS = -I$(LOCALBASE)/include
+GLXLIBS = -shared -fPIC -L$(LOCALBASE)/lib -lGL -lGLU -lm
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
@@ -97,17 +97,18 @@
@@ -78,7 +78,17 @@
-I$(JAVA_HOME)/include/freebsd \
${SWT_PTR_CFLAGS}
MOZILLALIBS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic
-
+MOZILLAEXCLUDES = -DNO__1XPCOMGlueShutdown \
+ -DNO__1XPCOMGlueStartup \
+ -DNO__1XPCOMGlueLoadXULFunctions \
+ -DNO_memmove__ILorg_eclipse_swt_internal_mozilla_nsDynamicFunctionLoad_2I \
+ -DNO_memmove__JLorg_eclipse_swt_internal_mozilla_nsDynamicFunctionLoad_2J \
+ -DNO_nsDynamicFunctionLoad_1sizeof \
+ -DNO__1Call__IIIIII \
+ -DNO__1Call__JJJJJI \
+ -DNO_nsDynamicFunctionLoad
+XULRUNNEREXCLUDES = -DNO__1NS_1InitXPCOM2
+
SWT_OBJECTS = swt.o c.o c_stats.o callback.o
CDE_OBJECTS = swt.o cde.o cde_structs.o cde_stats.o
AWT_OBJECTS = swt_awt.o
@@ -87,7 +97,7 @@
ATK_OBJECTS = swt.o atk.o atk_structs.o atk_custom.o atk_stats.o
GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o
MOZILLA_OBJECTS = swt.o xpcom.o xpcom_custom.o xpcom_structs.o xpcom_stats.o
-XULRUNNER_OBJECTS = swt.o xpcomxul.o xpcomxul_custom.o xpcomxul_structs.o xpcomxul_stats.o xpcomxulglue.o xpcomxulglue_stats.o
+XULRUNNER_OBJECTS = swt.o xpcomxul.o xpcomxul_custom.o xpcomxul_structs.o xpcomxul_stats.o
XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
@@ -95,19 +105,20 @@
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DFREEBSD -DGTK \
+ -I$(LOCALBASE)/include \
-I$(JAVA_HOME)/include \
-I$(JAVA_HOME)/include/freebsd \
+ -I$(LOCALBASE)/include \
-fPIC \
${SWT_PTR_CFLAGS}
LIBS = -shared -fPIC
@ -52,3 +91,51 @@
#
# SWT libs
@@ -209,16 +220,16 @@
$(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
- $(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom.cpp
+ $(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom.cpp
xpcom_structs.o: xpcom_structs.cpp
- $(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom_structs.cpp
+ $(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom_structs.cpp
xpcom_custom.o: xpcom_custom.cpp
- $(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom_custom.cpp
+ $(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom_custom.cpp
xpcom_stats.o: xpcom_stats.cpp
- $(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom_stats.cpp
+ $(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom_stats.cpp
#
# XULRunner lib
@@ -229,22 +240,16 @@
$(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
- $(CXX) -o xpcomxul.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom.cpp
+ $(CXX) -o xpcomxul.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom.cpp
xpcomxul_structs.o: xpcom_structs.cpp
- $(CXX) -o xpcomxul_structs.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom_structs.cpp
+ $(CXX) -o xpcomxul_structs.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom_structs.cpp
xpcomxul_custom.o: xpcom_custom.cpp
- $(CXX) -o xpcomxul_custom.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom_custom.cpp
+ $(CXX) -o xpcomxul_custom.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom_custom.cpp
xpcomxul_stats.o: xpcom_stats.cpp
- $(CXX) -o xpcomxul_stats.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom_stats.cpp
-
-xpcomxulglue.o: xpcomglue.cpp
- $(CXX) -o xpcomxulglue.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcomglue.cpp
-
-xpcomxulglue_stats.o: xpcomglue_stats.cpp
- $(CXX) -o xpcomxulglue_stats.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcomglue_stats.cpp
+ $(CXX) -o xpcomxul_stats.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom_stats.cpp
#
# XPCOMInit lib

View File

@ -0,0 +1,14 @@
--- org/eclipse/swt/internal/C.java.orig 2009-07-11 08:21:27.000000000 -0500
+++ org/eclipse/swt/internal/C.java 2009-07-11 08:22:21.000000000 -0500
@@ -13,9 +13,9 @@
public class C extends Platform {
static {
- if ("Linux".equals (System.getProperty ("os.name")) && "motif".equals (Platform.PLATFORM)) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ if ("FreeBSD".equals (System.getProperty ("os.name")) && "motif".equals (Platform.PLATFORM)) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
try {
- Library.loadLibrary ("libXm.so.2", false); //$NON-NLS-1$
+ Library.loadLibrary ("libXm.so.3", false); //$NON-NLS-1$
} catch (Throwable ex) {}
}
Library.loadLibrary ("swt"); //$NON-NLS-1$

View File

@ -1,7 +1,7 @@
--- os.c.orig 2007-04-26 14:03:00.000000000 -0400
+++ os.c 2007-08-10 11:56:22.000000000 -0400
@@ -17397,11 +17397,16 @@
jint rc = 0;
--- os.c.orig 2008-12-31 16:16:39.000000000 -0500
+++ os.c 2008-12-31 16:20:29.000000000 -0500
@@ -18036,11 +18036,16 @@
jintLong 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;
@ -9,7 +9,7 @@
+ if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ } else
+ lparg1 = malloc(PATH_MAX);
rc = (jint)realpath((const char *)lparg0, (char *)lparg1);
rc = (jintLong)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);