rebuilt with java-gcj-compat 1.0.80-20mamba support [release 3.6-6mamba;Fri Feb 25 2011]

This commit is contained in:
gil 2024-01-05 22:02:00 +01:00
parent 77ae84a20b
commit 4bb32def7a
8 changed files with 312 additions and 0 deletions

View File

@ -1,2 +1,4 @@
# eclipse-ecj # eclipse-ecj
ECJ is the Java bytecode compiler of the Eclipse Platform. It is also known as the JDT Core batch compiler.

32
eclipse-ecj-3.6.pom Normal file
View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!-- originally downloaded here:
ftp://rm.mirror.garr.it/mirrors/eclipse/eclipse/downloads/drops/R-3.5.2-201002111343/
ftp://rm.mirror.garr.it/mirrors/eclipse/eclipse/downloads/drops/R-3.5.2-201002111343/ecj-3.5.2.jar
ftp://rm.mirror.garr.it/mirrors/eclipse/eclipse/downloads/drops/R-3.5.2-201002111343/ecjsrc-3.5.2.zip
-->
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>3.6</version>
<packaging>jar</packaging>
<name>Eclipse ECJ</name>
<url>http://www.eclipse.org/jdt/</url>
<licenses>
<license>
<name>Eclipse Public License v1.0</name>
<url>http://www.eclipse.org/org/documents/epl-v10.php</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/</url>
</scm>
</project>

4
eclipse-ecj.sh.in Normal file
View File

@ -0,0 +1,4 @@
#!/bin/sh
CLASSPATH=@JAVADIR@/eclipse-ecj.jar${CLASSPATH:+:}$CLASSPATH \
gij org.eclipse.jdt.internal.compiler.batch.Main "$@"

203
eclipse-ecj.spec Normal file
View File

@ -0,0 +1,203 @@
%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

View File

@ -0,0 +1,15 @@
--- java-ecj-3.4.2/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java 2008-04-14 15:41:34.000000000 +0200
+++ java-ecj-3.4.2/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java-gil 2009-03-13 05:07:28.000000000 +0100
@@ -253,9 +253,9 @@
// By default only lines and source attributes are generated.
public int produceDebugAttributes = ClassFileConstants.ATTR_SOURCE | ClassFileConstants.ATTR_LINES;
- public long complianceLevel = ClassFileConstants.JDK1_4; // by default be compliant with 1.4
- public long sourceLevel = ClassFileConstants.JDK1_3; //1.3 source behavior by default
- public long targetJDK = ClassFileConstants.JDK1_2; // default generates for JVM1.2
+ public long complianceLevel = ClassFileConstants.JDK1_5; // by default be compliant with 1.4
+ public long sourceLevel = ClassFileConstants.JDK1_5; //1.3 source behavior by default
+ public long targetJDK = ClassFileConstants.JDK1_5; // default generates for JVM1.2
// source encoding format
public String defaultEncoding = null; // will use the platform default encoding

View File

@ -0,0 +1,20 @@
--- java-ecj-3.4.2/build.xml 2007-02-23 15:17:54.000000000 +0100
+++ java-ecj-3.4.2/build.xml-gil 2009-03-13 05:13:49.000000000 +0100
@@ -10,7 +10,7 @@
<mkdir dir="${output}" />
<javac srcdir="${basedir}" destdir="${output}"
- debuglevel="lines,source"
+ debug="yes"
source="1.3"
target="1.2"
excludes="org/eclipse/jdt/internal/compiler/tool/*,**/apt/**">
@@ -18,7 +18,7 @@
</javac>
<javac destdir="${output}"
- debuglevel="lines,source"
+ debug="yes"
source="1.6"
target="1.6"
includes="org/eclipse/jdt/internal/compiler/tool/*">

View File

@ -0,0 +1,32 @@
--- java-ecj-3.4.2/org/eclipse/jdt/internal/compiler/batch/Main.java 2008-04-21 11:01:00.000000000 +0200
+++ java-ecj-3.4.2/org/eclipse/jdt/internal/compiler/batch/Main.java-gil 2009-03-13 05:20:09.000000000 +0100
@@ -2609,6 +2609,29 @@
this.options.put(CompilerOptions.OPTION_Process_Annotations, CompilerOptions.ENABLED);
}
+ {
+ // If we're building an RPM, force full debugging info to
+ // be generated, no matter what options have been passed
+ // by Ant. This is something of a kludge, but it is far
+ // better than the alternative, which is having class
+ // files with debug info mysteriously missing.
+
+ String RpmPackageName = System.getenv("RPM_PACKAGE_NAME");
+ String RpmArch = System.getenv("RPM_ARCH");
+ String RpmBuildRoot = System.getenv("RPM_BUILD_ROOT");
+ if (RpmPackageName != null && RpmArch != null && RpmBuildRoot != null) {
+ this.options.put(
+ CompilerOptions.OPTION_LocalVariableAttribute,
+ CompilerOptions.GENERATE);
+ this.options.put(
+ CompilerOptions.OPTION_LineNumberAttribute,
+ CompilerOptions.GENERATE);
+ this.options.put(
+ CompilerOptions.OPTION_SourceFileAttribute,
+ CompilerOptions.GENERATE);
+ }
+ }
+
this.logger.logCommandLineArguments(newCommandLineArgs);
this.logger.logOptions(this.options);

4
java-ecj.sh.in Normal file
View File

@ -0,0 +1,4 @@
#!/bin/sh
CLASSPATH=@JAVADIR@/ecj.jar${CLASSPATH:+:}$CLASSPATH \
java org.eclipse.jdt.internal.compiler.batch.Main "$@"