ports/93318: New port: x11-toolkits/swt32, Eclipse SWT 3.2M4 Support

Bill Dymek bdymek at internap.com
Tue Jul 18 21:20:07 UTC 2006


The following reply was made to PR ports/93318; it has been noted by GNATS.

From: Bill Dymek <bdymek at internap.com>
To: bug-followup at FreeBSD.org,
 Bill Dymek <bdymek at ieee.org>
Cc:  
Subject: Re: ports/93318: New port: x11-toolkits/swt32, Eclipse SWT 3.2M4 Support
Date: Tue, 18 Jul 2006 17:19:48 -0400

 # 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:
 #
 #	.
 #	./files
 #	./files/patch-make_freebsd.mak
 #	./files/patch-build.sh
 #	./files/patch-OS.java
 #	./files/patch-build.xml
 #	./Makefile
 #	./distinfo
 #	./pkg-descr
 #
 echo c - .
 mkdir -p . > /dev/null 2>&1
 echo c - ./files
 mkdir -p ./files > /dev/null 2>&1
 echo x - ./files/patch-make_freebsd.mak
 sed 's/^X//' >./files/patch-make_freebsd.mak << 'END-of-./files/patch-
 make_freebsd.mak'
 X--- make_freebsd.mak.orig	Thu Feb  2 10:20:56 2006
 X+++ make_freebsd.mak	Thu Feb  2 10:24: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@@ -72,7 +72,7 @@
 X 	-fPIC \
 X 	-I. \
 X 	-I$(JAVA_HOME)/include \
 X-	-I$(JAVA_HOME)/include/linux \
 X+	-I$(JAVA_HOME)/include/freebsd \
 X 	${GECKO_INCLUDES} \
 X 	${SWT_PTR_CFLAGS}
 X MOZILLALIBS = -shared -s -Wl,--version-script=mozilla_exports -
 Bsymbolic \
 X@@ -91,15 +91,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@@ -239,4 +240,4 @@
 X # Clean
 X #
 X clean:
 X-	rm -f *.o *.so
 X+	rm -f *.o *.so *.jar
 END-of-./files/patch-make_freebsd.mak
 echo x - ./files/patch-build.sh
 sed 's/^X//' >./files/patch-build.sh << 'END-of-./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-./files/patch-build.sh
 echo x - ./files/patch-OS.java
 sed 's/^X//' >./files/patch-OS.java << 'END-of-./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-./files/patch-OS.java
 echo x - ./files/patch-build.xml
 sed 's/^X//' >./files/patch-build.xml << 'END-of-./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-./files/patch-build.xml
 echo x - ./Makefile
 sed 's/^X//' >./Makefile << 'END-of-./Makefile'
 X# New ports collection makefile for:	swt
 X# Date created:				2005-12-15
 X# Whom:					past at ebs.gr
 X#
 X# $FreeBSD $
 X#
 X
 XPORTNAME=	swt
 XPORTVERSION=	3.2
 XCATEGORIES=	x11-toolkits devel java
 XMASTER_SITES=	${MASTER_SITE_ECLIPSE}
 XMASTER_SITE_SUBDIR=	R-${PORTVERSION}-200606291905
 X
 XMAINTAINER=	freebsd-eclipse at freebsd.org
 XCOMMENT=	Standard Widget Toolkit for Java
 X
 XBUILD_DEPENDS+= ant:${PORTSDIR}/devel/apache-ant
 XANT=            ant
 X
 XOUTPUT_JAR=	swt32.jar
 XSWT_VERSION=	3232
 XNO_WRKSUBDIR=	yes
 XONLY_FOR_ARCHS=	i386 amd64
 XUSE_GMAKE=	yes
 XUSE_ZIP=	yes
 XMAKEFILE=	make_freebsd.mak
 XINSTALLS_SHLIB=	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
 XUSE_REINPLACE=	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
 XBUILD_DEPENDS+=	mozilla:${PORTSDIR}/www/mozilla
 XBROWSER=	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-M20060629-1905-${WRK-EXT}
 X
 Xpost-extract:
 X	@echo ${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-./Makefile
 echo x - ./distinfo
 sed 's/^X//' >./distinfo << 'END-of-./distinfo'
 XMD5 (swt-3.2-gtk-linux-x86_64.zip) = e373d904a4f67322b0c1419c22285a5b
 XSHA256 (swt-3.2-gtk-linux-x86_64.zip) =
 fb00c97c488353a10d7842a50b9184851e90870c3ec1b0ee3bfa838e6ac9a665
 XSIZE (swt-3.2-gtk-linux-x86_64.zip) = 2841135
 XMD5 (swt-3.2-gtk-linux-x86.zip) = 2cba80d9bd247fd6985509d96c1540cd
 XSHA256 (swt-3.2-gtk-linux-x86.zip) =
 05701ceb02a4099e035571abb0d005947758de48c47b49cd38a5b3fd5670a13c
 XSIZE (swt-3.2-gtk-linux-x86.zip) = 2935209
 X
 END-of-./distinfo
 echo x - ./pkg-descr
 sed 's/^X//' >./pkg-descr << 'END-of-./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-./pkg-descr
 exit
 
 
 
 
 
 



More information about the freebsd-ports-bugs mailing list