Epoch: 1 %define qualifier 200902111700 %define with_gcjbootstrap %{!?_with_gcjbootstrap:0}%{?_with_gcjbootstrap:1} %define without_gcjbootstrap %{?_with_gcjbootstrap:0}%{!?_with_gcjbootstrap:1} Summary: Eclipse Compiler for Java Name: ecj Version: 3.4.2 Release: 4%{?dist} URL: http://www.eclipse.org License: EPL Group: Development/Languages BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: http://download.eclipse.org/eclipse/downloads/drops/R-%{version}-%{qualifier}/%{name}src-%{version}.zip Source1: ecj.sh.in # Use ECJ for GCJ # cvs -d:pserver:anonymous@sourceware.org:/cvs/rhug \ # export -r eclipse_r34_1 eclipse-gcj # tar cjf ecj-gcj.tar.bz2 eclipse-gcj Source2: %{name}-gcj.tar.bz2 # Always generate debug info when building RPMs (Andrew Haley) Patch0: %{name}-rpmdebuginfo.patch Patch1: %{name}-defaultto1.5.patch Patch2: %{name}-generatedebuginfo.patch BuildRequires: gcc-java >= 4.0.0 BuildRequires: /usr/bin/aot-compile-rpm BuildRequires: java-gcj-compat %if ! %{with_gcjbootstrap} BuildRequires: ant %endif Requires: libgcj >= 4.0.0 Requires(post): java-gcj-compat Requires(postun): java-gcj-compat Provides: eclipse-ecj = %{epoch}:%{version}-%{release} Obsoletes: eclipse-ecj < 1:3.4.2-4 %description ECJ is the Java bytecode compiler of the Eclipse Platform. It is also known as the JDT Core batch compiler. %prep %setup -q -c %patch0 -p1 %patch1 -p1 %patch2 -p1 # Use ECJ for GCJ's bytecode compiler tar jxf %{SOURCE2} mv eclipse-gcj/org/eclipse/jdt/internal/compiler/batch/GCCMain.java \ org/eclipse/jdt/internal/compiler/batch/ cat eclipse-gcj/gcc.properties >> \ org/eclipse/jdt/internal/compiler/batch/messages.properties rm -rf eclipse-gcj # Remove bits of JDT Core we don't want to build rm -r org/eclipse/jdt/internal/compiler/tool rm -r org/eclipse/jdt/internal/compiler/apt # JDTCompilerAdapter isn't used by the batch compiler rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java %build %if %{with_gcjbootstrap} for f in `find -name '*.java' | cut -c 3- | LC_ALL=C sort`; do gcj -Wno-deprecated -C $f done find -name '*.class' -or -name '*.properties' -or -name '*.rsc' |\ xargs fastjar cf %{name}-%{version}.jar %else ant %endif %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_javadir} cp -a *.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar pushd $RPM_BUILD_ROOT%{_javadir} ln -s %{name}-%{version}.jar %{name}.jar ln -s %{name}-%{version}.jar eclipse-%{name}-%{version}.jar ln -s eclipse-%{name}-%{version}.jar eclipse-%{name}.jar ln -s %{name}-%{version}.jar jdtcore.jar popd # Install the ecj wrapper script install -p -D -m0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ecj sed --in-place "s:@JAVADIR@:%{_javadir}:" $RPM_BUILD_ROOT%{_bindir}/ecj aot-compile-rpm %clean rm -rf $RPM_BUILD_ROOT %post if [ -x %{_bindir}/rebuild-gcj-db ] then %{_bindir}/rebuild-gcj-db fi %postun if [ -x %{_bindir}/rebuild-gcj-db ] then %{_bindir}/rebuild-gcj-db fi %files %defattr(-,root,root,-) %doc about.html %{_bindir}/%{name} %{_javadir}/%{name}*.jar %{_javadir}/eclipse-%{name}*.jar %{_javadir}/jdtcore.jar %{_libdir}/gcj/%{name} %changelog * Wed Mar 11 2009 Deepak Bhole 1:3.4.2-4 - Add patch to generate full debuginfo for ecj itself * Tue Mar 10 2009 Deepak Bhole 1:3.4.2-3 - Add BR for aot-compile-rpm * Tue Mar 10 2009 Deepak Bhole 1:3.4.2-2 - Add BR for ant * Fri Mar 6 2009 Andrew Overholt 1:3.4.2-1 - 3.4.2 * Tue Dec 9 2008 Andrew Overholt 1:3.4.1-1 - 3.4.1 - Don't conditionalize building of gcj AOT bits (we're only building this for gcj and IcedTea bootstrapping). * Mon Jan 22 2007 Andrew Overholt 3.2.1-1 - Add eclipse-ecj-gcj.patch. * Fri Jan 12 2007 Andrew Overholt 3.2.1-1 - First version for Fedora 7. - Add BR: java-devel for jar. * Thu Nov 02 2006 Andrew Overholt 1:3.2.1-1jpp - First version for JPackage. * Mon Jul 24 2006 Andrew Overholt 1:3.2.0-1 - Add versionless ecj.jar symlink in /usr/share/java. * Wed Jul 19 2006 Andrew Overholt 1:3.2.0-1 - 3.2.0. * Fri Dec 09 2005 Jesse Keating - rebuilt * Mon Mar 07 2005 Andrew Overholt 1:3.1.0.M4.9 - Don't build for ppc or ia64. * Sun Feb 20 2005 Andrew Overholt 1:3.1.0.M4.6 - Upgrade back to 3.1M4. - Don't build for i386 and x86_64. - Provide eclipse-ecj until we can deprecate this package. * Fri Jan 14 2005 Andrew Overholt 3.1.0.M4.4 - build for all but x86 * Thu Jan 13 2005 Andrew Overholt 3.1.0.M4.3 - build for ppc exclusively * Wed Jan 12 2005 Andrew Overholt 3.1.0.M4.2 - Add RPM_OPT_FLAGS workaround. * Tue Jan 11 2005 Andrew Overholt 3.1.0.M4.1 - New version. * Mon Sep 27 2004 Gary Benson 2.1.3-5 - Rebuild with new katana. * Fri Jul 22 2004 Gary Benson 2.1.3-4 - Build without bootstrap-ant. - Split out lib-org-eclipse-jdt-internal-compiler.so. * Tue Jul 6 2004 Gary Benson 2.1.3-3 - Fix ecj-devel's dependencies. * Wed Jun 9 2004 Gary Benson 2.1.3-2 - Work around an optimiser failure somewhere in ecj or gcj (#125613). * Fri May 28 2004 Gary Benson - Build with katana. * Mon May 24 2004 Gary Benson 2.1.3-1 - Initial Red Hat Linux build. * Mon May 24 2004 Gary Benson - Upgraded to latest version. * Sun Jul 20 2003 Anthony Green - Add %%doc * Fri Jul 18 2003 Anthony Green - Initial RHUG build.