diff options
author | Vlastimil Babka <caster@gentoo.org> | 2008-04-06 20:55:31 +0000 |
---|---|---|
committer | Vlastimil Babka <caster@gentoo.org> | 2008-04-06 20:55:31 +0000 |
commit | 498789cf836887a9bc318c92434e74ddedfac109 (patch) | |
tree | fafd86c6ac5fc940d70f434b0cdb69ae74c8db15 | |
parent | Stable on alpha, security bug #214627 (diff) | |
download | historical-498789cf836887a9bc318c92434e74ddedfac109.tar.gz historical-498789cf836887a9bc318c92434e74ddedfac109.tar.bz2 historical-498789cf836887a9bc318c92434e74ddedfac109.zip |
Revbump for workaround of bug #215150 in the eclipse startup script. Also get MOZILLA_FIVE_HOME variable from swt's package.env (bug #214785) - this was by mistake already applied to 3.3.1.1 when locking swt dep (see below) but only revbump gets this to everyone.
Package-Manager: portage-2.1.4.4
-rw-r--r-- | dev-util/eclipse-sdk/ChangeLog | 11 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/Manifest | 4 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/eclipse-sdk-3.3.1.1-r1.ebuild | 325 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/3.3/eclipse-3.3-r1 | 45 |
4 files changed, 383 insertions, 2 deletions
diff --git a/dev-util/eclipse-sdk/ChangeLog b/dev-util/eclipse-sdk/ChangeLog index 16c4c44eb99d..d63fade49803 100644 --- a/dev-util/eclipse-sdk/ChangeLog +++ b/dev-util/eclipse-sdk/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-util/eclipse-sdk # Copyright 2003-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/ChangeLog,v 1.140 2008/04/06 19:12:32 caster Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/ChangeLog,v 1.141 2008/04/06 20:55:31 caster Exp $ + +*eclipse-sdk-3.3.1.1-r1 (06 Apr 2008) + + 06 Apr 2008; Vlastimil Babka <caster@gentoo.org> + +files/3.3/eclipse-3.3-r1, +eclipse-sdk-3.3.1.1-r1.ebuild: + Revbump for workaround of bug #215150 in the eclipse startup script. Also + get MOZILLA_FIVE_HOME variable from swt's package.env (bug #214785) - this + was by mistake already applied to 3.3.1.1 when locking swt dep (see below) + but only revbump gets this to everyone. *eclipse-sdk-3.2.1-r3 (06 Apr 2008) diff --git a/dev-util/eclipse-sdk/Manifest b/dev-util/eclipse-sdk/Manifest index edcce144eff1..759162bedbac 100644 --- a/dev-util/eclipse-sdk/Manifest +++ b/dev-util/eclipse-sdk/Manifest @@ -3,6 +3,7 @@ AUX 3.3/disable-jdk6.diff 8875 RMD160 c14a9721c61b392cd3f57c9893afd0d0148a31ed S AUX 3.3/disable-jdt-tool.diff 6111 RMD160 fcc8c0891d4fdd22ab8a8a2c90bf77b0cd1419eb SHA1 e7ac7fd9948774f16978f49d88c107c06abd6972 SHA256 cbffbc7e5c167b0d890d4f790280acb515b07734641e8737f17487757bdcc4cf AUX 3.3/disable-swt.diff 16961 RMD160 442d769aa58a06032f79ac1bd38324e5d743f33b SHA1 2b271daa5414403da84c37f6504df47baedda41b SHA256 dfd3092376afdea520287387397f38f1433e872fecce99f80c4e3ffeeff79744 AUX 3.3/eclipse-3.3 1308 RMD160 2d13c201394446bf3604fa535a7bcbf1719e67d8 SHA1 8767136cf48c409234c1a88fad15a907a4d8e291 SHA256 2f17956b2bf919eae473217936689f70f60db93d7d2e85e958c3026ce8dc4d8f +AUX 3.3/eclipse-3.3-r1 1693 RMD160 dec72f67651f9d2e9bb80f3b664130e3e94be6cc SHA1 aef22039453af57e0f560f51b1a296c4802a30c7 SHA256 4c5be4eb84f0b8b4710b04d7ab65286ddfbd1191cda406dc3e554ed8ab843e7d AUX 3.3/eclipse-jsch-api-update.patch 554 RMD160 7f45812032eeb0aed10ab8cffd5d9b4633032b3f SHA1 43d1caaf0369253a5a3b4159216e9cc49efa3ede SHA256 33616660eed6b57fcd7a3df040d86d93e7912d47bf4c690c17e844f4ad361b14 AUX 3.3/eclipse-workbench-miscompile-workaround.diff 629 RMD160 a122e199f769147df84772e557ce719a531abfd2 SHA1 e5ad09c6c4a18747ac787258bc8041636c5e2aa4 SHA256 4ef77f3e0967731eb53561780285488fd32eebac8d8cdee39508ba2d157c3434 AUX 3.3/eclipserc 858 RMD160 f911438aa661be9ca8fc352dd372c9485d163ddb SHA1 abb1c369326be455d16bc42cf0a1b035aa145dc0 SHA256 0aea733c968ca064ad5ca95d5895778ecf7387826198b512e98d0cbb7dd353f1 @@ -18,6 +19,7 @@ DIST eclipse-sourceBuild-srcIncluded-3.2.1.zip 82433420 RMD160 9648176b79adac721 DIST eclipse-sourceBuild-srcIncluded-3.3.1.1.zip 94267330 RMD160 78d19b528e99c3f3416de099ab5dcd59430fc9ac SHA1 901f4c66acf4c988fc08f78f3ffcd45b3748b344 SHA256 e4c24d54a2b9bc630f961320c61f8e804255f49b141370d240ce0444eb89a658 EBUILD eclipse-sdk-3.2.1-r2.ebuild 12774 RMD160 432060d99495abfb5ecdc8bf23820a0968a79e85 SHA1 33e27e840c2fb09318afe82c765e2446c1e50381 SHA256 e6948af605a48f152698a772f3f5f1be388fdb9410a51f9e70b742495cb20cd4 EBUILD eclipse-sdk-3.2.1-r3.ebuild 12796 RMD160 6c5d4096f15eae08c0ce1dd28bf0a2be5b575d51 SHA1 e07246bd2450bf66c02e732c8a7a0a844255ed1d SHA256 55a5fb7361e70e7278bb8800c2f2b89c4b7063099f5f6696cf6c1e8350377820 +EBUILD eclipse-sdk-3.3.1.1-r1.ebuild 12064 RMD160 f81b45b9fbc112c34c9f373034102e2a7fe4d588 SHA1 fcab33ebb6fd70db6ea54f9305e6c42a3eca74d7 SHA256 d7e401123a6495147b38915d79d63588859230c94b3c38f756e23d66a1f053e9 EBUILD eclipse-sdk-3.3.1.1.ebuild 12041 RMD160 5a20dc54c4de9105c8a40b3a9c66e36efb7442fe SHA1 c859a2fae7c5308d8599c04ec65dd36a34a8058b SHA256 7557cebff8520e016cff513a49185c1c5ae34f149553b42dc8eb328ef709a15d -MISC ChangeLog 27277 RMD160 4fe4ec4edd045d654327b19273961a220b51db00 SHA1 c2ba47507c732b90eb1c0c9dc3e92b81208bf25c SHA256 65f300edf70544fd85eb36001b0cb14bb8696ed1f7ef3831c7df8c046d76a3ed +MISC ChangeLog 27701 RMD160 18451a17b7afa1803ce5a0821c31a3d739f85c37 SHA1 e5c42c73be75a1e3c4160a153d88b48d0df7f106 SHA256 52bac9dcafe01f7134734fc4b438ac84fa36ed657e47401e9286d73a9d1d99e4 MISC metadata.xml 800 RMD160 f97cc4ac78898369a7706331bb14bc838519cf21 SHA1 21cd52a15acb6510aa3b955f78fb28a73cf58234 SHA256 76e243573c28c3d705f54745cfbcedd85dae3233b6ed00e2f81a61ac9caeeeaa diff --git a/dev-util/eclipse-sdk/eclipse-sdk-3.3.1.1-r1.ebuild b/dev-util/eclipse-sdk/eclipse-sdk-3.3.1.1-r1.ebuild new file mode 100644 index 000000000000..4d0f5b1ecf1e --- /dev/null +++ b/dev-util/eclipse-sdk/eclipse-sdk-3.3.1.1-r1.ebuild @@ -0,0 +1,325 @@ +# Copyright 2007-2008 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.3.1.1-r1.ebuild,v 1.1 2008/04/06 20:55:31 caster Exp $ + +# Tomcat is almost no longer needed in 3.3 and removed in 3.4. +# See bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=173692 +# Currently we remove the Tomcat stuff entirely - potentially this can still break things. +# We'll put it back if there is any bug report, which is unlikely. + +# To unbundle a jar, do the following: +# 1) Rewrite the ebuild so it uses OSGi packaging +# 2) Add the dependency and add it to gentoo_jars/system_jars +# 3) Remove it from the build directory, and don't forget to modify the main Ant file +# so that it does *NOT* copy the file at the end +# 4) Install the symlink itself via java-pkg_jarfrom + +# Jetty, Tomcat-jasper and Lucene analysis (1.9.1) jars have to stay bundled for now, until someone does some work on them. +# Hopefully, wltjr will soon package tomcat-jasper. + +# Current patches are hard to maintain when revbumping. +# Two solutions: +# 1) Split patches so that there is one per file +# 2) Use sed, better solution I would say. + +EAPI="1" +JAVA_PKG_IUSE="doc" +inherit java-pkg-2 java-ant-2 check-reqs + +DMF="R-${PV}-200710231652" +MY_A="eclipse-sourceBuild-srcIncluded-${PV/.0}.zip" + +DESCRIPTION="Eclipse Tools Platform" +HOMEPAGE="http://www.eclipse.org/" +SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_A}" + +SLOT="3.3" +LICENSE="EPL-1.0" +IUSE="" +KEYWORDS="~amd64 ~x86" + +S=${WORKDIR} +PATCHDIR="${FILESDIR}/${SLOT}" +FEDORA="${PATCHDIR}/fedora" +ECLIPSE_DIR="/usr/lib/eclipse-${SLOT}" + +CDEPEND=">=dev-java/ant-eclipse-ecj-3.3 + dev-java/ant-core + dev-java/ant-nodeps + =dev-java/junit-3* + dev-java/junit:4 + >=dev-java/swt-${PV}:3 + >=dev-java/jsch-0.1.36-r1 + >=dev-java/icu4j-3.6.1 + >=dev-java/commons-el-1.0-r2 + >=dev-java/commons-logging-1.1-r6 + >=dev-java/tomcat-servlet-api-5.5.25-r1:2.4 + dev-java/lucene:1.9" + +RDEPEND=">=virtual/jre-1.5 + ${CDEPEND}" + +DEPEND=">=virtual/jdk-1.5 + sys-apps/findutils + dev-java/cldc-api:1.1 + app-arch/unzip + app-arch/zip + ${CDEPEND}" + +JAVA_PKG_BSFIX="off" + +pkg_setup() { + java-pkg-2_pkg_setup + + CHECKREQS_MEMORY="768" + check_reqs + + eclipseArch=${ARCH} + use amd64 && eclipseArch="x86_64" +} + +src_unpack() { + unpack ${A} + patch-apply + remove-bundled-stuff + + # No warnings / Java 5 / all output should be directed to stdout + find "${S}" -type f -name '*.xml' -exec \ + sed -r -e "s:(-encoding ISO-8859-1):\1 -nowarn:g" -e "s:(\"compilerArg\" value=\"):\1-nowarn :g" \ + -e "s:(<property name=\"javacSource\" value=)\".*\":\1\"1.5\":g" \ + -e "s:(<property name=\"javacTarget\" value=)\".*\":\1\"1.5\":g" -e "s:output=\".*(txt|log).*\"::g" -i {} \; + + # JDK home + sed -r -e "s:^(JAVA_HOME =) .*:\1 $(java-config --jdk-home):" -e "s:gcc :gcc ${CFLAGS} :" \ + -i plugins/org.eclipse.core.filesystem/natives/unix/linux/Makefile || die "sed Makefile failed" + + while read line; do + java-ant_rewrite-classpath "$line" > /dev/null + done < <(find "${S}" -type f -name "build.xml" ) +} + +src_compile() { + # Figure out correct boot classpath + local bootClassPath=$(java-config --runtime) + einfo "Using boot classpath ${bootClassPath}" + + java-pkg_force-compiler ecj-3.3 + + # system_jars will be used when compiling (javac) + # gentoo_jars will be used when building JSPs and other ant tasks (not javac) + + local systemJars="$(java-pkg_getjars swt-3,icu4j,ant-core,jsch,ant-nodeps,junit-4,tomcat-servlet-api-2.4,lucene-1.9):$(java-pkg_getjars --build-only cldc-api-1.1)" + local gentooJars="$(java-pkg_getjars ant-core,icu4j,jsch,commons-logging,commons-el,tomcat-servlet-api-2.4)" + local options="-q -Dnobootstrap=true -Dlibsconfig=true -Dbootclasspath=${bootClassPath} -DinstallOs=linux \ + -DinstallWs=gtk -DinstallArch=${eclipseArch} -Djava5.home=$(java-config --jdk-home)" + + use doc && options="${options} -Dgentoo.javadoc=true" + + ANT_OPTS=-Xmx1024M ANT_TASKS="ant-nodeps" eant ${options} -Dgentoo.classpath="${systemJars}" -Dgentoo.jars="${gentooJars//:/,}" +} + +src_install() { + dodir /usr/lib + + [[ -f result/linux-gtk-${eclipseArch}-sdk.tar.gz ]] || die "tar.gz bundle was not built properly!" + tar zxf "result/linux-gtk-${eclipseArch}-sdk.tar.gz" -C "${D}/usr/lib" || die "Failed to extract the built package" + + mv "${D}/usr/lib/eclipse" "${D}/${ECLIPSE_DIR}" + + # Install startup script + newbin "${FILESDIR}"/${SLOT}/eclipse-${SLOT}-r1 eclipse-${SLOT} + + # Chmod the actual binary in the Eclipse dir + chmod +x "${D}/${ECLIPSE_DIR}/eclipse" + + insinto "/etc" && doins "${FILESDIR}/${SLOT}/eclipserc" + + make_desktop_entry eclipse-${SLOT} "Eclipse ${PV}" "${ECLIPSE_DIR}/icon.xpm" + + cd "${D}/${ECLIPSE_DIR}" + install-link-system-jars +} + +pkg_postinst() { + einfo + einfo "Welcome to Eclipse-3.3 (Europa)!" + einfo + einfo "You can now install plugins via Update Manager without any" + einfo "tweaking. This is the recommended way to install new features for Eclipse." + einfo + einfo "Please read http://gentoo-wiki.com/Eclipse" + einfo "It contains a lot of useful information and help about Eclipse on Gentoo." +} + +# ----------------------------------------------------------------------------- +# Helper functions +# ----------------------------------------------------------------------------- + +install-link-system-jars() { + + pushd plugins/ > /dev/null + java-pkg_jarfrom swt-3 + + mkdir "org.apache.ant" + mkdir "org.apache.ant/META-INF/" + mkdir "org.apache.ant/lib" + cp "${FILESDIR}/${SLOT}/ant-osgi-manifest.mf" "org.apache.ant/META-INF/MANIFEST.MF" + pushd org.apache.ant/lib > /dev/null + java-pkg_jarfrom ant-core + java-pkg_jarfrom ant-nodeps + popd > /dev/null + + java-pkg_jarfrom icu4j + java-pkg_jarfrom jsch + java-pkg_jarfrom commons-el + java-pkg_jarfrom commons-logging + java-pkg_jarfrom lucene-1.9 + java-pkg_jarfrom tomcat-servlet-api-2.4 + + popd > /dev/null + + pushd plugins/org.junit_*/ > /dev/null + java-pkg_jarfrom junit + popd > /dev/null + + pushd plugins/org.junit4*/ > /dev/null + java-pkg_jarfrom junit-4 + popd > /dev/null +} + +patch-apply() { + # Patch launcher source + mkdir launchertmp + unzip -qq -d launchertmp plugins/org.eclipse.platform/launchersrc.zip > /dev/null || die "unzip failed" + pushd launchertmp/ > /dev/null + epatch "${PATCHDIR}/launcher_double-free.diff" + sed -i "s/CFLAGS\ =\ -O\ -s\ -Wall/CFLAGS = ${CFLAGS}\ -Wall/" library/gtk/make_linux.mak \ + || die "Failed to tweak make_linux.mak" + zip -q -6 -r ../launchersrc.zip * >/dev/null || die "zip failed" + popd > /dev/null + mv launchersrc.zip plugins/org.eclipse.platform/launchersrc.zip + rm -rf launchertmp + + # Disable SWT, JDT-Tool, JDK-6 + epatch "${PATCHDIR}/disable-swt.diff" + epatch "${PATCHDIR}/disable-jdt-tool.diff" + epatch "${PATCHDIR}/disable-jdk6.diff" + epatch "${PATCHDIR}/set-java-home.diff" # this setups the java5 home variable + + # Following are patches from Fedora - I did not investigate this yet + + epatch "${FEDORA}/eclipse-libupdatebuild2.patch" + + # Fedora does not apply this anymore because they checkout + # org.eclipse.equinox.initializer project from cvs. Untill a fix, we'll + # keep the old patch + pushd plugins/org.eclipse.core.runtime >/dev/null + epatch "${FEDORA}/eclipse-fileinitializer.patch" + popd >/dev/null + + # Generic releng plugins that can be used to build plugins + # https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.html + pushd plugins/org.eclipse.pde.build > /dev/null + # Patch 53 + epatch "${FEDORA}/eclipse-pde.build-add-package-build.patch" + sed -e "s:@eclipse_base@:${ECLIPSE_DIR}:g" -i templates/package-build/build.properties + popd > /dev/null + + # Gentoo patch to support jsch-0.1.36 - ali_bush + # Already fixed in upstream svn. Remove after next release? + + pushd "plugins/org.eclipse.jsch.ui" > /dev/null + epatch "${PATCHDIR}/eclipse-jsch-api-update.patch" + popd > /dev/null + + # Later we could produce a patch out of all these sed, but this is not the best solution + # since this would make a lot of patches (x86, x86_64...) and would be hard to revbump + + # Following adds an additional classpath when building JSPs + + sed -i '/<path id="@dot\.classpath">/ a\ + <filelist dir="" files="${gentoo.jars}" />' "plugins/org.eclipse.help.webapp/build.xml" + + # Following allows the doc USE flag to be honored + + sed -i -e '/<target name="generateJavadoc" depends="getJavadocPath"/ c\ + <target name="generateJavadoc" depends="getJavadocPath" if="gentoo.javadoc">' \ + -e '/<replace file="\${basedir}\/\${optionsFile}" token="@rt@" value="\${bootclasspath}/ c\ + <replace file="${basedir}/${optionsFile}" token="@rt@" value="${bootclasspath}:${gentoo.classpath}" />' \ + "plugins/org.eclipse.platform.doc.isv/buildDoc.xml" + + # Following disables Tomcat entirely + + sed -i '/plugins\/org\.eclipse\.tomcat"/{N;N;N;N;d;}' "features/org.eclipse.platform/build.xml" + sed -i '/org\.eclipse\.tomcat/{N;N;N;d;}' "plugins/org.eclipse.platform.source/build.xml" + sed -i '/<ant.*org\.eclipse\.tomcat/{N;N;d;}' "assemble.org.eclipse.sdk.linux.gtk.${eclipseArch}.xml" + + # This allows to compile osgi.util and osgi.service, and fixes IPluginDescriptor.class which is present compiled + + sed -i -e 's/<src path="\."/<src path="org"/' -e '/<include name="org\/"\/>/ d' \ + -e '/<subant antfile="\${customBuildCallbacks}" target="pre\.gather\.bin\.parts" failonerror="false" buildpath="\.">/ { n;n;n; a\ + <copy todir="${destination.temp.folder}/org.eclipse.osgi.services_3.1.200.v20070605" failonerror="true" overwrite="false"> \ + <fileset dir="${build.result.folder}/@dot"> \ + <include name="**"/> \ + </fileset> \ + </copy> +}' "plugins/org.eclipse.osgi.services/build.xml" + + sed -i -e 's/<src path="\."/<src path="org"/' -e '/<include name="org\/"\/>/ d' \ + -e '/<subant antfile="\${customBuildCallbacks}" target="pre\.gather\.bin\.parts" failonerror="false" buildpath="\.">/ { n;n;n; a\ + <copy todir="${destination.temp.folder}/org.eclipse.osgi.util_3.1.200.v20070605" failonerror="true" overwrite="false"> \ + <fileset dir="${build.result.folder}/@dot"> \ + <include name="**"/> \ + </fileset> \ + </copy> +}' "plugins/org.eclipse.osgi.util/build.xml" + + sed -i '/<mkdir dir="${temp\.folder}\/runtime_registry_compatibility\.jar\.bin"\/>/ a\ + <mkdir dir="classes"/> \ + <copy todir="classes" failonerror="true" overwrite="false"> \ + <fileset dir="${build.result.folder}/../org.eclipse.core.runtime/@dot/" includes="**/IPluginDescriptor.class" > \ + </fileset> \ + </copy>' "plugins/org.eclipse.core.runtime.compatibility.registry/build.xml" + + # This removes the copying operation for bundled jars + + sed -i -e "s/<copy.*com\.jcraft\.jsch.*\/>//" -e "s/<copy.*com\.ibm\.icu.*\/>//" -e "s/<copy.*org\.apache\.commons\.el_.*\/>//" \ + -e "s/<copy.*org\.apache\.commons\.logging_.*\/>//" -e "s/<copy.*javax\.servlet\.jsp_.*\/>//" -e "s/<copy.*javax\.servlet_.*\/>//" \ + -e "s/<copy.*org\.apache\.lucene_.*\/>//" "package.org.eclipse.sdk.linux.gtk.${eclipseArch}.xml" + + # -e "s/<copy.*org\.apache\.lucene\.analysis_.*\/>//" +} + +remove-bundled-stuff() { + # Remove pre-built eclipse binaries + find "${S}" -type f -name eclipse | xargs rm + # ... .so libraries + find "${S}" -type f -name '*.so' | xargs rm + # ... .jar files + rm plugins/org.eclipse.swt/extra_jars/exceptions.jar plugins/org.eclipse.osgi/osgi/osgi*.jar \ + plugins/org.eclipse.osgi/supplement/osgi/osgi.jar + + rm -rf plugins/org.eclipse.swt.* + rm -rf plugins/org.apache.ant_* + rm plugins/org.apache.commons.*.jar + rm plugins/com.jcraft.jsch* + rm plugins/com.ibm.icu* + rm plugins/org.junit_*/*.jar + rm plugins/org.junit4*/*.jar + rm plugins/javax.*.jar + rm plugins/org.apache.lucene_*.jar + + # Removing Tomcat stuff + + rm -rf "plugins/org.eclipse.tomcat/" + + # Remove bundled classes + + rm -rf "plugins/org.eclipse.osgi.services/org" + unzip -q "plugins/org.eclipse.osgi.services/src.zip" -d "plugins/org.eclipse.osgi.services/" + rm -rf "plugins/org.eclipse.osgi.util/org" + unzip -q "plugins/org.eclipse.osgi.util/src.zip" -d "plugins/org.eclipse.osgi.util/" + + rm -rf plugins/org.eclipse.jdt.core/scripts/*.class + rm -rf plugins/org.eclipse.core.runtime.compatibility.registry/classes +} diff --git a/dev-util/eclipse-sdk/files/3.3/eclipse-3.3-r1 b/dev-util/eclipse-sdk/files/3.3/eclipse-3.3-r1 new file mode 100644 index 000000000000..26a50e86dae6 --- /dev/null +++ b/dev-util/eclipse-sdk/files/3.3/eclipse-3.3-r1 @@ -0,0 +1,45 @@ +#!/bin/bash +# +# Tiny startup wrapper for Eclipse-3.3 +# +# Copyright (c) 2004, Karl Trygve Kalleberg <karltk@gentoo.org> +# Copyright (c) 2007-2008, Jean-Noël Rivasseau <elvanor@gentoo.org> +# Copyright (c) 2004-2008, Gentoo Foundation +# +# Licensed under the GNU General Public License, version 2 +# + +[[ -f "/etc/eclipserc" ]] && source "/etc/eclipserc" +[[ -f "$HOME/.gentoo/eclipserc" ]] && source "$HOME/.gentoo/eclipserc" + +ECLIPSE_HOME=${ECLIPSE_HOME:="/usr/lib/eclipse-3.3"} +ECLIPSE_BIN="${ECLIPSE_HOME}/eclipse" + +if [[ ! -x "${ECLIPSE_BIN}" ]] ; then + echo "Failed to find executable '${ECLIPSE_BIN}'" > /dev/stderr + exit -1 +fi + +if ((EUID==0)); then + echo "!!! You are running Eclipse as root." + echo "!!! This is not recommended, nor needed." +fi + +# get MOZILLA_FIVE_HOME from swt's package.env +# a bit hackish way but works, bug #214785 +eval $(gjl --package swt-3 --get-args) + +if [[ "${ECLIPSE_XMS}" ]]; then VM_ARGS="${VM_ARGS} -Xms${ECLIPSE_XMS}"; fi +if [[ "${ECLIPSE_XMX}" ]]; then VM_ARGS="${VM_ARGS} -Xmx${ECLIPSE_XMX}"; fi +if [[ "${ECLIPSE_PERMSIZE}" ]]; then VM_ARGS="${VM_ARGS} -XX:PermSize=${ECLIPSE_PERMSIZE}"; fi +if [[ "${ECLIPSE_MAX_PERMSIZE}" ]]; then VM_ARGS="${VM_ARGS} -XX:MaxPermSize=${ECLIPSE_MAX_PERMSIZE}"; fi + +# workaround for bug #215150 +if [[ $(java-config -f) == sun-jdk-1.6 || $(java-config -f) == sun-jre-bin-1.6 ]]; then + if [[ $(java-config -g VERSION) == *1.6.0.04 || $(java-config -g VERSION) == *1.6.0.05 ]]; then + echo "Performing workaround for bug #215150" + VM_ARGS="${VM_ARGS} -XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith" + fi +fi + +exec "${ECLIPSE_BIN}" "$@" -vmargs ${VM_ARGS} -Djava.library.path=/usr/lib |