ragel.spec 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. ##
  2. ## ragel.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ## Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/>
  5. ##
  6. ## Permission to use, copy, modify, and distribute this software for
  7. ## any purpose with or without fee is hereby granted, provided that
  8. ## the above copyright notice and this permission notice appear in all
  9. ## copies.
  10. ##
  11. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  12. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  14. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  15. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  16. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  17. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  18. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  19. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  20. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  21. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22. ## SUCH DAMAGE.
  23. ##
  24. # package information
  25. Name: ragel
  26. Summary: Ragel State Machine Compiler
  27. URL: http://www.cs.queensu.ca/home/thurston/ragel/
  28. Vendor: Adrian Thurston
  29. Packager: OpenPKG Foundation e.V.
  30. Distribution: OpenPKG Community
  31. Class: PLUS
  32. Group: CompilerCompiler
  33. License: GPL
  34. Version: 5.15
  35. Release: 20061101
  36. # list of sources
  37. Source0: http://www.cs.queensu.ca/home/thurston/ragel/ragel-%{version}.tar.gz
  38. Patch0: ragel.patch
  39. # build information
  40. Prefix: %{l_prefix}
  41. BuildRoot: %{l_buildroot}
  42. BuildPreReq: OpenPKG, openpkg >= 20040130, gcc, make, flex, bison, gperf
  43. PreReq: OpenPKG, openpkg >= 20040130
  44. AutoReq: no
  45. AutoReqProv: no
  46. %description
  47. Ragel compiles finite state machines from regular languages into
  48. runnable C code. Ragel state machines can not only recognize byte
  49. sequences as regular expression machines do, but can also execute
  50. code at arbitrary points in the recognition of a regular language.
  51. When you wish to write down a regular language you start with some
  52. simple regular language and build a bigger one using the regular
  53. language operators union, concatenation, kleene star, intersection
  54. and subtraction. This is precisely the way you describe to Ragel
  55. how to compile your finite state machines. Ragel also understands
  56. operators that insert function calls into machines and operators
  57. that control any non-determinism in machines.
  58. %track
  59. prog ragel = {
  60. version = %{version}
  61. url = http://www.cs.queensu.ca/home/thurston/ragel/
  62. regex = ragel-(__VER__)\.tar\.gz
  63. }
  64. %prep
  65. %setup -q
  66. %patch -p0
  67. %build
  68. CC="%{l_cc}" \
  69. CXX="%{l_cxx}" \
  70. CFLAGS="%{l_cflags -O}" \
  71. CXXFLAGS="%{l_cxxflags -O}" \
  72. ./configure \
  73. --prefix=%{l_prefix}
  74. %{l_make} %{l_mflags}
  75. ( cd doc
  76. %{l_make} %{l_mflags} ragel.1 rlcodegen.1
  77. ) || exit $?
  78. %install
  79. rm -rf $RPM_BUILD_ROOT
  80. %{l_shtool} mkdir -f -p -m 755 \
  81. $RPM_BUILD_ROOT%{l_prefix}/bin \
  82. $RPM_BUILD_ROOT%{l_prefix}/man/man1
  83. %{l_shtool} install -c -s -m 755 \
  84. ragel/ragel rlcodegen/rlcodegen \
  85. $RPM_BUILD_ROOT%{l_prefix}/bin/
  86. %{l_shtool} install -c -m 644 \
  87. doc/ragel.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/
  88. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  89. %files -f files
  90. %clean
  91. rm -rf $RPM_BUILD_ROOT