Blob Blame History Raw
Epoch:	1
ExclusiveArch: i386 x86_64 ia64 ppc ppc64

%define pkg_summary     An open, extensible IDE
%define section         free
%define swt_version     3123
%define eclipse_major   3
%define eclipse_minor   1
%define eclipse_majmin  %{eclipse_major}.%{eclipse_minor}
%define eclipse_micro   0
%define eclipse_oldmajminmic  3.0.0
%define libname         libswt3
%define build_id        I20050219-1500

%ifarch %{ix86}
%define eclipse_arch    x86
%endif
%ifarch x86_64
%define eclipse_arch	x86_64
%endif
%ifarch ia64
%define eclipse_arch	ia64
%endif
%ifarch ppc
%define eclipse_arch	ppc
%endif
%ifarch ppc64
%define eclipse_arch	ppc64
%endif
%ifarch ppc64pseries
%define eclipse_arch	ppc64
%endif

Summary:        %{pkg_summary}
Name:           eclipse
Version:        %{eclipse_majmin}.%{eclipse_micro}_fc
Release:        0.M5.8
License:        CPL
Group:          Text Editors/Integrated Development Environments (IDE)
URL:            http://www.eclipse.org/
Source0: 	http://download.eclipse.org/eclipse/downloads/drops/S-3.1M5a-200502191500/eclipse-sourceBuild-srcIncluded-3.1M5a.zip
Source1:        %{name}.script
Source2:        %{name}.desktop
Source3:        %{name}-16.gif
Source4:        %{name}-32.gif
Source5:        %{name}-48.png
Source6:        %{name}.conf
Source7:        %{name}-jdt.install
Source8:        %{name}-pde.install     
Source9:        %{name}-platform.install
Source11:	%{name}-redhat-splash.png
Source12:       %{name}-jdt.jarswithnativelibs
Source13:       %{name}-pde.jarswithnativelibs
Source14:       %{name}-platform.jarswithnativelibs
Source15:       %{libname}-gtk2.jarswithnativelibs
Source16:       %{name}-copy-platform.sh

# Don't build AWT
Patch0:         %{name}-make-linux.patch
# Work around libgcj #19132
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19132
Patch1:		%{name}-textsearch.patch
# Build JNI libs
# FIXME:  these should be built by upstream build method
Patch2:		%{name}-build.patch
Patch4:		%{name}-libupdatebuild.patch
Patch5:		%{name}-libupdatebuild2.patch
# This will hopefully be pushed upstream
Patch6:		%{name}-bootstrapbuild.patch
# This is so that we can build ecj native during the build
Patch7:		%{name}-nobootstrapbuild.patch
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=85915
Patch8:		%{name}-antsecuritymanager.patch
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=86571
Patch9:		%{name}-pdebuildtarargs.patch
Patch10:	%{name}-icon.patch

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires:  ant
BuildRequires:  perl
BuildRequires:  jpackage-utils >= 0:1.5, make, gcc
BuildRequires:  gnome-vfs2-devel
BuildRequires:  gtk2-devel
BuildRequires:  glib2-devel
BuildRequires:	gcc-java >= 4.0.0-0.30
BuildRequires:	java-1.4.2-gcj-compat-devel >= 1.4.2.0-40jpp_1rh

BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
#BuildRequires: ant-apache-bsf ant-commons-net ant-jsch lucene 
BuildRequires: ant-jdepend ant-jmf ant-junit ant-nodeps ant-swing ant-trax
#BuildRequires: jsch
BuildRequires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-logging
#BuildRequires: jakarta-commons-modeler mx4j servlet lucene-demo jasper4 tomcat4
BuildRequires: regexp junit

%description
The Eclipse Platform is designed for building integrated development
environments (IDEs) that can be used to create applications as diverse
as web sites, embedded Java(tm) programs, C++ programs, and Enterprise
JavaBeans(tm).

%package        ecj
Summary:        Eclipse Compiler for Java
Group:          Development/Languages
Obsoletes:	ecj
Provides:	ecj
Requires:	gcc-java >= 4.0.0-0.30

%description    ecj
Eclipse compiler for Java.

%package        platform
Summary:        Eclipse platform common files
Group:          Text Editors/Integrated Development Environments (IDE)
Provides:       %{name} = %{version}-%{release}
Obsoletes:	%{name}-sdk %{name}-ui %{name}-gtk2 eclipse
Provides:	%{name}-sdk = %{epoch}:%{version}-%{release}
Provides:       %{name}-ui = %{epoch}:%{version}-%{release}
Provides:       %{name}-gtk2 = %{epoch}:%{version}-%{release}
Requires:	java >= 1.4.2
Requires:       /usr/bin/perl
Requires:	gcc-java >= 4.0.0-0.30
Requires:       %{libname}-gtk2 = %{epoch}:%{version}-%{release}
Requires:       /usr/bin/mozilla

Requires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging
#Requires: ant-apache-bsf ant-commons-net ant-jsch lucene 
Requires: ant-jdepend ant-jmf ant-junit ant-nodeps ant-swing ant-trax
#Requires: jsch
Requires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-logging
#Requires: jakarta-commons-modeler mx4j servlet lucene-demo jasper4 tomcat4
Requires: regexp junit

%description    platform
Eclipse platform common files.  This package now contains the GTK2 UI (the
former eclipse-gtk2 package).

%package        platform-devel
Summary:        Eclipse platform Source
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}

%description    platform-devel
Source for Eclipse platform for use within Eclipse.

%package        jdt
Summary:        Eclipse Java development tools
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name}-platform = %{epoch}:%{version}-%{release}
Requires:       %{name}-ecj = %{epoch}:%{version}-%{release}
Requires:	gcc-java >= 4.0.0-0.30

%description    jdt
Eclipse Java developments tools.

%package        jdt-devel
Summary:        Eclipse JDT Source
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name}-jdt = %{epoch}:%{version}-%{release}

%description    jdt-devel
Source for JDT for use within Eclipse.

%package        pde
Summary:        Eclipse PDE
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name}-jdt = %{epoch}:%{version}-%{release}
Requires:       %{name}-platform-devel = %{epoch}:%{version}-%{release}
Requires:	gcc-java >= 4.0.0-0.30

%package        pde-devel
Summary:        Eclipse PDE Source
Group:          Text Editors/Integrated Development Environments (IDE)
Requires:       %{name}-pde = %{epoch}:%{version}-%{release}
Requires:       %{name}-jdt-devel = %{epoch}:%{version}-%{release}
Obsoletes:	%{name}-source
Provides:       %{name}-source = %{epoch}:%{version}-%{release}

%description    pde-devel
Source for PDE for use within Eclipse.

%description    pde
Eclipse PDE.

%package     -n %{libname}-gtk2
Summary:        SWT Library for GTK2
Group:          Text Editors/Integrated Development Environments (IDE)

%description -n %{libname}-gtk2
SWT Library for GTK2.

%prep
%setup -q -c

# I hate spaces in paths with patch!
pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library
%patch0 -p0
popd
%patch1 -p0
%patch2 -p0
%patch4 -p0
%patch5 -p0
%patch6 -p0
%patch7 -p0
%patch8 -p0
%patch9 -p0
%patch10 -p0

# Red Hat splash screen.
pushd plugins/org.eclipse.platform
cp %{SOURCE11} splash.bmp
popd

# Remove existing .sos
find -name \*.so -exec rm "-f" "{}" ";"

## Remove these as well
#rm jdtcore.jar jdtCompilerAdapter.jar

# Symlinks

## BEGIN ANT ##
ln -sf %{_javadir}/ant/ant-antlr.jar plugins/org.apache.ant/lib/ant-antlr.jar
ln -sf %{_javadir}/ant/ant-apache-bcel.jar plugins/org.apache.ant/lib/ant-apache-bcel.jar
#ln -sf %{_javadir}/ant/ant-apache-bsf.jar plugins/org.apache.ant/lib/ant-apache-bsf.jar
ln -sf %{_javadir}/ant/ant-apache-log4j.jar plugins/org.apache.ant/lib/ant-apache-log4j.jar
ln -sf %{_javadir}/ant/ant-apache-oro.jar plugins/org.apache.ant/lib/ant-apache-oro.jar
ln -sf %{_javadir}/ant/ant-apache-regexp.jar plugins/org.apache.ant/lib/ant-apache-regexp.jar
ln -sf %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant/lib/ant-apache-resolver.jar
ln -sf %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant/lib/ant-commons-logging.jar
#ln -sf %{_javadir}/ant/ant-commons-net.jar plugins/org.apache.ant/lib/ant-commons-net.jar
# ------------------------------------------------------------------------
# FIXME:  can we just remove these?
#rm -f plugins/org.apache.ant/lib/ant-icontract.jar
##ln -sf %{_javadir}/ant/ant-icontract.jar plugins/org.apache.ant/lib/ant-icontract.jar
#rm -f plugins/org.apache.ant/lib/ant-jai.jar
##ln -sf %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant/lib/ant-jai.jar
#ln -sf %{_javadir}/ant.jar plugins/org.apache.ant/lib/ant.jar
#rm -f plugins/org.apache.ant/lib/ant-javamail.jar
##ln -sf %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant/lib/ant-javamail.jar
# ------------------------------------------------------------------------
ln -sf %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant/lib/ant-jdepend.jar
ln -sf %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant/lib/ant-jmf.jar
#ln -sf %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant/lib/ant-jsch.jar
ln -sf %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant/lib/ant-junit.jar
ln -sf %{_javadir}/ant-launcher.jar plugins/org.apache.ant/lib/ant-launcher.jar
# ------------------------------------------------------------------------
ln -sf %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant/lib/ant-nodeps.jar
# ------------------------------------------------------------------------
## FIXME:  can we just remove these?
#rm -f plugins/org.apache.ant/lib/ant-starteam.jar
##ln -sf %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant/lib/ant-starteam.jar
#rm -f plugins/org.apache.ant/lib/ant-stylebook.jar
##ln -sf %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant/lib/ant-stylebook.jar
# ------------------------------------------------------------------------
ln -sf %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant/lib/ant-swing.jar
ln -sf %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant/lib/ant-trax.jar
# ------------------------------------------------------------------------
# FIXME:  can we just remove these?
#rm -f plugins/org.apache.ant/lib/ant-vaj.jar
##ln -sf %{_javadir}/ant/ant-vaj.jar plugins/org.apache.ant/lib/ant-vaj.jar
#rm -f plugins/org.apache.ant/lib/ant-weblogic.jar
##ln -sf %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant/lib/ant-weblogic.jar
#rm -f plugins/org.apache.ant/lib/ant-xalan1.jar
##ln -sf %{_javadir}/ant/ant-xalan1.jar plugins/org.apache.ant/lib/ant-xalan1.jar
#rm -f plugins/org.apache.ant/lib/ant-xslp.jar
##ln -sf %{_javadir}/ant/ant-xslp.jar plugins/org.apache.ant/lib/ant-xslp.jar
# ------------------------------------------------------------------------
## END ANT ##
#ln -sf %{_javadir}/lucene.jar plugins/org.apache.lucene/lucene-1.4.3.jar
#ln -sf %{_datadir}/lucene/lucene-demos-1.4.3.jar plugins/org.apache.lucene/parser.jar
# plugins/org.eclipse.core.boot/boot.jar
ln -sf %{_javadir}/ant.jar plugins/org.eclipse.core.resources/lib/ant.jar
# plugins/org.eclipse.core.resources/lib/antsupport.jar
# plugins/org.eclipse.osgi/osgi/collx.jar
# plugins/org.eclipse.osgi/osgi/ee.foundation.jar
# plugins/org.eclipse.osgi/osgi/ee.minimum.jar
# plugins/org.eclipse.osgi/osgi/exceptions.jar
# plugins/org.eclipse.osgi/osgi/osgi-r3-jdk131-notsigned.jar
#ln -sf %{_javadir}/xml-commons-apis.jar plugins/org.eclipse.osgi/osgi/xmlParserAPIs.jar
# plugins/org.eclipse.osgi.services/services.jar
# plugins/org.eclipse.osgi.util/util.jar
# plugins/org.eclipse.platform.doc.isv/activeHelpSample.jar
#ln -sf %{_javadir}/jsch.jar plugins/org.eclipse.team.cvs.ssh2/jsch-0.1.16.jar
# plugins/org.eclipse.text/text.jar
# ------------------------------------------------------------------------
# FIXME:  need tomcat4 rpm
## BEGIN TOMCAT4 ##
#ln -sf %{tomcat4dir}/bin/bootstrap.jar plugins/org.eclipse.tomcat/bootstrap.jar
#ln -sf %{tomcat4dir}/server/lib/catalina.jar plugins/org.eclipse.tomcat/catalina.jar
#ln -sf %{_javadir}/commons-beanutils.jar plugins/org.eclipse.tomcat/commons-beanutils.jar
#ln -sf %{_javadir}/commons-collections.jar plugins/org.eclipse.tomcat/commons-collections.jar
#ln -sf %{_javadir}/commons-digester.jar plugins/org.eclipse.tomcat/commons-digester.jar
#ln -sf %{_javadir}/commons-logging-api.jar plugins/org.eclipse.tomcat/commons-logging-api.jar
#ln -sf %{_javadir}/commons-logging.jar plugins/org.eclipse.tomcat/commons-logging.jar
#ln -sf %{_javadir}/commons-modeler.jar plugins/org.eclipse.tomcat/commons-modeler.jar
#ln -sf %{_javadir}/regexp.jar plugins/org.eclipse.tomcat/jakarta-regexp-1.3.jar
#ln -sf %{_javadir}/jasper4-compiler.jar  plugins/org.eclipse.tomcat/jasper-compiler.jar
#ln -sf %{_javadir}/jasper4-runtime.jar plugins/org.eclipse.tomcat/jasper-runtime.jar
#ln -sf %{_javadir}/mx4j/mx4j-jmx.jar plugins/org.eclipse.tomcat/mx4j-jmx.jar
#ln -sf %{tomcat4dir}/common/lib/naming-common.jar plugins/org.eclipse.tomcat/naming-common.jar
#ln -sf %{tomcat4dir}/common/lib/naming-factory.jar plugins/org.eclipse.tomcat/naming-factory.jar
#ln -sf %{tomcat4dir}/common/lib/naming-resources.jar plugins/org.eclipse.tomcat/naming-resources.jar
#ln -sf %{_javadir}/servlet.jar plugins/org.eclipse.tomcat/servlet.jar
#ln -sf %{tomcat4dir}/server/lib/servlets-common.jar plugins/org.eclipse.tomcat/servlets-common.jar
#ln -sf %{tomcat4dir}/server/lib/servlets-default.jar plugins/org.eclipse.tomcat/servlets-default.jar
#ln -sf %{tomcat4dir}/server/lib/servlets-invoker.jar plugins/org.eclipse.tomcat/servlets-invoker.jar
#ln -sf %{tomcat4dir}/server/lib/servlets-manager.jar plugins/org.eclipse.tomcat/servlets-manager.jar
#ln -sf %{tomcat4dir}/server/lib/tomcat-coyote.jar plugins/org.eclipse.tomcat/tomcat-coyote.jar
#ln -sf %{tomcat4dir}/server/lib/tomcat-http11.jar plugins/org.eclipse.tomcat/tomcat-http11.jar
#ln -sf %{tomcat4dir}/server/lib/tomcat-util.jar plugins/org.eclipse.tomcat/tomcat-util.jar
## END TOMCAT4 ##
# ------------------------------------------------------------------------
ln -sf %{_javadir}/junit.jar plugins/org.junit/junit.jar

%build

export CLASSPATH=jdtcore.jar:jdtCompilerAdapter.jar:$CLASSPATH
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
  -o jdtcore.jar.so jdtcore.jar
ln -s jdtcore.jar.so lib-org-eclipse-jdt-core.so
ln -s jdtcore.jar.so lib-org-eclipse-jdt-internal-compiler.so
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH

# Build jdtcore.jar and jdtCompilerAdapter.jar
ant \
  -DinstallOs=linux -DinstallWs=gtk -DinstallArch=%{eclipse_arch} \
  bootstrap

# Build a native ecj
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
  -o jdtcore.jar.so jdtcore.jar
gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
  -o jdtCompilerAdapter.jar.so jdtCompilerAdapter.jar
gcj -O2 --main=org.eclipse.jdt.internal.compiler.batch.Main \
  jdtcore.jar.so jdtCompilerAdapter.jar.so -o ecj
ln -s jdtcore.jar.so lib-org-eclipse-jdt.so

# Use this ecj and our built jars
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
export CLASSPATH=jdtcore.jar:jdtCompilerAdapter.jar:$CLASSPATH

ant \
  -Dnobootstrap=true \
  -DinstallOs=linux -DinstallWs=gtk -DinstallArch=%{eclipse_arch} \
  -Dlibsconfig=true

pushd result
# De-compress resulting tarball ... yeah, it's a .zip but actually a .tar.gz
# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=79711
tar zxf org.eclipse.sdk-%{build_id}-linux.gtk.%{eclipse_arch}.zip

pushd eclipse

# Native build
mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}
for j in `find -name \*.jar`; do
    d=".%{_libdir}/%{name}/`dirname $j | sed 's:\./::'`";
    mkdir -p $d;
    s=`echo $j | sed "s:\./::"`;
    gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
      -o $d/`basename $j`.so $j;
done

## Remove ecj binary and re-build it
#rm ../../ecj
#pushd .%{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0
#  gcj -O2 --main=org.eclipse.jdt.internal.compiler.batch.Main \
#    -Wl,-R,%{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0 \
#    jdtcore.jar.so jdtCompilerAdapter.jar.so -o ecj
#popd
#mv .%{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0/ecj ../..

# FIXME:  temporarily remove resources.jar
rm \
  .%{_libdir}/%{name}/plugins/org.eclipse.core.resources_%{eclipse_majmin}.%{eclipse_micro}/resources.jar.so

# Tar up the native libs
tar czvf ../%{name}-nativelycompiledjars.tar.gz .%{_libdir}/%{name}

popd

# Remove expanded eclipse build
rm -rf eclipse
ls
popd

%install
rm -rf $RPM_BUILD_ROOT

install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}

# https://bugs.eclipse.org/bugs/show_bug.cgi?id=79711
tar -C $RPM_BUILD_ROOT%{_datadir} -zxf \
  result/org.eclipse.sdk-%{build_id}-linux.gtk.%{eclipse_arch}.zip

# Binaries, libraries, and natively-built shared libraries
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}

# Natively-compiled jars (shared libraries)
tar -C $RPM_BUILD_ROOT -zxf result/%{name}-nativelycompiledjars.tar.gz

# Link lib-org-eclipse-jdt.so to jdtcore.jar.so for native "javac"
ln -s \
  %{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0/jdtcore.jar.so \
  $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0/lib-org-eclipse-jdt.so

install -d -m 755 $RPM_BUILD_ROOT%{_bindir}

# Directory to hold all the .jar->.so mapping dbs
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/mappings

## Rebuild ecj binary
## FIXME:  is this the best place for this?
#gcj -O2 --main=org.eclipse.jdt.internal.compiler.batch.Main \
#  $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0/jdtCompilerAdapter.jar.so \
#  $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0/jdtcore.jar.so \
#  -o $RPM_BUILD_ROOT%{_bindir}/ecj

# Eclipse binary
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/eclipse \
  $RPM_BUILD_ROOT%{_libdir}/%{name}/eclipse

pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
ln -sf %{_libdir}/%{name}/eclipse eclipse

# JNI libraries
cp -p plugins/org.eclipse.update.core.linux_%{eclipse_oldmajminmic}/os/linux/%{eclipse_arch}/libupdate.so \
  $RPM_BUILD_ROOT%{_libdir}/%{name}/
cp -p plugins/org.eclipse.core.resources.linux_%{eclipse_oldmajminmic}/os/linux/%{eclipse_arch}/libcore_*.so \
  $RPM_BUILD_ROOT%{_libdir}/%{name}/
suff=
%ifarch alpha ia64 ppc64 sparc64 x86_64
suff=64
%endif
cp -p plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/os/linux/%{eclipse_arch}/libswt*.so \
  $RPM_BUILD_ROOT%{_libdir}/%{name}/
popd

pushd $RPM_BUILD_ROOT%{_libdir}/%{name}
chmod -R 755 eclipse *.so
popd

### begin libswt-gtk2 symlinks
pushd $RPM_BUILD_ROOT%{_libdir}
#for base in mozilla-gtk atk-gtk gnome-gtk gtk pi-gtk; do
for base in atk-gtk gnome-gtk gtk pi-gtk; do
  ln -sf %{_libdir}/%{name}/libswt-${base}-%{swt_version}.so \
         libswt-${base}-%{swt_version}.so
done
popd

install -d -m 755 $RPM_BUILD_ROOT%{_javadir}

pushd $RPM_BUILD_ROOT%{_javadir}
ln -sf %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/ws/gtk/swt.jar swt-gtk-%{version}.jar
ln -sf %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/ws/gtk/swt-pi.jar swt-pi-gtk-%{version}.jar
ln -sf %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/ws/gtk/swt-mozilla.jar swt-mozilla-%{version}.jar
popd
### end libswt-gtk2 symlinks

# Launching script
mkdir -p $RPM_BUILD_ROOT%{_bindir}
perl -pe \
  's|/usr/lib/eclipse/|%{_libdir}/%{name}/|g ;
   s|/etc/|%{_sysconfdir}/|g ;
   s|/usr/bin/|%{_bindir}/|g' \
  %{SOURCE1} > $RPM_BUILD_ROOT%{_bindir}/eclipse

## DB merging script
#perl -pe \
#  's|/usr/lib/eclipse/|%{_libdir}/%{name}/|g' \
#  %{SOURCE17} > $RPM_BUILD_ROOT%{_libdir}/eclipse/eclipse-mergedbs.sh

# Default config
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
perl -pe 's|/usr/lib/eclipse/|%{_datadir}/%{name}/|g' \
  %{SOURCE6} > $RPM_BUILD_ROOT%{_sysconfdir}/eclipse.conf

# rh/freedesktop.org icons
install -p -D -m0644 %{SOURCE5} \
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
install -p -D -m0644 %{SOURCE4} \
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
install -p -D -m0644 %{SOURCE3} \
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
install -d -m0755 $RPM_BUILD_ROOT%{_datadir}/pixmaps
ln -s ../icons/hicolor/48x48/apps/%{name}.png \
  $RPM_BUILD_ROOT%{_datadir}/pixmaps

# A sanity check.
desktop-file-validate %{SOURCE2}

# freedesktop.org menu entry
install -p -D -m0644 %{SOURCE2} \
  $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop

cat %{SOURCE7} > %{name}-jdt.install
cat %{SOURCE8} > %{name}-pde.install
cat %{SOURCE9} > %{name}-platform.install

cat >> $RPM_BUILD_ROOT%{_datadir}/%{name}/.eclipseproduct << EOF
name=Eclipse Platform
id=org.eclipse.platform
version=%{eclipse_majmin}.%{eclipse_micro}
EOF

# Create a script that can be used to make a symlink tree of the
# eclipse platform.
cp %{SOURCE16} copy-platform
(
  cd $RPM_BUILD_ROOT%{_datadir}/%{name}
  ls -d * | egrep -v '^(plugins|features)$'
  ls -d plugins/* features/*
) |
sed -e's/^\(.*\)$/\1 \1/' -e's,^,ln -s $eclipse/,' >> copy-platform

mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/buildscripts
cp copy-platform $RPM_BUILD_ROOT%{_datadir}/%{name}/buildscripts

pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
## BEGIN ANT ##
ln -sf %{_javadir}/ant/ant-antlr.jar plugins/org.apache.ant_*/lib/ant-antlr.jar
ln -sf %{_javadir}/ant/ant-apache-bcel.jar plugins/org.apache.ant_*/lib/ant-apache-bcel.jar
#ln -sf %{_javadir}/ant/ant-apache-bsf.jar plugins/org.apache.ant_*/lib/ant-apache-bsf.jar
ln -sf %{_javadir}/ant/ant-apache-log4j.jar plugins/org.apache.ant_*/lib/ant-apache-log4j.jar
ln -sf %{_javadir}/ant/ant-apache-oro.jar plugins/org.apache.ant_*/lib/ant-apache-oro.jar
ln -sf %{_javadir}/ant/ant-apache-regexp.jar plugins/org.apache.ant_*/lib/ant-apache-regexp.jar
ln -sf %{_javadir}/ant/ant-apache-resolver.jar plugins/org.apache.ant_*/lib/ant-apache-resolver.jar
ln -sf %{_javadir}/ant/ant-commons-logging.jar plugins/org.apache.ant_*/lib/ant-commons-logging.jar
#ln -sf %{_javadir}/ant/ant-commons-net.jar plugins/org.apache.ant_*/lib/ant-commons-net.jar
#ln -sf %{_javadir}/ant/ant-icontract.jar plugins/org.apache.ant_*/lib/ant-icontract.jar
#ln -sf %{_javadir}/ant/ant-jai.jar plugins/org.apache.ant_*/lib/ant-jai.jar
ln -sf %{_javadir}/ant.jar plugins/org.apache.ant_*/lib/ant.jar
#ln -sf %{_javadir}/ant/ant-javamail.jar plugins/org.apache.ant_*/lib/ant-javamail.jar
ln -sf %{_javadir}/ant/ant-jdepend.jar plugins/org.apache.ant_*/lib/ant-jdepend.jar
ln -sf %{_javadir}/ant/ant-jmf.jar plugins/org.apache.ant_*/lib/ant-jmf.jar
#ln -sf %{_javadir}/ant/ant-jsch.jar plugins/org.apache.ant_*/lib/ant-jsch.jar
ln -sf %{_javadir}/ant/ant-junit.jar plugins/org.apache.ant_*/lib/ant-junit.jar
ln -sf %{_javadir}/ant-launcher.jar plugins/org.apache.ant_*/lib/ant-launcher.jar
ln -sf %{_javadir}/ant/ant-nodeps.jar plugins/org.apache.ant_*/lib/ant-nodeps.jar
#ln -sf %{_javadir}/ant/ant-starteam.jar plugins/org.apache.ant_*/lib/ant-starteam.jar
#ln -sf %{_javadir}/ant/ant-stylebook.jar plugins/org.apache.ant_*/lib/ant-stylebook.jar
ln -sf %{_javadir}/ant/ant-swing.jar plugins/org.apache.ant_*/lib/ant-swing.jar
ln -sf %{_javadir}/ant/ant-trax.jar plugins/org.apache.ant_*/lib/ant-trax.jar
#ln -sf %{_javadir}/ant/ant-vaj.jar plugins/org.apache.ant_*/lib/ant-vaj.jar
#ln -sf %{_javadir}/ant/ant-weblogic.jar plugins/org.apache.ant_*/lib/ant-weblogic.jar
#ln -sf %{_javadir}/ant/ant-xalan1.jar plugins/org.apache.ant_*/lib/ant-xalan1.jar
#ln -sf %{_javadir}/ant/ant-xslp.jar plugins/org.apache.ant_*/lib/ant-xslp.jar
## END ANT ##
#ln -sf %{_javadir}/lucene.jar plugins/org.apache.lucene_*/lucene-1.4.3.jar
#ln -sf %{_datadir}/lucene/lucene-demos-1.4.3.jar plugins/org.apache.lucene_*/parser.jar
# plugins/org.eclipse.core.boot_*/boot.jar
###ln -sf %{_javadir}/ant.jar plugins/org.eclipse.core.resources_*/lib/ant.jar
# plugins/org.eclipse.core.resources_*/lib/antsupport.jar
# plugins/org.eclipse.osgi_*/osgi/collx.jar
# plugins/org.eclipse.osgi_*/osgi/ee.foundation.jar
# plugins/org.eclipse.osgi_*/osgi/ee.minimum.jar
# plugins/org.eclipse.osgi_*/osgi/exceptions.jar
# plugins/org.eclipse.osgi_*/osgi/osgi-r3-jdk131-notsigned.jar
###ln -sf %{_javadir}/xml-commons-apis.jar plugins/org.eclipse.osgi_*/osgi/xmlParserAPIs.jar
# plugins/org.eclipse.osgi.services_*/services.jar
# plugins/org.eclipse.osgi.util_*/util.jar
# plugins/org.eclipse.platform.doc.isv_*/activeHelpSample.jar
#ln -sf %{_javadir}/jsch.jar plugins/org.eclipse.team.cvs.ssh2_*/jsch-0.1.16.jar
# plugins/org.eclipse.text/text_*.jar
## BEGIN TOMCAT4 ##
##ln -sf %{tomcat4dir}/bin/bootstrap.jar plugins/org.eclipse.tomcat_*/bootstrap.jar
#ln -sf %{tomcat4dir}/server/lib/catalina.jar plugins/org.eclipse.tomcat_*/catalina.jar
#ln -sf %{_javadir}/commons-beanutils.jar plugins/org.eclipse.tomcat_*/commons-beanutils.jar
#ln -sf %{_javadir}/commons-collections.jar plugins/org.eclipse.tomcat_*/commons-collections.jar
#ln -sf %{_javadir}/commons-digester.jar plugins/org.eclipse.tomcat_*/commons-digester.jar
#ln -sf %{_javadir}/commons-logging-api.jar plugins/org.eclipse.tomcat_*/commons-logging-api.jar
#ln -sf %{_javadir}/commons-logging.jar plugins/org.eclipse.tomcat_*/commons-logging.jar
#ln -sf %{_javadir}/commons-modeler.jar plugins/org.eclipse.tomcat_*/commons-modeler.jar
#ln -sf %{_javadir}/regexp.jar plugins/org.eclipse.tomcat_*/jakarta-regexp-1.3.jar
#ln -sf %{_javadir}/jasper4-compiler.jar  plugins/org.eclipse.tomcat_*/jasper-compiler.jar
#ln -sf %{_javadir}/jasper4-runtime.jar plugins/org.eclipse.tomcat_*/jasper-runtime.jar
#ln -sf %{_javadir}/mx4j/mx4j-jmx.jar plugins/org.eclipse.tomcat_*/mx4j-jmx.jar
#ln -sf %{tomcat4dir}/common/lib/naming-common.jar plugins/org.eclipse.tomcat_*/naming-common.jar
#ln -sf %{tomcat4dir}/common/lib/naming-factory.jar plugins/org.eclipse.tomcat_*/naming-factory.jar
#ln -sf %{tomcat4dir}/common/lib/naming-resources.jar plugins/org.eclipse.tomcat_*/naming-resources.jar
#ln -sf %{_javadir}/servlet.jar plugins/org.eclipse.tomcat_*/servlet.jar
#ln -sf %{tomcat4dir}/server/lib/servlets-common.jar plugins/org.eclipse.tomcat_*/servlets-common.jar
#ln -sf %{tomcat4dir}/server/lib/servlets-default.jar plugins/org.eclipse.tomcat_*/servlets-default.jar
#ln -sf %{tomcat4dir}/server/lib/servlets-invoker.jar plugins/org.eclipse.tomcat_*/servlets-invoker.jar
#ln -sf %{tomcat4dir}/server/lib/servlets-manager.jar plugins/org.eclipse.tomcat_*/servlets-manager.jar
#ln -sf %{tomcat4dir}/server/lib/tomcat-coyote.jar plugins/org.eclipse.tomcat_*/tomcat-coyote.jar
#ln -sf %{tomcat4dir}/server/lib/tomcat-http11.jar plugins/org.eclipse.tomcat_*/tomcat-http11.jar
#ln -sf %{tomcat4dir}/server/lib/tomcat-util.jar plugins/org.eclipse.tomcat_*/tomcat-util.jar
## END TOMCAT4 ##
ln -sf %{_javadir}/junit.jar plugins/org.junit_*/junit.jar

# Create the main gcj db
gcj-dbtool -n $RPM_BUILD_ROOT%{_libdir}/%{name}/eclipse.db 80000

# Create the gcj dbs for libswt, ecj, platform, jdt, and pde
gcj-dbtool -n $RPM_BUILD_ROOT%{_libdir}/%{name}/mappings/libswt3-gtk2.db 80000
gcj-dbtool -n $RPM_BUILD_ROOT%{_libdir}/%{name}/mappings/ecj.db 80000
gcj-dbtool -n $RPM_BUILD_ROOT%{_libdir}/%{name}/mappings/platform.db 80000
gcj-dbtool -n $RPM_BUILD_ROOT%{_libdir}/%{name}/mappings/jdt.db 80000
gcj-dbtool -n $RPM_BUILD_ROOT%{_libdir}/%{name}/mappings/pde.db 80000

# Copy these file lists for use at install time
install -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{_libdir}/%{name}
install -m 644 %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}
install -m 644 %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}
install -m 644 %{SOURCE15} $RPM_BUILD_ROOT%{_libdir}/%{name}

# Copy jdtcore.jar to %{_datadir}/java for eclipse-ecj
mkdir -p $RPM_BUILD_ROOT%{_datadir}/java
ln -s %{_datadir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}/jdtcore.jar \
  $RPM_BUILD_ROOT%{_datadir}/java/jdtcore.jar

%clean
rm -rf $RPM_BUILD_ROOT

%post ecj
gcj-dbtool -a %{_libdir}/%{name}/mappings/ecj.db \
  %{_datadir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}/jdtcore.jar \
  %{_libdir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}/jdtcore.jar.so
gcj-dbtool -a %{_libdir}/%{name}/mappings/ecj.db \
  %{_datadir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}/jdtCompilerAdapter.jar \
  %{_libdir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}/jdtCompilerAdapter.jar.so
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

%post jdt
for j in `cat %{_libdir}/%{name}/%{name}-jdt.jarswithnativelibs`; do
    gcj-dbtool -a %{_libdir}/%{name}/mappings/jdt.db \
      $j `echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
done
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

%post pde
for j in `cat %{_libdir}/%{name}/%{name}-pde.jarswithnativelibs`; do
    gcj-dbtool -a %{_libdir}/%{name}/mappings/pde.db \
      $j `echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
done
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

%post platform
for j in `cat %{_libdir}/%{name}/%{name}-platform.jarswithnativelibs`; do
    gcj-dbtool -a %{_libdir}/%{name}/mappings/platform.db \
      $j `echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
done
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

%post -n %{libname}-gtk2
for j in `cat %{_libdir}/%{name}/%{libname}-gtk2.jarswithnativelibs`; do
    gcj-dbtool -a %{_libdir}/%{name}/mappings/libswt3-gtk2.db \
      $j `echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
done
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

%postun ecj
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

%postun jdt
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

%postun pde
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

%postun platform
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

%postun -n %{libname}-gtk2
if [ -n "`find %{_libdir}/%{name}/mappings -name \*.db`" ]; then
    gcj-dbtool -m %{_libdir}/%{name}/eclipse.db `find %{_libdir}/%{name}/mappings -name \*.db`
fi

# FIXME:  add the native directories to these lists
%files ecj
%defattr(0644,root,root,0755)
%dir %{_datadir}/%{name}
#%{_bindir}/ecj
%{_datadir}/%{name}/plugins/org.eclipse.jdt.core_3.*
%{_datadir}/java/jdtcore*.jar
# Native bits
%{_libdir}/%{name}/eclipse.db
#%attr(0755,root,root) %{_libdir}/%{name}/eclipse-mergedbs.sh
%dir %{_libdir}/%{name}/mappings
%{_libdir}/%{name}/mappings/ecj.db
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0/lib-org-eclipse-jdt.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0/jdtcore.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.core_3.1.0/jdtCompilerAdapter.jar.so

%files -n %{libname}-gtk2
%defattr(0644,root,root,0755)
%{_datadir}/%{name}/plugins/org.eclipse.swt.gtk*_3.*
%{_datadir}/%{name}/plugins/org.eclipse.jface_3.*
%{_datadir}/%{name}/plugins/org.eclipse.jface.text_3.*
%attr(0755,root,root) %{_libdir}/%{name}/libswt-gnome-gtk-*.so
%attr(0755,root,root) %{_libdir}/%{name}/libswt-gtk-*.so
%attr(0755,root,root) %{_libdir}/%{name}/libswt-pi-gtk-*.so
%attr(0755,root,root) %{_libdir}/%{name}/libswt-atk-gtk-*.so
# FIXME:  should we be building this?
#%attr(0755,root,root) %{_libdir}/%{name}/libswt-mozilla-gtk-*.so
%{_libdir}/libswt-*.so
%{_javadir}/swt-gtk*.jar
%{_javadir}/swt-pi-gtk*.jar
# Native bits
%{_libdir}/%{name}/eclipse.db
#%attr(0755,root,root) %{_libdir}/%{name}/eclipse-mergedbs.sh
%dir %{_libdir}/%{name}/mappings
%{_libdir}/%{name}/mappings/libswt3-gtk2.db
%ifarch alpha ia64 ppc64 sparc64 x86_64
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk64_3.1.0/ws/gtk/swt-pi.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk64_3.1.0/ws/gtk/swt-mozilla.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk64_3.1.0/ws/gtk/swt-cairo.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk64_3.1.0/ws/gtk/swt.jar.so
%else
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt-pi.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt-mozilla.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt-cairo.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so
%endif
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jface_3.1.0/jface.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jface.text_3.1.0/jfacetext.jar.so
%attr(0644,root,root) %{_libdir}/%{name}/%{libname}-gtk2.jarswithnativelibs

%files jdt -f %{name}-jdt.install
%defattr(0644,root,root,0755)
# Native bits
%{_libdir}/%{name}/eclipse.db
#%attr(0755,root,root) %{_libdir}/%{name}/eclipse-mergedbs.sh
%dir %{_libdir}/%{name}/mappings
%{_libdir}/%{name}/mappings/jdt.db
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.debug.ui_3.1.0/jdiui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.debug.ui_3.1.0/snippetsupport.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.debug_3.1.0/jdimodel.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.debug_3.1.0/jdi.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.junit_3.1.0/junitsupport.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.junit.runtime_3.1.0/junitruntime.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.launching_3.1.0/launching.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.launching_3.1.0/lib/launchingsupport.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.ui_3.1.0/jdt.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.jdt.ui_3.1.0/serialsupport.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.junit_3.8.1/junit.jar.so
%attr(0644,root,root) %{_libdir}/%{name}/%{name}-jdt.jarswithnativelibs

%files jdt-devel
%{_datadir}/%{name}/plugins/org.eclipse.jdt.source_3.*
%{_datadir}/%{name}/features/org.eclipse.jdt.source_3.*

%files pde -f %{name}-pde.install
%defattr(0644,root,root,0755)
# Native bits
%{_libdir}/%{name}/eclipse.db
#%attr(0755,root,root) %{_libdir}/%{name}/eclipse-mergedbs.sh
%dir %{_libdir}/%{name}/mappings
%{_libdir}/%{name}/mappings/pde.db
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.pde.build_3.1.0/lib/pdebuild-ant.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.pde.build_3.1.0/pdebuild.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.pde.core_3.1.0/pdecore.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.pde.junit.runtime_3.1.0/pdejunit.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.pde.runtime_3.1.0/pdert.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.pde.ui_3.1.0/pdeuiant.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.pde.ui_3.1.0/pdeui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.pde_3.1.0/pde.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.pde_3.1.0/ant_tasks/pde-ant.jar.so
%attr(0644,root,root) %{_libdir}/%{name}/%{name}-pde.jarswithnativelibs

%files pde-devel
%{_datadir}/%{name}/plugins/org.eclipse.pde.source_3.*
%{_datadir}/%{name}/features/org.eclipse.pde.source_3.*

%files platform -f %{name}-platform.install
%defattr(0644,root,root,0755)
%dir %{_datadir}/%{name}
%dir %{_libdir}/%{name}
%{_datadir}/%{name}/.eclipseproduct
%{_datadir}/%{name}/startup.jar
%{_datadir}/%{name}/icon.xpm
%attr(0755,root,root) %{_datadir}/%{name}/buildscripts/copy-platform
%attr(0755,root,root) %{_libdir}/%{name}/eclipse
%attr(0755,root,root) %{_libdir}/%{name}/libcore*
%attr(0755,root,root) %{_libdir}/%{name}/libupdate*
%{_datadir}/%{name}/eclipse
%attr(0755,root,root) %{_bindir}/eclipse
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%{_datadir}/icons/*/*/apps/*
%config(noreplace) %{_sysconfdir}/eclipse.conf
# Native bits
%{_libdir}/%{name}/eclipse.db
#%attr(0755,root,root) %{_libdir}/%{name}/eclipse-mergedbs.sh
%dir %{_libdir}/%{name}/mappings
%{_libdir}/%{name}/mappings/platform.db
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ant.core_3.1.0/antsupport.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.compare_3.1.0/compare.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.boot_3.0.0/boot.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.expressions_3.1.0/expressions.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.filebuffers_3.1.0/filebuffers.jar.so
# FIXME:  re-add resources.jar to eclipse-platform.jarswithnativelibs
#%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.resources_3.1.0/resources.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.commands_3.1.0/commands.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.resources_3.1.0/ant_tasks/resources-ant.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.runtime_3.1.0/runtime.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.variables_3.1.0/variables.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.debug.core_3.1.0/dtcore.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.debug.ui_3.1.0/dtui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.help.base_3.0.0/helpbase.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.help.ui_3.0.0/helpui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.help.appserver_3.0.0/appserver.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.help_3.0.0/help.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ltk.core.refactoring_3.1.0/refcore.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ltk.ui.refactoring_3.1.0/refui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.osgi.services_3.0.0/services.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.osgi.util_3.0.0/util.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.platform.doc.isv_3.1.0/activeHelpSample.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.platform_3.1.0/platform.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.search_3.1.0/search.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.team.core_3.1.0/team.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.core_3.1.0/cvs.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ui_3.1.0/teamcvsui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh_3.1.0/teamcvsssh.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_3.1.0/jsch-0.1.16.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_3.1.0/jsch-0.1.18.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_3.1.0/jsch-0.1.17.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.team.ui_3.1.0/teamui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.text_3.1.0/text.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.cheatsheets_3.0.0/cheatsheets.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.osgi_3.1.0/console.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.externaltools_3.1.0/externaltools.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.forms_3.0.0/forms.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.ide_3.1.0/ide.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.intro_3.1.0/intro.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui_3.1.0/ui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.workbench_3.1.0/workbench.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.workbench.compatibility_3.1.0/compatibility.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.resources.compatibility_3.1.0/compatibility.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.runtime.compatibility_3.0.0/compatibility.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.workbench.texteditor_3.1.0/texteditor.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.editors_3.1.0/editors.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.presentations.r21_3.1.0/r21.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.views_3.1.0/views.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.update.configurator_3.0.0/configurator.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.update.core_3.0.0/updatecore.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.update.scheduler_3.0.0/scheduler.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.update.ui_3.0.0/updateui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/startup.jar.so
# FIXME where should these go?
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.lucene_1.4.3/parser.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.lucene_1.4.3/lucene-1.4.3.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ant.ui_3.1.0/antui.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ant.ui_3.1.0/lib/remoteAnt.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ant.ui_3.1.0/lib/antrunner.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ant.core_3.1.0/lib/antsupportlib.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/commons-digester.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/commons-logging.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/jakarta-regexp-1.3.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/tomcat-util.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/servlets-manager.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/naming-common.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/naming-factory.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/commons-beanutils.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/servlets-default.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/commons-modeler.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/tomcat-coyote.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/jasper-compiler.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/catalina.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/jasper-runtime.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/commons-logging-api.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/servlets-invoker.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/tomcatwrapper.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/mx4j-jmx.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/bootstrap.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/servlet.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/commons-collections.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/servlets-common.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/naming-resources.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.tomcat_4.1.30/tomcat-http11.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.osgi_3.1.0/core.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.osgi_3.1.0/eclipseAdaptor.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_3.1.0/cvsssh2.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-stylebook.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-javamail.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-apache-bcel.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-jmf.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-weblogic.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-apache-oro.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-netrexx.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-trax.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-jdepend.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-nodeps.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-commons-net.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-commons-logging.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-apache-log4j.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-junit.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-icontract.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-vaj.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-antlr.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-launcher.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-apache-bsf.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-xslp.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-apache-resolver.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-swing.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-xalan1.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-apache-regexp.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-jai.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-starteam.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.apache.ant_1.6.2/lib/ant-jsch.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.help.webapp_3.0.0/webapp.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.help.webapp_3.0.0/WEB-INF/lib/jsp.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.help.webapp_3.0.0/WEB-INF/lib/servlets.jar.so
%attr(0755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.ui.console_3.1.0/console.jar.so
# FIXME until libgcj contains gnujaxp (libgcj PR 19301)
%attr(0644,root,root) %{_libdir}/%{name}/%{name}-platform.jarswithnativelibs

%files platform-devel
%{_datadir}/%{name}/plugins/org.eclipse.platform.source_3.*
%{_datadir}/%{name}/features/org.eclipse.platform.source_3.*
%{_datadir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.*_3.1.0

%changelog
* Tue Mar 01 2005 Andrew Overholt <overholt@redhat.com> 3.1.0_fc-0.M5.8
- Add ia64, ppc, and ppc64.
- Add patch to copy over icon for unsupported (upstream) platforms but don't
  include the source for the launcher.
- gcc4 -> gcc changes.
- Add swt-cairo to 64-bit platforms' %files.

* Fri Feb 25 2005 Andrew Overholt <overholt@redhat.com> 3.1.0_fc-0.M5.7
- Add tar args patch (e.o #86571).
- New build bootstrapping patches.

* Fri Feb 25 2005 Andrew Overholt <overholt@redhat.com> 3.1.0_fc-0.M5.6
- Re-work how we do the gcj-dbtool magic.
- Don't remove ant-netrexx (need to find an RPM if we can).

* Sun Feb 20 2005 Andrew Overholt <overholt@redhat.com> 1:3.1_fc-0.M5.5
- Build for just i386 and x86_64 for now due to upstream gcc bugs.

* Sun Feb 20 2005 Andrew Overholt <overholt@redhat.com> 1:3.1_fc-0.M5.1
- New 3.1M5a build using upstream build method.
- Re-organize sub-packages (ecj, platform, platform-devel, jdt, jdt-devel, pde,
  pde-devel, fold gtk2 package into platform).
- Move jface and org.eclipse.text into libswt3-gtk2.
- Bring in JPackage symlinks for packages we have in Fedora (David Walluck) and
  put in %%prep.
- Work around x86_64 filename differences.
- Remove xerces, xalan, and xml-commons-apis requirement (and LD_PRELOAD from
  script).
- Bootstrap build.