204 lines
6.2 KiB
RPMSpec
204 lines
6.2 KiB
RPMSpec
%define antlib %(echo $ANT_HOME/lib)
|
|
%define gcjbootstrap 0
|
|
%define javahome %{_jvmdir}/jdk
|
|
Name: eclipse-ecj
|
|
Version: 3.6
|
|
Release: 6mamba
|
|
Summary: Eclipse Compiler for Java
|
|
Group: Development/Languages
|
|
Vendor: openmamba
|
|
Distribution: openmamba
|
|
Packager: gil <puntogil@libero.it>
|
|
URL: http://www.eclipse.org
|
|
Source0: ftp://rm.mirror.garr.it/mirrors/eclipse/eclipse/downloads/drops/R-%{version}-201006080911/ecjsrc-%{version}.zip
|
|
#Source0: http://download.eclipse.org/eclipse/downloads/drops/R-%{version}-200902111700/ecjsrc-%{version}.zip
|
|
Source1: java-ecj.sh.in
|
|
# cvs -d:pserver:anonymous@sourceware.org:/cvs/rhug export -r eclipse_r34_1 eclipse-gcj
|
|
# tar cjf java-ecj-gcj.tar.bz2 eclipse-gcj
|
|
Source2: java-ecj-gcj.tar.bz2
|
|
Source3: jdtcoresrc.tar.gz
|
|
Source4: eclipse-ecj-%{version}-OSGi_MANIFEST.tar.gz
|
|
# from http://repo1.maven.org/maven2/org/eclipse/jdt/core/compiler/ecj/3.5.1/ecj-3.5.1.pom
|
|
Source5: eclipse-ecj-%{version}.pom
|
|
Source6: eclipse-ecj.sh.in
|
|
Patch0: java-ecj-3.4.2-rpmdebuginfo.patch
|
|
Patch1: java-ecj-3.4.2-defaultto1.5.patch
|
|
Patch2: java-ecj-3.4.2-generatedebuginfo.patch
|
|
License: Eclipse Public License Version 1.0
|
|
BuildRequires: apache-ant
|
|
%if %gcjbootstrap
|
|
BuildRequires: fastjar
|
|
BuildRequires: gcc-java
|
|
%endif
|
|
BuildRequires: java-gcj-compat
|
|
BuildRequires: java-junit3
|
|
BuildRequires: jpackage-utils
|
|
BuildRequires: zip
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
|
|
%description
|
|
ECJ is the Java bytecode compiler of the Eclipse Platform. It is also known as the JDT Core batch compiler.
|
|
|
|
%package gcj
|
|
Summary: GCJ %{name} support
|
|
Group: System/Libraries/Java
|
|
BuildRequires: java-gcj-compat
|
|
BuildRequires: libgcj4-devel
|
|
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
|
Requires: java-gcj-compat
|
|
Requires: jpackage-utils
|
|
|
|
%description gcj
|
|
Eclipse Compiler for Java.
|
|
This package contains GCJ %{name} support.
|
|
|
|
%prep
|
|
|
|
%setup -q -c -n %{name}-%{version}
|
|
%patch0 -p1
|
|
#%patch1 -p1
|
|
%patch2 -p1
|
|
tar jxf %{S:2}
|
|
tar zxf %{S:3}
|
|
# Use ECJ for GCJ's bytecode compiler
|
|
|
|
cp -pr eclipse-gcj/org/eclipse/jdt/internal/compiler/batch/GCCMain.java org/eclipse/jdt/internal/compiler/batch/
|
|
mkdir -p jdtcoresrc/src/org/eclipse/jdt/internal/compiler/batch/
|
|
mv eclipse-gcj/org/eclipse/jdt/internal/compiler/batch/GCCMain.java jdtcoresrc/src/org/eclipse/jdt/internal/compiler/batch/
|
|
cat eclipse-gcj/gcc.properties >> org/eclipse/jdt/internal/compiler/batch/messages.properties
|
|
rm -rf eclipse-gcj
|
|
|
|
# JDTCompilerAdapter isn't used by the batch compiler
|
|
rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java
|
|
|
|
%build
|
|
unset JAVA_HOME
|
|
export JAVA_HOME=%javahome
|
|
%if %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 ecj-%{version}.jar
|
|
%else
|
|
ORIGCLASSPATH=$CLASSPATH
|
|
ant -DcompilerArg="-encoding ISO-8859-1 -nowarn" -buildfile jdtcoresrc/compilejdtcorewithjavac.xml
|
|
# 2. Use this ecj to rebuild itself
|
|
export CLASSPATH=`pwd`/jdtcoresrc/ecj.jar:$ORIGCLASSPATH
|
|
ant -DcompilerArg="-encoding ISO-8859-1 -nowarn" -buildfile jdtcoresrc/compilejdtcore.xml
|
|
%endif
|
|
|
|
mkdir temp
|
|
cd temp
|
|
%javahome/bin/jar -xf ../ecj.jar
|
|
rm -rf ../ecj.jar META-INF
|
|
cp -pr ../org/eclipse/jdt/internal/compiler/batch/messages.properties org/eclipse/jdt/internal/compiler/batch/
|
|
%javahome/bin/jar -cMf ../ecj.jar *
|
|
cd ..
|
|
tar -xf %{S:4}
|
|
touch META-INF/MANIFEST.MF
|
|
touch META-INF/services/javax.tools.JavaCompiler
|
|
zip -u ecj.jar META-INF/MANIFEST.MF META-INF/services/javax.tools.JavaCompiler
|
|
|
|
%install
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
|
|
mkdir -p %{buildroot}%{_javadir}
|
|
install -m 644 ecj.jar %{buildroot}%{_javadir}/ecj-%{version}.jar
|
|
|
|
mkdir -p %{buildroot}%{antlib}
|
|
|
|
pushd %{buildroot}%{_javadir}
|
|
# ln -s ecj-%{version}.jar ecj.jar
|
|
ln -s ecj-%{version}.jar eclipse-ecj-%{version}.jar
|
|
ln -s eclipse-ecj-%{version}.jar eclipse-ecj.jar
|
|
ln -s ecj-%{version}.jar jdtcore.jar
|
|
ln -s ../../java/ecj-%{version}.jar %{buildroot}%{antlib}/ecj-%{version}.jar
|
|
popd
|
|
|
|
mkdir -p %{buildroot}%{_bindir}
|
|
install -pm 755 %{S:6} %{buildroot}%{_bindir}/ecj
|
|
sed -i "s:@JAVADIR@:%{_javadir}:" %{buildroot}%{_bindir}/ecj
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/maven2/poms
|
|
install -m 644 %{S:5} %{buildroot}%{_datadir}/maven2/poms/JPP-eclipse-ecj.pom
|
|
%add_to_maven_depmap org.eclipse.jdt.core.compiler ecj %{version} JPP eclipse-ecj
|
|
|
|
%{_bindir}/aot-compile-rpm
|
|
|
|
%clean
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_bindir}/ecj
|
|
%{_javadir}/ecj-%{version}.jar
|
|
#%{_javadir}/ecj.jar
|
|
%{_javadir}/eclipse-ecj-%{version}.jar
|
|
%{_javadir}/eclipse-ecj.jar
|
|
%{_javadir}/jdtcore.jar
|
|
%{antlib}/ecj-%{version}.jar
|
|
%{_mavendepmapfragdir}
|
|
%{_datadir}/maven2/poms
|
|
%doc about.html
|
|
|
|
%post gcj
|
|
/sbin/ldconfig
|
|
if [ -x %{_bindir}/rebuild-gcj-db ]; then
|
|
%{_bindir}/rebuild-gcj-db
|
|
fi
|
|
|
|
%postun gcj
|
|
/sbin/ldconfig
|
|
if [ -x %{_bindir}/rebuild-gcj-db ]; then
|
|
%{_bindir}/rebuild-gcj-db
|
|
fi
|
|
|
|
%files gcj
|
|
%defattr(-,root,root)
|
|
%{_libdir}/gcj/eclipse-ecj/ecj-*.jar.db
|
|
%{_libdir}/gcj/eclipse-ecj/ecj-*.jar.so
|
|
|
|
%changelog
|
|
* Fri Feb 25 2011 gil <puntogil@libero.it> 3.6-6mamba
|
|
- rebuilt with java-gcj-compat 1.0.80-20mamba support
|
|
|
|
* Thu Jan 06 2011 gil <puntogil@libero.it> 3.6-5mamba
|
|
- rebuilt
|
|
|
|
* Thu Jan 06 2011 gil <puntogil@libero.it> 3.6-4mamba
|
|
- edit spec file
|
|
|
|
* Thu Jan 06 2011 gil <puntogil@libero.it> 3.6-3mamba
|
|
- edit eclipse-ecj.sh.in
|
|
|
|
* Sun Nov 28 2010 gil <puntogil@libero.it> 3.6-2mamba
|
|
- rebuilt devel
|
|
|
|
* Sat Jul 10 2010 gil <puntogil@libero.it> 3.6-1mamba
|
|
- update to 3.6
|
|
|
|
* Wed May 19 2010 gil <puntogil@libero.it> 3.5.2-4mamba
|
|
- edit script
|
|
|
|
* Wed May 19 2010 gil <puntogil@libero.it> 3.5.2-3mamba
|
|
- added: maven pom
|
|
|
|
* Thu Apr 22 2010 gil <puntogil@libero.it> 3.5.2-2mamba
|
|
- added: OSGi MANIFEST
|
|
|
|
* Wed Mar 17 2010 gil <puntogil@libero.it> 3.5.2-1mamba
|
|
- update to 3.5.2
|
|
|
|
* Sun Sep 13 2009 gil <puntogil@libero.it> 3.5-1mamba
|
|
- update to 3.5
|
|
|
|
* Sat Apr 04 2009 gil <puntogil@libero.it> 3.4.2-2mamba
|
|
- rebuilt
|
|
|
|
* Fri Mar 13 2009 gil <puntogil@libero.it> 3.4.2-1mamba
|
|
- renamed eclipse-ecj
|
|
|
|
* Fri Mar 13 2009 gil <puntogil@libero.it> 3.4.2-1mamba
|
|
- package created by autospec
|