|
|
MY_A="eclipse-sourceBuild-srcIncluded-${PV}.zip" | MY_A="eclipse-sourceBuild-srcIncluded-${PV}.zip" |
DESCRIPTION="Eclipse Tools Platform" | DESCRIPTION="Eclipse Tools Platform" |
HOMEPAGE="http://www.eclipse.org/" | HOMEPAGE="http://www.eclipse.org/" |
SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/R-${PV}-${DATESTAMP}/${MY_A} |
SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/R-${PV}-${DATESTAMP}/${MY_A}" |
mirror://gentoo/${P}-patches.tar.bz2" |
#mirror://gentoo/${P}-patches.tar.bz2" |
IUSE="seamonkey gnome cairo opengl" | IUSE="seamonkey gnome cairo opengl" |
SLOT="3.2" | SLOT="3.2" |
LICENSE="EPL-1.0" | LICENSE="EPL-1.0" |
|
|
seamonkey? ( www-client/seamonkey ) | seamonkey? ( www-client/seamonkey ) |
gnome? ( =gnome-base/gnome-vfs-2* =gnome-base/libgnomeui-2* ) | gnome? ( =gnome-base/gnome-vfs-2* =gnome-base/libgnomeui-2* ) |
opengl? ( virtual/opengl ) | opengl? ( virtual/opengl ) |
>=dev-java/ant-core-1.6.5 |
>=dev-java/ant-1.6.5 |
>=dev-java/ant-tasks-1.6.5 |
|
=dev-java/lucene-1*" | =dev-java/lucene-1*" |
| |
RDEPEND=">=virtual/jre-1.4 | RDEPEND=">=virtual/jre-1.4 |
|
|
>=sys-apps/findutils-4.1.7 | >=sys-apps/findutils-4.1.7 |
app-arch/unzip | app-arch/unzip |
app-arch/zip" | app-arch/zip" |
|
|
# Force 1.4 to be used for building | # Force 1.4 to be used for building |
JAVA_PKG_NV_DEPEND="=virtual/jdk-1.4*" | JAVA_PKG_NV_DEPEND="=virtual/jdk-1.4*" |
| |
|
|
java-pkg_jar-from lucene-1 lucene.jar lucene-1.4.3.jar | java-pkg_jar-from lucene-1 lucene.jar lucene-1.4.3.jar |
popd >/dev/null | popd >/dev/null |
| |
# TODO replace stuff in plugins/org.eclipse.team.cvs.ssh2 |
apply-patchset |
# TODO replace stuff in plugins/org.eclipse.tomcat |
|
# TODO replace stuff in plugins/org.junit4 |
|
|
|
# begin: patches/comments from fedora |
|
|
|
# Build JNI libs |
|
# FIXME: these should be built by upstream build method |
|
# http://www.bagu.org/eclipse/plugin-source-drops.html |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=71637 |
|
# GNU XML issue identified by Michael Koch |
|
# patches 2, 4, 5 |
|
epatch ${WORKDIR}/${P}-build.patch |
|
epatch ${WORKDIR}/${P}-libupdatebuild.patch |
|
epatch ${WORKDIR}/${P}-libupdatebuild2.patch |
|
|
|
# Build swttools.jar |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90364 |
|
pushd plugins/org.eclipse.swt.gtk.linux.x86_64 >/dev/null |
|
epatch ${WORKDIR}/${P}-swttools.patch # patch18 |
|
popd >/dev/null |
|
|
|
# install location should automatically be added to homedir |
|
# if ECLIPSE_HOME is not writable |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90630 |
|
epatch ${WORKDIR}/${P}-updatehomedir.patch # patch22 |
|
|
|
# .so files installed in a strange location |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535 |
|
pushd plugins/org.eclipse.core.runtime >/dev/null |
|
epatch ${WORKDIR}/${P}-fileinitializer.patch # patch24 |
|
popd >/dev/null |
|
|
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=98707 |
|
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=178726 |
|
# TODO figure out why this doesn't apply |
|
# pushd plugins/org.eclipse.compare >/dev/null |
|
# epatch ${WORKDIR}/${P}-compare-create-api.patch # patch 33 |
|
# popd >/dev/null |
|
|
|
# JPackage []s in names of symlinks ... |
|
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=162177 |
|
pushd plugins/org.eclipse.jdt.core >/dev/null |
|
epatch ${WORKDIR}/${P}-bz162177.patch # patch34 |
|
popd >/dev/null |
|
|
|
epatch ${WORKDIR}/${P}-genjavadocoutput.patch # patch35 |
|
|
|
epatch ${WORKDIR}/${P}-usebuiltlauncher.patch # patch40 |
|
|
|
# Eclipse launcher does not follow symlinks |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=79592 |
|
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=168726 |
|
mkdir launchertmp |
|
unzip -d launchertmp \ |
|
plugins/org.eclipse.platform/launchersrc.zip >/dev/null || die "unzip failed" |
|
pushd launchertmp >/dev/null |
|
epatch ${WORKDIR}/${P}-launcher-link.patch # patch47 |
|
zip -9 -r ../launchersrc.zip * >/dev/null || die "zip failed" |
|
popd >/dev/null |
|
mv launchersrc.zip plugins/org.eclipse.platform |
|
rm -rf launchertmp |
|
|
|
pushd features/org.eclipse.platform.launchers >/dev/null |
|
epatch ${WORKDIR}/${P}-launcher-link.patch # patch47 |
|
popd >/dev/null |
|
|
|
# Don't attempt to link to Sun's javadocs |
|
epatch ${WORKDIR}/${P}-javadoclinks.patch # patch48 |
|
|
|
# generic releng plugins that can be used to build plugins |
|
# see this thread for deails: |
|
# https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.html |
|
pushd plugins/org.eclipse.pde.build >/dev/null |
|
epatch ${WORKDIR}/${P}-pde.build-add-package-build.patch # patch53 |
|
sed --in-place "s:@eclipse_base@:${ECLIPSE_DIR}:" templates/package-build/build.properties |
|
popd >/dev/null |
|
|
|
# We need to disable junit4 and apt until GCJ can handle Java5 code |
|
# FIXME for some reason junit isn't using java5... |
|
epatch ${WORKDIR}/${P}-disable-junit4-apt.patch # patch55 |
|
} | } |
| |
src_compile() { | src_compile() { |
|
|
|| die "Failed to extract the built package" | || die "Failed to extract the built package" |
| |
mv ${D}/usr/lib/eclipse ${D}/${ECLIPSE_DIR} | mv ${D}/usr/lib/eclipse ${D}/${ECLIPSE_DIR} |
insinto ${ECLIPSE_DIR} |
#insinto ${ECLIPSE_DIR} |
exeinto ${ECLIPSE_DIR} |
|
echo "-Djava.library.path=/usr/lib" >> ${D}/${ECLIPSE_DIR}/eclipse.ini | echo "-Djava.library.path=/usr/lib" >> ${D}/${ECLIPSE_DIR}/eclipse.ini |
| |
debug-print "Installing eclipse-gtk binary" | debug-print "Installing eclipse-gtk binary" |
|
exeinto ${ECLIPSE_DIR} |
doexe eclipse || die "Failed to install eclipse binary" | doexe eclipse || die "Failed to install eclipse binary" |
| |
# Install startup script | # Install startup script |
|
|
# Helper functions | # Helper functions |
# ----------------------------------------------------------------------------- | # ----------------------------------------------------------------------------- |
| |
|
apply-patchset() { |
|
# begin: patches/comments from fedora |
|
|
|
# Build JNI libs |
|
# FIXME: these should be built by upstream build method |
|
# http://www.bagu.org/eclipse/plugin-source-drops.html |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=71637 |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=86848 |
|
# GNU XML issue identified by Michael Koch |
|
# %patch2 -p0 |
|
epatch ${FILESDIR}/${P}-build.patch |
|
# %patch4 -p0 |
|
epatch ${FILESDIR}/${P}-libupdatebuild.patch |
|
# %patch5 -p0 |
|
epatch ${FILESDIR}/${P}-libupdatebuild2.patch |
|
# Build swttools.jar |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90364 |
|
pushd plugins/org.eclipse.swt.gtk.linux.x86_64 >/dev/null |
|
# %patch18 -p0 |
|
epatch ${FILESDIR}/${P}-swttools.patch |
|
popd >/dev/null |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90630 |
|
# %patch22 -p0 |
|
epatch ${FILESDIR}/${P}-updatehomedir.patch |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=90535 |
|
pushd plugins/org.eclipse.core.runtime >/dev/null |
|
# %patch24 -p0 |
|
epatch ${FILESDIR}/${P}-fileinitializer.patch |
|
popd >/dev/null |
|
|
|
## |
|
## FIXME: breaks!! |
|
## |
|
## tomcat patches |
|
## These patches need to go upstream |
|
## https://bugs.eclipse.org/bugs/show_bug.cgi?id=98371 |
|
#pushd plugins/org.eclipse.tomcat >/dev/null |
|
## %patch28 -p0 |
|
#epatch ${FILESDIR}/${P}-tomcat55.patch |
|
## %patch29 -p0 |
|
#epatch ${FILESDIR}/${P}-tomcat55-build.patch |
|
#popd >/dev/null |
|
#sed --in-place "s/4.1.130/5.5.17/" \ |
|
# features/org.eclipse.platform/build.xml \ |
|
# plugins/org.eclipse.tomcat/build.xml \ |
|
# assemble.*.xml |
|
#pushd plugins/org.eclipse.help.webapp >/dev/null |
|
## %patch31 -p0 |
|
#epatch ${FILESDIR}/${P}-webapp-tomcat55.patch |
|
#popd >/dev/null |
|
|
|
# pushd plugins/org.eclipse.compare |
|
# COMMENTED BY FEDORA %patch33 -p0 |
|
# popd |
|
|
|
# JPackage []s in names of symlinks ... |
|
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=162177 |
|
pushd plugins/org.eclipse.jdt.core >/dev/null |
|
# %patch34 -p0 |
|
epatch ${FILESDIR}/${P}-bz162177.patch |
|
# Use ecj for gcj |
|
# %patch57 -p0 |
|
epatch ${FILESDIR}/${P}-ecj-gcj.patch |
|
popd >/dev/null |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=114001 |
|
# %patch38 -p0 |
|
epatch ${FILESDIR}/${P}-helpindexbuilder.patch |
|
# %patch40 -p0 |
|
epatch ${FILESDIR}/${P}-usebuiltlauncher.patch |
|
# DO NOT APPLY %patch43 |
|
pushd plugins/org.eclipse.swt/Eclipse\ SWT\ Mozilla/common/library >/dev/null |
|
# Build cairo native libs |
|
# %patch46 |
|
# epatch ${FILESDIR}/${P}-libswt-xpcomgcc4.patch |
|
popd >/dev/null |
|
|
|
# Because the launcher source is zipped up, we need to unzip, patch, and re-pack |
|
mkdir launchertmp |
|
unzip -qq -d launchertmp plugins/org.eclipse.platform/launchersrc.zip >/dev/null || die "unzip failed" |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=79592 |
|
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=168726 |
|
pushd launchertmp >/dev/null |
|
# %patch47 -p1 |
|
epatch ${FILESDIR}/${P}-launcher-link.patch |
|
zip -q -9 -r ../launchersrc.zip * >/dev/null || die "zip failed" |
|
popd >/dev/null |
|
mv launchersrc.zip plugins/org.eclipse.platform |
|
rm -rf launchertmp |
|
|
|
pushd features/org.eclipse.platform.launchers >/dev/null |
|
# %patch47 -p1 |
|
epatch ${FILESDIR}/${P}-launcher-link.patch |
|
popd >/dev/null |
|
# Link against our system-installed javadocs |
|
# Don't attempt to link to Sun's javadocs |
|
# %patch48 -p0 |
|
epatch ${FILESDIR}/${P}-javadoclinks.patch |
|
sed --in-place "s:/usr/share/:%{_datadir}/:g" \ |
|
plugins/org.eclipse.jdt.doc.isv/jdtOptions.txt \ |
|
plugins/org.eclipse.pde.doc.user/pdeOptions.txt \ |
|
plugins/org.eclipse.pde.doc.user/pdeOptions \ |
|
plugins/org.eclipse.platform.doc.isv/platformOptions.txt |
|
# Always generate debug info when building RPMs (Andrew Haley) |
|
# %patch49 -p0 |
|
epatch ${FILESDIR}/${P}-ecj-rpmdebuginfo.patch |
|
|
|
# generic releng plugins that can be used to build plugins |
|
# see this thread for deails: |
|
# https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.html |
|
pushd plugins/org.eclipse.pde.build >/dev/null |
|
# %patch53 |
|
epatch ${FILESDIR}/${P}-pde.build-add-package-build.patch |
|
sed --in-place "s:@eclipse_base@:%{_datadir}/%{name}:" templates/package-build/build.properties |
|
popd >/dev/null |
|
|
|
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=191536 |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=142861 |
|
pushd plugins/org.eclipse.swt/Eclipse\ SWT >/dev/null |
|
# %patch54 |
|
epatch ${FILESDIR}/${P}-swt-rm-ON_TOP.patch |
|
popd >/dev/null |
|
|
|
# We need to disable junit4 and apt until GCJ can handle Java5 code |
|
# %patch55 -p0 |
|
epatch ${FILESDIR}/${P}-disable-junit4-apt.patch |
|
rm plugins/org.junit4/junit-4.1.jar |
|
|
|
## |
|
## FIXME: breaks!! |
|
## |
|
## I love directories with spaces in their names |
|
#pushd plugins/org.eclipse.swt >/dev/null |
|
#mv "Eclipse SWT Mozilla" Eclipse_SWT_Mozilla |
|
#mv "Eclipse SWT PI" Eclipse_SWT_PI |
|
## Build against firefox: |
|
## - fix swt profile include path |
|
## - don't compile the mozilla 1.7 / firefox profile library -- build it inline |
|
## - don't use symbols not in our firefox builds |
|
## FIXME: add reference(s) to discussion(s) and bug(s) |
|
## Note: I made this patch from within Eclipse and then did the following to |
|
## it due to spaces in the paths: |
|
## sed --in-place "s/Eclipse\ SWT\ Mozilla/Eclipse_SWT_Mozilla/g" eclipse-swt-firefox.patch |
|
## sed --in-place "s/Eclipse\ SWT\ PI/Eclipse_SWT_PI/g" eclipse-swt-firefox.patch |
|
## %patch59 |
|
#epatch ${FILESDIR}/${P}-swt-firefox.patch |
|
#mv Eclipse_SWT_Mozilla "Eclipse SWT Mozilla" |
|
#mv Eclipse_SWT_PI "Eclipse SWT PI" |
|
#popd >/dev/null |
|
#pushd plugins/org.eclipse.swt.tools >/dev/null |
|
#mv "JNI Generation" JNI_Generation |
|
## %patch60 |
|
#epatch ${FILESDIR}/${P}-swt-firefox.2.patch |
|
#mv JNI_Generation "JNI Generation" |
|
#popd >/dev/null |
|
|
|
# FIXME check if this has been applied upstream |
|
pushd plugins/org.eclipse.platform.doc.isv >/dev/null |
|
# %patch100 -p0 |
|
epatch ${FILESDIR}/customBuildCallbacks.xml-add-pre.gather.bin.parts.patch |
|
popd >/dev/null |
|
pushd plugins/org.eclipse.platform.doc.user >/dev/null |
|
# %patch100 -p0 |
|
epatch ${FILESDIR}/customBuildCallbacks.xml-add-pre.gather.bin.parts.patch |
|
popd >/dev/null |
|
|
|
pushd plugins/org.eclipse.platform >/dev/null |
|
cp ${FILESDIR}/splash.bmp . |
|
popd >/dev/null |
|
|
|
# FIXME this should be patched upstream with a flag to turn on and off |
|
# all output should be directed to stdout |
|
find -type f -name \*.xml -exec sed --in-place -r "s/output=\".*(txt|log).*\"//g" "{}" \; |
|
} |
|
|
fix-swt-targets() { | fix-swt-targets() { |
|
# Build using O2 |
|
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=71637 |
|
pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library >/dev/null |
|
# %patch0 -p0 |
|
epatch ${FILESDIR}/${P}-gentoo-libswt-enableallandO2.patch |
|
popd >/dev/null |
|
|
# Select the set of native libraries to compile | # Select the set of native libraries to compile |
local targets="make_swt make_awt make_atk" | local targets="make_swt make_awt make_atk" |
| |
|
|
einfo "Using JVM library path ${JAVA_LIB_DIR}" | einfo "Using JVM library path ${JAVA_LIB_DIR}" |
| |
if [[ ! -f ${JAVA_LIB_DIR}/libawt.so ]] ; then | if [[ ! -f ${JAVA_LIB_DIR}/libawt.so ]] ; then |
die "Could not find libawt.so native library" |
die "Could not find libawt.so native library" |
fi | fi |
| |
export AWT_LIB_PATH=${JAVA_LIB_DIR} | export AWT_LIB_PATH=${JAVA_LIB_DIR} |