Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Nov 2006 18:22:41 -0500 (EST)
From:      Robert Noland <rnoland@2hip.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        bdymek@ieee.org
Subject:   ports/105586: [NEW PORT] x11-toolkits/swt32: Standard Widget Toolkit for Java
Message-ID:  <200611152322.kAFNMfRq099780@rnoland-ibm.acs.internap.com>
Resent-Message-ID: <200611152330.kAFNU7ux060874@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         105586
>Category:       ports
>Synopsis:       [NEW PORT] x11-toolkits/swt32: Standard Widget Toolkit for Java
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 15 23:30:06 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Robert Noland
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD gizmo.2hip.net 7.0-CURRENT FreeBSD 7.0-CURRENT #74: Wed Nov  1 14:49:40 EST
>Description:
SWT is the software component that delivers native widget functionality
for the Eclipse platform in an operating system independent manner.

This port provides SWT without requiring a full download and build of
Eclipse.

WWW:	http://www.eclipse.org/swt/

Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:

--- swt-3.2.1.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	swt32
#	swt32/files
#	swt32/files/patch-make_freebsd.mak
#	swt32/files/patch-build.sh
#	swt32/files/patch-OS.java
#	swt32/files/patch-build.xml
#	swt32/files/patch-xpcom_profile.h
#	swt32/Makefile
#	swt32/distinfo
#	swt32/pkg-descr
#
echo c - swt32
mkdir -p swt32 > /dev/null 2>&1
echo c - swt32/files
mkdir -p swt32/files > /dev/null 2>&1
echo x - swt32/files/patch-make_freebsd.mak
sed 's/^X//' >swt32/files/patch-make_freebsd.mak << 'END-of-swt32/files/patch-make_freebsd.mak'
X--- make_freebsd.mak.orig	Wed Nov 15 16:34:25 2006
X+++ make_freebsd.mak	Wed Nov 15 16:36:53 2006
X@@ -9,7 +9,7 @@
X #     IBM Corporation - initial API and implementation
X #*******************************************************************************
X 
X-# Makefile for creating SWT libraries for Linux GTK
X+# Makefile for creating SWT libraries for FreeBSD GTK
X 
X include make_common.mak
X 
X@@ -78,7 +78,7 @@
X 	-fPIC \
X 	-I. \
X 	-I$(JAVA_HOME)/include \
X-	-I$(JAVA_HOME)/include/linux \
X+	-I$(JAVA_HOME)/include/freebsd \
X 	${SWT_PTR_CFLAGS}
X MOZILLALIBS = -shared -s -Wl,--version-script=mozilla_exports -Bsymbolic
X 	
X@@ -98,15 +98,16 @@
X CFLAGS = -O -Wall \
X 		-DSWT_VERSION=$(SWT_VERSION) \
X 		$(NATIVE_STATS) \
X-		-DLINUX -DGTK \
X+		-DFREEBSD -DGTK \
X 		-I$(JAVA_HOME)/include \
X-		-I$(JAVA_HOME)/include/linux \
X-		-fPIC \
X+		-I$(JAVA_HOME)/include/freebsd \
X+                -fpic -fPIC \
X+                -I$(X11BASE)/include \
X 		${SWT_PTR_CFLAGS}
X-LIBS = -shared -fPIC -s
X+LIBS = -shared -fPIC -fpic -s
X 
X 
X-all: make_swt make_atk make_gnome make_glx
X+all: make_swt make_atk $(MAKE_GNOME) make_awt $(MAKE_MOZILLA) $(MAKE_CAIRO) make_glx
X 
X #
X # SWT libs
X@@ -220,22 +221,22 @@
X 	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_stats.cpp	
X 
X $(PROFILE14_OBJECTS): xpcom_profile.cpp
X-	$(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${PROFILE14_INCLUDES} -c xpcom_profile.cpp	
X+	$(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${GECKO_INCLUDES} ${PROFILE14_INCLUDES} -c xpcom_profile.cpp	
X 
X $(PROFILE17_OBJECTS): xpcom_profile.cpp
X-	$(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${PROFILE17_INCLUDES} -c xpcom_profile.cpp	
X+	$(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${GECKO_INCLUDES} ${PROFILE17_INCLUDES} -c xpcom_profile.cpp	
X 
X $(PROFILE18_OBJECTS): xpcom_profile.cpp
X-	$(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${PROFILE18_INCLUDES} -c xpcom_profile.cpp	
X+	$(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${GECKO_INCLUDES} ${PROFILE18_INCLUDES} -c xpcom_profile.cpp	
X 
X $(PROFILE14_LIB): $(PROFILE14_OBJECTS)
X-	$(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${PROFILE14_LIBS}
X+	$(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${GECKO_LIBS} ${PROFILE14_LIBS}
X 
X $(PROFILE17_LIB): $(PROFILE17_OBJECTS)
X-	$(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${PROFILE17_LIBS}
X+	$(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${GECKO_LIBS} ${PROFILE17_LIBS}
X 
X $(PROFILE18_LIB): $(PROFILE18_OBJECTS)
X-	$(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${PROFILE18_LIBS}
X+	$(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${GECKO_LIBS} ${PROFILE18_LIBS}
X 
X #
X # GLX lib
X@@ -264,4 +265,4 @@
X # Clean
X #
X clean:
X-	rm -f *.o *.so
X+	rm -f *.o *.so *.jar
END-of-swt32/files/patch-make_freebsd.mak
echo x - swt32/files/patch-build.sh
sed 's/^X//' >swt32/files/patch-build.sh << 'END-of-swt32/files/patch-build.sh'
X--- build.sh.orig	2005-12-15 15:19:38.000000000 -0500
X+++ build.sh	2006-01-24 15:27:53.000000000 -0500
X@@ -12,10 +12,14 @@
X #     Tom Tromey (Red Hat, Inc.)
X #*******************************************************************************
X 
X-cd `dirname $0`
X+#cd `dirname $0`
X 
X if [ "${JAVA_HOME}" = "" ]; then
X 	echo "Please set JAVA_HOME to point at a JRE."
X+else
X+	JAVA_HOME=`echo \$JAVA_HOME | sed 's/\/jre//g'`
X+	echo "JAVA_HOME=$JAVA_HOME"
X+	echo
X fi
X if [ "${CC}" = "" ]; then
X 	CC=gcc
X@@ -31,6 +35,10 @@
X 		SWT_OS=solaris
X 		MAKEFILE=make_solaris.mak
X 		;;
X+	"FreeBSD")
X+		SWT_OS=freebsd
X+		MAKEFILE=make_freebsd.mak
X+		;;
X 	*)
X 		SWT_OS=`uname -s | tr -s '[:upper:]' '[:lower:]'`
X 		MAKEFILE=make_linux.mak
X@@ -61,7 +69,7 @@
X esac
X 
X # For 64-bit CPUs, we have a switch
X-if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64' -o ${MODEL} = 'ia64' ]; then
X+if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64' -o ${MODEL} = 'ia64' -o ${MODEL} = 'amd64' ]; then
X 	SWT_PTR_CFLAGS=-DSWT_PTR_SIZE_64
X 	export SWT_PTR_CFLAGS
X 	if [ -d /lib64 ]; then
X@@ -124,7 +132,8 @@
X fi
X 
X if [ "x${1}" = "xclean" ]; then
X-	make -f $MAKEFILE clean
X+	gmake -f $MAKEFILE clean
X else
X-	make -f $MAKEFILE all $MAKE_GNOME $MAKE_CAIRO $MAKE_AWT $MAKE_MOZILLA ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9}
X+	gmake -f $MAKEFILE make_swt make_atk make_glx $MAKE_GNOME $MAKE_CAIRO $MAKE_AWT $MAKE_MOZILLA ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9}
X+
X fi
END-of-swt32/files/patch-build.sh
echo x - swt32/files/patch-OS.java
sed 's/^X//' >swt32/files/patch-OS.java << 'END-of-swt32/files/patch-OS.java'
X--- ./org/eclipse/swt/internal/gtk/OS.java.orig	Thu Dec 15 15:19:38 2005
X+++ ./org/eclipse/swt/internal/gtk/OS.java	Mon Jan 23 23:51:20 2006
X@@ -20,18 +20,20 @@
X 	}
X 	
X 	/** OS Constants */
X-	public static final boolean IsAIX, IsSunOS, IsLinux, IsHPUX;
X+	public static final boolean IsAIX, IsSunOS, IsLinux, IsHPUX, IsFreeBSD;
X 	static {
X 		
X 		/* Initialize the OS flags and locale constants */
X+		/* make bootstrap compatible with `uname -s` for FreeBSD */
X 		String osName = System.getProperty ("os.name");
X-		boolean isAIX = false, isSunOS = false, isLinux = false, isHPUX = false;
X+		boolean isAIX = false, isSunOS = false, isLinux = false, isHPUX = false, isFreeBSD = false;
X 		if (osName.equals ("Linux")) isLinux = true;
X+		if (osName.equals ("FreeBSD")) isFreeBSD = true;
X 		if (osName.equals ("AIX")) isAIX = true;
X 		if (osName.equals ("Solaris")) isSunOS = true;
X 		if (osName.equals ("SunOS")) isSunOS = true;
X 		if (osName.equals ("HP-UX")) isHPUX = true;
X-		IsAIX = isAIX;  IsSunOS = isSunOS;  IsLinux = isLinux;  IsHPUX = isHPUX;
X+		IsAIX = isAIX;  IsSunOS = isSunOS;  IsLinux = isLinux;  IsFreeBSD = isFreeBSD;  IsHPUX = isHPUX;
X 	}
X 
X 	/** Constants */
END-of-swt32/files/patch-OS.java
echo x - swt32/files/patch-build.xml
sed 's/^X//' >swt32/files/patch-build.xml << 'END-of-swt32/files/patch-build.xml'
X--- build.xml.orig	Thu Dec 15 15:19:38 2005
X+++ build.xml	Wed Jan 25 01:01:08 2006
X@@ -1,55 +1,61 @@
X <?xml version="1.0" encoding="UTF-8"?>
X+<project name="org.eclipse.swt.gtk.freebsd.x86_64" default="build.jar" basedir=".">
X 
X-<project default="build_gtk_lib" basedir="../../..">
X+	<target name="init">
X+		<property name="ws" value="gtk"/>
X+		<property name="os" value="freebsd"/>
X+		<property name="arch" value="x86_64"/>
X+		<property name="version.suffix" value="3.218"/>
X+		<property name="destination" value="${basedir}"/>
X+		<property name="path.java.home" value="${java.home}"/>
X+                <property name="javac.verbose" value="false"/>
X+                <property name="javac.debug" value="off"/>
X+		<property name="input.srcdir" value="${basedir}/org"/>
X+		<property name="output.jar" value="${basedir}/swt.jar"/>
X+		<property name="output.classes" value="${basedir}/classes"/>
X+	</target>
X+
X+	<target name="all" depends="build.jar"/>
X+
X+	<target name="build.classes" depends="init">
X+		<mkdir dir="${output.classes}"/>
X+		<!-- -source & -target taken from Eclipse 32M4 CVS build -->
X+		<javac	srcdir="${input.srcdir}" destdir="${output.classes}" 
X+			debug="${javac.debug}" verbose="${javac.verbose}" 
X+			source="1.3" target="1.2">
X+		</javac>
X+	</target>
X+
X+	<target name="build.jar" depends="build.nativeLibraries">
X+		<jar destfile="${output.jar}" index="false">
X+			<fileset dir="${output.classes}">
X+				<exclude name="**/*.java"/>
X+				<exclude name="**/*.o"/>
X+				<exclude name="**/*.so"/>
X+				<!-- exclude CVS archive -->
X+				<exclude name="**/CVS/**"/>
X+			</fileset>
X+			<fileset dir="${basedir}">
X+				<include name="**/version.txt"/>
X+			</fileset>
X+		</jar>
X+	</target>
X+
X+	<target name="clean" depends="init">
X+		<delete dir="${output.classes}"/>
X+		<delete file="${output.jar}"/>
X+		<exec  executable="sh" failonerror="true">
X+			<env key="JAVA_HOME" value="${path.java.home}"/>
X+			<arg value="build.sh"/>
X+			<arg value="clean"/>
X+		</exec>
X+	</target>
X+
X+	<target name="build.nativeLibraries" depends="build.classes">
X+		<exec  executable="sh" failonerror="true">
X+			<env key="JAVA_HOME" value="${path.java.home}"/>
X+			<arg value="build.sh"/>
X+		</exec>
X+	</target>
X 
X-<target name="init">
X-	<eclipse.refreshLocal resource="org.eclipse.swt" depth="infinite" />
X-	<eclipse.refreshLocal resource="org.eclipse.swt.tools" depth="infinite" />	
X-   	<eclipse.incrementalBuild project="org.eclipse.swt" kind="incr" />
X-</target>
X-	
X-<!-- Build swt.so for GTK -->
X-<target name="build_gtk_lib" depends="init">
X-	<exec dir="./bin/library" executable="sh">
X-		<arg line="${basedir}/bin/library/build.sh"/>
X-		<arg line="install"/>
X-	</exec>
X-	<eclipse.refreshLocal resource="org.eclipse.swt.gtk.linux.x86" depth="infinite" />
X-</target>
X-
X-<!-- Build swt.so for PowerPC 32 bit GTK (no Mozilla)-->
X-<target name="build_ppc_gtk_lib" depends="init">
X-	<exec dir="./bin/library" executable="sh">
X-		<env key="MODEL" value="ppc"/>
X-		<arg line="${basedir}/bin/library/build.sh"/>
X-		<arg line="install"/>
X-	</exec>
X-	<eclipse.refreshLocal resource="org.eclipse.swt.gtk.linux.ppc" depth="infinite" />
X-</target>
X-
X-<!-- Build swt.so for Solaris GTK (no Mozilla) -->
X-<target name="build_solaris_gtk_lib" depends="init">
X-	<exec dir="./bin/library" executable="sh">
X-		<arg line="${basedir}/bin/library/build.sh"/>
X-		<arg line="install"/>
X-	</exec>
X-	<eclipse.refreshLocal resource="org.eclipse.swt.gtk.solaris.sparc" depth="infinite" />
X-</target>
X-	
X-<!-- Build swt.so for GTK 64 -->
X-<target name="build_gtk64_lib" depends="init">
X-	<exec dir="./bin/library" executable="sh">
X-		<arg line="${basedir}/bin/library/build.sh"/>
X-		<arg line="install"/>
X-	</exec>
X-	<eclipse.refreshLocal resource="org.eclipse.swt.gtk.linux.x86_64" depth="infinite" />	
X-</target>
X-
X-<target name="clean">
X-	<exec dir="./bin/library" executable="sh">
X-		<arg line="${basedir}/bin/library/build.sh"/>
X-		<arg line="clean"/>
X-	</exec>
X-</target>
X-
X-</project>
X\ No newline at end of file
X+</project>
END-of-swt32/files/patch-build.xml
echo x - swt32/files/patch-xpcom_profile.h
sed 's/^X//' >swt32/files/patch-xpcom_profile.h << 'END-of-swt32/files/patch-xpcom_profile.h'
X--- xpcom_profile.h.orig	Wed Nov 15 17:47:13 2006
X+++ xpcom_profile.h	Wed Nov 15 17:41:25 2006
X@@ -32,7 +32,7 @@
X #define NDEBUG
X 
X #include "nsCOMPtr.h"
X-#include "nsProfileDirServiceProvider.h"
X+#include "profdirserviceprovider/nsProfileDirServiceProvider.h"
X #include "xpcom_stats.h"
X 
X #endif /* INC_xpcom_profile_H */
END-of-swt32/files/patch-xpcom_profile.h
echo x - swt32/Makefile
sed 's/^X//' >swt32/Makefile << 'END-of-swt32/Makefile'
X# New ports collection makefile for:	swt
X# Date created:				2005-12-15
X# Whom:					past@ebs.gr
X#
X# $FreeBSD $
X#
X
XPORTNAME=	swt
XPORTVERSION=	3.2.1
XCATEGORIES=	x11-toolkits devel java
XMASTER_SITES=	${MASTER_SITE_ECLIPSE}
XMASTER_SITE_SUBDIR=	R-${PORTVERSION}-200609210945
X
XMAINTAINER=	freebsd-eclipse@freebsd.org
XCOMMENT=	Standard Widget Toolkit for Java
X
XANT=		ant
XBUILD_DEPENDS+=	${ANT}:${PORTSDIR}/devel/apache-ant
X
XOUTPUT_JAR=	swt32.jar
XSWT_VERSION=	3235
XNO_WRKSUBDIR=	yes
XONLY_FOR_ARCHS=	i386 amd64
XUSE_GMAKE=	yes
XUSE_ZIP=	yes
XMAKEFILE=	make_freebsd.mak
XUSE_LDCONFIG=	yes
XPLIST_SUB=	BUILD=${SWT_VERSION}
XPLIST_FILES=	%%JAVAJARDIR%%/${OUTPUT_JAR} \
X		lib/libswt-atk-gtk-%%BUILD%%.so \
X		lib/libswt-awt-gtk-%%BUILD%%.so \
X		lib/libswt-gtk-%%BUILD%%.so \
X		lib/libswt-glx-gtk-%%BUILD%%.so \
X		lib/libswt-pi-gtk-%%BUILD%%.so
X
XUSE_JAVA=	yes
XREINPLACE_CMD=	yes
XJAVA_VERSION=	1.4+
XJAVA_OS=	native
X
X.if !defined(WITHOUT_MOZILLA)
XPLIST_FILES+=	lib/libswt-mozilla-gtk-%%BUILD%%.so
XMAKE_MOZILLA=	make_mozilla
X.if defined(WITH_MOZILLA) && ${WITH_MOZILLA} != "mozilla"
XBROWSER=	${WITH_MOZILLA}
XBUILD_DEPENDS+=	${BROWSER}:${PORTSDIR}/www/${BROWSER}
X.else
XBROWSER=	mozilla
XBUILD_DEPENDS+=	mozilla:${PORTSDIR}/www/mozilla
X.endif
X.else
XBROWSER=
XMAKE_MOZILLA=
X.endif
X
X.if defined(WITHOUT_CAIRO)
XMAKE_CAIRO=
X.else
XLIB_DEPENDS=	cairo.2:${PORTSDIR}/graphics/cairo
XMAKE_CAIRO=	make_cairo
XPLIST_FILES+=	lib/libswt-cairo-gtk-%%BUILD%%.so
X.endif
X
X.if defined(WITHOUT_GNOMEVFS)
XMAKE_GNOME=
XUSE_GNOME=	gtk20 pkgconfig
X.else
XMAKE_GNOME=	make_gnome
XUSE_GNOME=	gtk20 gnomevfs2 libgnome libgnomeui pkgconfig
XPLIST_FILES+=	lib/libswt-gnome-gtk-%%BUILD%%.so
X.endif
X
X.include <bsd.port.pre.mk>
X
X.if (${ARCH} == "amd64")
XWRK-EXT=	gtk-linux-x86_64
XDISTNAME=	swt-${PORTVERSION}-${WRK-EXT}
X.else
XWRK-EXT=	gtk-linux-x86
XDISTNAME=	swt-${PORTVERSION}-${WRK-EXT}
X.endif
X
XMAKE_ENV+=	BROWSER="${BROWSER}" \
X		JAVA_HOME="${JAVA_HOME}" \
X		MAKE_GNOME=${MAKE_GNOME} \
X		MAKE_MOZILLA=${MAKE_MOZILLA} \
X		MAKE_CAIRO=${MAKE_CAIRO} \
X		MACHINE_ARCH=${MACHINE_ARCH}
X
XWRKSRC=		${WRKDIR}/swt-M20060921-0945-${WRK-EXT}
X
Xpost-extract:
X	@${ECHO_CMD} ${WRKSRC}
X	@(cd ${WRKSRC} && ${UNZIP_CMD} -qo "*.zip")
X	@${CP} ${WRKSRC}/make_linux.mak ${WRKSRC}/make_freebsd.mak
X
Xdo-build:
X	@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${ANT} -Doutput.jar=${OUTPUT_JAR} clean all)
X
Xdo-install:
X	${MKDIR} ${JAVAJARDIR}
X	${INSTALL_DATA} ${WRKSRC}/libswt-*.so ${PREFIX}/lib
X	${INSTALL_DATA} ${WRKSRC}/${OUTPUT_JAR} ${JAVAJARDIR}/
X
X.include <bsd.port.post.mk>
END-of-swt32/Makefile
echo x - swt32/distinfo
sed 's/^X//' >swt32/distinfo << 'END-of-swt32/distinfo'
XMD5 (swt-3.2.1-gtk-linux-x86.zip) = 9c653dbf73787b305a938170cd4335b1
XSHA256 (swt-3.2.1-gtk-linux-x86.zip) = 940a5dd90131fe2fa02bcf04374dc168a136100d058042732272ca8e61349e78
XSIZE (swt-3.2.1-gtk-linux-x86.zip) = 3118312
END-of-swt32/distinfo
echo x - swt32/pkg-descr
sed 's/^X//' >swt32/pkg-descr << 'END-of-swt32/pkg-descr'
XSWT is the software component that delivers native widget functionality
Xfor the Eclipse platform in an operating system independent manner.
X
XThis port provides SWT without requiring a full download and build of
XEclipse.
X
XWWW:	http://www.eclipse.org/swt/
END-of-swt32/pkg-descr
exit
--- swt-3.2.1.shar ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611152322.kAFNMfRq099780>