a0c002
Epoch: 1
a0c002
a0c002
%global qualifier R-4.5.2-201602121500
a0c002
# Taken from MANIFEST.MF
a0c002
%global bundle_version 3.11.2
a0c002
%global bundle_qualifier v20160128-0629
a0c002
a0c002
Summary: Eclipse Compiler for Java
a0c002
Name: ecj
a0c002
Version: 4.5.2
a0c002
Release: 3%{?dist}
a0c002
URL: http://www.eclipse.org
a0c002
License: EPL
a0c002
Group: Development/Languages
a0c002
Source0: http://download.eclipse.org/eclipse/downloads/drops4/%{qualifier}/%{name}src-%{version}.jar
a0c002
Source1: ecj.sh.in
a0c002
# No dependencies are needed for ecj, dependencies are for using of jdt.core which makes no sense outside of eclipse
a0c002
Source2: https://repo1.maven.org/maven2/org/eclipse/jdt/core/compiler/ecj/%{version}/ecj-%{version}.pom
a0c002
# Extracted from https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/%%{qualifier}/ecj-%%{version}.jar
a0c002
Source3: MANIFEST.MF
a0c002
a0c002
# Always generate debug info when building RPMs (Andrew Haley)
a0c002
Patch0: %{name}-rpmdebuginfo.patch
a0c002
Patch1: %{name}-defaultto1.5.patch
a0c002
# Convert ecj source to be source level 1.6 compatible
a0c002
Patch2: ecj-convertto1.6.patch
a0c002
a0c002
Requires: java >= 1:1.6.0
a0c002
a0c002
BuildRequires: gzip
a0c002
BuildRequires: ant
a0c002
BuildRequires: java-devel >= 1:1.6.0 
a0c002
a0c002
Provides: eclipse-ecj = %{epoch}:%{version}-%{release}
a0c002
Obsoletes: eclipse-ecj < 1:3.4.2-4
a0c002
a0c002
%description
a0c002
ECJ is the Java bytecode compiler of the Eclipse Platform.  It is also known as
a0c002
the JDT Core batch compiler.
a0c002
a0c002
%prep
a0c002
%setup -q -c
a0c002
%patch0 -p1
a0c002
%patch1 -p1
a0c002
%patch2 -p1
a0c002
a0c002
sed -i -e 's|debuglevel=\"lines,source\"|debug=\"yes\"|g' build.xml
a0c002
sed -i -e "s/Xlint:none/Xlint:none -encoding cp1252/g" build.xml
a0c002
sed -i -e 's|import org.eclipse.jdt.core.JavaCore;||g' org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.java
a0c002
sed -i -e 's|JavaCore.getOptions()||g' org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.java
a0c002
# Insert bundle version into messages.properties
a0c002
sed -i -e "s|bundle_version|%{bundle_version}|g" org/eclipse/jdt/internal/compiler/batch/messages.properties
a0c002
sed -i -e "s|bundle_qualifier|%{bundle_qualifier}|g" org/eclipse/jdt/internal/compiler/batch/messages.properties
a0c002
a0c002
cp %{SOURCE2} pom.xml
a0c002
mkdir -p scripts/binary/META-INF/
a0c002
cp %{SOURCE3} scripts/binary/META-INF/MANIFEST.MF
a0c002
a0c002
# Remove bits of JDT Core we don't want to build
a0c002
rm -r org/eclipse/jdt/internal/compiler/tool
a0c002
rm -r org/eclipse/jdt/internal/compiler/apt
a0c002
rm -f org/eclipse/jdt/core/BuildJarIndex.java
a0c002
a0c002
# JDTCompilerAdapter isn't used by the batch compiler
a0c002
rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java
a0c002
a0c002
%build
a0c002
ant -verbose
a0c002
gzip ecj.1
a0c002
a0c002
%install
a0c002
mkdir -p $RPM_BUILD_ROOT%{_javadir}
a0c002
cp -a *.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
a0c002
pushd $RPM_BUILD_ROOT%{_javadir}
a0c002
ln -s %{name}.jar eclipse-%{name}.jar
a0c002
ln -s %{name}.jar jdtcore.jar
a0c002
popd
a0c002
a0c002
# Install the ecj wrapper script
a0c002
install -p -D -m0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ecj
a0c002
sed --in-place "s:@JAVADIR@:%{_javadir}:" $RPM_BUILD_ROOT%{_bindir}/ecj
a0c002
a0c002
# Install manpage
a0c002
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
a0c002
install -m 644 -p ecj.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/ecj.1.gz
a0c002
a0c002
# poms
a0c002
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
a0c002
install -pm 644 pom.xml \
a0c002
    $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom
a0c002
a0c002
%add_maven_depmap -a "org.eclipse.tycho:org.eclipse.jdt.core,org.eclipse.jdt.core.compiler:ecj,org.eclipse.jdt:core" JPP-%{name}.pom %{name}.jar
a0c002
a0c002
%files
a0c002
%doc about.html
a0c002
%{_mavenpomdir}/JPP-%{name}.pom
a0c002
%{_mavendepmapfragdir}/%{name}
a0c002
%{_bindir}/%{name}
a0c002
%{_javadir}/%{name}.jar
a0c002
%{_javadir}/eclipse-%{name}.jar
a0c002
%{_javadir}/jdtcore.jar
a0c002
%{_mandir}/man1/ecj*
a0c002
a0c002
%changelog
a0c002
* Fri Jan 27 2017 Elliott Baron <ebaron@redhat.com> - 1:4.5.2-3
a0c002
- Add Maven alias for org.eclipse.jdt:core.
a0c002
- Resolves: rhbz#1379855
a0c002
a0c002
* Fri Jan 27 2017 Elliott Baron <ebaron@redhat.com> - 1:4.5.2-2
a0c002
- Build for JDK 1.6 target.
a0c002
- Add ecj-convertto1.6.patch.
a0c002
- Add Requires: java >= 1:1.6.0.
a0c002
- Resolves: rhbz#1379855
a0c002
a0c002
* Wed Sep 28 2016 Elliott Baron <ebaron@redhat.com> - 1:4.5.2-1
a0c002
- Update to upstream 4.5.2 release.
a0c002
- Add man page.
a0c002
- Resolves: rhbz#1379855, rhbz#1147565
a0c002
a0c002
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 1:4.2.1-8
a0c002
- Mass rebuild 2014-01-24
a0c002
a0c002
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1:4.2.1-7
a0c002
- Mass rebuild 2013-12-27
a0c002
a0c002
* Tue Apr 09 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:4.2.1-6
a0c002
- Add depmap for org.eclipse.jdt.core.compiler:ecj
a0c002
- Resolves: rhbz#951064
a0c002
a0c002
* Fri Apr 05 2013 Jon VanAlten <jon.vanalten@redhat.com> 1:4.2.1-6
a0c002
- Remove gcj entry point, native subpackage, and gcj bootstrap entirely (fixes RHBZ927665).
a0c002
a0c002
* Wed Mar 06 2013 Karsten Hopp <karsten@redhat.com> 1:4.2.1-5
a0c002
- add BR java-devel for !with_gcjbootstrap
a0c002
a0c002
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:4.2.1-4
a0c002
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
a0c002
a0c002
* Mon Oct 29 2012 Jon VanAlten <jon.vanalten@redhat.com> 1:4.2.1-3
a0c002
- Patch GCCMain to avoid dummy symbols.
a0c002
a0c002
* Wed Oct 10 2012 Krzysztof Daniel <kdaniel@redhat.com> 1:4.2.1-2
a0c002
- Add depmap satysfying Tycho req.
a0c002
a0c002
* Wed Jul 31 2012 Jon VanAlten <jon.vanalten@redhat.com> 1:4.2.1-1
a0c002
- Update to 4.2.1 upstream version.
a0c002
a0c002
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.4.2-14
a0c002
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
a0c002
a0c002
* Wed Apr 18 2012 Alexander Kurtakov <akurtako@redhat.com> 1:3.4.2-13
a0c002
- Add missing epoch to native subpackage requires.
a0c002
a0c002
* Tue Apr 17 2012 Alexander Kurtakov <akurtako@redhat.com> 1:3.4.2-12
a0c002
- Separate gcj in subpackage.
a0c002
a0c002
* Mon Jan 16 2012 Alexander Kurtakov <akurtako@redhat.com> 1:3.4.2-11
a0c002
- Patch pom file to better represent ecj and not jdt.core .
a0c002
- Guidelines fixes.
a0c002
a0c002
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.4.2-10
a0c002
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
a0c002
a0c002
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.4.2-9
a0c002
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
a0c002
a0c002
* Fri Nov 26 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1:3.4.2-8
a0c002
- Fix add_to_maven_depmap call (Resolves rhbz#655796)
a0c002
a0c002
* Mon Dec 21 2009 Deepak Bhole <dbhole@redhat.com> - 1:3.4.2-7
a0c002
- Fix RHBZ# 490936. If CLASSPATH is not set, add . to default classpath.
a0c002
a0c002
* Wed Sep 9 2009 Alexander Kurtakov <akurtako@redhat.com> 1:3.4.2-6
a0c002
- Add maven pom and depmaps.
a0c002
a0c002
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.4.2-5
a0c002
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
a0c002
a0c002
* Wed Mar 11 2009 Deepak Bhole <dbhole@redhat.com> 1:3.4.2-4
a0c002
- Add patch to generate full debuginfo for ecj itself
a0c002
a0c002
* Tue Mar 10 2009 Deepak Bhole <dbhole@redhat.com> 1:3.4.2-3
a0c002
- Add BR for aot-compile-rpm
a0c002
a0c002
* Tue Mar 10 2009 Deepak Bhole <dbhole@redhat.com> 1:3.4.2-2
a0c002
- Add BR for ant
a0c002
a0c002
* Fri Mar 6 2009 Andrew Overholt <overholt@redhat.com> 1:3.4.2-1
a0c002
- 3.4.2
a0c002
a0c002
* Tue Dec 9 2008 Andrew Overholt <overholt@redhat.com> 1:3.4.1-1
a0c002
- 3.4.1
a0c002
- Don't conditionalize building of gcj AOT bits (we're only building
a0c002
  this for gcj and IcedTea bootstrapping).
a0c002
a0c002
* Mon Jan 22 2007 Andrew Overholt <overholt@redhat.com> 3.2.1-1
a0c002
- Add eclipse-ecj-gcj.patch.
a0c002
a0c002
* Fri Jan 12 2007 Andrew Overholt <overholt@redhat.com> 3.2.1-1
a0c002
- First version for Fedora 7.
a0c002
- Add BR: java-devel for jar.
a0c002
a0c002
* Thu Nov 02 2006 Andrew Overholt <overholt@redhat.com> 1:3.2.1-1jpp
a0c002
- First version for JPackage.
a0c002
a0c002
* Mon Jul 24 2006 Andrew Overholt <overholt@redhat.com> 1:3.2.0-1
a0c002
- Add versionless ecj.jar symlink in /usr/share/java.
a0c002
a0c002
* Wed Jul 19 2006 Andrew Overholt <overholt@redhat.com> 1:3.2.0-1
a0c002
- 3.2.0.
a0c002
a0c002
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
a0c002
- rebuilt
a0c002
a0c002
* Mon Mar 07 2005 Andrew Overholt <overholt@redhat.com> 1:3.1.0.M4.9
a0c002
- Don't build for ppc or ia64.
a0c002
a0c002
* Sun Feb 20 2005 Andrew Overholt <overholt@redhat.com> 1:3.1.0.M4.6
a0c002
- Upgrade back to 3.1M4.
a0c002
- Don't build for i386 and x86_64.
a0c002
- Provide eclipse-ecj until we can deprecate this package.
a0c002
a0c002
* Fri Jan 14 2005 Andrew Overholt <overholt@redhat.com> 3.1.0.M4.4
a0c002
- build for all but x86
a0c002
a0c002
* Thu Jan 13 2005 Andrew Overholt <overholt@redhat.com> 3.1.0.M4.3
a0c002
- build for ppc exclusively
a0c002
a0c002
* Wed Jan 12 2005 Andrew Overholt <overholt@redhat.com> 3.1.0.M4.2
a0c002
- Add RPM_OPT_FLAGS workaround.
a0c002
a0c002
* Tue Jan 11 2005 Andrew Overholt <overholt@redhat.com> 3.1.0.M4.1
a0c002
- New version.
a0c002
a0c002
* Mon Sep 27 2004 Gary Benson <gbenson@redhat.com> 2.1.3-5
a0c002
- Rebuild with new katana.
a0c002
a0c002
* Fri Jul 22 2004 Gary Benson <gbenson@redhat.com> 2.1.3-4
a0c002
- Build without bootstrap-ant.
a0c002
- Split out lib-org-eclipse-jdt-internal-compiler.so.
a0c002
a0c002
* Tue Jul  6 2004 Gary Benson <gbenson@redhat.com> 2.1.3-3
a0c002
- Fix ecj-devel's dependencies.
a0c002
a0c002
* Wed Jun  9 2004 Gary Benson <gbenson@redhat.com> 2.1.3-2
a0c002
- Work around an optimiser failure somewhere in ecj or gcj (#125613).
a0c002
a0c002
* Fri May 28 2004 Gary Benson <gbenson@redhat.com>
a0c002
- Build with katana.
a0c002
a0c002
* Mon May 24 2004 Gary Benson <gbenson@redhat.com> 2.1.3-1
a0c002
- Initial Red Hat Linux build.
a0c002
a0c002
* Mon May 24 2004 Gary Benson <gbenson@redhat.com>
a0c002
- Upgraded to latest version.
a0c002
a0c002
* Sun Jul 20 2003 Anthony Green <green@redhat.com>
a0c002
- Add %%doc
a0c002
a0c002
* Fri Jul 18 2003 Anthony Green <green@redhat.com>
a0c002
- Initial RHUG build.