source: projects/specs/trunk/e/ecj/ecj-vl.spec @ 1664

Revision 1664, 3.0 KB checked in by inagaki, 14 years ago (diff)

update: ecj

Line 
1%define qualifier 201006080911
2
3Summary: Eclipse Compiler for Java
4Name: ecj
5Version: 3.6
6Release: 1%{?_dist_release}
7
8URL: http://www.eclipse.org
9License: EPL
10Group: Development/Languages
11
12#Source0: ftp://sourceware.org/pub/java/ecj-latest.jar
13#Source1: ecj-gij.sh.in
14Source0: http://download.eclipse.org/eclipse/downloads/drops/R-%{version}-%{qualifier}/%{name}src-%{version}.zip
15Source1: ecj.sh.in
16# Use ECJ for GCJ
17# cvs -d:pserver:anonymous@sourceware.org:/cvs/rhug co eclipse-gcj
18# tar cjf ecj-gcj.tar.bz2 eclipse-gcj
19Source2: %{name}-gcj.tar.bz2
20
21BuildRoot: %{_tmppath}/%{name}-%{version}-root
22#BuildArch: noarch
23BuildRequires: jpackage-utils
24BuildRequires: gcc-java >= 4.0.0
25BuildRequires: fastjar
26# for /usr/bin/aot-compile-rpm
27BuildRequires: java-gcj-compat-devel
28
29Requires: libgcj >= 4.0.0
30# for /usr/bin/rebuild-gcj-db
31Requires(post): java-gcj-compat
32Requires(postun): java-gcj-compat
33
34Provides: eclipse-ecj = %{version}-%{release}
35#Obsoletes: eclipse-ecj < 3.4.2-4
36
37%description
38ECJ is the Java bytecode compiler of the Eclipse Platform.  It is also known as
39the JDT Core batch compiler.
40
41%prep
42%setup -q -c
43
44# Use ECJ for GCJ's bytecode compiler
45tar jxf %{SOURCE2}
46mv eclipse-gcj/org/eclipse/jdt/internal/compiler/batch/GCCMain.java \
47  org/eclipse/jdt/internal/compiler/batch/
48cat eclipse-gcj/gcc.properties >> \
49  org/eclipse/jdt/internal/compiler/batch/messages.properties
50rm -rf eclipse-gcj
51
52# Remove bits of JDT Core we don't want to build
53rm -r org/eclipse/jdt/internal/compiler/tool
54rm -r org/eclipse/jdt/internal/compiler/apt
55
56# JDTCompilerAdapter isn't used by the batch compiler
57rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java
58
59%build
60for f in `find -name '*.java' | cut -c 3- | LC_ALL=C sort`; do
61    gcj -Wno-deprecated -C $f
62done
63
64find -name '*.class' -or -name '*.properties' -or -name '*.rsc' |\
65    xargs fastjar cf %{name}-%{version}.jar
66
67%install
68rm -rf $RPM_BUILD_ROOT
69rm -rf aot-compile-rpm
70
71mkdir -p $RPM_BUILD_ROOT%{_javadir}
72#install -m644 %{SOURCE0} $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
73install -m644 *.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
74pushd $RPM_BUILD_ROOT%{_javadir}
75ln -s %{name}-%{version}.jar %{name}.jar
76ln -s %{name}-%{version}.jar eclipse-%{name}-%{version}.jar
77ln -s eclipse-%{name}-%{version}.jar eclipse-%{name}.jar
78ln -s %{name}-%{version}.jar jdtcore.jar
79popd
80
81# Install the ecj wrapper script
82install -p -D -m0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ecj
83sed --in-place "s:@JAVADIR@:%{_javadir}:" $RPM_BUILD_ROOT%{_bindir}/ecj
84
85aot-compile-rpm
86
87
88%clean
89rm -rf $RPM_BUILD_ROOT
90
91%post
92if [ -x %{_bindir}/rebuild-gcj-db ]
93then
94  %{_bindir}/rebuild-gcj-db
95fi
96
97%postun
98if [ -x %{_bindir}/rebuild-gcj-db ]
99then
100  %{_bindir}/rebuild-gcj-db
101fi
102
103
104%files
105%defattr(-,root,root,-)
106%{_bindir}/%{name}
107%{_javadir}/%{name}*.jar
108%{_javadir}/eclipse-%{name}*.jar
109%{_javadir}/jdtcore.jar
110%{_libdir}/gcj/%{name}
111
112%changelog
113* Tue Aug 24 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.6.0-1
114- new upstream release
115- enabled AOT compile
116
117* Mon Apr 19 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.5.1-1
118- initial build for Vine Linux
Note: See TracBrowser for help on using the repository browser.