]>
Commit | Line | Data |
---|---|---|
1f8e1071 ER |
1 | # |
2 | # | |
3 | # Conditional build: | |
4 | %bcond_with bootstrap # bootstrap build | |
5 | ||
a0484465 JB |
6 | Summary: A parser/scanner generator for Java |
7 | Summary(pl.UTF-8): Generator analizatorów/skanerów dla Javy | |
f6999b2e | 8 | Name: javacc |
1f8e1071 | 9 | Version: 5.0 |
382db443 | 10 | Release: 1 |
f6999b2e | 11 | License: BSD |
1f8e1071 ER |
12 | Group: Development/Languages/Java |
13 | Source0: http://java.net/projects/javacc/downloads/download/%{name}-%{version}src.tar.gz | |
14 | # Source0-md5: 871d78a2a5859c2eebc712c1f8135be5 | |
f6999b2e ER |
15 | Source1: %{name} |
16 | Source2: jjdoc | |
17 | Source3: jjtree | |
1f8e1071 | 18 | Patch0: build.xml.patch |
f6999b2e ER |
19 | URL: https://javacc.dev.java.net/ |
20 | BuildRequires: /bin/bash | |
21 | BuildRequires: ant | |
9e6060f3 | 22 | BuildRequires: glibc-localedb-all |
1f8e1071 | 23 | BuildRequires: java-junit >= 3.8.1 |
f6999b2e | 24 | BuildRequires: jpackage-utils |
f6999b2e ER |
25 | BuildRequires: rpmbuild(macros) >= 1.300 |
26 | Requires: jpackage-utils >= 0:1.5 | |
27 | BuildArch: noarch | |
28 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
29 | ||
30 | %description | |
31 | Java Compiler Compiler (JavaCC) is the most popular parser generator | |
32 | for use with Java applications. A parser generator is a tool that | |
33 | reads a grammar specification and converts it to a Java program that | |
34 | can recognize matches to the grammar. In addition to the parser | |
35 | generator itself, JavaCC provides other standard capabilities related | |
36 | to parser generation such as tree building (via a tool called JJTree | |
37 | included with JavaCC), actions, debugging, etc. | |
38 | ||
a0484465 JB |
39 | %description -l pl.UTF-8 |
40 | Java Compiler Compiler (JavaCC) to najbardziej popularny generator | |
41 | analizatorów do używania w aplikacjach Javy. Generator analizatorów to | |
42 | narzędzie czytające specyfikację gramatyki i przekształcające ją na | |
43 | program w Javie rozpoznający dopasowania do gramatyki. Oprócz samego | |
44 | generatora analizatorów JavaCC udostępnia inne standardowe możliwości | |
45 | związane z generowaniem analizatorów, takie jak budowanie drzewa | |
46 | (poprzez narzędzie o nazwie JJTree dołączone do JavaCC), akcje, | |
47 | diagnostykę itp. | |
48 | ||
f6999b2e | 49 | %package manual |
a0484465 JB |
50 | Summary: Manual for JavaCC |
51 | Summary(pl.UTF-8): Podręcznik do JavaCC | |
f6999b2e ER |
52 | Group: Documentation |
53 | ||
54 | %description manual | |
a0484465 JB |
55 | Manual for JavaCC. |
56 | ||
57 | %description manual -l pl.UTF-8 | |
58 | Podręcznik do JavaCC. | |
f6999b2e ER |
59 | |
60 | %package demo | |
a0484465 JB |
61 | Summary: Examples for JavaCC |
62 | Summary(pl.UTF-8): Przykłady do JavaCC | |
f6999b2e ER |
63 | Group: Documentation |
64 | ||
65 | %description demo | |
a0484465 JB |
66 | Examples for JavaCC. |
67 | ||
68 | %description demo -l pl.UTF-8 | |
69 | Przykłady do JavaCC. | |
f6999b2e ER |
70 | |
71 | %prep | |
1f8e1071 ER |
72 | %setup -qc |
73 | mv %{name}/* .; rmdir %{name} | |
74 | %patch0 -p1 | |
75 | ||
76 | cp -p %{SOURCE1} javacc | |
77 | cp -p %{SOURCE2} jjdoc | |
78 | cp -p %{SOURCE3} jjtree | |
79 | ||
80 | # Remove binary information in the source tar | |
81 | rm lib/junit3.8.1/junit.jar | |
82 | %if %{without bootstrap} | |
83 | rm bootstrap/javacc.jar | |
84 | %endif | |
85 | ||
86 | find examples -type f | xargs %undos | |
87 | ||
88 | sed -i -e 's/source="1.4"/source="1.5"/g' src/org/javacc/{parser,jjdoc,jjtree}/build.xml | |
89 | ||
f6999b2e ER |
90 | mv www/doc . |
91 | ||
92 | %build | |
1f8e1071 ER |
93 | %if %{without bootstrap} |
94 | # Use the bootstrap javacc.jar to generate some required | |
95 | # source java files. After these source files are generated we | |
96 | # remove the bootstrap jar and build the binary from source. | |
97 | jar=$(find-jar javacc) | |
98 | ln -sf $jar bootstrap/javacc.jar | |
99 | %endif | |
100 | ||
101 | %ant -f src/org/javacc/parser/build.xml parser-files | |
102 | %ant -f src/org/javacc/jjtree/build.xml tree-files | |
103 | ||
382db443 | 104 | required_jars="junit" |
1f8e1071 | 105 | export CLASSPATH=$(build-classpath $required_jars) |
382db443 | 106 | |
f6999b2e | 107 | %ant \ |
a0484465 | 108 | jar |
f6999b2e ER |
109 | |
110 | %install | |
111 | rm -rf $RPM_BUILD_ROOT | |
112 | install -d $RPM_BUILD_ROOT%{_javadir} | |
1f8e1071 | 113 | cp -p bin/lib/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar |
f6999b2e | 114 | ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar |
1f8e1071 | 115 | |
f6999b2e | 116 | install -d $RPM_BUILD_ROOT%{_bindir} |
1f8e1071 ER |
117 | install -p javacc jjdoc jjtree $RPM_BUILD_ROOT%{_bindir} |
118 | ||
119 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
120 | cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
f6999b2e ER |
121 | |
122 | %clean | |
123 | rm -rf $RPM_BUILD_ROOT | |
124 | ||
125 | %files | |
126 | %defattr(644,root,root,755) | |
f6999b2e | 127 | %doc LICENSE README |
1f8e1071 ER |
128 | %attr(755,root,root) %{_bindir}/javacc |
129 | %attr(755,root,root) %{_bindir}/jjdoc | |
130 | %attr(755,root,root) %{_bindir}/jjtree | |
131 | %{_javadir}/javacc-%{version}.jar | |
132 | %{_javadir}/javacc.jar | |
f6999b2e ER |
133 | |
134 | %files manual | |
135 | %defattr(644,root,root,755) | |
136 | %doc doc/* | |
137 | ||
138 | %files demo | |
139 | %defattr(644,root,root,755) | |
1f8e1071 | 140 | %{_examplesdir}/%{name}-%{version} |