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