summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlastimil Babka <caster@gentoo.org>2007-06-18 10:26:49 +0000
committerVlastimil Babka <caster@gentoo.org>2007-06-18 10:26:49 +0000
commit2e0709fc61f384f83ef897f214e82f3a64484d99 (patch)
treecb455edc91f5aade366cb006520c7a5a2e5bd2f6 /dev-java
parentMarked stable on x86. (diff)
downloadgentoo-2-2e0709fc61f384f83ef897f214e82f3a64484d99.tar.gz
gentoo-2-2e0709fc61f384f83ef897f214e82f3a64484d99.tar.bz2
gentoo-2-2e0709fc61f384f83ef897f214e82f3a64484d99.zip
Version bump, adds firefox USE flag as it now works too, without need for patchset.
(Portage version: 2.1.3_rc4)
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/swt/ChangeLog10
-rw-r--r--dev-java/swt/files/digest-swt-3.3_rc49
-rw-r--r--dev-java/swt/files/swt-3.3_rc4-callback-pointer-dereferencing.patch23
-rw-r--r--dev-java/swt/swt-3.3_rc4.ebuild216
4 files changed, 257 insertions, 1 deletions
diff --git a/dev-java/swt/ChangeLog b/dev-java/swt/ChangeLog
index 404273bd75a5..426729811eec 100644
--- a/dev-java/swt/ChangeLog
+++ b/dev-java/swt/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-java/swt
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/swt/ChangeLog,v 1.67 2007/06/14 00:43:24 angelos Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/swt/ChangeLog,v 1.68 2007/06/18 10:26:49 caster Exp $
+
+*swt-3.3_rc4 (18 Jun 2007)
+
+ 18 Jun 2007; Vlastimil Babka <caster@gentoo.org>
+ +files/swt-3.3_rc4-callback-pointer-dereferencing.patch,
+ +swt-3.3_rc4.ebuild:
+ Version bump, adds firefox USE flag as it now works too, without need for
+ patchset.
14 Jun 2007; Christoph Mende <angelos@gentoo.org> swt-3.2.2.ebuild:
Stable on amd64 wrt bug 179815
diff --git a/dev-java/swt/files/digest-swt-3.3_rc4 b/dev-java/swt/files/digest-swt-3.3_rc4
new file mode 100644
index 000000000000..67f94285021f
--- /dev/null
+++ b/dev-java/swt/files/digest-swt-3.3_rc4
@@ -0,0 +1,9 @@
+MD5 d0b279788bcab9e071b5d0a5cf16d5eb swt-3.3RC4-gtk-linux-ppc.zip 4514325
+RMD160 fd1494ff909781a4266390c711b72117096e0df8 swt-3.3RC4-gtk-linux-ppc.zip 4514325
+SHA256 89c3d3af00323bac47bf001b11c21b3b02b27d8c0f290cfbc7691de790ca01b7 swt-3.3RC4-gtk-linux-ppc.zip 4514325
+MD5 9620dc4effa4563b69a8550543381609 swt-3.3RC4-gtk-linux-x86.zip 4448002
+RMD160 1587f2a918de0ce5ee64055e43636982b9533e40 swt-3.3RC4-gtk-linux-x86.zip 4448002
+SHA256 3ba284e1ff70e5c2895aafba9824e281bfdc5446ec733dd3eaf6f82fac26493e swt-3.3RC4-gtk-linux-x86.zip 4448002
+MD5 e27d2fefa0b23140d1c96415053cf9b0 swt-3.3RC4-gtk-linux-x86_64.zip 4622486
+RMD160 ca19c8e0a358860e5997b7e638ed59da604d8db4 swt-3.3RC4-gtk-linux-x86_64.zip 4622486
+SHA256 628d8ad5b1b58d2d3cfc177edcefa9794a449f2080807f982d04dda6b2b8796f swt-3.3RC4-gtk-linux-x86_64.zip 4622486
diff --git a/dev-java/swt/files/swt-3.3_rc4-callback-pointer-dereferencing.patch b/dev-java/swt/files/swt-3.3_rc4-callback-pointer-dereferencing.patch
new file mode 100644
index 000000000000..92fbab779d1c
--- /dev/null
+++ b/dev-java/swt/files/swt-3.3_rc4-callback-pointer-dereferencing.patch
@@ -0,0 +1,23 @@
+# patch from gcj-overlay, not sure if by geki himself
+# removes QA warning about strict-aliasing
+--- callback.c.orig 2006-12-12 17:25:26.000000000 +0100
++++ callback.c 2006-12-12 18:11:34.000000000 +0100
+@@ -250,12 +250,16 @@
+
+ #ifdef JNI_VERSION_1_2
+ if (IS_JNI_1_2) {
+- (*jvm)->GetEnv(jvm, (void **)&env, JNI_VERSION_1_2);
++ /* http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html */
++ /* jint GetEnv(JavaVM *vm, void **env, jint version); */
++ (*jvm)->GetEnv(jvm, (void *)&env, JNI_VERSION_1_2);
+ }
+ #endif
+
+ if (env == NULL) {
+- (*jvm)->AttachCurrentThread(jvm, (void **)&env, NULL);
++ /* http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html */
++ /* jint AttachCurrentThread(JavaVM *vm, JNIEnv **p_env, void *thr_args); */
++ (*jvm)->AttachCurrentThread(jvm, (void *)&env, NULL);
+ if (IS_JNI_1_2) detach = 1;
+ }
+
diff --git a/dev-java/swt/swt-3.3_rc4.ebuild b/dev-java/swt/swt-3.3_rc4.ebuild
new file mode 100644
index 000000000000..32e6c6b8f6ff
--- /dev/null
+++ b/dev-java/swt/swt-3.3_rc4.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/swt/swt-3.3_rc4.ebuild,v 1.1 2007/06/18 10:26:49 caster Exp $
+
+inherit eutils java-pkg-2 java-ant-2 toolchain-funcs
+
+MY_PV="${PV/_rc/RC}"
+#MY_PV="${PV}"
+MY_DMF="S-${MY_PV}-200706081718"
+MY_P="${PN}-${MY_PV}"
+# https://overlays.gentoo.org/svn/proj/java/other/swt-patches
+#PATCHSET="${P}-gentoo-patches-r1"
+DESCRIPTION="GTK based SWT Library"
+HOMEPAGE="http://www.eclipse.org/"
+SRC_URI="x86? (
+ http://download.eclipse.org/downloads/drops/${MY_DMF}/${MY_P}-gtk-linux-x86.zip
+ )
+ x86-fbsd? (
+ http://download.eclipse.org/downloads/drops/${MY_DMF}/${MY_P}-gtk-linux-x86.zip
+ )
+ amd64? (
+ http://download.eclipse.org/downloads/drops/${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip
+ )
+ ppc? (
+ http://download.eclipse.org/downloads/drops/${MY_DMF}/${MY_P}-gtk-linux-ppc.zip
+ )"
+# mirror://gentoo/${PATCHSET}.tar.bz2"
+
+SLOT="3"
+LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
+
+IUSE="cairo firefox gnome seamonkey opengl xulrunner"
+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? ( !firefox? ( !xulrunner? (
+ >=www-client/seamonkey-1.0.2
+ >=dev-libs/nspr-4.6.2
+ ) ) )
+ firefox? ( !xulrunner? (
+ >=www-client/mozilla-firefox-2
+ >=dev-libs/nspr-4.6.2
+ ) )
+ xulrunner? (
+ net-libs/xulrunner
+ >=dev-libs/nspr-4.6.2
+ )
+ opengl? (
+ virtual/opengl
+ virtual/glu
+ )"
+DEPEND=">=virtual/jdk-1.4
+ app-arch/unzip
+ x11-libs/libX11
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-proto/xextproto
+ ${COMMON}"
+
+# java-config for the env_var stuff, until it's stabled and forced by eclass
+RDEPEND=">=virtual/jre-1.4
+ x11-libs/libXtst
+ >=dev-java/java-config-2.0.33
+ ${COMMON}"
+
+S="${WORKDIR}"
+
+src_unpack() {
+ # determine the right file to unpack from $A
+# local DISTFILE=${A/${PATCHSET}.tar.bz2/}
+ # just in case patchset is ordered before distfile
+# DISTFILE=${DISTFILE## }
+ local DISTFILE="${A}"
+ unzip -jq "${DISTDIR}"/${DISTFILE} "*src.zip" || die "unable to extract distfile"
+ unpack ./src.zip
+
+# unpack "${PATCHSET}.tar.bz2"
+
+ # Cleanup the redirtied directory structure
+ rm -rf about_files/ || die
+# rm -v .classpath .project || die
+
+ # 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"
+
+ # apply all the patches, including arch-specific
+# EPATCH_SOURCE="${WORKDIR}/${PATCHSET}" EPATCH_SUFFIX="patch" epatch
+
+ 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"
+
+ # kill some strict-aliasing warnings
+ epatch "${FILESDIR}/${P}-callback-pointer-dereferencing.patch"
+}
+
+get_gecko() {
+ local gecko
+
+ # order here match the logic in DEPEND and USE flag descriptions
+ use seamonkey && gecko="seamonkey"
+ use firefox && gecko="firefox"
+ use xulrunner && gecko="xulrunner"
+
+ echo ${gecko}
+}
+
+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 [[ $(tc-arch) == 'x86' ]] ; then
+ export AWT_LIB_PATH=$JAVA_HOME/jre/lib/i386
+ elif [[ $(tc-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 pointer size for AMD64
+ [[ ${ARCH} == 'amd64' ]] && export SWT_PTR_CFLAGS=-DSWT_PTR_SIZE_64
+
+ local platform="linux"
+
+ use elibc_FreeBSD && platform="freebsd"
+
+ local make="emake -f make_${platform}.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
+
+ local gecko="$(get_gecko)"
+ if [[ ${gecko} ]]; then
+ einfo "Building the Mozilla component against ${gecko}"
+ #local idir="$(pkg-config ${gecko}-xpcom --variable=includedir)"
+ local inc="$(pkg-config ${gecko}-xpcom --cflags)"
+ local libs="$(pkg-config ${gecko}-xpcom --libs)"
+ MOZILLA_INCLUDES="${inc}" \
+ MOZILLA_LIBS="${libs}" \
+ ${make} make_mozilla || die "Failed to build ${gecko} support"
+ if [[ "${gecko}" = "xulrunner" ]]; then
+ XULRUNNER_INCLUDES="${inc}" \
+ XULRUNNER_LIBS="${libs}" \
+ ${make} make_xulrunner || die "Failed to build ${gecko} support"
+ fi
+ 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 -i "${S}/version.txt" "${S}/build/version.txt"
+ cp -i "${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
+
+ local gecko="$(get_gecko)"
+ if [[ -n "${gecko}" ]]; then
+ local gecko_dir="$(pkg-config ${gecko}-xpcom --variable=libdir)"
+ java-pkg_register-environment-variable MOZILLA_FIVE_HOME "${gecko_dir}"
+ fi
+
+ dohtml about.html || die
+}
+