Import from my private repository. Snapshot after version 5.16, immediately
[external/ragel.git] / ragel.spec
1 Summary:      Ragel State Machine Compiler
2 Name:         ragel
3 Version:      5.16
4 Release:      1
5
6 URL:          http://www.cs.queensu.ca/home/thurston/ragel/
7 Vendor:       Adrian Thurston
8 Packager:     Adrian Thurston
9 Distribution: Any
10 Group:        Development/Other
11 License:      GPL
12
13 Source0:      http://www.cs.queensu.ca/home/thurston/ragel/%{name}-%{version}.tar.gz
14
15 Prefix:       /usr
16 BuildRoot:    %_tmppath/%name-%version-root
17 BuildPreReq:  gcc, make
18
19 %description
20 Ragel compiles finite state machines from regular languages into executable C,
21 C++, Objective-C or D code. Ragel state machines can not only recognize byte
22 sequences as regular expression machines do, but can also execute code at
23 arbitrary points in the recognition of a regular language. Using custom
24 operators, Ragel allows the user to embed code into a regular language in
25 arbitrary places without disrupting the regular language syntax. Ragel also
26 provides operators for controlling nondeterminism, constructing machines using
27 state charts and building scanners.
28
29 %prep
30 %setup -q -n %{name}-%{version}
31
32 %build
33 ./configure --prefix=%{prefix}
34 make CFLAGS="-O2 -Wall"
35 cd doc && make ragel.1 rlcodegen.1
36
37 %install
38 # Rather than 'make install', let RPM choose where
39 # things are kept on this system:
40 install -d $RPM_BUILD_ROOT%_bindir
41 install -s ragel/ragel $RPM_BUILD_ROOT%_bindir/ragel
42 install -s rlcodegen/rlcodegen $RPM_BUILD_ROOT%_bindir/rlcodegen
43 install -d $RPM_BUILD_ROOT%_mandir/man1
44 install doc/ragel.1 $RPM_BUILD_ROOT%_mandir/man1/ragel.1
45 install doc/rlcodegen.1 $RPM_BUILD_ROOT%_mandir/man1/rlcodegen.1
46
47 %files
48 %defattr(-,root,root)
49 %_bindir/ragel
50 %_bindir/rlcodegen
51 %_mandir/man1/ragel.1
52 %_mandir/man1/rlcodegen.1
53
54 %clean
55     rm -rf $RPM_BUILD_ROOT