79be5b8
Epoch: 1
79be5b8
Jon VanAlten 25b66a9
%global qualifier 201209141800
79be5b8
79be5b8
%define with_gcjbootstrap %{!?_with_gcjbootstrap:0}%{?_with_gcjbootstrap:1}
79be5b8
%define without_gcjbootstrap %{?_with_gcjbootstrap:0}%{!?_with_gcjbootstrap:1}
79be5b8
79be5b8
Summary: Eclipse Compiler for Java
79be5b8
Name: ecj
Jon VanAlten 25b66a9
Version: 4.2.1
Jon VanAlten 93e1547
Release: 7%{?dist}
79be5b8
URL: http://www.eclipse.org
79be5b8
License: EPL
79be5b8
Group: Development/Languages
Jon VanAlten 25b66a9
Source0: http://download.eclipse.org/eclipse/downloads/drops4/R-%{version}-%{qualifier}/%{name}src-%{version}.jar
79be5b8
Source1: ecj.sh.in
79be5b8
# Use ECJ for GCJ
79be5b8
# cvs -d:pserver:anonymous@sourceware.org:/cvs/rhug \
Jon VanAlten 25b66a9
# export -D 2009-09-28 eclipse-gcj
79be5b8
# tar cjf ecj-gcj.tar.bz2 eclipse-gcj
79be5b8
Source2: %{name}-gcj.tar.bz2
e8fcec6
#Patched from http://repo2.maven.org/maven2/org/eclipse/jdt/core/3.3.0-v_771/core-3.3.0-v_771.pom 
e8fcec6
# No dependencies are needed for ecj, dependencies are for using of jdt.core which makes no sense outside of eclipse
e8fcec6
Source3: core-3.3.0-v_771.pom
Jon VanAlten 8b54112
Source4: ecj.1
79be5b8
# Always generate debug info when building RPMs (Andrew Haley)
79be5b8
Patch0: %{name}-rpmdebuginfo.patch
79be5b8
Patch1: %{name}-defaultto1.5.patch
1a0c361
Patch2: %{name}-generatedebuginfo.patch
Jon VanAlten 25b66a9
# Patches Source2 for compatibility with newer ecj
Jon VanAlten 25b66a9
Patch3: eclipse-gcj-compat4.2.1.patch
Jon VanAlten 25b66a9
# build.xml fails to include a necessary .props file in the built ecj.jar
Jon VanAlten 25b66a9
Patch4: %{name}-include-props.patch
Jon VanAlten 4499d99
Patch5: eclipse-gcj-nodummysymbol.patch
79be5b8
79be5b8
BuildRequires: gcc-java >= 4.0.0
9a2c272
BuildRequires: /usr/bin/aot-compile-rpm
79be5b8
BuildRequires: java-gcj-compat
Jon VanAlten 8b54112
BuildRequires: gzip
79be5b8
e2e4816
%if ! %{with_gcjbootstrap}
79be5b8
BuildRequires: ant
8d2688d
BuildRequires: java-devel >= 1:1.7.0 
79be5b8
%endif
79be5b8
79be5b8
Provides: eclipse-ecj = %{epoch}:%{version}-%{release}
79be5b8
Obsoletes: eclipse-ecj < 1:3.4.2-4
79be5b8
79be5b8
%description
79be5b8
ECJ is the Java bytecode compiler of the Eclipse Platform.  It is also known as
79be5b8
the JDT Core batch compiler.
79be5b8
cb70f90
%package native
cb70f90
Summary:	Native(gcj) bits for %{name}
cb70f90
Group:		Development/Libraries
acd44f7
Requires:	%{name} = %{epoch}:%{version}-%{release}
cb70f90
Requires: libgcj >= 4.0.0
cb70f90
Requires(post): java-gcj-compat
cb70f90
Requires(postun): java-gcj-compat
cb70f90
cb70f90
%description native
cb70f90
AOT compiled ecj to speed up when running under GCJ.
cb70f90
cb70f90
79be5b8
%prep
79be5b8
%setup -q -c
79be5b8
%patch0 -p1
79be5b8
%patch1 -p1
1a0c361
%patch2 -p1
Jon VanAlten 25b66a9
%patch4 -p1
79be5b8
1478067
cp %{SOURCE3} pom.xml
79be5b8
# Use ECJ for GCJ's bytecode compiler
79be5b8
tar jxf %{SOURCE2}
79be5b8
mv eclipse-gcj/org/eclipse/jdt/internal/compiler/batch/GCCMain.java \
79be5b8
  org/eclipse/jdt/internal/compiler/batch/
Jon VanAlten 25b66a9
%patch3 -p1
Jon VanAlten 4499d99
%patch5 -p1
79be5b8
cat eclipse-gcj/gcc.properties >> \
79be5b8
  org/eclipse/jdt/internal/compiler/batch/messages.properties
79be5b8
rm -rf eclipse-gcj
79be5b8
79be5b8
# Remove bits of JDT Core we don't want to build
79be5b8
rm -r org/eclipse/jdt/internal/compiler/tool
79be5b8
rm -r org/eclipse/jdt/internal/compiler/apt
Jon VanAlten 25b66a9
rm -f org/eclipse/jdt/core/BuildJarIndex.java
79be5b8
79be5b8
# JDTCompilerAdapter isn't used by the batch compiler
79be5b8
rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java
Jon VanAlten 8b54112
cp %{SOURCE4} ecj.1
79be5b8
79be5b8
%build
79be5b8
%if %{with_gcjbootstrap}
79be5b8
  for f in `find -name '*.java' | cut -c 3- | LC_ALL=C sort`; do
79be5b8
    gcj -Wno-deprecated -C $f
79be5b8
  done
79be5b8
79be5b8
  find -name '*.class' -or -name '*.properties' -or -name '*.rsc' |\
79be5b8
    xargs fastjar cf %{name}-%{version}.jar
79be5b8
%else
79be5b8
   ant
79be5b8
%endif
Jon VanAlten 8b54112
gzip ecj.1
79be5b8
79be5b8
%install
79be5b8
mkdir -p $RPM_BUILD_ROOT%{_javadir}
e8fcec6
cp -a *.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
79be5b8
pushd $RPM_BUILD_ROOT%{_javadir}
e8fcec6
ln -s %{name}.jar eclipse-%{name}.jar
e8fcec6
ln -s %{name}.jar jdtcore.jar
79be5b8
popd
79be5b8
79be5b8
# Install the ecj wrapper script
79be5b8
install -p -D -m0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ecj
79be5b8
sed --in-place "s:@JAVADIR@:%{_javadir}:" $RPM_BUILD_ROOT%{_bindir}/ecj
79be5b8
Jon VanAlten 8b54112
# Install manpage
Jon VanAlten 8b54112
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
Jon VanAlten 8b54112
install -m 644 -p ecj.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/ecj.1.gz
Jon VanAlten 8b54112
79be5b8
aot-compile-rpm
79be5b8
1478067
# poms
e8fcec6
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
1478067
install -pm 644 pom.xml \
e8fcec6
    $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom
Stanislav Ochotnicky 47b98ee
cb3efa8
%add_maven_depmap -a "org.eclipse.tycho:org.eclipse.jdt.core,org.eclipse.jdt.core.compiler:ecj" JPP-%{name}.pom %{name}.jar
79be5b8
cb70f90
%post native
79be5b8
if [ -x %{_bindir}/rebuild-gcj-db ]
79be5b8
then
79be5b8
  %{_bindir}/rebuild-gcj-db
79be5b8
fi
79be5b8
cb70f90
%postun native
79be5b8
if [ -x %{_bindir}/rebuild-gcj-db ]
79be5b8
then
79be5b8
  %{_bindir}/rebuild-gcj-db
79be5b8
fi
79be5b8
79be5b8
%files
79be5b8
%doc about.html
e8fcec6
%{_mavenpomdir}/JPP-%{name}.pom
1478067
%{_mavendepmapfragdir}/%{name}
79be5b8
%{_bindir}/%{name}
e8fcec6
%{_javadir}/%{name}.jar
e8fcec6
%{_javadir}/eclipse-%{name}.jar
79be5b8
%{_javadir}/jdtcore.jar
Jon VanAlten 8b54112
%{_mandir}/man1/ecj.1.gz
cb70f90
cb70f90
%files native
79be5b8
%{_libdir}/gcj/%{name}
79be5b8
79be5b8
%changelog
Jon VanAlten 8b54112
* Wed May 21 2013 Jon VanAlten <jon.vanalten@redhat.com> - 4.2.1-7
Jon VanAlten 8b54112
- Add manpage for ecj executable
Jon VanAlten 8b54112
- Resolves: rhbz#948442
Jon VanAlten 8b54112
cb3efa8
* Tue Apr  9 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.1-6
cb3efa8
- Add depmap for org.eclipse.jdt.core.compiler:ecj
cb3efa8
- Resolves: rhbz#949938
cb3efa8
8d2688d
* Wed Mar 06 2013 Karsten Hopp <karsten@redhat.com> 1:4.2.1-5
8d2688d
- add BR java-devel for !with_gcjbootstrap
8d2688d
b2c2b7a
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:4.2.1-4
b2c2b7a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
b2c2b7a
Jon VanAlten 4499d99
* Mon Oct 29 2012 Jon VanAlten <jon.vanalten@redhat.com> 1:4.2.1-3
Jon VanAlten 4499d99
- Patch GCCMain to avoid dummy symbols.
Jon VanAlten 4499d99
Krzysztof Daniel 330c67a
* Wed Oct 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:4.2.1-2
Krzysztof Daniel 330c67a
- Add depmap satysfying Tycho req.
Krzysztof Daniel 330c67a
Jon VanAlten 25b66a9
* Wed Jul 31 2012 Jon VanAlten <jon.vanalten@redhat.com> 1:4.2.1-1
Jon VanAlten 25b66a9
- Update to 4.2.1 upstream version.
Jon VanAlten 25b66a9
95db4e5
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.4.2-14
95db4e5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
95db4e5
acd44f7
* Wed Apr 18 2012 Alexander Kurtakov <akurtako@redhat.com> 1:3.4.2-13
acd44f7
- Add missing epoch to native subpackage requires.
acd44f7
cb70f90
* Tue Apr 17 2012 Alexander Kurtakov <akurtako@redhat.com> 1:3.4.2-12
cb70f90
- Separate gcj in subpackage.
cb70f90
e8fcec6
* Mon Jan 16 2012 Alexander Kurtakov <akurtako@redhat.com> 1:3.4.2-11
e8fcec6
- Patch pom file to better represent ecj and not jdt.core .
e8fcec6
- Guidelines fixes.
e8fcec6
72717dd
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.4.2-10
72717dd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
72717dd
7fd5652
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.4.2-9
7fd5652
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
7fd5652
Stanislav Ochotnicky 47b98ee
* Fri Nov 26 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1:3.4.2-8
Stanislav Ochotnicky 47b98ee
- Fix add_to_maven_depmap call (Resolves rhbz#655796)
Stanislav Ochotnicky 47b98ee
f7beac9
* Mon Dec 21 2009 Deepak Bhole <dbhole@redhat.com> - 1:3.4.2-7
f7beac9
- Fix RHBZ# 490936. If CLASSPATH is not set, add . to default classpath.
f7beac9
1478067
* Wed Sep 9 2009 Alexander Kurtakov <akurtako@redhat.com> 1:3.4.2-6
1478067
- Add maven pom and depmaps.
1478067
91de3c6
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.4.2-5
91de3c6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
91de3c6
1a0c361
* Wed Mar 11 2009 Deepak Bhole <dbhole@redhat.com> 1:3.4.2-4
1a0c361
- Add patch to generate full debuginfo for ecj itself
1a0c361
9a2c272
* Tue Mar 10 2009 Deepak Bhole <dbhole@redhat.com> 1:3.4.2-3
9a2c272
- Add BR for aot-compile-rpm
9a2c272
e2e4816
* Tue Mar 10 2009 Deepak Bhole <dbhole@redhat.com> 1:3.4.2-2
e2e4816
- Add BR for ant
e2e4816
79be5b8
* Fri Mar 6 2009 Andrew Overholt <overholt@redhat.com> 1:3.4.2-1
79be5b8
- 3.4.2
79be5b8
79be5b8
* Tue Dec 9 2008 Andrew Overholt <overholt@redhat.com> 1:3.4.1-1
79be5b8
- 3.4.1
79be5b8
- Don't conditionalize building of gcj AOT bits (we're only building
79be5b8
  this for gcj and IcedTea bootstrapping).
79be5b8
79be5b8
* Mon Jan 22 2007 Andrew Overholt <overholt@redhat.com> 3.2.1-1
79be5b8
- Add eclipse-ecj-gcj.patch.
79be5b8
79be5b8
* Fri Jan 12 2007 Andrew Overholt <overholt@redhat.com> 3.2.1-1
79be5b8
- First version for Fedora 7.
79be5b8
- Add BR: java-devel for jar.
79be5b8
79be5b8
* Thu Nov 02 2006 Andrew Overholt <overholt@redhat.com> 1:3.2.1-1jpp
79be5b8
- First version for JPackage.
79be5b8
79be5b8
* Mon Jul 24 2006 Andrew Overholt <overholt@redhat.com> 1:3.2.0-1
79be5b8
- Add versionless ecj.jar symlink in /usr/share/java.
79be5b8
79be5b8
* Wed Jul 19 2006 Andrew Overholt <overholt@redhat.com> 1:3.2.0-1
79be5b8
- 3.2.0.
79be5b8
79be5b8
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
79be5b8
- rebuilt
79be5b8
79be5b8
* Mon Mar 07 2005 Andrew Overholt <overholt@redhat.com> 1:3.1.0.M4.9
79be5b8
- Don't build for ppc or ia64.
79be5b8
79be5b8
* Sun Feb 20 2005 Andrew Overholt <overholt@redhat.com> 1:3.1.0.M4.6
79be5b8
- Upgrade back to 3.1M4.
79be5b8
- Don't build for i386 and x86_64.
79be5b8
- Provide eclipse-ecj until we can deprecate this package.
79be5b8
79be5b8
* Fri Jan 14 2005 Andrew Overholt <overholt@redhat.com> 3.1.0.M4.4
79be5b8
- build for all but x86
79be5b8
79be5b8
* Thu Jan 13 2005 Andrew Overholt <overholt@redhat.com> 3.1.0.M4.3
79be5b8
- build for ppc exclusively
79be5b8
79be5b8
* Wed Jan 12 2005 Andrew Overholt <overholt@redhat.com> 3.1.0.M4.2
79be5b8
- Add RPM_OPT_FLAGS workaround.
79be5b8
79be5b8
* Tue Jan 11 2005 Andrew Overholt <overholt@redhat.com> 3.1.0.M4.1
79be5b8
- New version.
79be5b8
79be5b8
* Mon Sep 27 2004 Gary Benson <gbenson@redhat.com> 2.1.3-5
79be5b8
- Rebuild with new katana.
79be5b8
79be5b8
* Fri Jul 22 2004 Gary Benson <gbenson@redhat.com> 2.1.3-4
79be5b8
- Build without bootstrap-ant.
79be5b8
- Split out lib-org-eclipse-jdt-internal-compiler.so.
79be5b8
79be5b8
* Tue Jul  6 2004 Gary Benson <gbenson@redhat.com> 2.1.3-3
79be5b8
- Fix ecj-devel's dependencies.
79be5b8
79be5b8
* Wed Jun  9 2004 Gary Benson <gbenson@redhat.com> 2.1.3-2
79be5b8
- Work around an optimiser failure somewhere in ecj or gcj (#125613).
79be5b8
79be5b8
* Fri May 28 2004 Gary Benson <gbenson@redhat.com>
79be5b8
- Build with katana.
79be5b8
79be5b8
* Mon May 24 2004 Gary Benson <gbenson@redhat.com> 2.1.3-1
79be5b8
- Initial Red Hat Linux build.
79be5b8
79be5b8
* Mon May 24 2004 Gary Benson <gbenson@redhat.com>
79be5b8
- Upgraded to latest version.
79be5b8
79be5b8
* Sun Jul 20 2003 Anthony Green <green@redhat.com>
79be5b8
- Add %%doc
79be5b8
79be5b8
* Fri Jul 18 2003 Anthony Green <green@redhat.com>
79be5b8
- Initial RHUG build.