Version bump and removed old revision. Fixes bug #155649.
authorPetteri Räty <betelgeuse@gentoo.org>
Sun, 19 Nov 2006 18:41:13 +0000 (18:41 +0000)
committerPetteri Räty <betelgeuse@gentoo.org>
Sun, 19 Nov 2006 18:41:13 +0000 (18:41 +0000)
Package-Manager: portage-2.1.2_rc2

dev-java/swt/ChangeLog
dev-java/swt/files/digest-swt-3.2.1 [new file with mode: 0644]
dev-java/swt/files/swt-3.2.1-remove-stripping.patch [new file with mode: 0644]
dev-java/swt/metadata.xml
dev-java/swt/swt-3.2.1.ebuild [new file with mode: 0644]

index f972943378d62769339859933bc4889f14180302..c9af3a565198f73c5e378c8531b54701cde37223 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for dev-java/swt
 # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/swt/ChangeLog,v 1.50 2006/10/26 22:36:50 caster Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/swt/ChangeLog,v 1.51 2006/11/19 18:41:13 betelgeuse Exp $
+
+*swt-3.2.1 (19 Nov 2006)
+
+  19 Nov 2006; Petteri Räty <betelgeuse@gentoo.org>
+  +files/swt-3.2.1-remove-stripping.patch, -swt-3.2-r1.ebuild,
+  +swt-3.2.1.ebuild:
+  Version bump and removed old revision. Fixes bug #155649.
 
   26 Oct 2006; Vlastimil Babka <caster@gentoo.org>
   -files/SWTMessages.properties, -swt-3.1-r1.ebuild, -swt-3.2.ebuild:
diff --git a/dev-java/swt/files/digest-swt-3.2.1 b/dev-java/swt/files/digest-swt-3.2.1
new file mode 100644 (file)
index 0000000..169b024
--- /dev/null
@@ -0,0 +1,9 @@
+MD5 5b22588a74f065d27ea09b345386aaaf swt-3.2.1-gtk-linux-ppc.zip 3043491
+RMD160 0246bacb58dc294719435fe6104a84aa512436f8 swt-3.2.1-gtk-linux-ppc.zip 3043491
+SHA256 267e116f59f72d0b701d60a6bf3c410f81c51e7d468862ecbcf34e7bf4e3b096 swt-3.2.1-gtk-linux-ppc.zip 3043491
+MD5 9c653dbf73787b305a938170cd4335b1 swt-3.2.1-gtk-linux-x86.zip 3118312
+RMD160 950f1e68c82e6e208ffd6ceeff027e5fa1002d73 swt-3.2.1-gtk-linux-x86.zip 3118312
+SHA256 940a5dd90131fe2fa02bcf04374dc168a136100d058042732272ca8e61349e78 swt-3.2.1-gtk-linux-x86.zip 3118312
+MD5 736b05cc0ea679cbdaf98d2245edd38c swt-3.2.1-gtk-linux-x86_64.zip 2997030
+RMD160 742593d51259b5d41d946558ea0743faf122b17f swt-3.2.1-gtk-linux-x86_64.zip 2997030
+SHA256 f7cda0d51a0b01954b96821b1a1053f7b76760286f82756b87963caae2c93cb5 swt-3.2.1-gtk-linux-x86_64.zip 2997030
diff --git a/dev-java/swt/files/swt-3.2.1-remove-stripping.patch b/dev-java/swt/files/swt-3.2.1-remove-stripping.patch
new file mode 100644 (file)
index 0000000..db63cd7
--- /dev/null
@@ -0,0 +1,35 @@
+--- make_linux.mak.old 2006-11-19 18:11:38.000000000 +0200
++++ make_linux.mak     2006-11-19 18:20:00.000000000 +0200
+@@ -52,7 +52,7 @@
+ CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
+-AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -shared -s
++AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -shared
+ ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0`
+ ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
+@@ -80,7 +80,7 @@
+       -I$(JAVA_HOME)/include \
+       -I$(JAVA_HOME)/include/linux \
+       ${SWT_PTR_CFLAGS}
+-MOZILLALIBS = -shared -s -Wl,--version-script=mozilla_exports -Bsymbolic
++MOZILLALIBS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic
+       
+ SWT_OBJECTS = swt.o callback.o
+ CDE_OBJECTS = swt.o cde.o cde_structs.o cde_stats.o
+@@ -103,8 +103,13 @@
+               -I$(JAVA_HOME)/include/linux \
+               -fPIC \
+               ${SWT_PTR_CFLAGS}
+-LIBS = -shared -fPIC -s
++LIBS = -shared -fPIC
++ifndef NO_STRIP
++      AWT_LIBS := $(AWT_LIBS) -s
++      MOZILLALIBS := $(MOZILLALIBS) -S
++      LIBS := $(LIBS) -s
++endif
+ all: make_swt make_atk make_gnome make_glx
index c9cfae1de4ecc5a1acdcd5397d006caf22f8ef66..f2631629e398f5ce237657a1bc55676d2b7977e2 100644 (file)
@@ -5,6 +5,6 @@
        <longdescription>
                SWT is the software component that delivers native widget functionality for the
                Eclipse platform in an operating system independent manner.  It is analogous to
-               AWT/Swing in Java with a difference - SWT uses a rich set of native widgets. 
+               AWT/Swing in Java with a difference - SWT uses a rich set of native widgets.
        </longdescription>
 </pkgmetadata>
diff --git a/dev-java/swt/swt-3.2.1.ebuild b/dev-java/swt/swt-3.2.1.ebuild
new file mode 100644 (file)
index 0000000..fea37d8
--- /dev/null
@@ -0,0 +1,173 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/swt/swt-3.2.1.ebuild,v 1.1 2006/11/19 18:41:13 betelgeuse Exp $
+
+inherit eutils java-pkg-2 java-ant-2
+
+MY_DMF="R-${PV}-200609210945"
+
+DESCRIPTION="GTK based SWT Library"
+HOMEPAGE="http://www.eclipse.org/"
+SRC_URI="x86? ( http://download.eclipse.org/downloads/drops/${MY_DMF}/swt-${PV}-gtk-linux-x86.zip )
+               amd64? ( http://download.eclipse.org/downloads/drops/${MY_DMF}/swt-${PV}-gtk-linux-x86_64.zip )
+               ppc? ( http://download.eclipse.org/downloads/drops/${MY_DMF}/swt-${PV}-gtk-linux-ppc.zip )"
+
+SLOT="3"
+LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+IUSE="cairo gnome seamonkey opengl"
+COMMON=">=dev-libs/glib-2.6
+               >=x11-libs/gtk+-2.6.8
+               >=dev-libs/atk-1.10.2
+               cairo? ( >=x11-libs/cairo-1.0.2 )
+               gnome?  (
+                                       =gnome-base/libgnome-2*
+                                       =gnome-base/gnome-vfs-2*
+                                       =gnome-base/libgnomeui-2*
+                               )
+               seamonkey? (
+                                       >=www-client/seamonkey-1.0.2
+                                       >=dev-libs/nspr-4.6.2
+                               )
+               opengl? (
+                                       virtual/opengl
+                                       virtual/glu
+                               )"
+DEPEND=">=virtual/jdk-1.4
+               ${COMMON}
+               dev-java/ant-core
+               app-arch/unzip
+               x11-libs/libX11
+               x11-libs/libXrender
+               x11-libs/libXt
+               x11-proto/xextproto"
+
+RDEPEND=">=virtual/jre-1.4
+               x11-libs/libXtst
+               ${COMMON}"
+
+S="${WORKDIR}"
+
+src_unpack() {
+       unzip -jq "${DISTDIR}/${A}" "*src.zip" || die "unable to extract distfile"
+
+       # Unpack the sources
+       einfo "Unpacking src.zip to ${S}"
+       unpack ./src.zip
+
+       # Cleanup the redirtied directory structure
+       rm -rf about_files/
+       rm -f .classpath .project
+
+       # 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"
+
+       # Patch for GCC 4.x warnings
+       epatch "${FILESDIR}"/${PN}-3.2-gcc-4.x-warning-fix.patch
+
+       # https://bugs.eclipse.org/bugs/show_bug.cgi?id=165097
+       epatch "${FILESDIR}"/${PN}-3.2.1-remove-stripping.patch
+
+       if [[ ${ARCH} == "amd64" ]] ; then
+               epatch "${FILESDIR}"/${PN}-3.2-cairo-signedness-x86_64.patch
+       else
+               epatch "${FILESDIR}"/${PN}-3.2-cairo-signedness-x86.patch
+       fi
+
+       sed -i "s/CFLAGS = -O -Wall/CFLAGS = ${CFLAGS} -Wall/" \
+               make_linux.mak \
+               || die "Failed to tweak make_linux.mak"
+
+       sed -i "s/MOZILLACFLAGS = -O/MOZILLACFLAGS = ${CXXFLAGS}/" \
+               make_linux.mak \
+               || die "Failed to tweak make_linux.mak"
+}
+
+src_compile() {
+       # Drop jikes support as it seems to be unfriendly with SWT
+       java-pkg_filter-compiler jikes
+
+       # Identify the AWT path
+       # The IBM VMs and the GNU GCC implementations do not store the AWT libraries
+       # in the same location as the rest of the binary VMs.
+       if [[ ! -z "$(java-config --java-version | grep 'IBM')" ]] ; then
+               export AWT_LIB_PATH=$JAVA_HOME/jre/bin
+       elif [[ ! -z "$(java-config --java-version | grep 'GNU libgcj')" ]] ; then
+               export AWT_LIB_PATH=$JAVA_HOME/$(get_libdir)
+       else
+               if [[ ${ARCH} == 'x86' ]] ; then
+                       export AWT_LIB_PATH=$JAVA_HOME/jre/lib/i386
+               elif [[ ${ARCH} == 'ppc' ]] ; then
+                       export AWT_LIB_PATH=$JAVA_HOME/jre/lib/ppc
+               else
+                       export AWT_LIB_PATH=$JAVA_HOME/jre/lib/amd64
+               fi
+       fi
+
+       # Fix the GTK+ Library path
+       export GTKLIBS="$(pkg-config --libs-only-L gtk+-2.0 gthread-2.0) \
+               -lgtk-x11-2.0 -lgthread-2.0 -L/usr/$(get_libdir)/X11 -lXtst"
+
+       # Fix the pointer size for AMD64
+       [[ ${ARCH} == 'amd64' ]] && export SWT_PTR_CFLAGS=-DSWT_PTR_SIZE_64
+
+       local make="emake -f make_linux.mak NO_STRIP=y"
+
+       einfo "Building AWT library"
+       ${make} make_awt || die "Failed to build AWT support"
+
+       einfo "Building SWT library"
+       ${make} make_swt || die "Failed to build SWT support"
+
+       einfo "Building JAVA-AT-SPI bridge"
+       ${make} make_atk || die "Failed to build ATK support"
+
+       if use gnome ; then
+               einfo "Building GNOME VFS support"
+               ${make} make_gnome || die "Failed to build GNOME VFS support"
+       fi
+
+       if use seamonkey ; then
+               export GECKO_SDK="$(pkg-config seamonkey-xpcom --variable=libdir)"
+               export GECKO_INCLUDES="-I/usr/$(get_libdir)/seamonkey/include/xpcom \
+                                                               -I/usr/include/nspr \
+                                                               -I/usr/$(get_libdir)/seamonkey/include/embed_base \
+                                                               -I/usr/$(get_libdir)/seamonkey/include/string"
+               export GECKO_LIBS="-L${GECKO_SDK} -lgtkembedmoz"
+
+               einfo "Building the Mozilla component"
+               ${make} make_mozilla || die "Failed to build Mozilla support"
+       fi
+
+       if use cairo ; then
+               einfo "Building CAIRO support"
+               ${make} make_cairo || die "Unable to build CAIRO support"
+       fi
+
+       if use opengl ; then
+               einfo "Building OpenGL component"
+               ${make} make_glx || die "Unable to build OpenGL component"
+       fi
+
+       einfo "Building JNI libraries"
+       eant compile
+
+       einfo "Copying missing files"
+       cp ${S}/version.txt ${S}/build/version.txt
+       cp ${S}/src/org/eclipse/swt/internal/SWTMessages.properties ${S}/build/org/eclipse/swt/internal/
+
+       einfo "Packing JNI libraries"
+       eant jar
+}
+
+src_install() {
+       java-pkg_dojar swt.jar
+
+       java-pkg_sointo /usr/$(get_libdir)
+       java-pkg_doso *.so
+
+       dohtml about.html
+}
+