Blob Blame History Raw
Epoch:	1
ExclusiveArch: %{ix86} x86_64 ppc

%define gcj_support 	1
%define pkg_summary     An open, extensible IDE
%define section         free
%define swt_version     3135
%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        I20050513-1415

# All arches line up except i386 -> x86
%ifarch %{ix86}
%define eclipse_arch    x86
%define eclipse_arch   %{_arch}

Summary:        %{pkg_summary}
Name:           eclipse
Version:        %{eclipse_majmin}.%{eclipse_micro}_fc
Release:        0.M7.7
License:        EPL
Group:          Text Editors/Integrated Development Environments (IDE)
Source1:        %{name}.script
Source2:        %{name}.desktop
Source5:        %{name}-48.png
Source6:        %{name}.conf
Source7:        %{name}-jdt.install
Source8:        %{name}-pde.install     
Source9:        %{name}-platform.install
Source10:       %{libname}-gtk2.install
# this should be replaced with:
# Source11:	%{name}-native-splash-3.1.png
# when Eclipse 3.1 comes out.
Source11:	%{name}-native-splash-3.1-M7.png
Source16:       %{name}
Source17:       %{name}
# this zip was taken from the M6 source drop

# Build libswt-mozilla
Patch0:         %{name}-make-linux.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
Patch10:	%{name}-icon.patch
# Use installed mozilla libs and headers
Patch11:	%{name}-libswt-mozilla.patch
# We can't really commit to doing builds for these arches upstream, but we
# need at least eclipse-ecj to run on them as it's our bytecode compiler for
# Fedora.
#Patch13:	%{name}-s390ands390x.patch
# Stupid spaces in directories ...
#Patch14:	%{name}-s390ands390x2.patch
Patch15:	%{name}-build-activeHelpSample.jar.patch
# Make find work.  See
#Patch16:	%{name}-find.patch
# Build swttools.jar
Patch18: 	%{name}-swttools.patch
# Add command-line source code formatter
Patch19: 	%{name}-efj.patch
# GNU-style JDT formatter
Patch20: 	%{name}-gnuformatterjdt.patch
Patch21: 	%{name}-gnuformatterjdtui.patch
Patch22: 	%{name}-updatehomedir.patch
Patch24: 	%{name}-fileinitializer.patch
Patch25: 	%{name}-build.xml-typo.patch
Patch26: 	%{name}-ecj-options.patch
# work around for
Patch27: 	%{name}-startup-url.openStream.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-c++
BuildRequires:  mozilla >= 37:1.7.8
BuildRequires:  mozilla-devel >= 37:1.7.8
BuildRequires:  mozilla-nspr-devel >= 37:1.7.8
BuildRequires:  xorg-x11-devel
%if %{gcj_support}
BuildRequires:	gcc-java >= 4.0.0-2
BuildRequires:	java-1.4.2-gcj-compat-devel >=
BuildRequires:  dos2unix
BuildRequires:	java-devel >= 1.4.2

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 lucene 
BuildRequires: ant-jdepend ant-jmf ant-junit ant-nodeps ant-swing ant-trax ant-jsch
BuildRequires: jsch >= 0:0.1.18-1jpp
BuildRequires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-logging jakarta-commons-modeler mx4j
#BuildRequires: servlet lucene-demo jasper4 tomcat4
BuildRequires: regexp 
BuildRequires: junit >= 3.8.1-3jpp
%if %{gcj_support}
Requires(post,postun): java-1.4.2-gcj-compat

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

%package        ecj
Summary:        Eclipse Compiler for Java
Group:          Development/Languages
Obsoletes:	ecj
Provides:	ecj
%if %{gcj_support}
Requires:	libgcj >= 4.0.0-2
Requires(post,postun): java-1.4.2-gcj-compat >=
Requires:	java >= 1.4.2

%description    ecj
Eclipse compiler for Java.

%package        platform
Summary:        Eclipse platform common files
Group:          Text Editors/Integrated Development Environments (IDE)
Provides:       %{name} = %{epoch}:%{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}
%if %{gcj_support}
Requires:	java-1.4.2-gcj-compat >=
Requires:	libgcj >= 4.0.0-2
Requires(post,postun): java-1.4.2-gcj-compat >=
Requires:	java >= 1.4.2
Requires:       %{libname}-gtk2 = %{epoch}:%{version}-%{release}
Requires:       /usr/bin/perl
Requires:       /usr/bin/mozilla

PreReq:         gtk2 >= 2.6

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 lucene 
Requires: ant-jdepend ant-jmf ant-junit ant-nodeps ant-swing ant-trax ant-jsch
Requires: jsch >= 0:0.1.18-1jpp
Requires: jakarta-commons-beanutils jakarta-commons-collections jakarta-commons-digester jakarta-commons-logging jakarta-commons-modeler mx4j
#Requires: servlet lucene-demo jasper4 tomcat4
Requires: regexp

%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:       junit >= 3.8.1-3jpp
%if %{gcj_support}
Requires:	libgcj >= 4.0.0-2
Requires(post,postun): java-1.4.2-gcj-compat >=

%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}
%if %{gcj_support}
Requires(post,postun): java-1.4.2-gcj-compat >=
Requires:	libgcj >= 4.0.0-2

%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)
%if %{gcj_support}
Requires(post,postun): java-1.4.2-gcj-compat >=
Requires:	libgcj >= 4.0.0-2

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

%setup -q -c

# I hate spaces in paths with patch!
pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library
%patch0 -p0
%patch11 -p0
%if %{gcj_support}
#%patch14 -p0
%patch2 -p0
%patch4 -p0
%patch5 -p0
%patch10 -p0
%if %{gcj_support}
#%patch13 -p1
pushd plugins/org.eclipse.platform.doc.isv
rm -f activeHelpSample.jar
%patch15 -p0
%if %{gcj_support}
#%patch16 -p0
pushd plugins/org.eclipse.swt.gtk.linux.x86_64
%patch18 -p0
pushd plugins/org.eclipse.jdt.core
%patch19 -p0
#%patch20 -p0
pushd plugins/org.eclipse.jdt.ui
#%patch21 -p0
pushd plugins/org.eclipse.update.ui
%patch22 -p0
pushd plugins/org.eclipse.core.runtime
%patch24 -p0
%patch25 -p2
pushd plugins/org.eclipse.jdt.core
%patch26 -p0
pushd plugins/org.eclipse.platform
%patch27 -p0

%if %{gcj_support}
  # Fedora splash screen.
  pushd plugins/org.eclipse.platform
  cp %{SOURCE11} splash.bmp

  # use M5 ecj rather than the one included
  cp %{SOURCE18} jdtcoresrc/src/

  # we need to add the ecj-options patch to the bootstrap compiler
  pushd jdtcoresrc/src
  dos2unix org/eclipse/jdt/internal/compiler/batch/
  dos2unix org/eclipse/jdt/internal/compiler/batch/
%patch26 -p1
  zip -9 -r *
  rm -r org

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

# Symlinks

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
# plugins/org.eclipse.osgi/osgi/collx.jar
# plugins/org.eclipse.osgi/osgi/
# 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/
# plugins/org.eclipse.osgi.util/util.jar
# =====>>>>>>>>>>>ln -sf %{_javadir}/jsch.jar plugins/
# plugins/org.eclipse.text/text.jar
# ------------------------------------------------------------------------
# FIXME:  need tomcat4 rpm
#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
# ------------------------------------------------------------------------
ln -sf %{_javadir}/junit.jar plugins/org.junit/junit.jar

rm -f *.jar

pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library
# /usr/lib -> /usr/lib64
sed --in-place "s:/usr/lib/:%{_libdir}/:g"
%if %{gcj_support}
  # link against gcj's jawt implementation.
  sed --in-place "s/-ljawt/-lgcjawt/" make_linux.mak


%if %{gcj_support}
  # Bootstrapping is 3 parts:
  # 1. Build ecj with gcj -C 
  # 2. Build ecj with gcj-built ecj ("javac")
  # 3. Re-build ecj with output of 2.
  # Unzip the "stable compiler" source into a temp dir and build it.
  # Note:  we don't want to build the CompilerAdapter.
  mkdir ecj-bootstrap-tmp
  unzip -qq -d ecj-bootstrap-tmp jdtcoresrc/src/
  rm -f ecj-bootstrap-tmp/org/eclipse/jdt/core/
  # 1a. Build ecj with gcj -C
  pushd ecj-bootstrap-tmp
  for f in `find -name '*.java' | cut -c 3-`; do
      gcj -Wno-deprecated -C $f
  find -name '*.class' -or -name '*.properties' -or -name '*.rsc' |\
      xargs jar cf ../ecj-bootstrap.jar
  # Delete our modified ecj and restore the backup
  rm -rf ecj-bootstrap-tmp
  ## 1b. Natively-compile it
  #gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
  #  -o ecj-bootstrap.jar
  #gcj-dbtool -n ecj-bootstrap.db 30000
  #gcj-dbtool -a ecj-bootstrap.db ecj-bootstrap.jar{,.so}
  ## 2a. Build ecj
  export CLASSPATH=ecj-bootstrap.jar:$ORIGCLASSPATH
  #export GCJ_PROPERTIES="gnu.gcj.precompiled.db.path=`pwd`/ecj-bootstrap.db"
ant -buildfile jdtcoresrc/compilejdtcorewithjavac.xml

%if %{gcj_support}
#  # 2b. Natively-compile ecj
#  gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
#    -o jdtcoresrc/ jdtcoresrc/jdtcore.jar
#  gcj-dbtool -n jdtcoresrc/jdtcore.db 30000
#  gcj-dbtool -a jdtcoresrc/jdtcore.db jdtcoresrc/jdtcore.jar{,.so}
#  export GCJ_PROPERTIES="gnu.gcj.precompiled.db.path=`pwd`/jdtcoresrc/jdtcore.db"
  # Remove our gcj-built ecj
  #rm ecj-bootstrap.db ecj-bootstrap.jar
  rm ecj-bootstrap.jar

# 3. Use this ecj to rebuild itself
export CLASSPATH=`pwd`/jdtcoresrc/ecj.jar:$ORIGCLASSPATH
ant -buildfile jdtcoresrc/compilejdtcore.xml

%if %{gcj_support}
#  # Natively-compile it
#  gcj -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic \
#    -o jdtcore.jar
#  gcj-dbtool -n jdtcore.db 30000
#  gcj-dbtool -a jdtcore.db jdtcore.jar{,.so}
#  export GCJ_PROPERTIES="gnu.gcj.precompiled.db.path=`pwd`/jdtcore.db"
#  # Remove old native bits
#  rm jdtcoresrc/jdtcore.db jdtcoresrc/

# Build the rest of Eclipse
export CLASSPATH=`pwd`/ecj.jar:$ORIGCLASSPATH
ant \
  -Dnobootstrap=true \
  -DinstallOs=linux -DinstallWs=gtk -DinstallArch=%{eclipse_arch} \

%if %{gcj_support}
  pushd result
  # De-compress resulting tarball
  tar zxf org.eclipse.sdk-%{build_id}-linux.gtk.%{eclipse_arch}.tar.gz
  pushd eclipse
  # Remove the jars that we're using from other packages so that we don't
  # natively-compile them again
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-antlr.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-apache-bcel.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-apache-log4j.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-apache-oro.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-apache-regexp.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-apache-resolver.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-commons-logging.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-jdepend.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-jmf.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-jsch.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-junit.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-launcher.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-nodeps.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-swing.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant-trax.jar
  rm -f plugins/org.apache.ant_1.6.2/lib/ant.jar
  rm -f plugins/
  rm -f plugins/org.junit_3.8.1/junit.jar

  # extract jdtCompilerAdapter.jar from org.eclipse.jdt.core_3.1.0.jar
  unzip -d plugins plugins/org.eclipse.jdt.core_3.1.0.jar jdtCompilerAdapter.jar

  # Native build -- do -O2 on x86 and ppc only (for now)
  # see, for example

  %ifarch ppc
    mv plugins/org.eclipse.jdt.ui_3.1.0.jar{,.bak}

  %ifarch %{ix86} ppc
    mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}
    for j in `find -name \*.jar`; do
        d=".%{_libdir}/%{name}/`dirname $j | sed 's:\./::'`";
        mkdir -p $d;
        gcj -g -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic -O2 \
          -o $d/`basename $j`.so $j;
    mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}
    for j in `find -name \*.jar`; do
        d=".%{_libdir}/%{name}/`dirname $j | sed 's:\./::'`";
        mkdir -p $d;
        gcj -g -fPIC -fjni -findirect-dispatch -shared -Wl,-Bsymbolic -O1 \
          -o $d/`basename $j`.so $j;

  %ifarch ppc
    mv plugins/org.eclipse.jdt.ui_3.1.0.jar{.bak,}
  # FIXME:  temporarily disable
  # see:
  mv \
  # FIXME:  temporarily disable 
  # see:
  mv \
  # FIXME:  temporarily disable
  # see:
  mv \
  pushd .%{_libdir}/%{name}/plugins
    gcj -g -O2 --main=org.eclipse.jdt.internal.compiler.batch.Main \
      -Wl,-R,%{_libdir}/%{name}/plugins \ -o ecj
  # Tar up the native libs
  tar czf ../%{name}-nativelycompiledjars.tar.gz .%{_libdir}/%{name}
  # Remove expanded eclipse build
  rm -rf eclipse

# Hack to get the -debuginfo source code references
# to be pointing to the right place:
# Hardlink all the org.* source we can find
# Presumably, all the zipped source gets unzipped before compilation?
#pushd result
#mkdir -p eclipse/org
#cat >copyallsrc <<-EOF
#	#! /bin/bash -peu
#	cd "\$1"
#	echo "Copying all .java source files from \$1 to $collected_src_dir..."
#	find . -type f -name '*.java' -print0 \
#	| xargs -0 -r cp -l --parents --target-directory=$collected_src_dir/org
#chmod u+x copyallsrc
## Special case logic for SWT - only copy linux-gtk source
#find $src_root -type d -a \( -name org.eclipse.swt -prune -o -name org -print0 \) | xargs -l -0 ./copyallsrc
#./copyallsrc $src_root/org.eclipse.swt/Eclipse\ SWT/gtk/org


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

tar -C $RPM_BUILD_ROOT%{_datadir} -zxf \

# extract jdtCompilerAdapter.jar from org.eclipse.jdt.core_3.1.0.jar (again)
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
unzip -d plugins plugins/org.eclipse.jdt.core_3.1.0.jar jdtCompilerAdapter.jar

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

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

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

%if %{gcj_support}
# Install ecj binary
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/ecj \
chmod a+x $RPM_BUILD_ROOT%{_bindir}/ecj

# Directory to hold all the .jar->.so mapping dbs
install -d -m 755 $RPM_BUILD_ROOT`gcj-dbtool -p %{_libdir}`
install -d -m 755 $RPM_BUILD_ROOT`gcj-dbtool -p %{_libdir}`.d

# Eclipse binary
mv $RPM_BUILD_ROOT%{_datadir}/%{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}/ \
#  $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}/
#%ifarch alpha ia64 ppc64 sparc64 x86_64
#cp -p plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/os/linux/%{eclipse_arch}/libswt*.so \
#  $RPM_BUILD_ROOT%{_libdir}/%{name}/

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

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

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

pushd $RPM_BUILD_ROOT%{_javadir}
ln -sf %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_%{eclipse_majmin}.%{eclipse_micro}.jar swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.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
#ln -sf %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk${suff}_%{eclipse_majmin}.%{eclipse_micro}/ws/gtk/swt-cairo.jar swt-cairo-%{version}.jar
### 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
chmod a+x $RPM_BUILD_ROOT%{_bindir}/eclipse

# 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/ icons
install -p -D -m0644 %{SOURCE5} \
install -d -m0755 $RPM_BUILD_ROOT%{_datadir}/pixmaps
ln -s ../icons/hicolor/48x48/apps/%{name}.png \
install -d -m0755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
ln -s ../../../../%{name}/plugins/org.eclipse.platform_%{eclipse_majmin}.%{eclipse_micro}/eclipse32.gif \
install -d -m0755 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
ln -s ../../../../%{name}/plugins/org.eclipse.platform_%{eclipse_majmin}.%{eclipse_micro}/eclipse.gif \
# Remove unused icon.xpm
rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/icon.xpm

# install the efj wrapper script and change the Eclipse installation dir
install -p -D -m0755 %{SOURCE17} $RPM_BUILD_ROOT%{_bindir}/efj
sed --in-place "s:startup.jar:%{_datadir}/%{name}/startup.jar:" \

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

# menu entry
install -p -D -m0644 %{SOURCE2} \

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

cat >> $RPM_BUILD_ROOT%{_datadir}/%{name}/.eclipseproduct << EOF
name=Eclipse Platform

# 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}
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/
# 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
#===> ln -sf %{_javadir}/jsch.jar plugins/*/jsch-0.1.18.jar
# plugins/org.eclipse.text/text_*.jar
##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
ln -sf %{_javadir}/junit.jar plugins/org.junit_*/junit.jar

# Symlink org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}.jar in
# %{_datadir}/java/eclipse-ecj.jar for java-1.4.2-gcj-compat's "java"
mkdir -p $RPM_BUILD_ROOT%{_datadir}/java
ln -s %{_datadir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}.jar \

%if %{gcj_support}
# Create the gcj dbs for libswt, ecj, platform, jdt, and pde
gcjdbdir=$RPM_BUILD_ROOT`gcj-dbtool -p %{_libdir}`.d
mkdir -p $gcjdbdir
gcj-dbtool -n $gcjdbdir/%{name}-ecj.db 80000
gcj-dbtool -n $gcjdbdir/libswt3-gtk2.db 80000
gcj-dbtool -n $gcjdbdir/%{name}-platform.db 80000
gcj-dbtool -n $gcjdbdir/%{name}-jdt.db 80000
gcj-dbtool -n $gcjdbdir/%{name}-pde.db 80000

# ecj db
gcj-dbtool -f $gcjdbdir/%{name}-ecj.db \
  $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclipse_micro}.jar \
gcj-dbtool -f $gcjdbdir/%{name}-ecj.db \
  $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/jdtCompilerAdapter.jar \

# jdt db
for dir in `cat %{SOURCE7}`; do
    for j in `find $RPM_BUILD_ROOT/$dir -name \*.jar`; do
	lib=`echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
	if [ -f $lib ]; then
	  gcj-dbtool -f $gcjdbdir/%{name}-jdt.db \
	    $j `echo $lib | sed "s:$RPM_BUILD_ROOT/::"`;

# pde db
for dir in `cat %{SOURCE8}`; do
    for j in `find $RPM_BUILD_ROOT/$dir -name \*.jar`; do
	lib=`echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
	if [ -f $lib ]; then
	  gcj-dbtool -f $gcjdbdir/%{name}-pde.db \
	    $j `echo $lib | sed "s:$RPM_BUILD_ROOT/::"`;

# platform db
for dir in `cat %{SOURCE9}`; do
    for j in `find $RPM_BUILD_ROOT/$dir -name \*.jar`; do
	lib=`echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
	if [ -f $lib ]; then
	  gcj-dbtool -f $gcjdbdir/%{name}-platform.db \
	    $j `echo $lib | sed "s:$RPM_BUILD_ROOT/::"`;

# swt db
for dir in `cat %{SOURCE10}`; do
    for j in `find $RPM_BUILD_ROOT/$dir -name \*.jar`; do
	lib=`echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
	if [ -f $lib ]; then
	  gcj-dbtool -f $gcjdbdir/libswt3-gtk2.db \
	    $j `echo $lib | sed "s:$RPM_BUILD_ROOT/::"`;


%if %{gcj_support}
%post ecj
%{_bindir}/rebuild-gcj-db %{_libdir}

%post jdt
%{_bindir}/rebuild-gcj-db %{_libdir}

%post pde
%{_bindir}/rebuild-gcj-db %{_libdir}

%post -n %{libname}-gtk2
%{_bindir}/rebuild-gcj-db %{_libdir}

%post platform
%if %{gcj_support}
%{_bindir}/rebuild-gcj-db %{_libdir}
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  gtk-update-icon-cache -q %{_datadir}/icons/hicolor

%if %{gcj_support}
%postun ecj
%{_bindir}/rebuild-gcj-db %{_libdir}

%postun jdt
%{_bindir}/rebuild-gcj-db %{_libdir}

%postun pde
%{_bindir}/rebuild-gcj-db %{_libdir}

%postun -n %{libname}-gtk2
%{_bindir}/rebuild-gcj-db %{_libdir}

%postun platform
%if %{gcj_support}
%{_bindir}/rebuild-gcj-db %{_libdir}
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
  gtk-update-icon-cache -q %{_datadir}/icons/hicolor

%files ecj
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/plugins
%dir %{_datadir}/%{name}/features
%dir %{_datadir}/%{name}/configuration
%if %{gcj_support}
# Native bits
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/plugins

%files -n %{libname}-gtk2 -f %{libname}-gtk2.install
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/plugins
%dir %{_datadir}/%{name}/features
%dir %{_datadir}/%{name}/configuration
%if %{gcj_support}
# Native bits
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/plugins

%files jdt -f %{name}-jdt.install
%if %{gcj_support}
# Native bits
%ifnarch ppc

%files jdt-devel

%files pde -f %{name}-pde.install
%if %{gcj_support}
# Native bits

%files pde-devel

%files platform -f %{name}-platform.install
%config(noreplace) %{_sysconfdir}/eclipse.conf
%if %{gcj_support}
# Native bits
# FIXME build packages for these so we don't have their jars and jar.sos in
# eclipse-platform

%files platform-devel

* Wed May 25 2005 Andrew Overholt <> 3.1.0_fc-0.M7.7
- Fix ecj symlink in /usr/share/java (rh#158734).

* Sun May 22 2005 Andrew Overholt <> 3.1.0_fc-0.M7.4
- Remove compilation of jdt.ui on ppc.

* Sat May 21 2005 Ben Konrath <> 3.1.0_fc-0.M7.3
- Add ecj-options patch to bootstrap source.
- Make embedded browser widget work (Robin Green).
- Bump required version of java-gcj-compat to the latest (-40jpp_24rh).
- Use -lgcjawt when building with gcj.

* Wed May 18 2005 Ben Konrath <> 3.1.0_fc-0.M7.2
- Disable
- Add ecj-options patch, remove ecj-extdirs patch.

* Wed May 18 2005 Ben Konrath <> 3.1.0_fc-0.M7.1
- Update to 3.1M7.
- Add file initializer patch.
- Temporarily remove s390{,x} patches.
- Update GNU formatter ui patch.
- Add ECJ ext dirs patch.

* Tue May 17 2005 Andrew Overholt <> 3.1.0_fc-0.M6.19
- Add Epoch on eclipse-platform.
- Use %%{_bindir} in post and postun scripts.

* Tue May 17 2005 Ben Konrath <> 3.1.0_fc-0.M6.18
- Add Epoch to jsch requires.

* Mon May 16 2005 Ben Konrath <> 3.1.0_fc-0.M6.17
- Update libswt-mozilla patches and require mozilla 1.7.8.
* Fri May 13 2005 Andrew Overholt <>
- Use %%{ix86} macro in ExclusiveArch rather than i386 (jorton).

* Wed May 11 2005 Ben Konrath <>
- Add jsch >= 0.1.18-1jpp.
- Remove Fedora specific part of junit version.
- Temporarily disable (rh#146463).

* Mon May 09 2005 Ben Konrath <> 3.1.0_fc-0.M6.16
- Add Requires junit >= 3.8.1-3jpp_4fc to JDT.
- Add -g to gcj calls.

* Thu May 05 2005 Andrew Overholt <> 3.1.0_fc-0.M6.15
- Rebuild with new gjdoc (rh#152049).

* Wed May 4 2005 Ben Konrath <>
- Re-enable jdt.ui/ and require gcj 4.0.0-2 (rh#151296).

* Mon May 2 2005 Ben Konrath <> 3.1.0_fc-0.M6.14
- Replace temporary patch to debug.ui with upstream patch to swt (rh#155853).

* Sat Apr 30 2005 Ben Konrath <> 3.1.0_fc-0.M6.13
- Add patch to temporarily stop an NPE in debug.ui (rh#155853).

* Thu Apr 28 2005 Phil Muldoon <>
- Allow multiple optional arguments in 

* Wed Apr 27 2005 Andrew Overholt <>
- Include epoch in mozilla BuildRequires.
- Remove last remaining gij-specific option from eclipse.script.

* Wed Apr 27 2005 Jeremy Katz <> 3.1.0_fc-0.M6.12
- silence %%post

* Sun Apr 24 2005 Andrew Overholt <> 3.1.0_fc-0.M6.11
- Re-add since gcj fix is in our gcc RPMs.
- Bump gcc requirements accordingly.
- Add gcc-c++ to BuildRequires (for SWT Mozilla).
- Add specific java-1.4.2-gcj-compat nvr requirement (rh#151866).

* Fri Apr 22 2005 Aaron Luchko <> 3.1.0_fc-0.M6.10
- Import archived projects (e.o#82988)

* Fri Apr 22 2005 Andrew Overholt <>
- Add Requires(post,postun): java-1.4.2-gcj-compat for each sub-package and use
  full path (Joe Orton).
- Make /usr/bin/eclipse executable again (rh#155715).
- Bump jsch version.

* Thu Apr 21 2005 Andrew Overholt <> 3.1.0_fc-0.M6.9
- Use upstream icons (not RHDS ones) (rh#146484).
- Add plugin directories to %files sections.
- Rework %files sections a bit.
- Fix SWT symlink (bkonrath).
- Temporarily remove jdt.ui/

* Thu Apr 21 2005 Ben Konrath <> 3.1.0_fc-0.M6.8
- Fix updatesite patch.
- Temporarily remove (r.c#151919)

* Mon Apr 18 2005 Andrew Overholt <> 3.1.0_fc-0.M6.7
- Add %if %%{gcj_support} blocks.
- Add %%{_libdir}/%%{name}/plugins to native %files section of each sub-rpm.
- Add GNU-style JDT code formatting option (e.o#91770).
- Add patch to install plugins from update site in home dir (e.o#90630).
- Change gcc-java requirements to libgcj as gcj-dbtool is now in the latter.

* Mon Apr 18 2005 Ben Konrath <> 3.1.0_fc-0.M6.6
- Bump version number. 

* Mon Apr 18 2005 Ben Konrath <> 3.1.0_fc-0.M6.5
- Update mozilla patch.

* Sat Apr 16 2005 Ben Konrath <> 3.1.0_fc-0.M6.4
- Update to 3.1M6.
- Change bootstrap procedure to match the upstream method.
- Remove patches that were fixed upstream. 
- Add efj wrapper script.

* Wed Apr 13 2005 Ben Konrath <> 3.1.0_fc-0.M5.20
- Fix the bootstrap patch (the ecj jar was missing some files).

* Tue Apr 12 2005 Andrew Overholt <> 3.1.0_fc-0.M5.19
- Add Requires(post,postun): java-1.4.2-gcj-compat for rebuild-gcj-db (Joe
- Add ecj binary.

* Wed Apr 06 2005 Andrew Overholt <> 3.1.0_fc-0.M5.18
- Fix typo in gcj db building loops.
- Add -O1 to x86_64 compilation.
- Add EFJ (Eclipse Formatter for Java) patches (bkonrath) (e.o#75333).
- Add patch to build swttools.jar (e.o#90364).
- Symlink out to ant-jsch now that we have that.

* Mon Apr 04 2005 Andrew Overholt <> 3.1.0_fc-0.M5.17
- Actually insert combinations into sub-dbs.

* Thu Mar 31 2005 Andrew Overholt <> 3.1.0_fc-0.M5.16
- Fix eclipse.script to not leave a sh process around (Joe Orton)
- Use proper sub-dbs.
- Don't compile jars that are symlinked from elsewhere.
- Add jar-so combinations to .db based on existence (not .jar).
- Rename sub-dbs to be eclipse-*.db.
- Use rebuild-gcj-db script.

* Mon Mar 28 2005 Christopher Aillon <>
- rebuilt

* Fri Mar 25 2005 Christopher Aillon <> 3.1.0_fc-0.M5.14
- Update the GTK+ theme icon cache on (un)install

* Fri Mar 18 2005 Andrew Overholt <> 3.1.0_fc-0.M5.13
- Re-add compilation of resources.jar.
- Backport bootstrapping patch.
- Add Requires: java-1.4.2-gcj-compat.
- Modified find patch courtesy Ziga Mahkovec (RH#149927#).
- Compile with -O2 on ppc as well.
- Add jsch, jakarta-commons-modeler, and mx4j symlinking.
- Make use of gcj-dbtool -f to create databases in install.
- Use system-wide classmap.db.
- Remove *.jarswithnativelibs from files sections.
- Update mozilla dependency.

* Mon Mar 07 2005 Ben Konrath <> 3.1.0_fc-0.M5.12
- Add activeHelpSample.jar patch.
- Change to Fedora M-build splash screen.
- Add find patch courtesy Ziga Mahkovec (RH#149927#)
- Build native stuff with -O2 on i386.

* Mon Mar 07 2005 Andrew Overholt <> 3.1.0_fc-0.M5.11
- Add s390 and s390x patches.
- Don't build for them, though, due to gcc bug and Eclipse building issue.
- Add xorg-x11-devel BuildRequires.

* Fri Mar 04 2005 Andrew Overholt <> 3.1.0_fc-0.M5.10
- Add proper mozilla version.
- Don't build in order to work around plugin building

* Thu Mar 03 2005 Andrew Overholt <> 3.1.0_fc-0.M5.9
- Add patch to build libswt-mozilla.
- Build libswt-awt.
- Add 64-bit swt lib list.

* Tue Mar 01 2005 Andrew Overholt <> 3.1.0_fc-0.M5.8
- Add ppc.
- 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 <> 3.1.0_fc-0.M5.7
- Add tar args patch (e.o #86571).
- New build bootstrapping patches.

* Fri Feb 25 2005 Andrew Overholt <> 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 <> 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 <> 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
- Bootstrap build.