Selaa lähdekoodia

update: ecj

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@1664 ec354946-7b23-47d6-9f5a-488ba84defc7
inagaki 13 vuotta sitten
vanhempi
commit
e731565479
1 muutettua tiedostoa jossa 71 lisäystä ja 11 poistoa
  1. 71 11
      e/ecj/ecj-vl.spec

+ 71 - 11
e/ecj/ecj-vl.spec

@@ -1,36 +1,76 @@
-%define qualifier 200909170800
+%define qualifier 201006080911
 
 
 Summary: Eclipse Compiler for Java
 Summary: Eclipse Compiler for Java
 Name: ecj
 Name: ecj
-Version: 3.5.1
+Version: 3.6
 Release: 1%{?_dist_release}
 Release: 1%{?_dist_release}
+
 URL: http://www.eclipse.org
 URL: http://www.eclipse.org
 License: EPL
 License: EPL
 Group: Development/Languages
 Group: Development/Languages
 
 
-Source0: ftp://sourceware.org/pub/java/ecj-latest.jar
-Source1: ecj-gij.sh.in
+#Source0: ftp://sourceware.org/pub/java/ecj-latest.jar
+#Source1: ecj-gij.sh.in
+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 co eclipse-gcj
+# tar cjf ecj-gcj.tar.bz2 eclipse-gcj
+Source2: %{name}-gcj.tar.bz2
 
 
-BuildArch: noarch
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
+#BuildArch: noarch
 BuildRequires: jpackage-utils
 BuildRequires: jpackage-utils
-Requires: gcc-java
+BuildRequires: gcc-java >= 4.0.0
+BuildRequires: fastjar
+# for /usr/bin/aot-compile-rpm
+BuildRequires: java-gcj-compat-devel
+
+Requires: libgcj >= 4.0.0
+# for /usr/bin/rebuild-gcj-db
+Requires(post): java-gcj-compat
+Requires(postun): java-gcj-compat
 
 
-#Provides: eclipse-ecj = %{epoch}:%{version}-%{release}
-#Obsoletes: eclipse-ecj < 1:3.4.2-4
+Provides: eclipse-ecj = %{version}-%{release}
+#Obsoletes: eclipse-ecj < 3.4.2-4
 
 
 %description
 %description
 ECJ is the Java bytecode compiler of the Eclipse Platform.  It is also known as
 ECJ is the Java bytecode compiler of the Eclipse Platform.  It is also known as
 the JDT Core batch compiler.
 the JDT Core batch compiler.
 
 
 %prep
 %prep
-#%setup -q -c
+%setup -q -c
+
+# 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
+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
 
 
 %install
 %install
 rm -rf $RPM_BUILD_ROOT
 rm -rf $RPM_BUILD_ROOT
+rm -rf aot-compile-rpm
 
 
 mkdir -p $RPM_BUILD_ROOT%{_javadir}
 mkdir -p $RPM_BUILD_ROOT%{_javadir}
-install -m644 %{SOURCE0} $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
+#install -m644 %{SOURCE0} $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
+install -m644 *.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
 pushd $RPM_BUILD_ROOT%{_javadir}
 pushd $RPM_BUILD_ROOT%{_javadir}
 ln -s %{name}-%{version}.jar %{name}.jar
 ln -s %{name}-%{version}.jar %{name}.jar
 ln -s %{name}-%{version}.jar eclipse-%{name}-%{version}.jar
 ln -s %{name}-%{version}.jar eclipse-%{name}-%{version}.jar
@@ -42,17 +82,37 @@ popd
 install -p -D -m0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ecj
 install -p -D -m0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ecj
 sed --in-place "s:@JAVADIR@:%{_javadir}:" $RPM_BUILD_ROOT%{_bindir}/ecj
 sed --in-place "s:@JAVADIR@:%{_javadir}:" $RPM_BUILD_ROOT%{_bindir}/ecj
 
 
+aot-compile-rpm
+
+
 %clean
 %clean
 rm -rf $RPM_BUILD_ROOT
 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
 %files
 %defattr(-,root,root,-)
 %defattr(-,root,root,-)
 %{_bindir}/%{name}
 %{_bindir}/%{name}
 %{_javadir}/%{name}*.jar
 %{_javadir}/%{name}*.jar
 %{_javadir}/eclipse-%{name}*.jar
 %{_javadir}/eclipse-%{name}*.jar
 %{_javadir}/jdtcore.jar
 %{_javadir}/jdtcore.jar
-#{_libdir}/gcj/%{name}
+%{_libdir}/gcj/%{name}
 
 
 %changelog
 %changelog
+* Tue Aug 24 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.6.0-1
+- new upstream release
+- enabled AOT compile
+
 * Mon Apr 19 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.5.1-1
 * Mon Apr 19 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.5.1-1
 - initial build for Vine Linux
 - initial build for Vine Linux