]>
Commit | Line | Data |
---|---|---|
6e68e540 | 1 | Summary: Ragel State Machine Compiler |
ccb13302 | 2 | Summary(pl.UTF-8): Ragel State Machine Compiler - kompilator automatów |
6e68e540 | 3 | Name: ragel |
cfb9c477 | 4 | Version: 7.0.4 |
6e68e540 | 5 | Release: 1 |
cfb9c477 | 6 | License: MIT |
6e68e540 | 7 | Group: Development/Tools |
9af7546e | 8 | Source0: http://www.colm.net/files/ragel/%{name}-%{version}.tar.gz |
cfb9c477 | 9 | # Source0-md5: 2ca4f5507c1923bcf9a7909baa8254d3 |
9af7546e | 10 | URL: http://www.colm.net/open-source/ragel/ |
cfb9c477 JB |
11 | BuildRequires: colm = 0.14.7 |
12 | BuildRequires: colm-devel = 0.14.7 | |
13 | BuildRequires: rpm-build >= 4.6 | |
d98b1566 | 14 | BuildRequires: libstdc++-devel |
6e68e540 | 15 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
16 | ||
17 | %description | |
18 | Ragel compiles finite state machines from regular languages into | |
19 | runnable C code. Ragel state machines can not only recognize byte | |
20 | sequences as regular expression machines do, but can also execute code | |
21 | at arbitrary points in the recognition of a regular language. When you | |
22 | wish to write down a regular language you start with some simple | |
23 | regular language and build a bigger one using the regular language | |
9acded59 | 24 | operators union, concatenation, Kleene star, intersection and |
6e68e540 | 25 | subtraction. This is precisely the way you describe to Ragel how to |
26 | compile your finite state machines. Ragel also understands operators | |
27 | that insert function calls into machines and operators that control | |
28 | any non-determinism in machines. | |
29 | ||
963cfdec JR |
30 | %description -l pl.UTF-8 |
31 | Ragel kompiluje automaty skończone z języków regularnych do | |
32 | działającego kodu w C. Automaty Ragela nie tylko rozpoznają sekwencje | |
33 | bajtów, jak robią to automaty wyrażeń regularnych, ale także wykonują | |
34 | kod w dowolnych miejscach podczas rozpoznawania języka regularnego. | |
35 | Aby napisać język regularny zaczyna się od prostego języka regularnego | |
36 | i buduje większy przy użyciu operatorów sumy, złączenia, dopełnienia | |
37 | Kleene'a, przecięcia i odejmowania. Jest to dokładnie taki sposób, w | |
38 | jaki opisuje się Ragelowi jak kompilować automaty skończone. Ragel | |
39 | rozumie także operatory wstawiające wywołania funkcji do automatów i | |
40 | operatory sterujące niedeterminizmem w automatach. | |
9acded59 | 41 | |
cfb9c477 JB |
42 | %package doc |
43 | Summary: Documentation for Ragel | |
44 | Summary(pl.UTF-8): Dokumentacja do pakietu Ragel | |
45 | Group: Documentation | |
46 | BuildArch: noarch | |
47 | ||
48 | %description doc | |
49 | Documentation for Ragel. | |
50 | ||
51 | %description doc -l pl.UTF-8 | |
52 | Dokumentacja do pakietu Ragel. | |
53 | ||
54 | %package -n vim-syntax-ragel | |
55 | Summary: Vim syntax file for Ragel | |
56 | Summary(pl.UTF-8): Plik składni Vima dla pakietu Ragel | |
57 | Group: Applications/Editors | |
58 | Requires: vim-rt | |
59 | BuildArch: noarch | |
60 | ||
61 | %description -n vim-syntax-ragel | |
62 | Vim syntax file for Ragel. | |
63 | ||
64 | %description -n vim-syntax-ragel -l pl.UTF-8 | |
65 | Plik składni Vima dla pakietu Ragel. | |
66 | ||
6e68e540 | 67 | %prep |
68 | %setup -q | |
69 | ||
70 | %build | |
cfb9c477 JB |
71 | %configure \ |
72 | CPPFLAGS="%{rpmcppflags} -I/usr/include/aapl" \ | |
73 | COLM=/usr/bin/colm \ | |
74 | COLM_WRAP=/usr/bin/colm-wrap \ | |
75 | COLM_SHARE=/usr/share/colm \ | |
76 | LIBCOLM_LA="-lcolm" \ | |
77 | LIBFSM_LA="-lfsm" \ | |
78 | --datadir=%{_datadir}/ragel \ | |
79 | --disable-static | |
80 | ||
d98b1566 | 81 | %{__make} |
6e68e540 | 82 | |
83 | %install | |
84 | rm -rf $RPM_BUILD_ROOT | |
d98b1566 | 85 | |
78d5507f | 86 | %{__make} install \ |
55c27e4a | 87 | DESTDIR=$RPM_BUILD_ROOT |
6e68e540 | 88 | |
cfb9c477 JB |
89 | # API not exported |
90 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/libragel.{so,la} | |
91 | ||
9af7546e | 92 | # packaged as %doc |
cfb9c477 JB |
93 | %{__rm} $RPM_BUILD_ROOT%{_docdir}/ragel/ragel-guide.* |
94 | ||
95 | install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax | |
96 | %{__mv} $RPM_BUILD_ROOT%{_docdir}/ragel/ragel.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax | |
9af7546e | 97 | |
9acded59 JB |
98 | %clean |
99 | rm -rf $RPM_BUILD_ROOT | |
100 | ||
cfb9c477 JB |
101 | %post -p /sbin/ldconfig |
102 | %postun -p /sbin/ldconfig | |
103 | ||
6e68e540 | 104 | %files |
105 | %defattr(644,root,root,755) | |
cfb9c477 | 106 | %doc COPYING README |
d98b1566 | 107 | %attr(755,root,root) %{_bindir}/ragel |
cfb9c477 JB |
108 | %attr(755,root,root) %{_bindir}/ragel-asm |
109 | %attr(755,root,root) %{_bindir}/ragel-c | |
110 | %attr(755,root,root) %{_bindir}/ragel-crack | |
111 | %attr(755,root,root) %{_bindir}/ragel-csharp | |
112 | %attr(755,root,root) %{_bindir}/ragel-d | |
113 | %attr(755,root,root) %{_bindir}/ragel-go | |
114 | %attr(755,root,root) %{_bindir}/ragel-java | |
115 | %attr(755,root,root) %{_bindir}/ragel-js | |
116 | %attr(755,root,root) %{_bindir}/ragel-julia | |
117 | %attr(755,root,root) %{_bindir}/ragel-ocaml | |
118 | %attr(755,root,root) %{_bindir}/ragel-ruby | |
119 | %attr(755,root,root) %{_bindir}/ragel-rust | |
120 | %attr(755,root,root) %{_libdir}/libragel.so.*.*.* | |
121 | %attr(755,root,root) %ghost %{_libdir}/libragel.so.0 | |
122 | %{_datadir}/ragel | |
d98b1566 | 123 | %{_mandir}/man1/ragel.1* |
cfb9c477 JB |
124 | |
125 | %files doc | |
126 | %defattr(644,root,root,755) | |
127 | %doc doc/ragel/{ragel-guide.html,*.png} | |
128 | ||
129 | %files -n vim-syntax-ragel | |
130 | %defattr(644,root,root,755) | |
131 | %{_datadir}/vim/vimfiles/syntax/ragel.vim |