summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul de Vrieze <pauldv@gentoo.org>2011-02-18 09:19:02 +0000
committerPaul de Vrieze <pauldv@gentoo.org>2011-02-18 09:19:02 +0000
commit81db1aea97407232017c1d7d8aaf0c1cb2bca375 (patch)
treebcda12b8a8bdf685fd99e2c190acd431cd981a87 /dev-util
parentNew kde 4.6 set (diff)
downloadpauldv-81db1aea97407232017c1d7d8aaf0c1cb2bca375.tar.gz
pauldv-81db1aea97407232017c1d7d8aaf0c1cb2bca375.tar.bz2
pauldv-81db1aea97407232017c1d7d8aaf0c1cb2bca375.zip
Add the ebuilds needed for modern eclipse
svn path=/trunk/overlay/; revision=125
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/eclipse-sdk/Manifest27
-rw-r--r--dev-util/eclipse-sdk/NOTES2
-rw-r--r--dev-util/eclipse-sdk/eclipse-sdk-3.4.1.ebuild404
-rw-r--r--dev-util/eclipse-sdk/eclipse-sdk-3.4.2-r1.ebuild391
-rw-r--r--dev-util/eclipse-sdk/eclipse-sdk-3.4.2.ebuild404
-rw-r--r--dev-util/eclipse-sdk/eclipse-sdk-3.6.1.ebuild370
-rw-r--r--dev-util/eclipse-sdk/files/3.4/ant-osgi-manifest.mf30
-rw-r--r--dev-util/eclipse-sdk/files/3.4/eclipse-c-warning.patch43
-rw-r--r--dev-util/eclipse-sdk/files/3.4/eclipse_build-libs.diff45
-rw-r--r--dev-util/eclipse-sdk/files/3.4/eclipse_buildfix-pde.diff11
-rw-r--r--dev-util/eclipse-sdk/files/3.4/eclipserc25
-rw-r--r--dev-util/eclipse-sdk/files/3.4/fedora/eclipse-libupdatebuild2.patch10
-rw-r--r--dev-util/eclipse-sdk/files/3.4/fedora/eclipse-pde.build-add-package-build.patch273
-rw-r--r--dev-util/eclipse-sdk/files/3.6/eclipse-3.6 (renamed from dev-util/eclipse-sdk/files/3.4/eclipse-3.4)19
-rw-r--r--dev-util/eclipse-sdk/files/3.6/eclipserc-3.6 (renamed from dev-util/eclipse-sdk/files/3.4/eclipserc-3.4)0
-rw-r--r--dev-util/eclipse-sdk/files/3.6/gtk_makefile.patch36
-rw-r--r--dev-util/eclipse-sdk/files/3.6/hamcrest-junit-lib.patch11
-rw-r--r--dev-util/eclipse-sdk/files/3.6/iterators.patch70
-rw-r--r--dev-util/eclipse-sdk/metadata.xml17
19 files changed, 528 insertions, 1660 deletions
diff --git a/dev-util/eclipse-sdk/Manifest b/dev-util/eclipse-sdk/Manifest
index 612a730..9b6b241 100644
--- a/dev-util/eclipse-sdk/Manifest
+++ b/dev-util/eclipse-sdk/Manifest
@@ -1,15 +1,12 @@
-AUX 3.4/ant-osgi-manifest.mf 3165 RMD160 75444432268c9eef06cd4bb18352b77e426ed116 SHA1 c09dd82dee4708e8726b52569e25da0edda641df SHA256 1df8d7283d6f8fa3d1c3bbbbd832a5fd091f39b52d27d88b131064aeb81ab542
-AUX 3.4/eclipse-3.4 1378 RMD160 8e99b71258a5c047e3094b2ec941924871b9b147 SHA1 99cf45921276ed70f1123cc2c0655ec37944a0d4 SHA256 ba99d0d956d53d5f8f801c7f8aa9a805bb32c0a4e64262eac39bfc176c46ebbe
-AUX 3.4/eclipse-c-warning.patch 1763 RMD160 a12e5c00d93534a0baff4b100e9ba08d6503da9c SHA1 7ccb60e0085e1fdb166e48613088454276b563d3 SHA256 3fdcad1d066200d276648b5cb6f6a7d10de89ca7a2ff6397edc0eda4128050cc
-AUX 3.4/eclipse_build-libs.diff 2054 RMD160 0d74a889ecfb10d62e7cb20bad73c956e8225503 SHA1 3c570014221537debd8ac568d7ab94da18d8ebb4 SHA256 ce181b5dd7dc47bbb60b965c0241b126a4b5edfdddae762596ed882fdbd637bf
-AUX 3.4/eclipse_buildfix-pde.diff 470 RMD160 f5868f6da880e6e930051893cba3e4277e927fb5 SHA1 f6ca5a75a40cff1d132af2b0d32367de744d4c62 SHA256 99450b348f6d41a489adfd51e1132f640eb8c43dfc4e9dd8e026aec66b41e30a
-AUX 3.4/eclipserc 1001 RMD160 a008502defce8739022f3e4333cde1fb7f3de0f5 SHA1 b712b8b53e27214b0b51f01206b6252c9ef4ab9c SHA256 c1d66404893b11b5c4d743a974a61277508c5d3fcec0aad96f50f620d42c6191
-AUX 3.4/eclipserc-3.4 858 RMD160 f911438aa661be9ca8fc352dd372c9485d163ddb SHA1 abb1c369326be455d16bc42cf0a1b035aa145dc0 SHA256 0aea733c968ca064ad5ca95d5895778ecf7387826198b512e98d0cbb7dd353f1
-AUX 3.4/fedora/eclipse-libupdatebuild2.patch 722 RMD160 6baa55ab7545f02e808ed05c901f77fb1d6709d4 SHA1 29f86a88e8ddc048e1fb4206a73824b2a4ed742d SHA256 ba7af44c1751b749591a53cb2c80852ef08f2f003917a5914042937e2d05b464
-AUX 3.4/fedora/eclipse-pde.build-add-package-build.patch 11604 RMD160 ba63781fa77452e4c36eae7e07d81b7d39f5ec29 SHA1 7ee30f8fc2732125e1f2ba01038922d995b21456 SHA256 d361930896c940c09a7faf41f2c8d7843d56be9b90391e91538890062e5d7803
-DIST eclipse-sourceBuild-srcIncluded-3.4.1.zip 106290656 RMD160 b5244cd94199b2d359e7e4d1f93018c9050e29de SHA1 484cdf90c05fab47492f7d2ce1fff64422373a9b SHA256 cb451bcc8866ab289b3a322e17eda7d20429463e8b3f329f66626b45b0fd6824
-DIST eclipse-sourceBuild-srcIncluded-3.4.2.zip 105843305 RMD160 d4bb5e15b484ac955ba342336de70b3d0c14ac6d SHA1 2a093a119def58b4df43e672c4d75c2f62fb0b16 SHA256 0c0df3b317a0c5745dfb7d5714ea3754b1f2d23f08c1f59713c812dd0bfa79d7
-EBUILD eclipse-sdk-3.4.1.ebuild 15721 RMD160 1a283708028e962c35e2da72148f327793ad570b SHA1 ff4e0aa67d25182b280839f7415227274486a447 SHA256 ba38a377d1f450a704bc4e098288ebce4ec47ebee3ba975b75cda6a3c55ceb51
-EBUILD eclipse-sdk-3.4.2-r1.ebuild 15420 RMD160 93bdf99a6a6004d94d1699be7444de5b73bd281e SHA1 4bd6e7bce9b2b894e8bc548213ebc4830fc15f4c SHA256 c9e65ba99963b5b56ee1b52c2c7d7b9b09e9aad5fb360fe120d3c271a89aadf3
-EBUILD eclipse-sdk-3.4.2.ebuild 15717 RMD160 c5e44607705d812a6925994e8873494ab2a344b1 SHA1 4393bd75c2ac1195fad147e8d724450d7cea55d3 SHA256 9e6cb767aeb5069ee50567b0784a87917aa9adca87c4c97eb5338062ba288fec
-MISC NOTES 109 RMD160 46488535b78316726bcd68db93ba92f6660dce66 SHA1 e329071628cc4ac1401faa44c8e7976597cba2c6 SHA256 c914208f0ac7675bd3b6c9d306387dca733554bb771eb1add872c7b9c929dfba
+AUX 3.6/eclipse-3.6 1387 RMD160 92db7721aedc6a0a1f1474a806d6d4ddfafe6a12 SHA1 78a04cb87b5fe01929c898e702085d7d839e862f SHA256 cd5a53e665298008de47894189780560b017d4f5b41e9b0a3d225408e459fdff
+AUX 3.6/eclipserc-3.6 858 RMD160 f911438aa661be9ca8fc352dd372c9485d163ddb SHA1 abb1c369326be455d16bc42cf0a1b035aa145dc0 SHA256 0aea733c968ca064ad5ca95d5895778ecf7387826198b512e98d0cbb7dd353f1
+AUX 3.6/gtk_makefile.patch 1541 RMD160 39738d224c8d6aa9683b6898c773cd0f72f9bd70 SHA1 32b0cbaea2cba87191d3eb8cfa260f3419eea50a SHA256 5b33a3bb23856cdd46381a4de50100392858e9e37cbf814d2426589fa0bbdf58
+AUX 3.6/hamcrest-junit-lib.patch 1123 RMD160 16a33e88295718a43931d54d1dd5f57ddfcfd4f7 SHA1 69697c2b3b430f47391896590f5ac10554b9190e SHA256 147c55f9cb222745f64d0711211f5f900352712c2df6e449c424fe5b7fba3fec
+AUX 3.6/iterators.patch 2058 RMD160 a91238c61510f16bc48bc9559e9c6e341def6dd0 SHA1 f0fcc75ec4827a1f2dbc65af65940beb7274864b SHA256 cc2a1da26b8f63d9c4b75ededf10d7aa67a0d53dea390154eef882dc75e37f2b
+DIST eclipse-3.6.0-src.tar.bz2 62602010 RMD160 30e02be2d7e7690e3f8ec4c9ca8260938faf3894 SHA1 cd6a59eb830423bb6ac41021115e6673d74b8f10 SHA256 5855fad1f877698c409a677ff32c958227fe0442492cd959e7dc0882060e6fd3
+DIST eclipse-3.6.1-src.tar.bz2 62823517 RMD160 82d7d50d8f2be20116f55e6be086ae9dbac9bc0e SHA1 c95a21897da29b080e86b94c0298cc8b792af929 SHA256 6144cbcf3715a144d9be433c2a89f3f3bdce6ee3c33396e3e783d3b683cdc94f
+DIST eclipse-build-0.6.0.tar.bz2 293428 RMD160 3ca7b8e8e4016cab251ef758ed533856aa31ced3 SHA1 2f0580bb2496bd299ad77ada48cb7d9e3ab5a4fd SHA256 a2dc16b9178d0416e01c52306c68b4a82c34a7cc163d86326dbcfbab16a68ef3
+EBUILD eclipse-sdk-3.6.0.ebuild 12286 RMD160 dc60b8623fc713ff558935a12d6acea77a4da022 SHA1 3841d355b1bd6d7c27272e80be3c3c297fefd08d SHA256 8134b342ea4c391e42832599d936a8e548531d4039b6591b21290005e032eed0
+EBUILD eclipse-sdk-3.6.1.ebuild 12488 RMD160 d2757dcdeee41fc84b47698be3368b2601feec8a SHA1 a30445590973ee8f6e05a419f9b5877c10a6d7e0 SHA256 b17bc05a2cd878bdb06becbe45313b50b12482e2e023dfd94396877967a3735b
+MISC NOTES 95 RMD160 8a25c8c280750c4369e7659cd990e70a55a8221e SHA1 19f635c381122e9f4ef91d3bff5654abc914eb7f SHA256 7a46f31a4ef7c84668092d04c333241ca6dc68c27113de95644fb3247c286e10
+MISC metadata.xml 800 RMD160 f97cc4ac78898369a7706331bb14bc838519cf21 SHA1 21cd52a15acb6510aa3b955f78fb28a73cf58234 SHA256 76e243573c28c3d705f54745cfbcedd85dae3233b6ed00e2f81a61ac9caeeeaa
diff --git a/dev-util/eclipse-sdk/NOTES b/dev-util/eclipse-sdk/NOTES
index 3b9e02d..a98dcd3 100644
--- a/dev-util/eclipse-sdk/NOTES
+++ b/dev-util/eclipse-sdk/NOTES
@@ -1 +1 @@
-New eclipse to follow upstream. Also fix broken jdk1.6 support (and hopefully make the j2ee plugins working)
+New eclipse from bug #325271, to get modern (working) eclipse irregardless of jetty ebuilding.
diff --git a/dev-util/eclipse-sdk/eclipse-sdk-3.4.1.ebuild b/dev-util/eclipse-sdk/eclipse-sdk-3.4.1.ebuild
deleted file mode 100644
index b057988..0000000
--- a/dev-util/eclipse-sdk/eclipse-sdk-3.4.1.ebuild
+++ /dev/null
@@ -1,404 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-# Jetty and Jasper have to stay bundled for now, until someone does some work on them.
-
-# ECF also has to stay bundled due to a chicken and egg situation. We could use
-# the bundled version to build Eclipse and then build ECF later but it's still
-# a pain to build without using chewi-overlay.
-
-# 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_ANT_DISABLE_ANT_CORE_DEP="true"
-WANT_ANT_TASKS="ant-nodeps"
-
-inherit java-pkg-2 java-ant-2 check-reqs
-
-DMF="R-${PV}-200809111700"
-MY_A="eclipse-sourceBuild-srcIncluded-${PV}.zip"
-
-DESCRIPTION="Eclipse Tools Platform"
-HOMEPAGE="http://www.eclipse.org/"
-SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_A}"
-
-SLOT="3.4"
-LICENSE="EPL-1.0"
-IUSE="doc java6 source"
-KEYWORDS="~amd64 ~x86"
-
-S="${WORKDIR}"
-PATCHDIR="${FILESDIR}/${SLOT}"
-ECLIPSE_DIR="/usr/$(get_libdir)/eclipse-${SLOT}"
-BUILDPARSER="/usr/$(get_libdir)/javatoolkit/bin/buildparser"
-
-CDEPEND="dev-java/swt:${SLOT}
- dev-java/ant-eclipse-ecj:${SLOT}
- >=dev-java/ant-1.7.1
- >=dev-java/ant-core-1.7.1
- >=dev-java/asm-3.1:3
- >=dev-java/jsch-0.1.36-r1
- >=dev-java/icu4j-3.8.1:0
- >=dev-java/commons-el-1.0-r2
- >=dev-java/commons-logging-1.1-r6
- >=dev-java/lucene-analyzers-1.9.1-r1:1.9
- >=dev-java/tomcat-servlet-api-5.5.25-r1:2.4
- dev-java/cldc-api:1.1
- dev-java/junit:0
- dev-java/lucene:1.9
- dev-java/sat4j-core:2
- dev-java/sat4j-pseudo:2"
-
-RDEPEND="${CDEPEND}
- ${JAVA_ANT_E_DEPEND}
- java6? ( >=virtual/jre-1.6 )
- !java6? ( >=virtual/jre-1.5 )"
-
-DEPEND="${CDEPEND}
- !java6? ( >=virtual/jdk-1.5 )
- java6? ( >=virtual/jdk-1.6 )
- >=dev-java/javatoolkit-0.3
- app-arch/unzip
- app-arch/zip"
-
-JAVA_PKG_BSFIX="off"
-
-pkg_setup() {
- java-pkg-2_pkg_setup
-
- CHECKREQS_MEMORY="512"
- check_reqs
-
- if use doc ; then
- ewarn "Having the doc USE flag enabled greatly increases the build time. You might"
- ewarn "want to disable it for ${PN} if you don't need it."
- fi
-
- eclipsearch=${ARCH}
- use amd64 && eclipsearch="x86_64"
-}
-
-src_unpack() {
- unpack ${A}
- patch-apply
- remove-bundled-stuff
-
- while read line; do
- java-ant_rewrite-classpath "${line}" > /dev/null
- done < <(find "${S}" -type f -name "build.xml")
-}
-
-src_compile() {
- java-pkg_force-compiler ecj-${SLOT}
-
- local bootclasspath=$(java-config --runtime)
- local options="-q -Dnobootstrap=true -Dlibsconfig=true -Dbootclasspath=${bootclasspath} -DinstallOs=linux \
- -DinstallWs=gtk -DinstallArch=${eclipsearch} -Djava5.home=$(java-config --jdk-home)"
-
- use java6 && options="${options} -DJavaSE-1.6=${bootclasspath}"
-
- ANT_OPTS="-Xmx512M" eant ${options}
-
- # Generate P2 metadata.
- `java-config -J` -jar eclipse/plugins/org.eclipse.equinox.launcher_*.jar -data workspace \
- -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator -flavor tooling \
- -metadataRepositoryName "Gentoo Eclipse" -artifactRepositoryName "Gentoo Eclipse" \
- -metadataRepository "file:eclipse/metadata" -artifactRepository "file:eclipse/metadata" \
- -root "Gentoo Eclipse SDK" -rootVersion "${SLOT}" -source eclipse -append -publishArtifacts || die
-}
-
-src_install() {
- # Root files don't get included by P2.
- insinto "${ECLIPSE_DIR}"
- doins -r features/org.eclipse.platform/rootfiles/{.eclipseproduct,*}
-
- # Workaround https://bugs.eclipse.org/bugs/show_bug.cgi?id=241430...
- rm -rf eclipse/configuration/.settings || die
-
- # Install using P2.
- `java-config -J` -Declipse.p2.data.area="file:${D}/${ECLIPSE_DIR}/p2" \
- -jar eclipse/plugins/org.eclipse.equinox.launcher_*.jar -data workspace \
- -application org.eclipse.equinox.p2.director.app.application -flavor tooling \
- -metadataRepository "file:eclipse/metadata" -artifactRepository "file:eclipse/metadata" \
- -installIU "Gentoo Eclipse SDK" -version "${SLOT}" -p2.os linux -p2.ws gtk -p2.arch ${eclipsearch} \
- -profile SDKProfile -profileProperties org.eclipse.update.install.features=true \
- -destination "${D}/${ECLIPSE_DIR}" -bundlepool "${D}/${ECLIPSE_DIR}" -roaming || die
-
- cd "${D}/${ECLIPSE_DIR}" || die
-
- # Delete unneeded files.
- rm -rf p2/org.eclipse.equinox.p2.core || die
-
- # Restore symlinks. P2 has ignored them.
- rm -rf plugins/org.apache.ant_*/{bin,lib} || die
- ln -snf /usr/share/ant/bin plugins/org.apache.ant_*/ || die
- ln -snf /usr/share/ant/lib plugins/org.apache.ant_*/ || die
- cp -af "${S}"/plugins/org.junit_*/*.jar plugins/org.junit_*/ || die
-# cp -af "${S}"/plugins/org.junit4/*.jar plugins/org.junit4_*/ || die
-
- # Install startup script.
- dobin "${FILESDIR}/${SLOT}/eclipse-${SLOT}" || die
-
- # Install global rc script.
- insinto /etc
- doins "${FILESDIR}/${SLOT}/eclipserc-${SLOT}" || die
-
- # Install icon and make desktop entry.
- newicon "${S}/features/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm" eclipse.xpm || die
- make_desktop_entry eclipse-${SLOT} "Eclipse ${PV}" eclipse.xpm || die
-}
-
-pkg_postinst() {
- einfo "Welcome to Eclipse ${PV} (Ganymede)!"
- 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."
- einfo " "
- einfo "The FileInitializer Plugin is no longer integrated."
- einfo "If you need it, get org.eclipse.equinox.initializer_x.y.z.jar from:"
- einfo " http://download.eclipse.org/eclipse/equinox/"
-}
-
-# -----------------------------------------------------------------------------
-# Helper functions
-# -----------------------------------------------------------------------------
-
-patch-apply() {
- # Optimize launcher build.
- unzip -q plugins/org.eclipse.platform/launchersrc.zip library/gtk/make_linux.mak || die
- sed -i -r "s/CFLAGS = -g -s\b/CFLAGS =/;/CFLAGS =/a\\\\t${CFLAGS}\\\\" library/gtk/make_linux.mak || die
- zip -qrm plugins/org.eclipse.platform/launchersrc.zip library || die
-
- # Avoid doing any unnecessary copying or archiving at the end of the build.
- sed -r -i '/<exec .*\bexecutable="tar"/,/<delete /d' {assemble,package}.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
- sed -r -i '/<delete /,/<delete .*\bdir=/d' build.xml || die
- mkdir -p tmp/eclipse || die
- ln -snf tmp/eclipse eclipse || die
-
- if ! use java6; then
- sed -r '/<ant .*\/org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))(\.source)?"/,/<\/ant>/d' \
- -i features/org.eclipse.jdt{,.source}/build.xml || die
- sed -r '/id="org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))"/,/<plugin /d' \
- -i features/org.eclipse.jdt/feature.xml || die
- sed -r '/id="org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))\.source"/d' \
- -i features/org.eclipse.jdt.source/feature.xml || die
- sed -r -e '/<customGather .*\/org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))(\.source)?"/d' \
- -e '/value="org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))(\.source)?_/,/eclipse\.plugins/d' \
- -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
- fi
-
- # Miscellaneous patches.
- epatch "${PATCHDIR}/eclipse_build-libs.diff"
- epatch "${PATCHDIR}/eclipse-c-warning.patch"
-
- # JNI.
- sed -i '/value="x86"/d' plugins/org.eclipse.update.core.linux/src/build.xml || die
-
- # Following adds an additional classpath when building JSPs.
- sed -i '/<path id="@dot\.classpath".*/a<pathelement path="${gentoo.classpath}" />' \
- plugins/org.eclipse.help.webapp/build{,JSPs}.xml || die
-
- # No warnings. Java5. Direct output to stdout.
- find -type f -name '*.xml' -exec \
- sed -r -e 's:"compilerArg" value=":\0-nowarn :g' \
- -e 's:(<property name="javac(Source|Target)" value=)"1.[0-4]":\1"1.5":g' \
- -e 's:output="[^"]+\.(txt|log)"::g' -i {} \; || die
-
- # JDK home and CFLAGS.
- sed -r -e "s:^(JAVA_HOME ?=).*:\1 $(java-config --jdk-home):" -e "s:^(OPT_FLAGS ?=).*:\0 ${CFLAGS}:" \
- -i plugins/org.eclipse.core.filesystem/natives/unix/linux/Makefile || die "sed Makefile failed"
-
- # Don't build plugins for other archs or GUI toolkits. Don't gather their sources either.
- sed -r -e '/<ant .*\.(aix|carbon|hpux|macosx|motif|qnx|solaris|win32)[".]/,/<\/ant>/d' \
- -e '/<ant .*\/org\.eclipse\.swt\..+(\.source)?"/,/<\/ant>/d' \
- -i features/org.eclipse.{platform,rcp}{,.source}/build.xml || die
-
- if ! use doc ; then
- # Don't reference the docs. Slightly evil but it works.
- sed -r '/<plugin/{:x;/id="[^"]*\.doc\./{:y;/\/>/d;N;by};/\/>/b;N;bx}' \
- -i features/*/feature.xml || die
-
- # Don't install the docs.
- sed -r '/<customGather .*\.doc\./d' \
- -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-
- # Don't build the docs.
- sed -i '/<antcall .*\btarget="build.doc.plugins"/d' build.xml || die
- sed -i '/<ant .*\/.*\.doc\./,/<\/ant>/d' features/*/build.xml || die
-
- # Don't reference the doc plugins in the sources. These feature.xml files
- # thankfully have their plugins on one line. Let's hope they stay that way.
- sed -r '/<plugin id="[^"]*\.doc\./d' \
- -i features/*.source/feature.xml || die
- fi
-
- if ! use source ; then
- # Don't reference the sources. Slightly evil but it works.
- sed -r '/<includes/{:x;/id="[^"]*\.source"/{:y;/\/>/d;N;by};/\/>/b;N;bx}' \
- -i features/org.eclipse.sdk/feature.xml || die
-
- # Don't install the sources.
- sed -r '/<(copy|customGather) .*\.source/d' \
- -i {assemble,package}.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
- fi
-
- # In 3.4.1, bootclasspath was removed from here. Not sure why.
- sed -r '/\bname="bundleBootClasspath"/s:value=":\0${bootclasspath};:' \
- -i plugins/org.eclipse.osgi/build.xml || die
-}
-
-remove-bundled-stuff() {
- local x
- pushd plugins >/dev/null
-
- # Remove pre-built binaries.
- find "${S}/features/org.eclipse.equinox.executable" -type f -name eclipse -delete || die
- # ..and libraries.
- find "${S}" -type f -name '*.so' -delete || die
- # ..and JAR files.
- rm -f org.eclipse.osgi/{,supplement}/osgi/osgi*.jar \
- org.eclipse.swt/extra_jars/exceptions.jar || die
- # ..and classes.
- rm -rf org.eclipse.jdt.core/scripts/*.class \
- org.eclipse.osgi.{services,util}/org || die
-
- # Unpack zipped sources for removed classes. If we unpack the sources to
- # src like the other plugins, the build order seems to change and things
- # break. Very bizarre. Consequently we have to adjust build.xml to
- # install the classes and not the sources. Ugly but it works.
- for x in services util ; do
- unzip -q org.eclipse.osgi.${x}/src.zip -d org.eclipse.osgi.${x}/ || die
- x=org.eclipse.osgi.${x}/build.xml
- { rm ${x} && awk '/<target .*name="gather\.bin\.parts"/ { inside = 1 } { if (inside) { if ($0 ~ /"org\/"/) next; \
- if ($0 ~ /<\/fileset>/) { print; print "<fileset dir=\"${basedir}/@dot/\" includes=\"org/\"/>"; inside = 0; next } } } { print }' > ${x}; } < ${x} || die
- done
-
- # This prebuilt class actually comes from another plugin that will be
- # built so we can just symlink to that.
- ln -snf "${S}"/plugins/org.eclipse.core.runtime/@dot/org/eclipse/core/runtime/IPluginDescriptor.class \
- org.eclipse.core.runtime.compatibility.registry/classes/org/eclipse/core/runtime/IPluginDescriptor.class || die
-
- # Reset the list of system packages to use when building.
- EANT_GENTOO_CLASSPATH="swt:${SLOT} cldc-api:1.1"
-
- unbundle-jar org.apache.commons.el commons-el
- unbundle-jar org.apache.commons.logging commons-logging
- unbundle-jar com.jcraft.jsch jsch
- unbundle-jar com.ibm.icu icu4j
- unbundle-jar javax.servlet tomcat-servlet-api:2.4
- unbundle-jar javax.servlet.jsp tomcat-servlet-api:2.4
- unbundle-jar org.apache.lucene lucene:1.9
- unbundle-jar org.apache.lucene.analysis lucene-analyzers:1.9
- unbundle-jar org.objectweb.asm asm:3
- unbundle-jar org.sat4j.core sat4j-core:2
- unbundle-jar org.sat4j.pb sat4j-pseudo:2
-
- # Make the junit4 case easier.
-# ln -snf org.junit4 org.junit4_ || die
-
- unbundle-dir org.apache.ant ant-core,ant-nodeps lib
- unbundle-dir org.junit junit .
-# unbundle-dir org.junit4 junit-4 .
-
- # Don't include sources for junit4.
-# sed -i '/junitsrc/d' org.junit4/customBuildCallbacks.xml || die
-
- # Unbundle SWT and make @dot directory to keep build happy.
- ${BUILDPARSER} -i Bundle-ClassPath "external:$(java-pkg_getjars swt-${SLOT})" org.eclipse.swt.gtk.linux.${eclipsearch}/META-INF/MANIFEST.MF || die
- mkdir -p org.eclipse.swt.gtk.linux.${eclipsearch}/@dot || die
- remove-plugin-sources org.eclipse.swt.gtk.linux.${eclipsearch}
-
- # Mark the SWT plugins as unpacked. More evilness that works.
- sed -r '/<plugin/{:x;/id="org\.eclipse\.swt\./{:y;/\/>/s/unpack="[^"]*"/unpack="true"/;t;N;by};/\/>/b;N;bx}' \
- -i "${S}"/features/org.eclipse.rcp/feature.xml || die
-
- # Prevent the SWT plugin from being JAR'd.
- sed -r '/<param .*\bvalue="org.eclipse.swt.gtk.linux.'"${eclipsearch}"'_/d' \
- -i "${S}"/assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-
- popd >/dev/null
-}
-
-# Unbundle a directory plugin by removing its JAR files and replacing them
-# with symlinks. We don't modify the manifest because Eclipse's antRunner
-# doesn't seem to like external JARs.
-unbundle-dir() {
- ebegin "Unbundling $1"
- remove-plugin-sources $1
-
- # Delete the bundled JARs and signing files.
- rm -f "$1"_*/$3/*.jar "$1"_*/META-INF/ECLIPSE.{RSA,SF} || die
-
- # Replace the bundled JARs with symlinks.
- java-pkg_jar-from --into "$1"_*/$3 $2
-
- eend 0
-}
-
-# Unbundle a JAR plugin by removing its class files and modifying its manifest
-# so that it points to external JARs instead. The plugin must remain unpacked
-# because OSGi cannot handle external JARs in packed plugins.
-unbundle-jar() {
- ebegin "Unbundling $1"
- remove-plugin-sources $1
-
- # Find full plugin name and version.
- local plugin=`echo $1_*`
- plugin=${plugin%.jar}
-
- # Make directory to replace JAR.
- mkdir -p "${plugin}" || die
- cd "${plugin}" || die
- rm -rf * || die
-
- # Extract what we need from the existing JAR.
- `java-config -j` xf "../${plugin}.jar" META-INF/MANIFEST.MF plugin.{properties,xml} || die
-
- # Apply our new classpath.
- local classpath=$(java-pkg_getjars $2)
- EANT_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH} $2"
- ${BUILDPARSER} -i Bundle-ClassPath "external:${classpath//:/,external:}" META-INF/MANIFEST.MF || die
-
- # The javadoc options are stored in text files and so rewriting the classpath in
- # the ant build files has no effect. Instead, we replace plugins paths with the
- # paths to their external JARs. Passing gentoo.classpath is too RAM-intensive.
- sed -i -r "s:^;\.\.\/${1//./\.}[_/].*\.jar$:;${classpath//:/\:}:" ../*/*Options.txt || die
-
- # Delete unneeded manifest entries.
- sed -i -r "/^Name:|^SHA1-Digest:/d" META-INF/MANIFEST.MF || die
-
- # This plugin is now unpacked. More evilness that works.
- sed -r '/<plugin/{:x;/id="'"${1//./\.}"'"/{:y;/\/>/s/unpack="[^"]*"/unpack="true"/;t;N;by};/\/>/b;N;bx}' \
- -i "${S}"/features/*/feature.xml || die
-
- # Copy the whole directory instead of just a JAR.
- sed -r "/<copy .*\/${1//./\.}/{s/<copy\b/<copydir/;s/\.jar//g;s/\bfile=/src=/;s/\btofile=/dest=/}" \
- -i "${S}"/package.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-
- # Delete JAR and return to previous directory.
- rm -f "../${plugin}.jar" || die
- cd .. || die
-
- eend 0
-}
-
-remove-plugin-sources() {
- use source || return
-
- # Don't reference the sources for this plugin. These feature.xml files
- # thankfully have their plugins on one line. Let's hope they stay that way.
- sed -r '/<plugin id="'"${1//./\.}"'\.source"/d' \
- -i "${S}/features"/*.source/feature.xml || die
-
- # Don't try to install the sources either.
- sed -r '/<(copy|copydir|customGather) .*\/'"${1//./\.}"'\.source/d' \
- -i "${S}"/{assemble,package}.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-}
diff --git a/dev-util/eclipse-sdk/eclipse-sdk-3.4.2-r1.ebuild b/dev-util/eclipse-sdk/eclipse-sdk-3.4.2-r1.ebuild
deleted file mode 100644
index 5903bb3..0000000
--- a/dev-util/eclipse-sdk/eclipse-sdk-3.4.2-r1.ebuild
+++ /dev/null
@@ -1,391 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-# Jetty and Jasper have to stay bundled for now, until someone does some work on them.
-
-# ECF also has to stay bundled due to a chicken and egg situation. We could use
-# the bundled version to build Eclipse and then build ECF later but it's still
-# a pain to build without using chewi-overlay.
-
-# 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_ANT_DISABLE_ANT_CORE_DEP="true"
-WANT_ANT_TASKS="ant-nodeps"
-
-inherit java-pkg-2 java-ant-2 check-reqs
-
-DMF="R-${PV}-200902111700"
-MY_A="eclipse-sourceBuild-srcIncluded-${PV}.zip"
-
-DESCRIPTION="Eclipse Tools Platform"
-HOMEPAGE="http://www.eclipse.org/"
-SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_A}"
-
-SLOT="3.4"
-LICENSE="EPL-1.0"
-IUSE="doc java6 source"
-KEYWORDS="~amd64 ~x86"
-
-S="${WORKDIR}"
-PATCHDIR="${FILESDIR}/${SLOT}"
-ECLIPSE_DIR="/usr/$(get_libdir)/eclipse-${SLOT}"
-BUILDPARSER="/usr/$(get_libdir)/javatoolkit/bin/buildparser"
-
-CDEPEND="dev-java/swt:${SLOT}
- dev-java/ant-eclipse-ecj:${SLOT}
- dev-java/cldc-api:1.1"
-
-RDEPEND="${CDEPEND}
- ${JAVA_ANT_E_DEPEND}
- java6? ( >=virtual/jre-1.6 )
- !java6? ( >=virtual/jre-1.5 )"
-
-DEPEND="${CDEPEND}
- !java6? ( >=virtual/jdk-1.5 )
- java6? ( >=virtual/jdk-1.6 )
- >=dev-java/javatoolkit-0.3
- app-arch/unzip
- app-arch/zip"
-
-JAVA_PKG_BSFIX="off"
-
-pkg_setup() {
- java-pkg-2_pkg_setup
-
- CHECKREQS_MEMORY="512"
- check_reqs
-
- if use doc ; then
- ewarn "Having the doc USE flag enabled greatly increases the build time. You might"
- ewarn "want to disable it for ${PN} if you don't need it."
- fi
-
- eclipsearch=${ARCH}
- use amd64 && eclipsearch="x86_64"
-}
-
-src_unpack() {
- unpack ${A}
- patch-apply
- remove-bundled-stuff
-
- while read line; do
- java-ant_rewrite-classpath "${line}" > /dev/null
- done < <(find "${S}" -type f -name "build.xml")
-}
-
-src_compile() {
- java-pkg_force-compiler ecj-${SLOT}
-
- local bootclasspath=$(java-config --runtime)
- local options="-q -Dnobootstrap=true -Dlibsconfig=true -Dbootclasspath=${bootclasspath} -DinstallOs=linux \
- -DinstallWs=gtk -DinstallArch=${eclipsearch} -Djava5.home=$(java-config --jdk-home)"
-
- use java6 && options="${options} -DJavaSE-1.6=${bootclasspath}"
-
- ANT_OPTS="-Xmx512M" eant ${options}
-
- # Generate P2 metadata.
- `java-config -J` -jar eclipse/plugins/org.eclipse.equinox.launcher_*.jar -data workspace \
- -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator -flavor tooling \
- -metadataRepositoryName "Gentoo Eclipse" -artifactRepositoryName "Gentoo Eclipse" \
- -metadataRepository "file:eclipse/metadata" -artifactRepository "file:eclipse/metadata" \
- -root "Gentoo Eclipse SDK" -rootVersion "${PV}" -source eclipse -append -publishArtifacts || die
-}
-
-src_install() {
- # Root files don't get included by P2.
- insinto "${ECLIPSE_DIR}"
- doins -r features/org.eclipse.platform/rootfiles/{.eclipseproduct,*}
-
- # Workaround https://bugs.eclipse.org/bugs/show_bug.cgi?id=241430...
- rm -rf eclipse/configuration/.settings || die
-
- # Install using P2.
- `java-config -J` -Declipse.p2.data.area="file:${D}/${ECLIPSE_DIR}/p2" \
- -jar eclipse/plugins/org.eclipse.equinox.launcher_*.jar -data workspace \
- -application org.eclipse.equinox.p2.director.app.application -flavor tooling \
- -metadataRepository "file:eclipse/metadata" -artifactRepository "file:eclipse/metadata" \
- -installIU "Gentoo Eclipse SDK" -version "${PV}" -p2.os linux -p2.ws gtk -p2.arch ${eclipsearch} \
- -profile SDKProfile -profileProperties org.eclipse.update.install.features=true \
- -destination "${D}/${ECLIPSE_DIR}" -bundlepool "${D}/${ECLIPSE_DIR}" -roaming || die
-
- cd "${D}/${ECLIPSE_DIR}" || die
-
- # Delete unneeded files.
- rm -rf p2/org.eclipse.equinox.p2.core || die
-
- # Restore symlinks. P2 has ignored them.
- rm -rf plugins/org.apache.ant_*/{bin,lib} || die
- ln -snf /usr/share/ant/bin plugins/org.apache.ant_*/ || die
- ln -snf /usr/share/ant/lib plugins/org.apache.ant_*/ || die
- cp -af "${S}"/plugins/org.junit_*/*.jar plugins/org.junit_*/ || die
-# cp -af "${S}"/plugins/org.junit4/*.jar plugins/org.junit4_*/ || die
-
- # Install startup script.
- dobin "${FILESDIR}/${SLOT}/eclipse-${SLOT}" || die
-
- # Install global rc script.
- insinto /etc
- doins "${FILESDIR}/${SLOT}/eclipserc-${SLOT}" || die
-
- # Install icon and make desktop entry.
- newicon "${S}/features/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm" eclipse.xpm || die
- make_desktop_entry eclipse-${SLOT} "Eclipse ${PV}" eclipse.xpm || die
-}
-
-pkg_postinst() {
- einfo "Welcome to Eclipse ${PV} (Ganymede)!"
- 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."
- einfo " "
- einfo "The FileInitializer Plugin is no longer integrated."
- einfo "If you need it, get org.eclipse.equinox.initializer_x.y.z.jar from:"
- einfo " http://download.eclipse.org/eclipse/equinox/"
-}
-
-# -----------------------------------------------------------------------------
-# Helper functions
-# -----------------------------------------------------------------------------
-
-patch-apply() {
- # Optimize launcher build.
- unzip -q plugins/org.eclipse.platform/launchersrc.zip library/gtk/make_linux.mak || die
- sed -i -r "s/CFLAGS = -g -s\b/CFLAGS =/;/CFLAGS =/a\\\\t${CFLAGS}\\\\" library/gtk/make_linux.mak || die
- zip -qrm plugins/org.eclipse.platform/launchersrc.zip library || die
-
- # Avoid doing any unnecessary copying or archiving at the end of the build.
- sed -r -i '/<exec .*\bexecutable="tar"/,/<delete /d' {assemble,package}.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
- sed -r -i '/<delete /,/<delete .*\bdir=/d' build.xml || die
- mkdir -p tmp/eclipse || die
- ln -snf tmp/eclipse eclipse || die
-
- if ! use java6; then
- sed -r '/<ant .*\/org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))(\.source)?"/,/<\/ant>/d' \
- -i features/org.eclipse.jdt{,.source}/build.xml || die
- sed -r '/id="org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))"/,/<plugin /d' \
- -i features/org.eclipse.jdt/feature.xml || die
- sed -r '/id="org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))\.source"/d' \
- -i features/org.eclipse.jdt.source/feature.xml || die
- sed -r -e '/<customGather .*\/org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))(\.source)?"/d' \
- -e '/value="org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))(\.source)?_/,/eclipse\.plugins/d' \
- -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
- fi
-
- # Miscellaneous patches.
- epatch "${PATCHDIR}/eclipse_build-libs.diff"
- epatch "${PATCHDIR}/eclipse-c-warning.patch"
-
- # JNI.
- sed -i '/value="x86"/d' plugins/org.eclipse.update.core.linux/src/build.xml || die
-
- # Following adds an additional classpath when building JSPs.
- sed -i '/<path id="@dot\.classpath".*/a<pathelement path="${gentoo.classpath}" />' \
- plugins/org.eclipse.help.webapp/build{,JSPs}.xml || die
-
- # No warnings. Java5. Direct output to stdout.
- find -type f -name '*.xml' -exec \
- sed -r -e 's:"compilerArg" value=":\0-nowarn :g' \
- -e 's:(<property name="javac(Source|Target)" value=)"1.[0-4]":\1"1.5":g' \
- -e 's:output="[^"]+\.(txt|log)"::g' -i {} \; || die
-
- # JDK home and CFLAGS.
- sed -r -e "s:^(JAVA_HOME ?=).*:\1 $(java-config --jdk-home):" -e "s:^(OPT_FLAGS ?=).*:\0 ${CFLAGS}:" \
- -i plugins/org.eclipse.core.filesystem/natives/unix/linux/Makefile || die "sed Makefile failed"
-
- # Don't build plugins for other archs or GUI toolkits. Don't gather their sources either.
- sed -r -e '/<ant .*\.(aix|carbon|hpux|macosx|motif|qnx|solaris|win32)[".]/,/<\/ant>/d' \
- -e '/<ant .*\/org\.eclipse\.swt\..+(\.source)?"/,/<\/ant>/d' \
- -i features/org.eclipse.{platform,rcp}{,.source}/build.xml || die
-
- if ! use doc ; then
- # Don't reference the docs. Slightly evil but it works.
- sed -r '/<plugin/{:x;/id="[^"]*\.doc\./{:y;/\/>/d;N;by};/\/>/b;N;bx}' \
- -i features/*/feature.xml || die
-
- # Don't install the docs.
- sed -r '/<customGather .*\.doc\./d' \
- -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-
- # Don't build the docs.
- sed -i '/<antcall .*\btarget="build.doc.plugins"/d' build.xml || die
- sed -i '/<ant .*\/.*\.doc\./,/<\/ant>/d' features/*/build.xml || die
-
- # Don't reference the doc plugins in the sources. These feature.xml files
- # thankfully have their plugins on one line. Let's hope they stay that way.
- sed -r '/<plugin id="[^"]*\.doc\./d' \
- -i features/*.source/feature.xml || die
- fi
-
- if ! use source ; then
- # Don't reference the sources. Slightly evil but it works.
- sed -r '/<includes/{:x;/id="[^"]*\.source"/{:y;/\/>/d;N;by};/\/>/b;N;bx}' \
- -i features/org.eclipse.sdk/feature.xml || die
-
- # Don't install the sources.
- sed -r '/<(copy|customGather) .*\.source/d' \
- -i {assemble,package}.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
- fi
-
- # In 3.4.1, bootclasspath was removed from here. Not sure why.
- sed -r '/\bname="bundleBootClasspath"/s:value=":\0${bootclasspath};:' \
- -i plugins/org.eclipse.osgi/build.xml || die
-}
-
-remove-bundled-stuff() {
- local x
- pushd plugins >/dev/null
-
- # Remove pre-built binaries.
- find "${S}/features/org.eclipse.equinox.executable" -type f -name eclipse -delete || die
- # ..and libraries.
- find "${S}" -type f -name '*.so' -delete || die
- # ..and JAR files.
- rm -f org.eclipse.osgi/{,supplement}/osgi/osgi*.jar \
- org.eclipse.swt/extra_jars/exceptions.jar || die
- # ..and classes.
- rm -rf org.eclipse.jdt.core/scripts/*.class \
- org.eclipse.osgi.{services,util}/org || die
-
- # Unpack zipped sources for removed classes. If we unpack the sources to
- # src like the other plugins, the build order seems to change and things
- # break. Very bizarre. Consequently we have to adjust build.xml to
- # install the classes and not the sources. Ugly but it works.
- for x in services util ; do
- unzip -q org.eclipse.osgi.${x}/src.zip -d org.eclipse.osgi.${x}/ || die
- x=org.eclipse.osgi.${x}/build.xml
- { rm ${x} && awk '/<target .*name="gather\.bin\.parts"/ { inside = 1 } { if (inside) { if ($0 ~ /"org\/"/) next; \
- if ($0 ~ /<\/fileset>/) { print; print "<fileset dir=\"${basedir}/@dot/\" includes=\"org/\"/>"; inside = 0; next } } } { print }' > ${x}; } < ${x} || die
- done
-
- # This prebuilt class actually comes from another plugin that will be
- # built so we can just symlink to that.
- ln -snf "${S}"/plugins/org.eclipse.core.runtime/@dot/org/eclipse/core/runtime/IPluginDescriptor.class \
- org.eclipse.core.runtime.compatibility.registry/classes/org/eclipse/core/runtime/IPluginDescriptor.class || die
-
- # Reset the list of system packages to use when building.
- EANT_GENTOO_CLASSPATH="swt:${SLOT} cldc-api:1.1"
-
-## unbundle-jar org.apache.commons.el commons-el
-## unbundle-jar org.apache.commons.logging commons-logging
-## unbundle-jar com.jcraft.jsch jsch
-## unbundle-jar com.ibm.icu icu4j
-## unbundle-jar javax.servlet tomcat-servlet-api:2.4
-## unbundle-jar javax.servlet.jsp tomcat-servlet-api:2.4
-## unbundle-jar org.apache.lucene lucene:1.9
-## unbundle-jar org.apache.lucene.analysis lucene-analyzers:1.9
-## unbundle-jar org.objectweb.asm asm:3
-## unbundle-jar org.sat4j.core sat4j-core:2
-## unbundle-jar org.sat4j.pb sat4j-pseudo:2
-##
-## # Make the junit4 case easier.
-## # ln -snf org.junit4 org.junit4_ || die
-##
-## unbundle-dir org.apache.ant ant-core,ant-nodeps lib
-## unbundle-dir org.junit junit .
-## # unbundle-dir org.junit4 junit-4 .
-##
-## # Don't include sources for junit4.
-## # sed -i '/junitsrc/d' org.junit4/customBuildCallbacks.xml || die
-##
- # Unbundle SWT and make @dot directory to keep build happy.
- ${BUILDPARSER} -i Bundle-ClassPath "external:$(java-pkg_getjars swt-${SLOT})" org.eclipse.swt.gtk.linux.${eclipsearch}/META-INF/MANIFEST.MF || die
- mkdir -p org.eclipse.swt.gtk.linux.${eclipsearch}/@dot || die
- remove-plugin-sources org.eclipse.swt.gtk.linux.${eclipsearch}
-
- # Mark the SWT plugins as unpacked. More evilness that works.
- sed -r '/<plugin/{:x;/id="org\.eclipse\.swt\./{:y;/\/>/s/unpack="[^"]*"/unpack="true"/;t;N;by};/\/>/b;N;bx}' \
- -i "${S}"/features/org.eclipse.rcp/feature.xml || die
-
- # Prevent the SWT plugin from being JAR'd.
- sed -r '/<param .*\bvalue="org.eclipse.swt.gtk.linux.'"${eclipsearch}"'_/d' \
- -i "${S}"/assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-
- popd >/dev/null
-}
-
-# Unbundle a directory plugin by removing its JAR files and replacing them
-# with symlinks. We don't modify the manifest because Eclipse's antRunner
-# doesn't seem to like external JARs.
-unbundle-dir() {
- ebegin "Unbundling $1"
- remove-plugin-sources $1
-
- # Delete the bundled JARs and signing files.
- rm -f "$1"_*/$3/*.jar "$1"_*/META-INF/ECLIPSE.{RSA,SF} || die
-
- # Replace the bundled JARs with symlinks.
- java-pkg_jar-from --into "$1"_*/$3 $2
-
- eend 0
-}
-
-# Unbundle a JAR plugin by removing its class files and modifying its manifest
-# so that it points to external JARs instead. The plugin must remain unpacked
-# because OSGi cannot handle external JARs in packed plugins.
-unbundle-jar() {
- ebegin "Unbundling $1"
- remove-plugin-sources $1
-
- # Find full plugin name and version.
- local plugin=`echo $1_*`
- plugin=${plugin%.jar}
-
- # Make directory to replace JAR.
- mkdir -p "${plugin}" || die
- cd "${plugin}" || die
- rm -rf * || die
-
- # Extract what we need from the existing JAR.
- `java-config -j` xf "../${plugin}.jar" META-INF/MANIFEST.MF plugin.{properties,xml} || die
-
- # Apply our new classpath.
- local classpath=$(java-pkg_getjars $2)
- EANT_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH} $2"
- ${BUILDPARSER} -i Bundle-ClassPath "external:${classpath//:/,external:}" META-INF/MANIFEST.MF || die
-
- # The javadoc options are stored in text files and so rewriting the classpath in
- # the ant build files has no effect. Instead, we replace plugins paths with the
- # paths to their external JARs. Passing gentoo.classpath is too RAM-intensive.
- sed -i -r "s:^;\.\.\/${1//./\.}[_/].*\.jar$:;${classpath//:/\:}:" ../*/*Options.txt || die
-
- # Delete unneeded manifest entries.
- sed -i -r "/^Name:|^SHA1-Digest:/d" META-INF/MANIFEST.MF || die
-
- # This plugin is now unpacked. More evilness that works.
- sed -r '/<plugin/{:x;/id="'"${1//./\.}"'"/{:y;/\/>/s/unpack="[^"]*"/unpack="true"/;t;N;by};/\/>/b;N;bx}' \
- -i "${S}"/features/*/feature.xml || die
-
- # Copy the whole directory instead of just a JAR.
- sed -r "/<copy .*\/${1//./\.}/{s/<copy\b/<copydir/;s/\.jar//g;s/\bfile=/src=/;s/\btofile=/dest=/}" \
- -i "${S}"/package.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-
- # Delete JAR and return to previous directory.
- rm -f "../${plugin}.jar" || die
- cd .. || die
-
- eend 0
-}
-
-remove-plugin-sources() {
- use source || return
-
- # Don't reference the sources for this plugin. These feature.xml files
- # thankfully have their plugins on one line. Let's hope they stay that way.
- sed -r '/<plugin id="'"${1//./\.}"'\.source"/d' \
- -i "${S}/features"/*.source/feature.xml || die
-
- # Don't try to install the sources either.
- sed -r '/<(copy|copydir|customGather) .*\/'"${1//./\.}"'\.source/d' \
- -i "${S}"/{assemble,package}.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-}
diff --git a/dev-util/eclipse-sdk/eclipse-sdk-3.4.2.ebuild b/dev-util/eclipse-sdk/eclipse-sdk-3.4.2.ebuild
deleted file mode 100644
index 6432775..0000000
--- a/dev-util/eclipse-sdk/eclipse-sdk-3.4.2.ebuild
+++ /dev/null
@@ -1,404 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-# Jetty and Jasper have to stay bundled for now, until someone does some work on them.
-
-# ECF also has to stay bundled due to a chicken and egg situation. We could use
-# the bundled version to build Eclipse and then build ECF later but it's still
-# a pain to build without using chewi-overlay.
-
-# 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_ANT_DISABLE_ANT_CORE_DEP="true"
-WANT_ANT_TASKS="ant-nodeps"
-
-inherit java-pkg-2 java-ant-2 check-reqs
-
-DMF="R-${PV}-200902111700"
-MY_A="eclipse-sourceBuild-srcIncluded-${PV}.zip"
-
-DESCRIPTION="Eclipse Tools Platform"
-HOMEPAGE="http://www.eclipse.org/"
-SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_A}"
-
-SLOT="3.4"
-LICENSE="EPL-1.0"
-IUSE="doc java6 source"
-KEYWORDS="~amd64 ~x86"
-
-S="${WORKDIR}"
-PATCHDIR="${FILESDIR}/${SLOT}"
-ECLIPSE_DIR="/usr/$(get_libdir)/eclipse-${SLOT}"
-BUILDPARSER="/usr/$(get_libdir)/javatoolkit/bin/buildparser"
-
-CDEPEND="dev-java/swt:${SLOT}
- dev-java/ant-eclipse-ecj:${SLOT}
- >=dev-java/ant-1.7.1
- >=dev-java/ant-core-1.7.1
- >=dev-java/asm-3.1:3
- >=dev-java/jsch-0.1.36-r1
- >=dev-java/icu4j-3.8.1:0
- >=dev-java/commons-el-1.0-r2
- >=dev-java/commons-logging-1.1-r6
- >=dev-java/lucene-analyzers-1.9.1-r1:1.9
- >=dev-java/tomcat-servlet-api-5.5.25-r1:2.4
- dev-java/cldc-api:1.1
- dev-java/junit:0
- dev-java/lucene:1.9
- dev-java/sat4j-core:2
- dev-java/sat4j-pseudo:2"
-
-RDEPEND="${CDEPEND}
- ${JAVA_ANT_E_DEPEND}
- java6? ( >=virtual/jre-1.6 )
- !java6? ( >=virtual/jre-1.5 )"
-
-DEPEND="${CDEPEND}
- !java6? ( >=virtual/jdk-1.5 )
- java6? ( >=virtual/jdk-1.6 )
- >=dev-java/javatoolkit-0.3
- app-arch/unzip
- app-arch/zip"
-
-JAVA_PKG_BSFIX="off"
-
-pkg_setup() {
- java-pkg-2_pkg_setup
-
- CHECKREQS_MEMORY="512"
- check_reqs
-
- if use doc ; then
- ewarn "Having the doc USE flag enabled greatly increases the build time. You might"
- ewarn "want to disable it for ${PN} if you don't need it."
- fi
-
- eclipsearch=${ARCH}
- use amd64 && eclipsearch="x86_64"
-}
-
-src_unpack() {
- unpack ${A}
- patch-apply
- remove-bundled-stuff
-
- while read line; do
- java-ant_rewrite-classpath "${line}" > /dev/null
- done < <(find "${S}" -type f -name "build.xml")
-}
-
-src_compile() {
- java-pkg_force-compiler ecj-${SLOT}
-
- local bootclasspath=$(java-config --runtime)
- local options="-q -Dnobootstrap=true -Dlibsconfig=true -Dbootclasspath=${bootclasspath} -DinstallOs=linux \
- -DinstallWs=gtk -DinstallArch=${eclipsearch} -Djava5.home=$(java-config --jdk-home)"
-
- use java6 && options="${options} -DJavaSE-1.6=${bootclasspath}"
-
- ANT_OPTS="-Xmx512M" eant ${options}
-
- # Generate P2 metadata.
- `java-config -J` -jar eclipse/plugins/org.eclipse.equinox.launcher_*.jar -data workspace \
- -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator -flavor tooling \
- -metadataRepositoryName "Gentoo Eclipse" -artifactRepositoryName "Gentoo Eclipse" \
- -metadataRepository "file:eclipse/metadata" -artifactRepository "file:eclipse/metadata" \
- -root "Gentoo Eclipse SDK" -rootVersion "${PV}" -source eclipse -append -publishArtifacts || die
-}
-
-src_install() {
- # Root files don't get included by P2.
- insinto "${ECLIPSE_DIR}"
- doins -r features/org.eclipse.platform/rootfiles/{.eclipseproduct,*}
-
- # Workaround https://bugs.eclipse.org/bugs/show_bug.cgi?id=241430...
- rm -rf eclipse/configuration/.settings || die
-
- # Install using P2.
- `java-config -J` -Declipse.p2.data.area="file:${D}/${ECLIPSE_DIR}/p2" \
- -jar eclipse/plugins/org.eclipse.equinox.launcher_*.jar -data workspace \
- -application org.eclipse.equinox.p2.director.app.application -flavor tooling \
- -metadataRepository "file:eclipse/metadata" -artifactRepository "file:eclipse/metadata" \
- -installIU "Gentoo Eclipse SDK" -version "${PV}" -p2.os linux -p2.ws gtk -p2.arch ${eclipsearch} \
- -profile SDKProfile -profileProperties org.eclipse.update.install.features=true \
- -destination "${D}/${ECLIPSE_DIR}" -bundlepool "${D}/${ECLIPSE_DIR}" -roaming || die
-
- cd "${D}/${ECLIPSE_DIR}" || die
-
- # Delete unneeded files.
- rm -rf p2/org.eclipse.equinox.p2.core || die
-
- # Restore symlinks. P2 has ignored them.
- rm -rf plugins/org.apache.ant_*/{bin,lib} || die
- ln -snf /usr/share/ant/bin plugins/org.apache.ant_*/ || die
- ln -snf /usr/share/ant/lib plugins/org.apache.ant_*/ || die
- cp -af "${S}"/plugins/org.junit_*/*.jar plugins/org.junit_*/ || die
-# cp -af "${S}"/plugins/org.junit4/*.jar plugins/org.junit4_*/ || die
-
- # Install startup script.
- dobin "${FILESDIR}/${SLOT}/eclipse-${SLOT}" || die
-
- # Install global rc script.
- insinto /etc
- doins "${FILESDIR}/${SLOT}/eclipserc-${SLOT}" || die
-
- # Install icon and make desktop entry.
- newicon "${S}/features/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm" eclipse.xpm || die
- make_desktop_entry eclipse-${SLOT} "Eclipse ${PV}" eclipse.xpm || die
-}
-
-pkg_postinst() {
- einfo "Welcome to Eclipse ${PV} (Ganymede)!"
- 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."
- einfo " "
- einfo "The FileInitializer Plugin is no longer integrated."
- einfo "If you need it, get org.eclipse.equinox.initializer_x.y.z.jar from:"
- einfo " http://download.eclipse.org/eclipse/equinox/"
-}
-
-# -----------------------------------------------------------------------------
-# Helper functions
-# -----------------------------------------------------------------------------
-
-patch-apply() {
- # Optimize launcher build.
- unzip -q plugins/org.eclipse.platform/launchersrc.zip library/gtk/make_linux.mak || die
- sed -i -r "s/CFLAGS = -g -s\b/CFLAGS =/;/CFLAGS =/a\\\\t${CFLAGS}\\\\" library/gtk/make_linux.mak || die
- zip -qrm plugins/org.eclipse.platform/launchersrc.zip library || die
-
- # Avoid doing any unnecessary copying or archiving at the end of the build.
- sed -r -i '/<exec .*\bexecutable="tar"/,/<delete /d' {assemble,package}.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
- sed -r -i '/<delete /,/<delete .*\bdir=/d' build.xml || die
- mkdir -p tmp/eclipse || die
- ln -snf tmp/eclipse eclipse || die
-
- if ! use java6; then
- sed -r '/<ant .*\/org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))(\.source)?"/,/<\/ant>/d' \
- -i features/org.eclipse.jdt{,.source}/build.xml || die
- sed -r '/id="org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))"/,/<plugin /d' \
- -i features/org.eclipse.jdt/feature.xml || die
- sed -r '/id="org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))\.source"/d' \
- -i features/org.eclipse.jdt.source/feature.xml || die
- sed -r -e '/<customGather .*\/org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))(\.source)?"/d' \
- -e '/value="org\.eclipse\.jdt\.(apt\.pluggable\.core|compiler\.(apt|tool))(\.source)?_/,/eclipse\.plugins/d' \
- -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
- fi
-
- # Miscellaneous patches.
- epatch "${PATCHDIR}/eclipse_build-libs.diff"
- epatch "${PATCHDIR}/eclipse-c-warning.patch"
-
- # JNI.
- sed -i '/value="x86"/d' plugins/org.eclipse.update.core.linux/src/build.xml || die
-
- # Following adds an additional classpath when building JSPs.
- sed -i '/<path id="@dot\.classpath".*/a<pathelement path="${gentoo.classpath}" />' \
- plugins/org.eclipse.help.webapp/build{,JSPs}.xml || die
-
- # No warnings. Java5. Direct output to stdout.
- find -type f -name '*.xml' -exec \
- sed -r -e 's:"compilerArg" value=":\0-nowarn :g' \
- -e 's:(<property name="javac(Source|Target)" value=)"1.[0-4]":\1"1.5":g' \
- -e 's:output="[^"]+\.(txt|log)"::g' -i {} \; || die
-
- # JDK home and CFLAGS.
- sed -r -e "s:^(JAVA_HOME ?=).*:\1 $(java-config --jdk-home):" -e "s:^(OPT_FLAGS ?=).*:\0 ${CFLAGS}:" \
- -i plugins/org.eclipse.core.filesystem/natives/unix/linux/Makefile || die "sed Makefile failed"
-
- # Don't build plugins for other archs or GUI toolkits. Don't gather their sources either.
- sed -r -e '/<ant .*\.(aix|carbon|hpux|macosx|motif|qnx|solaris|win32)[".]/,/<\/ant>/d' \
- -e '/<ant .*\/org\.eclipse\.swt\..+(\.source)?"/,/<\/ant>/d' \
- -i features/org.eclipse.{platform,rcp}{,.source}/build.xml || die
-
- if ! use doc ; then
- # Don't reference the docs. Slightly evil but it works.
- sed -r '/<plugin/{:x;/id="[^"]*\.doc\./{:y;/\/>/d;N;by};/\/>/b;N;bx}' \
- -i features/*/feature.xml || die
-
- # Don't install the docs.
- sed -r '/<customGather .*\.doc\./d' \
- -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-
- # Don't build the docs.
- sed -i '/<antcall .*\btarget="build.doc.plugins"/d' build.xml || die
- sed -i '/<ant .*\/.*\.doc\./,/<\/ant>/d' features/*/build.xml || die
-
- # Don't reference the doc plugins in the sources. These feature.xml files
- # thankfully have their plugins on one line. Let's hope they stay that way.
- sed -r '/<plugin id="[^"]*\.doc\./d' \
- -i features/*.source/feature.xml || die
- fi
-
- if ! use source ; then
- # Don't reference the sources. Slightly evil but it works.
- sed -r '/<includes/{:x;/id="[^"]*\.source"/{:y;/\/>/d;N;by};/\/>/b;N;bx}' \
- -i features/org.eclipse.sdk/feature.xml || die
-
- # Don't install the sources.
- sed -r '/<(copy|customGather) .*\.source/d' \
- -i {assemble,package}.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
- fi
-
- # In 3.4.1, bootclasspath was removed from here. Not sure why.
- sed -r '/\bname="bundleBootClasspath"/s:value=":\0${bootclasspath};:' \
- -i plugins/org.eclipse.osgi/build.xml || die
-}
-
-remove-bundled-stuff() {
- local x
- pushd plugins >/dev/null
-
- # Remove pre-built binaries.
- find "${S}/features/org.eclipse.equinox.executable" -type f -name eclipse -delete || die
- # ..and libraries.
- find "${S}" -type f -name '*.so' -delete || die
- # ..and JAR files.
- rm -f org.eclipse.osgi/{,supplement}/osgi/osgi*.jar \
- org.eclipse.swt/extra_jars/exceptions.jar || die
- # ..and classes.
- rm -rf org.eclipse.jdt.core/scripts/*.class \
- org.eclipse.osgi.{services,util}/org || die
-
- # Unpack zipped sources for removed classes. If we unpack the sources to
- # src like the other plugins, the build order seems to change and things
- # break. Very bizarre. Consequently we have to adjust build.xml to
- # install the classes and not the sources. Ugly but it works.
- for x in services util ; do
- unzip -q org.eclipse.osgi.${x}/src.zip -d org.eclipse.osgi.${x}/ || die
- x=org.eclipse.osgi.${x}/build.xml
- { rm ${x} && awk '/<target .*name="gather\.bin\.parts"/ { inside = 1 } { if (inside) { if ($0 ~ /"org\/"/) next; \
- if ($0 ~ /<\/fileset>/) { print; print "<fileset dir=\"${basedir}/@dot/\" includes=\"org/\"/>"; inside = 0; next } } } { print }' > ${x}; } < ${x} || die
- done
-
- # This prebuilt class actually comes from another plugin that will be
- # built so we can just symlink to that.
- ln -snf "${S}"/plugins/org.eclipse.core.runtime/@dot/org/eclipse/core/runtime/IPluginDescriptor.class \
- org.eclipse.core.runtime.compatibility.registry/classes/org/eclipse/core/runtime/IPluginDescriptor.class || die
-
- # Reset the list of system packages to use when building.
- EANT_GENTOO_CLASSPATH="swt:${SLOT} cldc-api:1.1"
-
- unbundle-jar org.apache.commons.el commons-el
- unbundle-jar org.apache.commons.logging commons-logging
- unbundle-jar com.jcraft.jsch jsch
- unbundle-jar com.ibm.icu icu4j
- unbundle-jar javax.servlet tomcat-servlet-api:2.4
- unbundle-jar javax.servlet.jsp tomcat-servlet-api:2.4
- unbundle-jar org.apache.lucene lucene:1.9
- unbundle-jar org.apache.lucene.analysis lucene-analyzers:1.9
- unbundle-jar org.objectweb.asm asm:3
- unbundle-jar org.sat4j.core sat4j-core:2
- unbundle-jar org.sat4j.pb sat4j-pseudo:2
-
- # Make the junit4 case easier.
-# ln -snf org.junit4 org.junit4_ || die
-
- unbundle-dir org.apache.ant ant-core,ant-nodeps lib
- unbundle-dir org.junit junit .
-# unbundle-dir org.junit4 junit-4 .
-
- # Don't include sources for junit4.
-# sed -i '/junitsrc/d' org.junit4/customBuildCallbacks.xml || die
-
- # Unbundle SWT and make @dot directory to keep build happy.
- ${BUILDPARSER} -i Bundle-ClassPath "external:$(java-pkg_getjars swt-${SLOT})" org.eclipse.swt.gtk.linux.${eclipsearch}/META-INF/MANIFEST.MF || die
- mkdir -p org.eclipse.swt.gtk.linux.${eclipsearch}/@dot || die
- remove-plugin-sources org.eclipse.swt.gtk.linux.${eclipsearch}
-
- # Mark the SWT plugins as unpacked. More evilness that works.
- sed -r '/<plugin/{:x;/id="org\.eclipse\.swt\./{:y;/\/>/s/unpack="[^"]*"/unpack="true"/;t;N;by};/\/>/b;N;bx}' \
- -i "${S}"/features/org.eclipse.rcp/feature.xml || die
-
- # Prevent the SWT plugin from being JAR'd.
- sed -r '/<param .*\bvalue="org.eclipse.swt.gtk.linux.'"${eclipsearch}"'_/d' \
- -i "${S}"/assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-
- popd >/dev/null
-}
-
-# Unbundle a directory plugin by removing its JAR files and replacing them
-# with symlinks. We don't modify the manifest because Eclipse's antRunner
-# doesn't seem to like external JARs.
-unbundle-dir() {
- ebegin "Unbundling $1"
- remove-plugin-sources $1
-
- # Delete the bundled JARs and signing files.
- rm -f "$1"_*/$3/*.jar "$1"_*/META-INF/ECLIPSE.{RSA,SF} || die
-
- # Replace the bundled JARs with symlinks.
- java-pkg_jar-from --into "$1"_*/$3 $2
-
- eend 0
-}
-
-# Unbundle a JAR plugin by removing its class files and modifying its manifest
-# so that it points to external JARs instead. The plugin must remain unpacked
-# because OSGi cannot handle external JARs in packed plugins.
-unbundle-jar() {
- ebegin "Unbundling $1"
- remove-plugin-sources $1
-
- # Find full plugin name and version.
- local plugin=`echo $1_*`
- plugin=${plugin%.jar}
-
- # Make directory to replace JAR.
- mkdir -p "${plugin}" || die
- cd "${plugin}" || die
- rm -rf * || die
-
- # Extract what we need from the existing JAR.
- `java-config -j` xf "../${plugin}.jar" META-INF/MANIFEST.MF plugin.{properties,xml} || die
-
- # Apply our new classpath.
- local classpath=$(java-pkg_getjars $2)
- EANT_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH} $2"
- ${BUILDPARSER} -i Bundle-ClassPath "external:${classpath//:/,external:}" META-INF/MANIFEST.MF || die
-
- # The javadoc options are stored in text files and so rewriting the classpath in
- # the ant build files has no effect. Instead, we replace plugins paths with the
- # paths to their external JARs. Passing gentoo.classpath is too RAM-intensive.
- sed -i -r "s:^;\.\.\/${1//./\.}[_/].*\.jar$:;${classpath//:/\:}:" ../*/*Options.txt || die
-
- # Delete unneeded manifest entries.
- sed -i -r "/^Name:|^SHA1-Digest:/d" META-INF/MANIFEST.MF || die
-
- # This plugin is now unpacked. More evilness that works.
- sed -r '/<plugin/{:x;/id="'"${1//./\.}"'"/{:y;/\/>/s/unpack="[^"]*"/unpack="true"/;t;N;by};/\/>/b;N;bx}' \
- -i "${S}"/features/*/feature.xml || die
-
- # Copy the whole directory instead of just a JAR.
- sed -r "/<copy .*\/${1//./\.}/{s/<copy\b/<copydir/;s/\.jar//g;s/\bfile=/src=/;s/\btofile=/dest=/}" \
- -i "${S}"/package.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-
- # Delete JAR and return to previous directory.
- rm -f "../${plugin}.jar" || die
- cd .. || die
-
- eend 0
-}
-
-remove-plugin-sources() {
- use source || return
-
- # Don't reference the sources for this plugin. These feature.xml files
- # thankfully have their plugins on one line. Let's hope they stay that way.
- sed -r '/<plugin id="'"${1//./\.}"'\.source"/d' \
- -i "${S}/features"/*.source/feature.xml || die
-
- # Don't try to install the sources either.
- sed -r '/<(copy|copydir|customGather) .*\/'"${1//./\.}"'\.source/d' \
- -i "${S}"/{assemble,package}.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml || die
-}
diff --git a/dev-util/eclipse-sdk/eclipse-sdk-3.6.1.ebuild b/dev-util/eclipse-sdk/eclipse-sdk-3.6.1.ebuild
new file mode 100644
index 0000000..720fae5
--- /dev/null
+++ b/dev-util/eclipse-sdk/eclipse-sdk-3.6.1.ebuild
@@ -0,0 +1,370 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header$
+
+EAPI="2"
+WANT_ANT_TASKS="ant-nodeps"
+
+# eclipse-build is too complicated for automatic fixing
+# if there are any fixes we should create patches
+# and push them upstream
+JAVA_PKG_BSFIX="off"
+
+inherit java-pkg-2 java-ant-2 check-reqs
+
+BUILD_VER="3.6.1"
+BUILD_ID="I20100909-0800"
+ECLIPSE_BUILD_VER="0.6.0"
+S="${WORKDIR}/eclipse-build-${ECLIPSE_BUILD_VER}"
+
+DESCRIPTION="Eclipse SDK"
+HOMEPAGE="http://www.eclipse.org/eclipse/"
+BASE_URI="http://download.eclipse.org/technology/linuxtools/eclipse-build/3.6.x_Helios/"
+SRC_URI="${BASE_URI}eclipse-${BUILD_VER}-src.tar.bz2 ${BASE_URI}eclipse-build-${ECLIPSE_BUILD_VER}.tar.bz2"
+
+LICENSE="EPL-1.0"
+SLOT="3.6"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gnome source"
+
+CDEPEND=">=dev-java/swt-${PV%.0}:${SLOT}
+ >=dev-java/ant-1.7.1
+ >=dev-java/asm-3.2:3
+ >=dev-java/commons-codec-1.3
+ >=dev-java/commons-el-1.0
+ >=dev-java/commons-httpclient-3.1:3
+ >=dev-java/commons-logging-1.0.4
+ >=dev-java/hamcrest-core-1.1
+ >=dev-java/icu4j-4.2.1:4.2
+ >=dev-java/jsch-0.1.41
+ >=dev-java/junit-3.8.2:0
+ >=dev-java/junit-4.8.1:4
+ >=dev-java/lucene-1.9.1:1.9
+ >=dev-java/lucene-analyzers-1.9.1:1.9
+ >=dev-java/sat4j-core-2.2.0:2
+ >=dev-java/sat4j-pseudo-2.2.0:2
+ dev-java/tomcat-servlet-api:2.5
+ >=www-servers/jetty-6.1.23:6
+ >=www-servers/tomcat-5.5.17:5.5
+ x86? ( gnome? ( gnome-base/gconf ) )"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.5"
+DEPEND="${CDEPEND}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-java/ant-antlr-1.7.1
+ >=dev-java/ant-apache-bcel-1.7.1
+ >=dev-java/ant-apache-bsf-1.7.1
+ >=dev-java/ant-apache-log4j-1.7.1
+ >=dev-java/ant-apache-oro-1.7.1
+ >=dev-java/ant-apache-regexp-1.7.1
+ >=dev-java/ant-apache-resolver-1.7.1
+ >=dev-java/ant-commons-logging-1.7.1
+ >=dev-java/ant-commons-net-1.7.1
+ >=dev-java/ant-core-1.7.1
+ >=dev-java/ant-javamail-1.7.1
+ >=dev-java/ant-jdepend-1.7.1
+ >=dev-java/ant-jsch-1.7.1
+ >=dev-java/ant-junit-1.7.1
+ >=dev-java/ant-nodeps-1.7.1
+ >=dev-java/ant-swing-1.7.1
+ >=dev-java/ant-trax-1.7.1
+ >=virtual/jdk-1.6"
+
+OSGI_DEPENDENCIES=(
+ 'com.ibm.icu icu4j-4.2'
+ 'com.jcraft.jsch jsch'
+ 'javax.servlet tomcat-servlet-api-2.5 servlet-api'
+ 'javax.servlet.jsp tomcat-servlet-api-2.5 jsp-api'
+ 'org.apache.commons.codec commons-codec'
+ 'org.apache.commons.el commons-el'
+ 'org.apache.commons.httpclient commons-httpclient-3'
+ 'org.apache.commons.logging commons-logging'
+ 'org.apache.jasper tomcat-5.5 jasper-compiler jasper-runtime'
+ 'org.apache.lucene lucene-1.9'
+ 'org.apache.lucene.analysis lucene-analyzers-1.9'
+ 'org.hamcrest.core hamcrest-core'
+ 'org.mortbay.jetty.server jetty-6 jetty'
+ 'org.mortbay.jetty.util jetty-6 jetty-util'
+ 'org.objectweb.asm asm-3'
+ 'org.sat4j.core sat4j-core-2'
+ 'org.sat4j.pb sat4j-pseudo-2'
+)
+NONOSGI_DEPENDENCIES=(
+ 'org.apache.ant ant-antlr'
+ 'org.apache.ant ant-apache-bcel'
+ 'org.apache.ant ant-apache-bsf'
+ 'org.apache.ant ant-apache-log4j'
+ 'org.apache.ant ant-apache-oro'
+ 'org.apache.ant ant-apache-regexp'
+ 'org.apache.ant ant-apache-resolver'
+ 'org.apache.ant ant-commons-logging'
+ 'org.apache.ant ant-commons-net'
+ 'org.apache.ant ant-core ant ant-launcher'
+ 'org.apache.ant ant-javamail'
+ 'org.apache.ant ant-jdepend'
+ 'org.apache.ant ant-jsch'
+ 'org.apache.ant ant-junit'
+ 'org.apache.ant ant-nodeps'
+ 'org.apache.ant ant-swing'
+ 'org.apache.ant ant-trax'
+ 'org.junit_3.8.2.v3 junit'
+ 'org.junit4 junit-4 junit'
+ 'org.junit_4.8.1.v4 junit-4 junit'
+)
+
+ALL_OS='aix hpux linux macosx qnx solaris win32'
+ALL_WS='carbon cocoa gtk motif photon win32 wpf'
+ALL_ARCH='alpha arm ia64 mips mipsel PA_RISC ppc ppc64 s390 s390x sparc sparc64 x86 x86_64'
+
+buildDir="${S}/build/eclipse-${BUILD_VER}-src"
+
+pkg_setup() {
+ ws='gtk'
+ if use x86 ; then os='linux' ; arch='x86'
+ elif use amd64 ; then os='linux' ; arch='x86_64'
+ fi
+
+ java-pkg-2_pkg_setup
+
+ if use doc ; then
+ ewarn "Having the 'doc' USE flag enabled greatly increases the build time."
+ ewarn "You might want to disable it for ${PN} if you don't need it."
+ fi
+}
+
+src_unpack() {
+ CHECKREQS_MEMORY="1536"
+ if use doc ; then
+ CHECKREQS_DISK_BUILD="3072"
+ else
+ CHECKREQS_DISK_BUILD="1536"
+ fi
+ check_reqs
+
+ unpack "eclipse-build-${ECLIPSE_BUILD_VER}.tar.bz2"
+ ln -s "${DISTDIR}/eclipse-${BUILD_VER}-src.tar.bz2" "${S}"/ || die
+
+ cd "${S}"
+ # building with ecj fails for some reason (polluted classpath probably)
+ java-pkg_force-compiler javac
+ sed -e 's/^\(label\|testsBuildLabel\)=.*$/\1='"${BUILD_VER}"'/' \
+ -e 's/^buildId=.*$/buildId='"${BUILD_ID}"'/' \
+ -i build.properties -i pdebuild.properties || die
+ eant unpack
+}
+
+src_prepare() {
+ # apply patches before we start cleaning junk out
+ eant applyPatches
+
+ # fix up hardcoded runtime class paths
+ sed -e 's|/usr/lib/jvm/java/jre/lib/rt\.jar:.*$|'"$(java-config --runtime)"'|' \
+ -i {,pde}build.properties || die
+
+ # we'll handle our own dependency symlinking, so disable eclipse-build helper
+ sed -e 's/,symlinkDeps,/,/' -i build.xml || die
+ sed_xml_element 'target' -e '/name="provision.sdk"/ s|<symlinkInstalled.*\(<echo \)|\1|' \
+ -i build.xml || die
+
+ # disable building of libgnomeproxy on x86 if USE=-gnome
+ if ! use gnome ; then
+ sed_xml_element 'condition' -e '/property="build\.libgnomeproxy"/d' -i build.xml || die
+ fi
+
+ # skip compilation of SWT native libraries (we use the system-installed copies)
+ sed_xml_element 'ant' -e '/swt/d' -i build.xml || die
+
+ ebegin 'Removing plugins of irrelevant platforms'
+ local remove_os=" ${ALL_OS} " ; remove_os=${remove_os/ ${os} / }
+ remove_os=${remove_os# } ; remove_os=${remove_os% } ; remove_os=${remove_os// /'\|'}
+ local remove_ws=" ${ALL_WS} " ; remove_ws=${remove_ws/ ${ws} / }
+ remove_ws=${remove_ws# } ; remove_ws=${remove_ws% } ; remove_ws=${remove_ws// /'\|'}
+ local remove_arch=" ${ALL_ARCH} " ; remove_arch=${remove_arch/ ${arch} / }
+ remove_arch=${remove_arch# } ; remove_arch=${remove_arch% } ; remove_arch=${remove_arch// /'\|'}
+ sed_xml_element 'includes\|plugin' \
+ -e '/id="org\.eclipse\.\(core\.net\.linux\.x86\|update\.core\.linux\)"/b' \
+ -e '/os="'"${remove_os}"'"/d' -e '/ws="'"${remove_ws}"'"/d' -e '/arch="'"${remove_arch}"'"/d' \
+ -i "${buildDir}"/features/*/feature.xml "${S}"/eclipse-build-feature/feature.xml \
+ || die 'remove irrelevant platforms failed'
+ eend
+
+ if ! use doc ; then
+ ebegin 'Removing documentation plugins'
+ rm -rf "${buildDir}"/plugins/*.doc{,.*}
+ eclipse_delete-plugins '.*\.doc\(\..*\|\)'
+ eend
+ fi
+
+ if ! use source ; then
+ ebegin 'Removing source plugins'
+ rm -rf "${buildDir}"/plugins/*.source{,_*}
+ eclipse_delete-plugins '.*\.source'
+ eend
+ fi
+
+ ebegin 'Linking dependencies'
+ local dep ; for dep in "${OSGI_DEPENDENCIES[@]}" ; do
+ eclipse_create-osgi-dep ${dep}
+ done
+ local dep ; for dep in "${NONOSGI_DEPENDENCIES[@]}" ; do
+ eclipse_create-nonosgi-dep ${dep}
+ done
+ eend
+
+ cd "${buildDir}" || die
+ epatch "${FILESDIR}/${SLOT}/hamcrest-junit-lib.patch"
+ epatch "${FILESDIR}/${SLOT}/gtk_makefile.patch"
+ epatch "${FILESDIR}/${SLOT}/iterators.patch"
+}
+
+src_compile() {
+ ANT_OPTS='-Xmx512M' eant -DbuildArch="${arch}"
+}
+
+src_install() {
+ local destDir="/usr/$(get_libdir)/eclipse-${SLOT}"
+
+ insinto "${destDir}"
+ shopt -s dotglob
+ doins -r "${buildDir}"/installation/* || die
+ shopt -u dotglob
+ chmod +x "${D}${destDir}"/eclipse
+ rm -f "${D}${destDir}"/libcairo-swt.so # use the system-installed SWT libraries
+
+ # redo symlinks
+ ebegin 'Relinking dependencies'
+ local dep ; for dep in "${OSGI_DEPENDENCIES[@]}" ; do
+ eclipse_relink-osgi-dep ${dep}
+ done
+ local dep ; for dep in "${NONOSGI_DEPENDENCIES[@]}" ; do
+ eclipse_relink-nonosgi-dep ${dep}
+ done
+ eend
+
+ # Install Gentoo wrapper and config
+ dobin "${FILESDIR}/${SLOT}/eclipse-${SLOT}" || die
+ insinto /etc
+ doins "${FILESDIR}/${SLOT}/eclipserc-${SLOT}" || die
+
+ # Create desktop entry
+ make_desktop_entry "eclipse-${SLOT}" "Eclipse ${PV}" "${destDir}/icon.xpm" || die
+}
+
+eclipse_create-osgi-dep() {
+ local bundle=${1} package=${2} ; shift 2
+ bundle=$(basename "${S}/dependencyManifests/${bundle}"_*.jar .jar) || die
+ einfo " ${bundle} => ${package}" "${@}"
+ mkdir -p "${buildDir}/plugins/${bundle}" || die
+ pushd "${buildDir}/plugins/${bundle}" > /dev/null || die
+ if (( ${#} )) ; then
+ local jar ; for jar in "${@}" ; do
+ java-pkg_jar-from "${package}" "${jar}.jar"
+ done
+ else
+ java-pkg_jar-from "${package}"
+ fi
+ mkdir META-INF || die
+ cp "${S}/dependencyManifests/${bundle}.jar/META-INF/MANIFEST.MF" META-INF/ || die
+ manifest_replace META-INF/MANIFEST.MF 'Bundle-ClassPath' "$(echo *.jar | tr ' ' ',')"
+ manifest_delete META-INF/MANIFEST.MF 'Name\|SHA1-Digest'
+ # replace classpath refs to this bundle with refs to system-installed jars
+ sed_xml_element 'pathelement' -e '/path="\([^"]\+\/\)\?'"${bundle//./\.}"'\.jar"/c '"$(
+ for jar in *.jar ; do
+ echo -n '<pathelement path="'"$(readlink "${jar}")"'"/>'
+ done)" -i "${buildDir}"/plugins/*/build.xml || die
+ popd > /dev/null || die
+ # include unpacked bundle in copy to bootstrap plugins dir
+ sed_xml_element 'fileset' -e '/id="orbitDeps"/ s|</fileset>|<include name="'"${bundle}/"'"/>\0|' \
+ -i "${S}/pdebuild.xml" || die
+}
+
+eclipse_create-nonosgi-dep() {
+ local bundle=${1} package=${2} ; shift 2
+ local pdir=${buildDir}/plugins
+ local jar ; for jar in "${@:-${package}}" ; do
+ local dir=$(dirname "$(grep -o "${bundle//./\.}"'\(_[^/=]*\)\?/\([^/=]*/\)*'"${jar}"'\.jar' \
+ "${S}/nonosgidependencies.properties")") || die
+ einfo " ${dir}/${jar}.jar => ${package}"
+ mkdir -p "${pdir}/${dir}" || die
+ java-pkg_jar-from --build-only "${package}" "${jar}.jar" "${pdir}/${dir}/${jar}.jar"
+ dir=${dir%%/*}
+ manifest_delete "${pdir}/${dir}/META-INF/MANIFEST.MF" 'Name\|SHA1-Digest'
+ rm -f "${pdir}/${dir}"/META-INF/ECLIPSEF.{RSA,SF}
+ done
+}
+
+eclipse_relink-osgi-dep() {
+ local bundle=${1} package=${2} ; shift 2
+ pushd "${D}${destDir}/plugins/${bundle}"_* > /dev/null || die
+ if (( ${#} )) ; then
+ local jar ; for jar in "${@}" ; do
+ java-pkg_jar-from --build-only "${package}" "${jar}.jar"
+ done
+ else
+ java-pkg_jar-from --build-only "${package}"
+ fi
+ popd > /dev/null || die
+}
+
+eclipse_relink-nonosgi-dep() {
+ local bundle=${1} package=${2} ; shift 2
+ pushd "${D}${destDir}/plugins/${bundle}"_* > /dev/null || die
+ local jar ; for jar in "${@:-${package}}" ; do
+ java-pkg_jar-from --build-only "${package}" "${jar}.jar"
+ done
+ popd > /dev/null || die
+}
+
+# Removes feature.xml references to plugins matching ${1}.
+eclipse_delete-plugins() {
+ sed_xml_element 'includes\|plugin' -e '/id="'"${1}"'"/d' \
+ -i "${buildDir}"/features/*/feature.xml "${S}"/eclipse-build-feature/feature.xml \
+ || die 'eclipse_delete-plugins failed'
+}
+
+# Prints the first value from manifest file ${1} whose key matches regex ${2},
+# unfolding as necessary.
+manifest_get() {
+ sed -n -e '/^\('"${2}"'\): /{h;:A;$bB;n;/^ /!bB;H;bA};d;:B;g;s/^[^:]*: //;s/\n //g;p;q' "${1}" \
+ || die 'manifest_get failed'
+}
+
+# Deletes values from manifest file ${1} whose keys match regex ${2}, taking
+# into account folding.
+manifest_delete() {
+ sed -n -e ':A;/^\('"${2}"'\): /{:B;n;/^ /!{bA};bB};p' -i "${1}" \
+ || die 'manifest_delete failed'
+}
+
+# Replaces the value for key ${2} in the first section of manifest file ${1}
+# with ${3}, or adds the key-value pair to that section if the key was absent.
+manifest_replace() {
+ LC_ALL='C' awk -v key="${2}" -v val="${3}" '
+function fold(s, o, l, r) {
+ o = 2 ; l = length(s) - 1 ; r = substr(s, 1, 1)
+ while (l > 69) { r = r substr(s, o, 69) "\n " ; o += 69 ; l -= 69 }
+ return r substr(s, o)
+}
+BEGIN { FS = ": " }
+f { print ; next }
+i { if ($0 !~ "^ ") { f = 1 ; print } ; next }
+$1 == key { print fold(key FS val) ; i = 1 ; next }
+/^\r?$/ { print fold(key FS val) ; print ; f = 1 ; next }
+{ print }
+END { if (!f) { print fold(key FS val) } }
+' "${1}" > "${1}-" && mv "${1}"{-,} || die 'manifest_replace failed'
+}
+
+# Executes sed over each XML element with a name matching ${1}, rather than
+# over each line. The entire element (and its children) may be removed with the
+# 'd' command, or they may be edited using all the usual sed foo. Basically,
+# the script argument will be executed only for elements matching ${1}, and the
+# sed pattern space will consist of the entire element, including any nested
+# elements. Note that this is not perfect and requires no more than one XML
+# element per line to be reliable.
+sed_xml_element() {
+ local elem=${1} ; shift
+ sed -e '/<\('"${elem}"'\)\([> \t]\|$\)/{:_1;/>/!{N;b_1};/\/>/b_3' \
+ -e ':_2;/<\/\('"${elem}"'\)>/!{N;b_2};b_3};b;:_3' "${@}"
+}
diff --git a/dev-util/eclipse-sdk/files/3.4/ant-osgi-manifest.mf b/dev-util/eclipse-sdk/files/3.4/ant-osgi-manifest.mf
deleted file mode 100644
index deb8a6a..0000000
--- a/dev-util/eclipse-sdk/files/3.4/ant-osgi-manifest.mf
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Ant
-Bundle-Vendor: Gentoo
-Bundle-SymbolicName: org.apache.ant
-Bundle-Version: 1.7.0
-Bundle-ClassPath: lib/ant.jar,lib/ant-launcher.jar,lib/ant-nodeps.jar
-Export-Package: images,org.apache.tools.ant,org.apache.tools.ant.dispatch,org.apache.tools.ant.filters,org.apache.tools.ant.filters.util,
- org.apache.tools.ant.helper,org.apache.tools.ant.input,org.apache.tools.ant.listener,org.apache.tools.ant.loader,
- org.apache.tools.ant.taskdefs,org.apache.tools.ant.taskdefs.compilers,org.apache.tools.ant.taskdefs.condition,
- org.apache.tools.ant.taskdefs.cvslib,org.apache.tools.ant.taskdefs.email,org.apache.tools.ant.taskdefs.optional,
- org.apache.tools.ant.taskdefs.optional.ccm,org.apache.tools.ant.taskdefs.optional.clearcase,org.apache.tools.ant.taskdefs.optional.depend,
- org.apache.tools.ant.taskdefs.optional.depend.constantpool,org.apache.tools.ant.taskdefs.optional.dotnet,
- org.apache.tools.ant.taskdefs.optional.ejb,org.apache.tools.ant.taskdefs.optional.extension,org.apache.tools.ant.launch,
- org.apache.tools.ant.taskdefs.optional.extension.resolvers,org.apache.tools.ant.taskdefs.optional.i18n,
- org.apache.tools.ant.taskdefs.optional.image,org.apache.tools.ant.taskdefs.optional.j2ee,org.apache.tools.ant.taskdefs.optional.javacc,
- org.apache.tools.ant.taskdefs.optional.javah,org.apache.tools.ant.taskdefs.optional.jdepend,org.apache.tools.ant.taskdefs.optional.jlink,
- org.apache.tools.ant.taskdefs.optional.jsp,org.apache.tools.ant.taskdefs.optional.jsp.compilers,org.apache.tools.ant.taskdefs.optional.junit,
- org.apache.tools.ant.taskdefs.optional.junit.xsl,org.apache.tools.ant.taskdefs.optional.native2ascii,org.apache.tools.ant.taskdefs.optional.net,
- org.apache.tools.ant.taskdefs.optional.perforce,org.apache.tools.ant.taskdefs.optional.pvcs,org.apache.tools.ant.taskdefs.optional.scm,
- org.apache.tools.ant.taskdefs.optional.script,org.apache.tools.ant.taskdefs.optional.sos,org.apache.tools.ant.taskdefs.optional.sound,
- org.apache.tools.ant.taskdefs.optional.splash,org.apache.tools.ant.taskdefs.optional.ssh,org.apache.tools.ant.taskdefs.optional.starteam,
- org.apache.tools.ant.taskdefs.optional.unix,org.apache.tools.ant.taskdefs.optional.vss,org.apache.tools.ant.taskdefs.optional.windows,
- org.apache.tools.ant.taskdefs.rmic,org.apache.tools.ant.types,org.apache.tools.ant.types.conditions,org.apache.tools.ant.types.mappers,
- org.apache.tools.ant.types.optional,org.apache.tools.ant.types.optional.depend,org.apache.tools.ant.types.optional.image,
- org.apache.tools.ant.types.resolver,org.apache.tools.ant.types.resources,org.apache.tools.ant.types.resources.comparators,
- org.apache.tools.ant.types.resources.selectors,org.apache.tools.ant.types.selectors,org.apache.tools.ant.types.selectors.modifiedselector,
- org.apache.tools.ant.types.spi,org.apache.tools.ant.util,org.apache.tools.ant.util.depend,org.apache.tools.ant.util.depend.bcel,
- org.apache.tools.ant.util.facade,org.apache.tools.ant.util.java15,org.apache.tools.ant.util.optional,org.apache.tools.ant.util.regexp,
- org.apache.tools.bzip2,org.apache.tools.mail,org.apache.tools.tar,org.apache.tools.zip \ No newline at end of file
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipse-c-warning.patch b/dev-util/eclipse-sdk/files/3.4/eclipse-c-warning.patch
deleted file mode 100644
index c2b6620..0000000
--- a/dev-util/eclipse-sdk/files/3.4/eclipse-c-warning.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-=== modified file 'features/org.eclipse.equinox.executable/library/eclipse.c'
---- features/org.eclipse.equinox.executable/library/eclipse.c 2009-01-06 13:44:41 +0000
-+++ features/org.eclipse.equinox.executable/library/eclipse.c 2009-01-06 14:00:41 +0000
-@@ -1103,7 +1103,7 @@
- /* old startup.jar? */
- file = checkPath(OLD_STARTUP, programDir, 0);
- if (_tstat( file, &stats ) == 0)
-- return (file == OLD_STARTUP) ? _tcsdup(OLD_STARTUP) : file;
-+ return (_tcscmp(file,OLD_STARTUP)==0) ? _tcsdup(OLD_STARTUP) : file;
-
- return NULL;
- }
-
-=== modified file 'features/org.eclipse.equinox.executable/library/eclipseCommon.c'
---- features/org.eclipse.equinox.executable/library/eclipseCommon.c 2009-01-06 13:44:41 +0000
-+++ features/org.eclipse.equinox.executable/library/eclipseCommon.c 2009-01-06 13:57:53 +0000
-@@ -350,10 +350,11 @@
- #else
- #ifdef MACOSX
- static int filter(struct dirent *dir) {
-+ char * candidate = dir->d_name;
- #else
- static int filter(const struct dirent *dir) {
-+ const char * candidate = dir->d_name;
- #endif
-- char * candidate = dir->d_name;
- #endif
- _TCHAR *c1, *c2;
-
-
-=== modified file 'features/org.eclipse.equinox.executable/library/eclipseJNI.c'
---- features/org.eclipse.equinox.executable/library/eclipseJNI.c 2009-01-06 13:44:41 +0000
-+++ features/org.eclipse.equinox.executable/library/eclipseJNI.c 2009-01-06 14:06:34 +0000
-@@ -233,7 +233,7 @@
- size_t length = _tcslen(str);
- jbyteArray bytes = (*env)->NewByteArray(env, length);
- if(bytes != NULL) {
-- (*env)->SetByteArrayRegion(env, bytes, 0, length, str);
-+ (*env)->SetByteArrayRegion(env, bytes, 0, length, (jbyte *) str);
- if (!(*env)->ExceptionOccurred(env)) {
- jclass stringClass = (*env)->FindClass(env, "java/lang/String");
- if(stringClass != NULL) {
-
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipse_build-libs.diff b/dev-util/eclipse-sdk/files/3.4/eclipse_build-libs.diff
deleted file mode 100644
index 0f77f36..0000000
--- a/dev-util/eclipse-sdk/files/3.4/eclipse_build-libs.diff
+++ /dev/null
@@ -1,45 +0,0 @@
---- build.xml 2008-06-11 17:43:11.000000000 +0200
-+++ build.xml 2008-05-02 07:33:57.000000000 +0200
-@@ -1,7 +1,7 @@
- <project name="Eclipse SDK Source Build" default="run" basedir=".">
-
- <!-- default target that runs complete build -->
-- <target name="run" depends="fetch,insertBuildId,compile,install" />
-+ <target name="run" depends="fetch,insertBuildId,compile,compilelibs,install" />
-
- <!-- all features required to build eclipse sdk and javadoc -->
- <target name="allElements">
-@@ -71,6 +71,33 @@
- <record name="compilelog.txt" action="stop" />
- </target>
-
-+ <target name="compilelibs" depends="init,clean,compile" if="libsconfig">
-+ <property name="launcherlibs" value="${buildDirectory}/features/org.eclipse.equinox.executable" />
-+ <exec dir="${launcherlibs}/library/${installWs}/" executable="sh" failonerror="true">
-+ <arg line="build.sh -java ${java5.home}" />
-+ </exec>
-+ <copy file="${launcherlibs}/library/${installWs}/eclipse" todir="${buildDirectory}/eclipse/" />
-+
-+ <property name="launcherfragment" value="org.eclipse.equinox.launcher.${installWs}.${installOs}.${installArch}" />
-+
-+ <copy file="${launcherlibs}/library/${installWs}/eclipse" todir="features/org.eclipse.equinox.executable/contributed/${installWs}/${installOs}/${installArch}/" />
-+ <copy todir="${buildDirectory}/plugins/${launcherfragment}">
-+ <fileset dir="${launcherlibs}/library/${installWs}">
-+ <include name="**/*.so" />
-+ </fileset>
-+ </copy>
-+
-+ <!-- build liblocalfile -->
-+ <exec dir="plugins/org.eclipse.core.filesystem/natives/unix/linux" executable="make" failonerror="true" />
-+ <move file="plugins/org.eclipse.core.filesystem/natives/unix/linux/liblocalfile_1_0_0.so" todir="plugins/org.eclipse.core.filesystem.linux.${installArch}/os/linux/${installArch}">
-+ </move>
-+ <!-- build libupdate -->
-+ <ant dir="plugins/org.eclipse.update.core.linux/src" antfile="build.xml" />
-+
-+ </target>
-+
-+
-+
- <!--create an installable eclipse runtime-->
- <target name="install" depends="init">
- <echo message="Assembling..." />
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipse_buildfix-pde.diff b/dev-util/eclipse-sdk/files/3.4/eclipse_buildfix-pde.diff
deleted file mode 100644
index 1296587..0000000
--- a/dev-util/eclipse-sdk/files/3.4/eclipse_buildfix-pde.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- features/org.eclipse.pde/build.xml.orig 2008-05-05 21:45:14.000000000 +0200
-+++ features/org.eclipse.pde/build.xml 2008-05-05 21:45:31.000000000 +0200
-@@ -69,7 +69,7 @@
- <target name="update.feature" depends="init">
- </target>
-
-- <target name="all.children" depends="init,all.features,all.plugins,update.feature">
-+ <target name="all.children" depends="init,all.plugins,all.features,update.feature">
- </target>
-
- <target name="children" if="include.children">
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipserc b/dev-util/eclipse-sdk/files/3.4/eclipserc
deleted file mode 100644
index 3e97c2b..0000000
--- a/dev-util/eclipse-sdk/files/3.4/eclipserc
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file specifies some initial Eclipse settings, like memory allowed to Eclipse.
-# These settings only affect Eclipse startup and overall configuration.
-# Main Eclipse configuration should be done within Eclipse (with the GUI).
-
-# Following variables controls the minimal and maximum amounts of memory
-# allocated to Eclipse (respectively).
-# Increase those numbers if you get OutOfMemory errors or if you have lots of memory to
-# throw at Eclipse.
-
-ECLIPSE_XMS=128m
-ECLIPSE_XMX=256m
-
-# Following variables controls the minimal and maximum amounts of memory
-# allocated to the permanent generation space.
-# This space contains data related to all classes.
-# The default values should be enough for most people, but you can increase those amounts
-# if you get crashes related to OutOfMemory in PermGen exceptions.
-# If you lack memory, you can also try decrease those amounts.
-
-ECLIPSE_PERMSIZE=128m
-ECLIPSE_MAX_PERMSIZE=256m
-
-# Additional needed properties (see bug #219413)
-
-#ECLIPSE_USER_ARGS="" \ No newline at end of file
diff --git a/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-libupdatebuild2.patch b/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-libupdatebuild2.patch
deleted file mode 100644
index 263adbb..0000000
--- a/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-libupdatebuild2.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- plugins/org.eclipse.update.core.linux/src/build.xml.orig 2008-06-11 17:29:43.000000000 +0200
-+++ plugins/org.eclipse.update.core.linux/src/build.xml 2008-06-11 17:30:03.000000000 +0200
-@@ -5,7 +5,6 @@
- <!-- Set a meaningful default value for when it is not. -->
- <property name="eclipse-home" value="${basedir}/../.."/>
- <property name="jdk-path" value="${java.home}"/>
-- <property name="installArch" value="x86" />
- <property name="destination" value="${eclipse-home}/org.eclipse.update.core.linux/os/linux/${installArch}/"/>
- <property name="obj-path" value="${eclipse-home}/org.eclipse.update.core.linux/src/"/>
- <property name="src-path" value="${eclipse-home}/org.eclipse.update.core.linux/src/"/>
diff --git a/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-pde.build-add-package-build.patch b/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-pde.build-add-package-build.patch
deleted file mode 100644
index 77f347d..0000000
--- a/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-pde.build-add-package-build.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-Index: templates/package-build/build.properties
-===================================================================
-RCS file: templates/package-build/build.properties
-diff -N templates/package-build/build.properties
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ templates/package-build/build.properties 1 Jan 1970 00:00:00 -0000
-@@ -0,0 +1,12 @@
-+buildDirectory=${sourceDirectory}/build
-+buildLabel=rpmBuild
-+archivePrefix=eclipse
-+skipFetch=true
-+javacFailOnError=true
-+collectingFolder=eclipse
-+archivesFormat=*,*,*-zip
-+zipargs=-y
-+javacDebugInfo=true
-+archiveName=${id}.zip
-+runPackager=false
-+baseLocation=/usr/share/eclipse
-Index: templates/package-build/customTargets-assemble-target.xml
-===================================================================
-RCS file: templates/package-build/customTargets-assemble-target.xml
-diff -N templates/package-build/customTargets-assemble-target.xml
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ templates/package-build/customTargets-assemble-target.xml 1 Jan 1970 00:00:00 -0000
-@@ -0,0 +1,12 @@
-+<project>
-+ <!-- ===================================================================== -->
-+ <!-- Targets to assemble the built elements for particular configurations -->
-+ <!-- These generally call the generated assemble scripts (named in -->
-+ <!-- ${assembleScriptName}) but may also add pre and post processing -->
-+ <!-- Add one target for each root element and each configuration -->
-+ <!-- ===================================================================== -->
-+
-+ <target name="assemble.@id@">
-+ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
-+ </target>
-+</project>
-Index: templates/package-build/customTargets.xml
-===================================================================
-RCS file: templates/package-build/customTargets.xml
-diff -N templates/package-build/customTargets.xml
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ templates/package-build/customTargets.xml 1 Jan 1970 00:00:00 -0000
-@@ -0,0 +1,144 @@
-+<project name="Build specific targets and properties" default="noDefault">
-+
-+ <fail unless="type" message="Please set the ${type} property to 'feature', 'plugin' or 'fragment'." />
-+ <fail unless="id" message="Please set the ${id} property to the feature, plugin or fragment id of the plugin you are building." />
-+ <fail unless="sourceDirectory" message="Please set the ${sourceDirectory} property to the directory that has the source plugins." />
-+
-+ <!-- we need to do this because you can't expand variables in target names -->
-+ <copy file="${builder}/customTargets-assemble-target.xml" tofile="${buildDirectory}/customTargets-${id}-assemble-target.xml" />
-+ <replace file="${buildDirectory}/customTargets-${id}-assemble-target.xml" token="@id@" value="${id}" />
-+ <import file="${buildDirectory}/customTargets-${id}-assemble-target.xml" />
-+
-+ <!-- ===================================================================== -->
-+ <!-- Run a given ${target} on all elements being built -->
-+ <!-- Add on <ant> task for each top level element being built. -->
-+ <!-- ===================================================================== -->
-+ <target name="allElements">
-+ <ant antfile="${genericTargets}" target="${target}">
-+ <property name="type" value="${type}" />
-+ <property name="id" value="${id}" />
-+ </ant>
-+ </target>
-+
-+
-+ <!-- ===================================================================== -->
-+ <!-- Check out map files from correct repository -->
-+ <!-- ===================================================================== -->
-+ <target name="getMapFiles">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+
-+ <target name="clean" unless="noclean">
-+ <antcall target="allElements">
-+ <param name="target" value="cleanElement" />
-+ </antcall>
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do before setup -->
-+ <!-- ===================================================================== -->
-+ <target name="preSetup">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do after setup but before starting the build proper -->
-+ <!-- ===================================================================== -->
-+ <target name="postSetup">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do before fetching the build elements -->
-+ <!-- ===================================================================== -->
-+ <target name="preFetch">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do after fetching the build elements -->
-+ <!-- ===================================================================== -->
-+ <target name="postFetch">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do before generating the build scripts. -->
-+ <!-- ===================================================================== -->
-+ <target name="preGenerate">
-+ <!-- Eclipse expects the feature projects to be in the 'features' directory and
-+ plugin projects to be in the 'plugins' directory. The build infrastructure
-+ normally arranges the projects during the fetch stage. Since we aren't doing
-+ the fetch stage, we have to manually arrange the files -->
-+ <exec dir="${builder}" executable="/bin/sh">
-+ <arg line="prepare-build-dir.sh ${sourceDirectory} ${buildDirectory}" />
-+ </exec>
-+
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do after generating the build scripts. -->
-+ <!-- ===================================================================== -->
-+ <target name="postGenerate">
-+ <antcall target="clean" />
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do before running the build.xmls for the elements being built. -->
-+ <!-- ===================================================================== -->
-+ <target name="preProcess">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do after running the build.xmls for the elements being built. -->
-+ <!-- ===================================================================== -->
-+ <target name="postProcess">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do before running assemble. -->
-+ <!-- ===================================================================== -->
-+ <target name="preAssemble">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do after running assemble. -->
-+ <!-- ===================================================================== -->
-+ <target name="postAssemble">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do before running package. -->
-+ <!-- ===================================================================== -->
-+ <target name="prePackage">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do after running package. -->
-+ <!-- ===================================================================== -->
-+ <target name="postPackage">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do after the build is done. -->
-+ <!-- ===================================================================== -->
-+ <target name="postBuild">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do to test the build results -->
-+ <!-- ===================================================================== -->
-+ <target name="test">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Steps to do to publish the build results -->
-+ <!-- ===================================================================== -->
-+ <target name="publish">
-+ </target>
-+
-+ <!-- ===================================================================== -->
-+ <!-- Default target -->
-+ <!-- ===================================================================== -->
-+ <target name="noDefault">
-+ <echo message="You must specify a target when invoking this file" />
-+ </target>
-+
-+</project>
-Index: templates/package-build/prepare-build-dir.sh
-===================================================================
-RCS file: templates/package-build/prepare-build-dir.sh
-diff -N templates/package-build/prepare-build-dir.sh
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ templates/package-build/prepare-build-dir.sh 1 Jan 1970 00:00:00 -0000
-@@ -0,0 +1,77 @@
-+#!/bin/sh
-+
-+if [ $# -ne 2 ]; then
-+ echo "usage: $0 <path to source dir> <path to build dir>"
-+ exit 1
-+fi
-+
-+if [ ! -d $1 ]; then
-+ echo "usage: $0 <path to source dir> <path to build dir>"
-+ exit 1
-+fi
-+
-+SOURCEDIR=$1
-+BUILDDIR=$2
-+
-+echo "preparing files in $1 for buildfile generation ..."
-+mkdir -p $BUILDDIR
-+
-+# make some ant build files to extract the id from the feature.xml, plugin.xml or the fragment.xml
-+mkdir -p $BUILDDIR/tmp
-+BUILDFILE=$BUILDDIR/tmp/build.xml
-+
-+echo "<project default=\"main\">
-+ <target name=\"main\">
-+ <xmlproperty file=\"@type@.xml\" collapseAttributes=\"true\"/>
-+ <fail unless=\"@type@.id\" message=\"feature.id not set\"/>
-+ <echo message=\"\${@type@.id}\" />
-+ </target>
-+</project>" > $BUILDFILE
-+
-+for type in feature plugin fragment; do
-+ CURBUILDFILE=$BUILDDIR/tmp/$type-build.xml
-+ cat $BUILDFILE | sed "s|@type@|$type|" > $CURBUILDFILE
-+done
-+
-+# make the directories eclipse is expecting
-+echo " making the 'features' and 'plugins' directories"
-+mkdir -p $BUILDDIR/features $BUILDDIR/plugins
-+
-+# make symlinks for the features
-+FEATURES=$(find $SOURCEDIR -name feature.xml)
-+for f in $FEATURES; do
-+ PROJECTDIR=$(dirname $f)
-+ PROJECTNAME=$(ant -Dbasedir=$PROJECTDIR -f $BUILDDIR/tmp/feature-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
-+ if [ -z $PROJECTNAME ]; then
-+ echo "ERROR: could not determine the feature id for $PROJECTDIR"
-+ exit 1
-+ fi
-+
-+ echo " making symlink: $BUILDDIR/features/$PROJECTNAME -> $PROJECTDIR"
-+ ln -sf $PROJECTDIR $BUILDDIR/features/$PROJECTNAME
-+done
-+
-+# make symlinks for plugins and fragments
-+PLUGINDIRS=$(find $SOURCEDIR -name plugin.xml -o -name fragment.xml -o -name MANIFEST.MF | sed "s/plugin.xml//g" | sed "s/fragment.xml//g" | sed "s/META-INF\/MANIFEST.MF//" | sort | uniq)
-+for dir in $PLUGINDIRS; do
-+ PROJECTNAME=""
-+ if [ -e $dir/META-INF/MANIFEST.MF ]; then
-+ PROJECTNAME=$(grep Bundle-SymbolicName $dir/META-INF/MANIFEST.MF | cut --delimiter=';' -f 1 | cut --delimiter=' ' -f 2)
-+ elif [ -e $dir/plugin.xml ]; then
-+ PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/plugin-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
-+ elif [ -e $dir/fragment.xml ]; then
-+ PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/fragment-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
-+ fi
-+
-+ if [ -z $PROJECTNAME ]; then
-+ echo "ERROR: could not determine the plugin or fragment id for $dir"
-+ exit 1
-+ fi
-+
-+ echo " making symlink: $BUILDDIR/plugins/$PROJECTNAME -> $dir"
-+ ln -sf $dir $BUILDDIR/plugins/$PROJECTNAME
-+
-+done
-+
-+rm -rf $BUILDDIR/tmp
-+echo done
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipse-3.4 b/dev-util/eclipse-sdk/files/3.6/eclipse-3.6
index 1afe898..103eec3 100644
--- a/dev-util/eclipse-sdk/files/3.4/eclipse-3.4
+++ b/dev-util/eclipse-sdk/files/3.6/eclipse-3.6
@@ -9,26 +9,29 @@
# Licensed under the GNU General Public License, version 2
#
-SLOT="3.4"
+SLOT="3.6"
-[ -f "/etc/eclipserc-${SLOT}" ] && source "/etc/eclipserc-${SLOT}"
-[ -f "$HOME/gentoo/.eclipserc" ] && source "$HOME/gentoo/.eclipserc"
+[ -f "/etc/eclipserc-${SLOT}" ] && . "/etc/eclipserc-${SLOT}"
+[ -f "$HOME/gentoo/.eclipserc" ] && . "$HOME/gentoo/.eclipserc"
ECLIPSE_HOME=${ECLIPSE_HOME:="/usr/lib/eclipse-${SLOT}"}
ECLIPSE_BIN="${ECLIPSE_HOME}/eclipse"
if [ ! -x "${ECLIPSE_BIN}" ] ; then
echo "Failed to find executable '${ECLIPSE_BIN}'" > /dev/stderr
- exit -1
+ exit 1
fi
if [ $(id -u) -eq 0 ] ; then
- echo "Do not run eclipse as root user! Exiting ..."
- exit -1
+ echo "Do not run eclipse as root user! Exiting ..." > /dev/stderr
+ exit 1
fi
-[[ "$(java-config -f)" =~ "gcj" ]] \
- && export JAVA_PKG_CLASSMAP="${ECLIPSE_HOME}/eclipse.gcjdb"
+case "$(java-config -f)" in
+ *gcj*)
+ export JAVA_PKG_CLASSMAP="${ECLIPSE_HOME}/eclipse.gcjdb"
+ ;;
+esac
eval $(gjl --package "swt-${SLOT}" --get-args)
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipserc-3.4 b/dev-util/eclipse-sdk/files/3.6/eclipserc-3.6
index 703b649..703b649 100644
--- a/dev-util/eclipse-sdk/files/3.4/eclipserc-3.4
+++ b/dev-util/eclipse-sdk/files/3.6/eclipserc-3.6
diff --git a/dev-util/eclipse-sdk/files/3.6/gtk_makefile.patch b/dev-util/eclipse-sdk/files/3.6/gtk_makefile.patch
new file mode 100644
index 0000000..dd71e95
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.6/gtk_makefile.patch
@@ -0,0 +1,36 @@
+--- features/org.eclipse.equinox.executable/library/gtk/make_linux.mak~ 2010-02-08 21:14:12.000000000 +0000
++++ features/org.eclipse.equinox.executable/library/gtk/make_linux.mak 2010-08-09 21:47:30.543247031 +0000
+@@ -27,7 +27,8 @@
+ PROGRAM_OUTPUT=eclipse
+ endif
+
+-PROGRAM_LIBRARY=$(PROGRAM_OUTPUT)_$(LIB_VERSION).so
++PROGRAM_SONAME=$(PROGRAM_OUTPUT)_$(LIB_VERSION)
++PROGRAM_LIBRARY=$(PROGRAM_SONAME).so
+
+ ifeq ($(DEFAULT_JAVA),)
+ DEFAULT_JAVA=DEFAULT_JAVA_JNI
+@@ -44,8 +45,8 @@
+ #LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lpthread -ldl -lX11
+ LIBS = -lpthread -ldl
+ GTK_LIBS = -DGTK_LIB="\"libgtk-x11-2.0.so.0\"" -DGDK_LIB="\"libgdk-x11-2.0.so.0\"" -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" -DX11_LIB="\"libX11.so.6\""
+-LFLAGS = ${M_ARCH} -shared -fpic -Wl,--export-dynamic
+-CFLAGS = ${M_ARCH} -g -s -Wall\
++LFLAGS = ${M_ARCH} -shared -Wl,-soname=$(PROGRAM_SONAME) -fpic -Wl,--export-dynamic
++CFLAGS += ${M_ARCH} -Wall\
+ -fpic \
+ -DLINUX \
+ -DMOZILLA_FIX \
+@@ -95,10 +96,10 @@
+ $(CC) $(CFLAGS) -c ../eclipseNix.c -o eclipseNix.o
+
+ $(EXEC): $(MAIN_OBJS) $(COMMON_OBJS)
+- $(CC) ${M_ARCH} -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
++ $(CC) ${M_ARCH} $(LDFLAGS) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS)
+
+ $(DLL): $(DLL_OBJS) $(COMMON_OBJS)
+- $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
++ $(CC) $(LDFLAGS) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS)
+
+ install: all
+ cp $(EXEC) $(OUTPUT_DIR)
diff --git a/dev-util/eclipse-sdk/files/3.6/hamcrest-junit-lib.patch b/dev-util/eclipse-sdk/files/3.6/hamcrest-junit-lib.patch
new file mode 100644
index 0000000..77befea
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.6/hamcrest-junit-lib.patch
@@ -0,0 +1,11 @@
+--- plugins/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/buildpath/BuildPathSupport.java~ 2010-05-21 10:01:31.000000000 +0000
++++ plugins/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/buildpath/BuildPathSupport.java 2010-08-09 21:32:27.813247049 +0000
+@@ -139,7 +139,7 @@
+ "org.junit", new VersionRange("[4.7.0,5.0.0)"), "junit.jar", "org.junit.source", "source-bundle/", JUnitPreferencesConstants.JUNIT4_JAVADOC); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+
+ private static final JUnitPluginDescription HAMCREST_CORE_PLUGIN= new JUnitPluginDescription(
+- "org.hamcrest.core", new VersionRange("[1.1.0,2.0.0)"), null, "org.hamcrest.core.source", "source-bundle/", JUnitPreferencesConstants.HAMCREST_CORE_JAVADOC); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
++ "org.hamcrest.core", new VersionRange("[1.1.0,2.0.0)"), "hamcrest-core.jar", "org.hamcrest.core.source", "source-bundle/", JUnitPreferencesConstants.HAMCREST_CORE_JAVADOC); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+
+ /**
+ * @return the JUnit3 classpath container
diff --git a/dev-util/eclipse-sdk/files/3.6/iterators.patch b/dev-util/eclipse-sdk/files/3.6/iterators.patch
new file mode 100644
index 0000000..eca230e
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.6/iterators.patch
@@ -0,0 +1,70 @@
+--- plugins/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/expression/CompoundIterator.java~ 2010-02-19 12:12:49.000000000 +0000
++++ plugins/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/expression/CompoundIterator.java 2010-08-09 23:16:39.201246659 +0000
+@@ -25,7 +25,7 @@
+ private final Iterator<? extends Object> iteratorIterator;
+ private Iterator<T> currentIterator;
+
+- private T nextObject = noElement();
++ private Object nextObject = NO_ELEMENT;
+
+ /**
+ * Creates a compound iterator that will iterated over the elements
+@@ -47,8 +47,9 @@
+ if (!positionNext())
+ throw new NoSuchElementException();
+
+- T nxt = nextObject;
+- nextObject = noElement();
++ @SuppressWarnings("unchecked")
++ T nxt = (T) nextObject;
++ nextObject = NO_ELEMENT;
+ return nxt;
+ }
+
+@@ -76,9 +77,4 @@
+ nextObject = currentIterator.next();
+ return true;
+ }
+-
+- @SuppressWarnings("unchecked")
+- private static <T> T noElement() {
+- return (T) NO_ELEMENT;
+- }
+-}
+\ No newline at end of file
++}
+--- plugins/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/expression/MatchIteratorFilter.java~ 2010-02-19 12:12:48.000000000 +0000
++++ plugins/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/expression/MatchIteratorFilter.java 2010-08-09 23:20:33.572246380 +0000
+@@ -21,7 +21,7 @@
+
+ private final Iterator<? extends T> innerIterator;
+
+- private T nextObject = noElement();
++ private Object nextObject = NO_ELEMENT;
+
+ public MatchIteratorFilter(Iterator<? extends T> iterator) {
+ this.innerIterator = iterator;
+@@ -35,8 +35,9 @@
+ if (!positionNext())
+ throw new NoSuchElementException();
+
+- T nxt = nextObject;
+- nextObject = noElement();
++ @SuppressWarnings("unchecked")
++ T nxt = (T) nextObject;
++ nextObject = NO_ELEMENT;
+ return nxt;
+ }
+
+@@ -63,9 +64,4 @@
+ }
+ return false;
+ }
+-
+- @SuppressWarnings("unchecked")
+- private static <T> T noElement() {
+- return (T) NO_ELEMENT;
+- }
+-}
+\ No newline at end of file
++}
diff --git a/dev-util/eclipse-sdk/metadata.xml b/dev-util/eclipse-sdk/metadata.xml
new file mode 100644
index 0000000..bbf624d
--- /dev/null
+++ b/dev-util/eclipse-sdk/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>dev-tools</herd>
+<herd>java</herd>
+<longdescription>
+The Eclipse Project is an open source project of eclipse.org, overseen by
+a Project Management Committee (PMC) and project leaders. The work is done
+in subprojects working against a CVS repository. The Eclipse Project
+Charter describes the organization of the project, roles and
+responsibilities of the participants, and top level development process
+for the project. The JDT and PDE are plug-in tools for the Eclipse
+Platform. Together, these three pieces form the Eclipse SDK download, a
+complete development environment for Eclipse-based tools, and for
+developing Eclipse itself.
+</longdescription>
+</pkgmetadata>