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