diff options
Diffstat (limited to 'dev-util')
-rw-r--r-- | dev-util/eclipse-sdk/ChangeLog | 20 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/Manifest | 16 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/eclipse-sdk-3.1_pre6-r1.ebuild | 480 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/eclipse-sdk-3.1_pre7.ebuild | 482 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/digest-eclipse-sdk-3.1_pre6-r1 | 1 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/digest-eclipse-sdk-3.1_pre7 | 1 |
6 files changed, 988 insertions, 12 deletions
diff --git a/dev-util/eclipse-sdk/ChangeLog b/dev-util/eclipse-sdk/ChangeLog index 98b536c71a65..0bf8ab2a831f 100644 --- a/dev-util/eclipse-sdk/ChangeLog +++ b/dev-util/eclipse-sdk/ChangeLog @@ -1,6 +1,24 @@ # ChangeLog for dev-util/eclipse-sdk # Copyright 2003-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/ChangeLog,v 1.90 2005/05/05 23:12:40 swegener Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/ChangeLog,v 1.91 2005/05/18 21:28:47 karltk Exp $ + +*eclipse-sdk-3.1_pre7 (18 May 2005) + + 18 May 2005; Karl Trygve Kalleberg <karltk@gentoo.org> + +eclipse-sdk-3.1_pre7.ebuild: + New upstream release. Fixes #92606. + +*eclipse-sdk-3.1_pre6-r1 (18 May 2005) + + 18 May 2005; Karl Trygve Kalleberg <karltk@gentoo.org> + +eclipse-sdk-3.1_pre6-r1.ebuild: + Partial fix for #91607. + +*eclipse-sdk-3.1_pre6-r1 (14 May 2005) + + 14 May 2005; Karl Trygve Kalleberg <karltk@gentoo.org> + +eclipse-sdk-3.1_pre6-r1.ebuild: + Added in support for the IBM JDK again. 05 May 2005; Sven Wegener <swegener@gentoo.org> eclipse-sdk-3.1_pre4.ebuild, eclipse-sdk-3.1_pre5.ebuild, diff --git a/dev-util/eclipse-sdk/Manifest b/dev-util/eclipse-sdk/Manifest index ac3527ff63f7..5b07c2864862 100644 --- a/dev-util/eclipse-sdk/Manifest +++ b/dev-util/eclipse-sdk/Manifest @@ -1,23 +1,23 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - MD5 b46f3362dcf17eebc979bc87c2581b49 eclipse-sdk-3.1_pre3.ebuild 16524 MD5 5f47b5e1d82a19fafb466d830a509d01 eclipse-sdk-3.0.1.ebuild 11886 MD5 a2d7d204d16c0363da6429bad390431a eclipse-sdk-3.0.0-r3.ebuild 12081 MD5 d85a11c5e39f6591da5bcdc731b02761 eclipse-sdk-3.1_pre5.ebuild 17446 MD5 819818fb9914fe0dccf2af4c89d94452 eclipse-sdk-3.0.1-r2.ebuild 14287 +MD5 a54adcd5de4bafa3a201ba0df24337f8 eclipse-sdk-3.1_pre7.ebuild 13621 MD5 233b7bd25c8c68c658a37232777f4f61 eclipse-sdk-3.1_pre2.ebuild 16365 +MD5 54ee3f2127952f2c146e9fd38ee9fc88 eclipse-sdk-3.1_pre6-r1.ebuild 13592 MD5 cc4746d44b4bb74e9db76f257f98b8f3 eclipse-sdk-3.1_pre4.ebuild 17450 MD5 784f7f8fdf82be12bba512c56169050e eclipse-sdk-2.1.3-r5.ebuild 9905 MD5 b7835429b6a12c387636babaedc3aaa9 eclipse-sdk-3.0.2.ebuild 13831 MD5 030ee53185dd243ff9adbc829417bd5d eclipse-sdk-3.0.1-r1.ebuild 13995 MD5 c66d55982a2caf62d0619cae87866542 eclipse-sdk-3.1_pre6.ebuild 13572 MD5 0b6f44460f5c2164e469e4444060b23f eclipse-sdk-3.1_pre1.ebuild 12137 -MD5 c135d03ee09298bf9411f879d637d929 ChangeLog 17578 +MD5 14c44c0cd58eb8f2bdd815e6f023b82d ChangeLog 18075 MD5 8de14dda7d318d8fb514fdbcecd4058b metadata.xml 782 MD5 ab0f6620b4767e065bd533b06245b0fc files/01-distribute_ant_target-2.1.patch 1103 MD5 69ee2069b0260e40c6fa93315ff759cc files/eclipse-3.1.desktop 226 MD5 6ac05b530442f845b10b830e624ffe04 files/eclipse-2.desktop 222 +MD5 c2e939c5ac99b36a6fd439fe179139cb files/digest-eclipse-sdk-3.1_pre6-r1 88 MD5 a8bdecb6304c91da92a3b153e154f544 files/02-konqueror_help_browser-3.0.patch 1560 MD5 3110e7ec528bc98ef251172c2d7e2956 files/05-mozilla-xpcom.patch 862 MD5 0e815a2260dbd0153de35c6de26fbd05 files/digest-eclipse-sdk-3.0.0-r3 86 @@ -31,6 +31,7 @@ MD5 faec09f4506f1a9a12ceb725a09709f6 files/digest-eclipse-sdk-3.1_pre3 88 MD5 18dfd928ae2d0f9bc5058eb604adc895 files/digest-eclipse-sdk-3.1_pre4 88 MD5 997fca22d81ad543ce32c6e98c86cab6 files/digest-eclipse-sdk-3.1_pre5 89 MD5 c2e939c5ac99b36a6fd439fe179139cb files/digest-eclipse-sdk-3.1_pre6 88 +MD5 6b2b3baec54d1b720c83cf573a50d5f8 files/digest-eclipse-sdk-3.1_pre7 88 MD5 ed33fd609db26b85ef9b0c2a82a06b22 files/01-distribute_ant_target-3.0.patch 726 MD5 21bde556ac55c5e22578cf4998135913 files/digest-eclipse-sdk-2.1.3-r5 176 MD5 429b757eb766856a6b29094b06402576 files/eclipse-3.desktop 222 @@ -42,10 +43,3 @@ MD5 de999f62aa03505bfd16a01f7e1a28a3 files/eclipse-2 956 MD5 a158c2a70562122805ec2ffa055a8271 files/eclipse-3 950 MD5 32be5292ce0af7ff9c1866c1f59e1859 files/eclipse.1 2607 MD5 e4ee97056b94052240fb360db6ffaef9 files/eclipse-3.1 1438 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.1 (GNU/Linux) - -iD8DBQFCeqhvI1lqEGTUzyQRAl02AJ936BjS+TobAR0voYm2Kvdu6+Ki/gCgmErO -gEB2iWbgwpiznGJyHoIHGaQ= -=kIGb ------END PGP SIGNATURE----- diff --git a/dev-util/eclipse-sdk/eclipse-sdk-3.1_pre6-r1.ebuild b/dev-util/eclipse-sdk/eclipse-sdk-3.1_pre6-r1.ebuild new file mode 100644 index 000000000000..aabd349559c5 --- /dev/null +++ b/dev-util/eclipse-sdk/eclipse-sdk-3.1_pre6-r1.ebuild @@ -0,0 +1,480 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/eclipse-sdk-3.1_pre6-r1.ebuild,v 1.1 2005/05/18 21:28:47 karltk Exp $ + +inherit eutils java-utils + +# karltk: Portage 2.0.51_pre13 needs this +MY_A="eclipse-sourceBuild-srcIncluded-3.1M6.zip" +DESCRIPTION="Eclipse Tools Platform" +HOMEPAGE="http://www.eclipse.org/" +SRC_URI="http://download.eclipse.org/downloads/drops/S-3.1M6-200504011645/${MY_A}" +IUSE="gnome mozilla jikes gcj nosrc nodoc" +SLOT="3.1" +LICENSE="CPL-1.0" +KEYWORDS="~x86 ~ppc" + +RDEPEND=" + || ( >=virtual/jre-1.4.2 =dev-java/blackdown-jdk-1.4.2* ) + >=x11-libs/gtk+-2.2.4 + mozilla? ( >=www-client/mozilla-1.4* ) + jikes? ( >=dev-java/jikes-1.21 ) + gcj? ( >=sys-devel/gcc-4.0.0_beta20050305 ) + gnome? ( =gnome-base/gnome-vfs-2* =gnome-base/libgnomeui-2* )" + +DEPEND="${RDEPEND} + >=dev-java/ant-1.5.3 + >=sys-apps/findutils-4.1.7 + app-arch/unzip + app-arch/zip" + +pkg_setup() { + + check-ram + check-cflags + + java-utils_setup-vm + + java-utils_ensure-vm-version-ge 1 4 2 + + if (java-utils_is-vm-version-ge 1 5 0) ; then + die "${P} cannot be compiled with a 1.5.x VM, set your system VM to a 1.4.x VM." + fi + +} + +src_unpack() { + + setup-dir-vars + + mkdir ${S} + cd ${S} + unpack ${MY_A} || die "Could not unpack ${MY_A}" + + einfo "Setting up virtual machine" + java-utils_setup-vm + + einfo "Patching build.xmls" + process-build-xmls + + einfo "Cleaning out prebuilt code" + clean-prebuilt-code + + einfo "Patching frontend" + patch-frontend + + einfo "Set build version in Help->About" + patch-about +} + +src_compile() { + + ${use_gtk} && use mozilla && detect-mozilla + setup-dir-vars + + # karltk: this should be handled by the java-pkg eclass in setup-vm + addwrite "/proc/self/maps" + addwrite "/proc/cpuinfo" + addwrite "/dev/random" + + # Figure out VM, set up classpath and other Ant options + setup-ant-opts + + einfo "Building native front end code" + build-native + + einfo "Building core resources" + build-core-resources + + einfo "Bootstrapping ecj compiler" + build-compiler + + einfo "Compiling all Java code" + build-java compile + + einfo "Installing all code" + build-java install + + einfo "Creating .desktop entry" + create-desktop-entry +} + +src_install() { + + setup-dir-vars + + eclipse_dir="/usr/lib/eclipse-${SLOT}" + + dodir /usr/lib + + einfo "Installing features and plugins" + + [ -f result/org.eclipse.sdk-I*-linux.gtk.${ARCH}.tar.gz ] || die "gtk zip bundle was not build properly!" + tar zxf result/org.eclipse.sdk-I*-linux.gtk.${ARCH}.tar.gz -C ${D}/usr/lib + + mv ${D}/usr/lib/eclipse ${D}/${eclipse_dir} + + insinto ${eclipse_dir} + + # Install launchers and native code + exeinto ${eclipse_dir} + + einfo "Installing eclipse-gtk binary" + doexe ${launcher_src_dir}/eclipse-gtk || die "Failed to install eclipse-gtk" + + doins plugins/org.eclipse.platform/{startup.jar,splash.bmp} + + if use nosrc ; then + einfo "Stripping away source code" + strip-src + fi + + if use nodoc ; then + einfo "Stripping away documentation" + strip-docs + fi + + dodir /var/lib/eclipse + echo "osgi.configuration=/var/lib/eclipse" >> ${D}/${eclipse_dir}/eclipse.ini + + # Install startup script + exeinto /usr/bin + doexe ${FILESDIR}/eclipse-${SLOT} + + install-desktop-entry + + doman ${FILESDIR}/eclipse.1 + + install-link-files +} + +pkg_postinst() +{ + check-cflags +} + +# ----------------------------------------------------------------------------- +# Helper functions +# ----------------------------------------------------------------------------- + +function detect-mozilla() +{ + mozilla_dir="--mozdir-unset---" + + if [ -f ${ROOT}/usr/lib/mozilla/libgtkembedmoz.so ] ; then + einfo "Compiling against www-client/mozilla" + mozilla_dir=/usr/lib/mozilla + elif [ -f ${ROOT}/usr/lib/MozillaFirefox/libgtkembedmoz.so ] ; then + einfo "Compiling against www-client/mozilla-firefox" + mozilla_dir=/usr/lib/MozillaFirefox + else + eerror "You have enabled the embedded mozilla component, but no suitable" + eerror "provider was found. You need Mozilla or Firefox compiled against" + eerror "gtk+ v2.0 or newer." + eerror "To merge it, execute 'USE=\"gtk2\" emerge mozilla' as root." + eerror "To disable embedded mozilla, remove \"mozilla\" from your USE flags." + die "Need Mozilla compiled with gtk+-2.x support" + fi +} + +function setup-dir-vars() { + launcher_src_dir="features/org.eclipse.launchers/library/gtk" + swt_src_dir="plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library" + + core_src_dir="plugins/org.eclipse.core.resources.linux/src" + + case ${ARCH} in + x86) + swt_dest_dir="plugins/org.eclipse.swt.gtk/os/linux/x86" + core_dest_dir="plugins/org.eclipse.core.resources.linux/os/linux/x86" + ;; + ppc) + swt_dest_dir="plugins/org.eclipse.swt.gtk/os/linux/ppc" + core_dest_dir="plugins/org.eclipse.core.resources.linux/os/linux/ppc/" + ;; + esac +} + +function process-build-xmls() { + + # Turn off verbose mode and on errors in all build.xml files + find . -type f -name "build.xml" | while read x ; do + sed -i -r \ + -e 's/failonerror="[^"]+"/failonerror="true"/' \ + -e 's/verbose="[^"]+"/verbose="false"/' "$x" + done +} + +function patch-frontend() { + + # Move around some source code that should have been handled by the build system + # Some files are arbitrarily duplicated (make_common.mak), but others are not. + # I'm feeling inclined to start using the term "eclipse logic" to refer to build + # system strangeness, because this build system has heaploads and heaploads of + # weird idiosyncracies, and they keep changing between minor versions. Hurrah. -- karltk + + local m="Failed to move native files for SWT gtk+" + cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT/common/library/* ${S}/"${swt_src_dir}" || die ${m} + cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT\ Mozilla/common/library/* ${S}/"${swt_src_dir}" || die ${m} + cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT\ Program/gnome/library/* ${S}/"${swt_src_dir}" || die ${m} + cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT\ AWT/gtk/library/* ${S}/"${swt_src_dir}" || die ${m} +} + +function create-desktop-entry() { + + cat ${FILESDIR}/eclipse-${SLOT}.desktop | \ + sed -e "s/@PV@/${PV}/" \ + > eclipse-${SLOT}.desktop || die "Failed to create desktop entry" +} + +function build-java() { + local target=${1} + + einfo "Building GTK+ frontend (${target}) -- see compilelog.txt for details" + LOCALCLASSPATH=jdtcore.jar ant -q -q \ + -buildfile build.xml \ + -DcollPlace="eclipse-${SLOT}" \ + -DinstallOs=linux \ + -DinstallWs=gtk \ + -DinstallArch=$ARCH \ + ${ant_extra_opts} ${target} \ + || die "Failed to ${target} Java code (gtk+)" +} + +function install-desktop-entry() { + + dodir /usr/share/applnk/Development + insinto /usr/share/applnk/Development + doins eclipse-${SLOT}.desktop +} + +function build-native() { + + einfo "Building SWT" + + # Perpare destination directory + mkdir -p ${S}/"${swt_dest_dir}" + + + einfo "Building the eclipse-gtk binary" + + cd ${S}/${launcher_src_dir} + PROGRAM_OUTPUT=eclipse-gtk \ + DEFAULT_OS=linux \ + DEFAULT_OS_ARCH=${ARCH} \ + DEFAULT_WS=gtk \ + make -f make_linux.mak || die "Failed to build eclipse-gtk" + + cd ${S}/"${swt_src_dir}" + + einfo "Building the SWT bindings" + + # Disabled for 3.1 series + # KDE_LIB_PATH=$(kde-config --prefix)/lib + # KDE_INCLUDE_PATH=$(kde-config --prefix)/include + + local awt_lib_path + + [ ${ARCH} == 'x86' ] && awt_lib_path="${JAVA_HOME}/jre/lib/i386 -L${JAVA_HOME}/jre/bin" + [ ${ARCH} == 'amd64' ] && awt_lib_path=${JAVA_HOME}/jre/lib/amd64 + + [ ${ARCH} == 'amd64' ] && swt_ptr_cflags=-DSWT_PTR_SIZE_64 + + [ ${ARCH} == 'x86' ] && output_dir="../../../org.eclipse.swt.gtk/os/linux/x86" + [ ${ARCH} == 'ppc' ] && output_dir="../../../org.eclipse.swt.gtk64/os/linux/ppc" + [ ${ARCH} == 'amd64' ] && output_dir="../../../org.eclipse.swt.gtk64/os/linux/x86_64" + + export AWT_LIB_PATH=${awt_lib_path} + export XTEST_LIB_PATH=/usr/X11R6/lib + export GECKO_SDK=/usr/lib/mozilla + export GECKO_INCLUDES="-include ${GECKO_SDK}/include/mozilla-config.h \ + -I${GECKO_SDK}/include/nspr \ + -I${GECKO_SDK}/include/nspr \ + -I${GECKO_SDK}/include/xpcom \ + -I${GECKO_SDK}/include/string \ + -I${GECKO_SDK}/include/embed_base \ + -I${JAVA_HOME}/include/linux" + export GECKO_LIBS="-L${GECKO_SDK} -lgtkembedmoz" + export SWT_PTR_CFLAGS="${swt_ptr_cflags} -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux" + export OUTPUT_DIR=${output_dir} + + + einfo "Building SWT support" + make -f make_linux.mak make_swt || "Failed to build SWT support" + cp libswt-gtk-*.so libswt-pi-gtk-*.so ${S}/"${swt_dest_dir}" || die "Failed to copy SWT .so files" + + einfo "Building AWT support" + make -f make_linux.mak make_awt || "Failed to build AWT support" + cp libswt-awt-gtk-*.so ${S}/"${swt_dest_dir}" || die "Failed to copy AWT .so" + + if use gnome ; then + einfo "Building GNOME VFS support" + make -f make_linux.mak make_gnome || die "Failed to build GNOME VFS support" + cp libswt-gnome-gtk-*.so ${S}/"${swt_dest_dir}" || die "Failed to copy GNOME VFS .so files" + fi + + if use mozilla ; then + einfo "Building Mozilla component" + make -f make_linux.mak make_mozilla || die "Failed to build Mozilla support" + cp libswt-mozilla-gtk-*.so ${S}/"${swt_dest_dir}" || die "Failed to copy GNOME VFS .so files" + fi + + cd ${S} + + einfo "Native gtk+ bindings built" +} + +function clean-prebuilt-code() { + + einfo "Cleaning all pre-built code" + + ant -q -DinstallWs=gtk -DinstallOs=linux clean + ant -q -DinstallWs=motif -DinstallOs=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 + +} + +function get-memory-total() { + cat /proc/meminfo | grep MemTotal | sed -r "s/[^0-9]*([0-9]+).*/\1/" +} + +function check-ram() { + + einfo "Checking for sufficient physical RAM" + + local mem=$(get-memory-total) + [ $(get-memory-total) -lt 775000 ] && + ( + echo + ewarn "To build Eclipse, at least 768MB of RAM is recommended." + ewarn "Your machine has less RAM. Continuing anyway." + echo + ) +} + +function install-link-files() { + + einfo "Installing link files" + + dodir /usr/lib/eclipse-${SLOT}/links + + echo "path=/opt/eclipse-extensions-3" > ${D}/${eclipse_dir}/links/eclipse-binary-extensions-3.link + echo "path=/opt/eclipse-extensions-3.1" > ${D}/${eclipse_dir}/links/eclipse-binary-extensions-3.1.link + + echo "path=/usr/lib/eclipse-extensions-3" > ${D}/${eclipse_dir}/links/eclipse-extensions-3.link + echo "path=/usr/lib/eclipse-extensions-3.1" > ${D}/${eclipse_dir}/links/eclipse-extensions-3.1.link +} + +function check-cflags() { + + einfo "Checking for bad CFLAGS" + + local badflags="-fomit-frame-pointer -msse2" + local error=false + + for x in ${badflags} ; do + if [ ! -z "$(echo ${CFLAGS} | grep -- $x)" ] ; then + ewarn "Found offending option $x in your CFLAGS" + error=true + fi + done + if [ ${error} == "true" ]; then + echo + ewarn "One or more potentially gruesome CFLAGS detected. When you run into trouble," + ewarn "please edit /etc/make.conf and remove all offending flags, then recompile" + ewarn "Eclipse and all its dependencies before submitting a bug report." + echo + einfo "Tip: use equery depgraph \"=${PF}\" to list all dependencies" + echo + ebeep + fi +} + +function patch-about() { + + find -type f -name about.mappings -exec sed -e "s/@build@/Gentoo Linux ${PF}/" -i \{\} \; \ + || die "Failed to patch about.mappings" + + sed -e "s/@build@/Gentoo Linux ${PF}/" \ + -i features/org.eclipse.platform/gtk/configuration/config.ini \ + -i features/org.eclipse.platform/motif/configuration/config.ini \ + -i build.xml || die "Failed to set build version" +} + +function build-compiler() { + + pushd . + cd jdtcoresrc + + # WTF? Why does compilejdtcorewithjavac.xml delete its own source code? + # See their #90319. + [ -f src/jdtcore.zip ] && cp src/jdtcore.zip jdtcore.zip-backup + [ -f jdtcore.zip-backup ] && cp jdtcore.zip-backup src/jdtcore.zip + + use jikes && antopts="-Dbuild.compiler=jikes" + + ant ${antopts} -q -f compilejdtcorewithjavac.xml || die "Failed to bootstrap jdtcore compiler" + LOCALCLASSPATH=jdtcore.jar ant -q -f compilejdtcore.xml || die "Failed to compile jdtcore" + + # WTF? Just to make things interesting, compilejdtcore.xml suddenly moves jdtcore.jar to ../ + + popd +} + +function setup-ant-opts() { + + # Figure out correct boot classpath + # karltk: this should be handled by the java-pkg eclass in setup-vm + if [ ! -z "`java-config --java-version | grep IBM`" ] ; then + # IBM JRE + local bp="$(java-config --jdk-home)/jre/lib" + ant_extra_opts="-Dbootclasspath=${bp}/core.jar:${bp}/xml.jar:${bp}/graphics.jar:${bp}/security.jar:${bp}/server.jar" + else + # Sun derived JREs (Blackdown, Sun) + local bp="$(java-config --jdk-home)/jre/lib" + ant_extra_opts="-Dbootclasspath=${bp}/rt.jar:${bp}/jsse.jar" + fi + + einfo "Using ant_extra_opts=${ant_extra_opts}" + export ANT_OPTS=-Xmx768m +} + +function build-core-resources() { + + cd ${S}/${core_src_dir} + make \ + JDK_INCLUDE="-I`java-config -O`/include -I`java-config -O`/include/linux" || die "Failed to build core resources" + + mkdir -p ${S}/"${core_dest_dir}" + mv libcore*.so ${S}/"${core_dest_dir}" + cd ${S} +} + +function strip-src() { + + local bp=${D}/${eclipse_dir} + + rm -rf ${bp}/plugins/org.eclipse.pde.source_3* + rm -rf ${bp}/plugins/org.eclipse.jdt.source_3* + rm -rf ${bp}/plugins/org.eclipse.platform.source.linux.* + rm -rf ${bp}/plugins/org.eclipse.platform.source_3* + + rm -rf ${bp}/features/org.eclipse.jdt.source_3*/ + rm -rf ${bp}/features/org.eclipse.pde.source_3*/ + rm -rf ${bp}/features/org.eclipse.platform.source_3*/ +} + +function strip-docs() { + local bp=${D}/${eclipse_dir} + + rm -rf ${bp}/plugins/org.eclipse.platform.doc.* + rm -rf ${bp}/plugins/org.eclipse.jdt.doc.* + rm -rf ${bp}/plugins/org.eclipse.pde.doc.* +} + +function recompile-with-gcj() { + :; +} diff --git a/dev-util/eclipse-sdk/eclipse-sdk-3.1_pre7.ebuild b/dev-util/eclipse-sdk/eclipse-sdk-3.1_pre7.ebuild new file mode 100644 index 000000000000..1e0401ad4a2e --- /dev/null +++ b/dev-util/eclipse-sdk/eclipse-sdk-3.1_pre7.ebuild @@ -0,0 +1,482 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/eclipse-sdk-3.1_pre7.ebuild,v 1.1 2005/05/18 21:28:47 karltk Exp $ + +inherit eutils java-utils + +# karltk: Portage 2.0.51_pre13 needs this +MY_A="eclipse-sourceBuild-srcIncluded-3.1M7.zip" +DESCRIPTION="Eclipse Tools Platform" +HOMEPAGE="http://www.eclipse.org/" +SRC_URI="ftp://download.eclipse.org/S-3.1M7-200505131415/${MY_A}" +IUSE="gnome mozilla jikes gcj nosrc nodoc" +SLOT="3.1" +LICENSE="CPL-1.0" +KEYWORDS="~x86 ~ppc" + +RDEPEND=" + || ( >=virtual/jre-1.4.2 =dev-java/blackdown-jdk-1.4.2* ) + >=x11-libs/gtk+-2.2.4 + mozilla? ( >=www-client/mozilla-1.4 ) + jikes? ( >=dev-java/jikes-1.21 ) + gcj? ( >=sys-devel/gcc-4.0.0_beta20050305 ) + gnome? ( =gnome-base/gnome-vfs-2* =gnome-base/libgnomeui-2* )" + +DEPEND="${RDEPEND} + >=dev-java/ant-1.5.3 + >=sys-apps/findutils-4.1.7 + app-arch/unzip + app-arch/zip" + +pkg_setup() { + + use gnome && echo "Building GNOME stuff" + + check-ram + check-cflags + + java-utils_setup-vm + + java-utils_ensure-vm-version-ge 1 4 2 + + if (java-utils_is-vm-version-ge 1 5 0) ; then + die "${P} cannot be compiled with a 1.5.x VM, set your system VM to a 1.4.x VM." + fi + +} + +src_unpack() { + + setup-dir-vars + + mkdir ${S} + cd ${S} + unpack ${MY_A} || die "Could not unpack ${MY_A}" + + einfo "Setting up virtual machine" + java-utils_setup-vm + + einfo "Patching build.xmls" + process-build-xmls + + einfo "Cleaning out prebuilt code" + clean-prebuilt-code + + einfo "Patching frontend" + patch-frontend + + einfo "Set build version in Help->About" + patch-about +} + +src_compile() { + + ${use_gtk} && use mozilla && detect-mozilla + setup-dir-vars + + # karltk: this should be handled by the java-pkg eclass in setup-vm + addwrite "/proc/self/maps" + addwrite "/proc/cpuinfo" + addwrite "/dev/random" + + # Figure out VM, set up classpath and other Ant options + setup-ant-opts + + einfo "Building native front end code" + build-native + + einfo "Building core resources" + build-core-resources + + einfo "Bootstrapping ecj compiler" + build-compiler + + einfo "Compiling all Java code" + build-java compile + + einfo "Installing all code" + build-java install + + einfo "Creating .desktop entry" + create-desktop-entry +} + +src_install() { + + setup-dir-vars + + eclipse_dir="/usr/lib/eclipse-${SLOT}" + + dodir /usr/lib + + einfo "Installing features and plugins" + + [ -f result/org.eclipse.sdk-I*-linux.gtk.${ARCH}.tar.gz ] || die "gtk zip bundle was not build properly!" + tar zxf result/org.eclipse.sdk-I*-linux.gtk.${ARCH}.tar.gz -C ${D}/usr/lib + + mv ${D}/usr/lib/eclipse ${D}/${eclipse_dir} + + insinto ${eclipse_dir} + + # Install launchers and native code + exeinto ${eclipse_dir} + + einfo "Installing eclipse-gtk binary" + doexe ${launcher_src_dir}/eclipse-gtk || die "Failed to install eclipse-gtk" + + doins plugins/org.eclipse.platform/{startup.jar,splash.bmp} + + if use nosrc ; then + einfo "Stripping away source code" + strip-src + fi + + if use nodoc ; then + einfo "Stripping away documentation" + strip-docs + fi + + dodir /var/lib/eclipse + echo "osgi.configuration=/var/lib/eclipse" >> ${D}/${eclipse_dir}/eclipse.ini + + # Install startup script + exeinto /usr/bin + doexe ${FILESDIR}/eclipse-${SLOT} + + install-desktop-entry + + doman ${FILESDIR}/eclipse.1 + + install-link-files +} + +pkg_postinst() +{ + check-cflags +} + +# ----------------------------------------------------------------------------- +# Helper functions +# ----------------------------------------------------------------------------- + +function detect-mozilla() +{ + mozilla_dir="--mozdir-unset---" + + if [ -f ${ROOT}/usr/lib/mozilla/libgtkembedmoz.so ] ; then + einfo "Compiling against www-client/mozilla" + mozilla_dir=/usr/lib/mozilla + elif [ -f ${ROOT}/usr/lib/MozillaFirefox/libgtkembedmoz.so ] ; then + einfo "Compiling against www-client/mozilla-firefox" + mozilla_dir=/usr/lib/MozillaFirefox + else + eerror "You have enabled the embedded mozilla component, but no suitable" + eerror "provider was found. You need Mozilla or Firefox compiled against" + eerror "gtk+ v2.0 or newer." + eerror "To merge it, execute 'USE=\"gtk2\" emerge mozilla' as root." + eerror "To disable embedded mozilla, remove \"mozilla\" from your USE flags." + die "Need Mozilla compiled with gtk+-2.x support" + fi +} + +function setup-dir-vars() { + launcher_src_dir="features/org.eclipse.platform.launchers/library/gtk" + swt_src_dir="plugins/org.eclipse.swt/Eclipse SWT PI/gtk/library" + + core_src_dir="plugins/org.eclipse.core.resources.linux/src" + + case ${ARCH} in + x86) + swt_dest_dir="plugins/org.eclipse.swt.gtk.linux.x86" + core_dest_dir="plugins/org.eclipse.core.resources.linux/os/linux/x86" + ;; + ppc) + swt_dest_dir="plugins/org.eclipse.swt.gtk.linux.ppc" + core_dest_dir="plugins/org.eclipse.core.resources.linux/os/linux/ppc/" + ;; + esac +} + +function process-build-xmls() { + + # Turn off verbose mode and on errors in all build.xml files + find . -type f -name "build.xml" | while read x ; do + sed -i -r \ + -e 's/failonerror="[^"]+"/failonerror="true"/' \ + -e 's/verbose="[^"]+"/verbose="false"/' "$x" + done +} + +function patch-frontend() { + + # Move around some source code that should have been handled by the build system + # Some files are arbitrarily duplicated (make_common.mak), but others are not. + # I'm feeling inclined to start using the term "eclipse logic" to refer to build + # system strangeness, because this build system has heaploads and heaploads of + # weird idiosyncracies, and they keep changing between minor versions. Hurrah. -- karltk + + local m="Failed to move native files for SWT gtk+" + cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT/common/library/* ${S}/"${swt_src_dir}" || die ${m} + cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT\ Mozilla/common/library/* ${S}/"${swt_src_dir}" || die ${m} + cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT\ Program/gnome/library/* ${S}/"${swt_src_dir}" || die ${m} + cp ${S}/plugins/org.eclipse.swt/Eclipse\ SWT\ AWT/gtk/library/* ${S}/"${swt_src_dir}" || die ${m} +} + +function create-desktop-entry() { + + cat ${FILESDIR}/eclipse-${SLOT}.desktop | \ + sed -e "s/@PV@/${PV}/" \ + > eclipse-${SLOT}.desktop || die "Failed to create desktop entry" +} + +function build-java() { + local target=${1} + + einfo "Building GTK+ frontend (${target}) -- see compilelog.txt for details" + LOCALCLASSPATH=jdtcore.jar:ecj.jar ant -q -q \ + -buildfile build.xml \ + -DcollPlace="eclipse-${SLOT}" \ + -DinstallOs=linux \ + -DinstallWs=gtk \ + -DinstallArch=$ARCH \ + ${ant_extra_opts} ${target} \ + || die "Failed to ${target} Java code (gtk+)" +} + +function install-desktop-entry() { + + dodir /usr/share/applnk/Development + insinto /usr/share/applnk/Development + doins eclipse-${SLOT}.desktop +} + +function build-native() { + + einfo "Building SWT" + + # Perpare destination directory + mkdir -p ${S}/"${swt_dest_dir}" + + + einfo "Building the eclipse-gtk binary" + + cd ${S}/${launcher_src_dir} + PROGRAM_OUTPUT=eclipse-gtk \ + DEFAULT_OS=linux \ + DEFAULT_OS_ARCH=${ARCH} \ + DEFAULT_WS=gtk \ + make -f make_linux.mak || die "Failed to build eclipse-gtk" + + cd ${S}/"${swt_src_dir}" + + einfo "Building the SWT bindings" + + # Disabled for 3.1 series + # KDE_LIB_PATH=$(kde-config --prefix)/lib + # KDE_INCLUDE_PATH=$(kde-config --prefix)/include + + local awt_lib_path + + [ ${ARCH} == 'x86' ] && awt_lib_path="${JAVA_HOME}/jre/lib/i386 -L${JAVA_HOME}/jre/bin" + [ ${ARCH} == 'amd64' ] && awt_lib_path=${JAVA_HOME}/jre/lib/amd64 + + [ ${ARCH} == 'amd64' ] && swt_ptr_cflags=-DSWT_PTR_SIZE_64 + + [ ${ARCH} == 'x86' ] && output_dir="../../../org.eclipse.swt.gtk.linux.x86" + [ ${ARCH} == 'ppc' ] && output_dir="../../../org.eclipse.swt.gtk.linux.ppc" + [ ${ARCH} == 'amd64' ] && output_dir="../../../org.eclipse.swt.gtk.linux.x86_64" + + export AWT_LIB_PATH=${awt_lib_path} + export XTEST_LIB_PATH=/usr/X11R6/lib + export GECKO_SDK=/usr/lib/mozilla + export GECKO_INCLUDES="-include ${GECKO_SDK}/include/mozilla-config.h \ + -I${GECKO_SDK}/include/nspr \ + -I${GECKO_SDK}/include/nspr \ + -I${GECKO_SDK}/include/xpcom \ + -I${GECKO_SDK}/include/string \ + -I${GECKO_SDK}/include/embed_base \ + -I${JAVA_HOME}/include/linux" + export GECKO_LIBS="-L${GECKO_SDK} -lgtkembedmoz" + export SWT_PTR_CFLAGS="${swt_ptr_cflags} -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux" + export OUTPUT_DIR=${output_dir} + + + einfo "Building SWT support" + make -f make_linux.mak make_swt || "Failed to build SWT support" + cp libswt-gtk-*.so libswt-pi-gtk-*.so ${S}/"${swt_dest_dir}" || die "Failed to copy SWT .so files" + + einfo "Building AWT support" + make -f make_linux.mak make_awt || "Failed to build AWT support" + cp libswt-awt-gtk-*.so ${S}/"${swt_dest_dir}" || die "Failed to copy AWT .so" + + if use gnome ; then + einfo "Building GNOME VFS support" + make -f make_linux.mak make_gnome || die "Failed to build GNOME VFS support" + cp libswt-gnome-gtk-*.so ${S}/"${swt_dest_dir}" || die "Failed to copy GNOME VFS .so files" + fi + + if use mozilla ; then + einfo "Building Mozilla component" + make -f make_linux.mak make_mozilla || die "Failed to build Mozilla support" + cp libswt-mozilla-gtk-*.so ${S}/"${swt_dest_dir}" || die "Failed to copy GNOME VFS .so files" + fi + + cd ${S} + + einfo "Native gtk+ bindings built" +} + +function clean-prebuilt-code() { + + einfo "Cleaning all pre-built code" + + ant -q -DinstallWs=gtk -DinstallOs=linux clean + ant -q -DinstallWs=motif -DinstallOs=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 + +} + +function get-memory-total() { + cat /proc/meminfo | grep MemTotal | sed -r "s/[^0-9]*([0-9]+).*/\1/" +} + +function check-ram() { + + einfo "Checking for sufficient physical RAM" + + local mem=$(get-memory-total) + [ $(get-memory-total) -lt 775000 ] && + ( + echo + ewarn "To build Eclipse, at least 768MB of RAM is recommended." + ewarn "Your machine has less RAM. Continuing anyway." + echo + ) +} + +function install-link-files() { + + einfo "Installing link files" + + dodir /usr/lib/eclipse-${SLOT}/links + + echo "path=/opt/eclipse-extensions-3" > ${D}/${eclipse_dir}/links/eclipse-binary-extensions-3.link + echo "path=/opt/eclipse-extensions-3.1" > ${D}/${eclipse_dir}/links/eclipse-binary-extensions-3.1.link + + echo "path=/usr/lib/eclipse-extensions-3" > ${D}/${eclipse_dir}/links/eclipse-extensions-3.link + echo "path=/usr/lib/eclipse-extensions-3.1" > ${D}/${eclipse_dir}/links/eclipse-extensions-3.1.link +} + +function check-cflags() { + + einfo "Checking for bad CFLAGS" + + local badflags="-fomit-frame-pointer -msse2" + local error=false + + for x in ${badflags} ; do + if [ ! -z "$(echo ${CFLAGS} | grep -- $x)" ] ; then + ewarn "Found offending option $x in your CFLAGS" + error=true + fi + done + if [ ${error} == "true" ]; then + echo + ewarn "One or more potentially gruesome CFLAGS detected. When you run into trouble," + ewarn "please edit /etc/make.conf and remove all offending flags, then recompile" + ewarn "Eclipse and all its dependencies before submitting a bug report." + echo + einfo "Tip: use equery depgraph \"=${PF}\" to list all dependencies" + echo + ebeep + fi +} + +function patch-about() { + + find -type f -name about.mappings -exec sed -e "s/@build@/Gentoo Linux ${PF}/" -i \{\} \; \ + || die "Failed to patch about.mappings" + + sed -e "s/@build@/Gentoo Linux ${PF}/" \ + -i features/org.eclipse.platform/gtk/configuration/config.ini \ + -i features/org.eclipse.platform/motif/configuration/config.ini \ + -i build.xml || die "Failed to set build version" +} + +function build-compiler() { + + pushd . + cd jdtcoresrc + + # WTF? Why does compilejdtcorewithjavac.xml delete its own source code? + # See their #90319. + [ -f src/jdtcore.zip ] && cp src/jdtcore.zip jdtcore.zip-backup + [ -f jdtcore.zip-backup ] && cp jdtcore.zip-backup src/jdtcore.zip + + use jikes && antopts="-Dbuild.compiler=jikes" + + ant ${antopts} -q -f compilejdtcorewithjavac.xml || die "Failed to bootstrap jdtcore compiler" + LOCALCLASSPATH=jdtcore.jar:ecj.jar ant -q -f compilejdtcore.xml || die "Failed to compile jdtcore" + + # WTF? Just to make things interesting, compilejdtcore.xml suddenly moves jdtcore.jar to ../ + + popd +} + +function setup-ant-opts() { + + # Figure out correct boot classpath + # karltk: this should be handled by the java-pkg eclass in setup-vm + if [ ! -z "`java-config --java-version | grep IBM`" ] ; then + # IBM JRE + local bp="$(java-config --jdk-home)/jre/lib" + ant_extra_opts="-Dbootclasspath=${bp}/core.jar:${bp}/xml.jar:${bp}/graphics.jar:${bp}/security.jar:${bp}/server.jar" + else + # Sun derived JREs (Blackdown, Sun) + local bp="$(java-config --jdk-home)/jre/lib" + ant_extra_opts="-Dbootclasspath=${bp}/rt.jar:${bp}/jsse.jar" + fi + + einfo "Using ant_extra_opts=${ant_extra_opts}" + export ANT_OPTS=-Xmx1024m +} + +function build-core-resources() { + + cd ${S}/${core_src_dir} + make \ + JDK_INCLUDE="-I`java-config -O`/include -I`java-config -O`/include/linux" || die "Failed to build core resources" + + mkdir -p ${S}/"${core_dest_dir}" + mv libcore*.so ${S}/"${core_dest_dir}" + cd ${S} +} + +function strip-src() { + + local bp=${D}/${eclipse_dir} + + rm -rf ${bp}/plugins/org.eclipse.pde.source_3* + rm -rf ${bp}/plugins/org.eclipse.jdt.source_3* + rm -rf ${bp}/plugins/org.eclipse.platform.source.linux.* + rm -rf ${bp}/plugins/org.eclipse.platform.source_3* + + rm -rf ${bp}/features/org.eclipse.jdt.source_3*/ + rm -rf ${bp}/features/org.eclipse.pde.source_3*/ + rm -rf ${bp}/features/org.eclipse.platform.source_3*/ +} + +function strip-docs() { + local bp=${D}/${eclipse_dir} + + rm -rf ${bp}/plugins/org.eclipse.platform.doc.* + rm -rf ${bp}/plugins/org.eclipse.jdt.doc.* + rm -rf ${bp}/plugins/org.eclipse.pde.doc.* +} + +function recompile-with-gcj() { + :; +} diff --git a/dev-util/eclipse-sdk/files/digest-eclipse-sdk-3.1_pre6-r1 b/dev-util/eclipse-sdk/files/digest-eclipse-sdk-3.1_pre6-r1 new file mode 100644 index 000000000000..a889cdf33a5b --- /dev/null +++ b/dev-util/eclipse-sdk/files/digest-eclipse-sdk-3.1_pre6-r1 @@ -0,0 +1 @@ +MD5 51d81345d2fa0e8aa0b455f6cf4c447f eclipse-sourceBuild-srcIncluded-3.1M6.zip 59038692 diff --git a/dev-util/eclipse-sdk/files/digest-eclipse-sdk-3.1_pre7 b/dev-util/eclipse-sdk/files/digest-eclipse-sdk-3.1_pre7 new file mode 100644 index 000000000000..7d8710355c8b --- /dev/null +++ b/dev-util/eclipse-sdk/files/digest-eclipse-sdk-3.1_pre7 @@ -0,0 +1 @@ +MD5 30279e8c74de2db219418f645291be39 eclipse-sourceBuild-srcIncluded-3.1M7.zip 59421339 |