summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/eclipse-sdk/eclipse-sdk-2.1.3-r5.ebuild')
-rw-r--r--dev-util/eclipse-sdk/eclipse-sdk-2.1.3-r5.ebuild303
1 files changed, 303 insertions, 0 deletions
diff --git a/dev-util/eclipse-sdk/eclipse-sdk-2.1.3-r5.ebuild b/dev-util/eclipse-sdk/eclipse-sdk-2.1.3-r5.ebuild
new file mode 100644
index 000000000000..6c20b87c8edd
--- /dev/null
+++ b/dev-util/eclipse-sdk/eclipse-sdk-2.1.3-r5.ebuild
@@ -0,0 +1,303 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/eclipse-sdk-2.1.3-r5.ebuild,v 1.1 2004/07/27 21:56:04 karltk Exp $
+
+inherit eutils
+
+DESCRIPTION="Eclipse Tools Platform"
+HOMEPAGE="http://www.eclipse.org/"
+SRC_URI="http://download.eclipse.org/downloads/drops/R-2.1.3-200403101828/eclipse-sourceBuild-srcIncluded-2.1.3.zip"
+IUSE="gnome gtk jikes kde motif mozilla"
+SLOT="2"
+LICENSE="CPL-1.0"
+KEYWORDS="~x86 ~ppc ~sparc"
+
+RDEPEND=">=virtual/jdk-1.3
+ || (
+ gtk? ( >=x11-libs/gtk+-2.2.4 )
+ kde? ( kde-base/kdelibs x11-libs/openmotif )
+ motif? ( x11-libs/openmotif )
+ >=x11-libs/gtk+-2.2.4
+ )
+ gnome? ( =gnome-base/gnome-vfs-2* )
+ mozilla? ( net-www/mozilla )
+ jikes? ( >=dev-java/jikes-1.19 )
+ "
+
+DEPEND="${RDEPEND}
+ >=dev-java/ant-1.5.3
+ >=sys-apps/findutils-4.1.7
+ >=app-shells/tcsh-6.11
+ app-arch/unzip"
+
+pkg_setup() {
+
+
+ set_dirs
+
+ use gtk && use_gtk='true' || use_gtk='false'
+ use motif && use_motif='true' || use_motif='false'
+
+ # If gtk+ enabled, disable motif
+ ${use_gtk} && use_motif='false'
+
+ # If neither enabled, default to gtk+
+ if ! ( ${use_gtk} || ${use_motif} ) ; then
+ if use kde ; then
+ use_motif='true'
+ else
+ use_gtk='true'
+ fi
+ fi
+}
+
+set_dirs() {
+ gtk_launcher_src_dir="plugins/platform-launcher/library/gtk"
+ motif_launch_src_dir="plugins/platform-launcher/library/motif"
+ gtk_swt_src_dir="plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library"
+ motif_swt_src_dir="plugins/org.eclipse.swt/Eclipse SWT PI/motif/library"
+
+ core_src_dir="plugins/org.eclipse.core.resources.linux/src"
+
+ case $ARCH in
+ sparc)
+ gtk_swt_dest_dir="plugins/org.eclipse.swt.gtk/os/linux/sparc"
+ motif_swt_dest_dir="plugins/org.eclipse.swt.motif/os/linux/sparc"
+ core_dest_dir="plugins/org.eclipse.core.resources.linux/os/linux/sparc"
+ ;;
+ x86)
+ gtk_swt_dest_dir="plugins/org.eclipse.swt.gtk/os/linux/x86"
+ motif_swt_dest_dir="plugins/org.eclipse.swt.motif/os/linux/x86"
+ core_dest_dir="plugins/org.eclipse.core.resources.linux/os/linux/x86"
+ ;;
+ ppc)
+ gtk_swt_dest_dir="plugins/org.eclipse.swt.gtk/os/linux/ppc"
+ motif_swt_dest_dir="plugins/org.eclipse.swt.motif/os/linux/ppc"
+ core_dest_dir="plugins/org.eclipse.core.resources.linux/os/linux/ppc/"
+ ;;
+ esac
+}
+
+src_unpack() {
+ mkdir ${S}
+ cd ${S}
+ unpack ${A}
+
+ epatch ${FILESDIR}/00-refactor_rename.patch
+ epatch ${FILESDIR}/01-distribute_ant_target-2.1.patch
+
+ if use kde ; then
+ epatch ${FILESDIR}/02-konqueror_help_browser-2.1.patch
+ fi
+
+ # Clean up all pre-built code
+ ant -q -Dws=gtk -Dos=linux clean
+ ant -q -Dws=motif -Dos=linux clean
+ find ${S} -name '*.so' -exec rm -f {} \;
+ find ${S} -name '*.so.*' -exec rm -f {} \;
+ find ${S} -type f -name 'eclipse' -exec rm {} \;
+ rm -f eclipse
+
+
+ if ${use_gtk} ; then
+ einfo "Fixing gtk+ build scripts"
+
+ # Move around some source code that should have been handled by the build system
+ cd ${S}/"${gtk_swt_src_dir}" || die "Directory ${gtk_swt_src_dir} not found"
+ cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT/common/library/* .
+
+ # Configure libraries for GNOME and GTK+
+ if use gnome ; then
+ gnome_lib=`pkg-config --libs gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0 | sed -e "s:-pthread:-lpthread:" -e "s:-Wl,--export:--export:"`
+ fi
+
+ gthread_lib=`pkg-config --libs gtk+-2.0 gthread-2.0 | sed -e "s:-pthread:-lpthread:" -e "s:-Wl,--export:--export:"`
+
+ sed -e "s:/bluebird/teamswt/swt-builddir/ive:$JAVA_HOME:" \
+ -e "s:JAVA_JNI=\$(IVE_HOME)/bin/include:JAVA_JNI=\$(IVE_HOME)/include:" \
+ -e "s:\`pkg-config --libs gthread-2.0\`:${gthread_lib}:" \
+ -e "s:\`pkg-config --libs gnome-vfs-2.0\`:${gnome_lib}:" \
+ -e "s:-I\$(JAVA_JNI):-I\$(JAVA_JNI) -I\$(JAVA_JNI)/linux:" \
+ -i make_gtk.mak
+
+ # Extra patching if the gtk+ installed is 2.4 or newer
+ # for users with the 2.3 series, they should upgrade, dunno which 2.3.x all this
+ # stuff broke in anyway.
+ if pkg-config --atleast-version 2.4 gtk+-2.0 ; then
+ einfo "Applying gtk+-2.4 patches"
+ sed -r \
+ -e "s:#define GTK_DISABLE_DEPRECATED::g" \
+ -i swt.c
+ fi
+ fi
+
+ if ${use_motif} ; then
+ einfo "Fixing motif build scripts"
+
+ # Some fixups for the motif compilation
+ cd ${S}/"${motif_swt_src_dir}"
+ cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT/common/library/* .
+
+ sed -e "s:/bluebird/teamswt/swt-builddir/ive/bin:$JAVA_HOME:" \
+ -e "s:-I\$(JAVA_HOME)/include:-I\$(JAVA_HOME)/include -I\$(JAVA_HOME)/include/linux:" \
+ -e "s:/bluebird/teamswt/swt-builddir/motif21:/usr/X11R6:" \
+ -e "s:\`pkg-config --libs gthread-2.0\`:${gthread_lib}:" \
+ -e "s:\`pkg-config --libs gnome-vfs-2.0\`:${gnome_lib}:" \
+ -e "s:/usr/lib/qt3:/usr/qt/3:" \
+ -e "s:-lkdecore:-L\`kde-config --prefix\`/lib -lkdecore:" \
+ -e "s:-I/usr/include/kde:-I\`kde-config --prefix\`/include:" \
+ -i make_linux.mak
+ fi
+
+ # Patch in package version into the build info
+ cd ${S}
+ find -type f -name about.mappings -exec sed -e "s/@build@/Gentoo Linux ${PF}/" -i \{\} \;
+
+}
+
+build_gtk_frontend() {
+
+ einfo "Building gtk+ SWT"
+
+ # Build the eclipse gtk binary
+ cd ${S}/plugins/platform-launcher/library/gtk
+ tcsh -f build.csh -output eclipse-gtk -arch $ARCH || die "Failed to build eclipse-gtk"
+
+ cd ${S}/"${gtk_swt_src_dir}"
+ make -f make_gtk.mak make_swt || die "Failed to build platform-independent SWT support"
+
+ # move the *.so files to the right path so eclipse can find them
+ mkdir -p ${S}/"${gtk_swt_dest_dir}"
+ mv *.so ${S}/"${gtk_swt_dest_dir}"
+}
+
+build_motif_frontend() {
+
+ einfo "Building Motif SWT"
+
+ # Build eclipse motif binary
+ cd ${S}/plugins/platform-launcher/library/motif
+ tcsh -f build.csh -output eclipse-motif -arch $ARCH || die "Failed to build eclipse-motif"
+
+ cd ${S}/"${motif_swt_src_dir}"
+
+ make -f make_linux.mak make_swt || die "Failed to build Motif support"
+ if use kde ; then
+ make -f make_linux.mak make_kde || die "Failed to build KDE support"
+ fi
+
+ # move the *.so files to the right path so eclipse can find them
+ mkdir -p ${S}/"${motif_swt_dest_dir}"
+ mv *.so ${S}/"${motif_swt_dest_dir}"
+}
+
+src_compile() {
+
+ addwrite "/proc/self/maps"
+
+ # Figure out correct boot classpath
+ if [ ! -z "`java-config --java-version | grep IBM`" ] ; then
+ # IBM JRE
+ einfo "Using the IBM JDK"
+ ant_extra_opts="-Dbootclasspath=$(java-config --jdk-home)/jre/lib/core.jar"
+ else
+ # Sun derived JREs (Blackdown, Sun)
+ ant_extra_opts="-Dbootclasspath=$(java-config --jdk-home)/jre/lib/rt.jar"
+ fi
+
+ # karltk: jikes doesn't work as a compiler for Eclipse currently
+# if use jikes ; then
+# ant_extra_opts="${ant_extra_opts} -Dbuild.compiler=jikes"
+# fi
+
+ export ANT_OPTS=-Xmx768m
+
+ # Build resources
+ einfo "Building resources.core plugin"
+ cd ${core_src_dir}
+ make JDK_INCLUDE="`java-config -O`/include -I`java-config -O`/include/linux" || die "Failed to build resource.core plugin"
+ mkdir -p ${S}/"${core_dest_dir}"
+ mv *.so ${S}/"${core_dest_dir}"
+
+
+ einfo "Building selected platform"
+ cd ${S}
+ ${use_gtk} && build_gtk_frontend
+ ${use_motif} && build_motif_frontend
+
+ einfo "Building java code"
+ # karltk: Do we really need to rebuild all of this if both motif and
+ # gtk are specified?
+ cd ${S}
+ if ( ${use_gtk} || ! ( ${use_gtk} || ${use_motif} || use kde ) ); then
+ einfo "Building platform suited for the GTK+ frontend"
+ ant -q \
+ -buildfile build.xml \
+ -Dos=linux \
+ -Dws=gtk \
+ -DinstallArch=$ARCH \
+ ${ant_extra_opts} compile distribute || die "Failed to compile java code (gtk+)"
+ fi
+ if ${use_motif} ; then
+ einfo "Building platform suited for the Motif frontend"
+ ant -q \
+ -buildfile build.xml \
+ -Dos=linux \
+ -Dws=motif \
+ -DinstallArch=$ARCH \
+ ${ant_extra_opts} compile distribute || die "Failed to compile java code (Motif)"
+ fi
+
+ cat ${FILESDIR}/eclipse-${SLOT}.desktop | \
+ sed -e "s/@PV@/${PV}/" \
+ > eclipse-${SLOT}.desktop
+}
+
+src_install() {
+ eclipse_dir="/usr/lib/eclipse-${SLOT}"
+
+ # Create basic directories
+ dodir ${eclipse_dir}
+
+ einfo "Installing features and plugins"
+ find features \
+ -name "*.bin.dist.zip" \
+ -exec unzip -q -o \{\} -d ${D}/${eclipse_dir} \;
+
+ # Install launchers and native code
+ exeinto ${eclipse_dir}
+ if ${use_gtk} ; then
+ einfo "Installing eclipse-gtk binary"
+ doexe plugins/platform-launcher/library/gtk/eclipse-gtk || die "Failed to install eclipse-gtk"
+ fi
+ if ${use_motif} ; then
+ einfo "Installing eclipse-motif binary"
+ doexe plugins/platform-launcher/library/motif/eclipse-motif || die "Failed to install eclipse-motif"
+ fi
+
+ # Installing misc files
+ insinto ${eclipse_dir}
+ doins plugins/org.eclipse.platform/.eclipseproduct || die "Missing .eclipseproduct"
+ doins plugins/org.eclipse.platform/{startup.jar,splash.bmp} || die "Missing startup,jar or splash.bmp"
+ doins plugins/platform-launcher/bin/linux/gtk/icon.xpm || die "Missing icon.xpm"
+ doins plugins/org.eclipse.platform/install.ini || die "Missing install.ini"
+
+ # Install startup script
+ exeinto /usr/bin
+ doexe ${FILESDIR}/eclipse-${SLOT}
+
+ # Install GNOME .desktop file
+ if use gnome ; then
+ insinto /usr/share/gnome/apps/Development
+ doins eclipse-${SLOT}.desktop
+ fi
+
+ # Install KDE .desktop file
+ if use kde ; then
+ # karltk: should check for available kde version(s)
+ insinto /usr/kde/3.2/share/applnk/Applications/
+ doins eclipse-${SLOT}.desktop
+ fi
+
+ doman ${FILESDIR}/eclipse.1
+}