1 # NOTE: 2.5.35+ can't deal with "[[" "]]" strings in sources, needs workarounds like space separation
2 # (or non-trivial update of m4-quotes patch)
3 # NOTE on shared libfl:
4 # It exports two functions, yywrap() and main();
5 # - because of the latter, unnecessary linking with shared -lfl would harm,
6 # so it would require large cleanup of other projects;
7 # - when some code wants yywrap(), but no main(), using shared libfl is NOT POSSIBLE.
8 # Thus, shared libfl would be of little use.
9 Summary: GNU fast lexical analyzer generator
10 Summary(de.UTF-8): GNU - schneller lexikalischer Analysegenerator
11 Summary(es.UTF-8): Generador rápido de analizadores léxicos de la GNU
12 Summary(fr.UTF-8): Générateur rapide d'analyseur lexical de GNU
13 Summary(pl.UTF-8): Szybki generator analizatora składni GNU (flex)
14 Summary(pt_BR.UTF-8): Gerador rápido de analisadores léxicos da GNU
15 Summary(ru.UTF-8): Быстрый генератор лексических анализаторов GNU
16 Summary(tr.UTF-8): GNU sözdizim çözümleyici
17 Summary(uk.UTF-8): Швидкий генератор лексичних аналізаторів GNU
22 Group: Development/Tools
23 Source0: http://downloads.sourceforge.net/flex/%{name}-%{version}.tar.bz2
24 # Source0-md5: b230c88e65996ff74994d08a2a2e0f27
25 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
26 # Source1-md5: fd79ee2834b290e74c626f0bbfc8942f
27 Patch0: %{name}-info.patch
28 Patch1: %{name}-pic.patch
29 # patch #869230 (second version of bug #720983 fix - from flex BTS)
30 # outdated as for 2.5.34+, but contains testcase
31 Patch2: %{name}-m4-quotes.diff
32 URL: http://flex.sourceforge.net/
33 BuildRequires: autoconf >= 2.54
34 BuildRequires: automake >= 1:1.10
36 # to rebuild scan.c from scan.l (m4-quotes patch)
38 BuildRequires: gettext-devel >= 0.12
39 BuildRequires: help2man
40 # to rebuild skel.c from patched flex.skl
42 BuildRequires: texinfo
43 BuildRequires: util-linux
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 This is the GNU fast lexical analyzer generator. It generates lexical
49 tokenizing code based on a lexical (regular expression based)
50 description of the input. It is designed to work with both yacc and
51 bison, and is used by many programs as part of their build process.
53 %description -l de.UTF-8
54 GNU, der schnelle lexikalische Analysengenerator. Er erzeugt
55 lexikalischen Token-Code, basierend auf einer lexikalischen
56 Beschreibung (reguläre Ausdrucksbasis) der Eingabe. Ausgelegt zum
57 Arbeiten mit yacc und bison, wird er von vielen Programmen als Teil
58 des Build-Vorgangs verwendet.
60 %description -l es.UTF-8
61 Este es el creador GNU de análisis léxica rápida. Crea códigos léxicos
62 tokenizados basados en una descripción léxica (basado en expresiones
63 regulares) de la entrada. Está designado a trabajar tanto con yacc
64 como con bison, y se utiliza en varios programas como parte del su
65 proceso de programación.
67 %description -l fr.UTF-8
68 Générateur rapide d'analyseur lexical de GNU. Il génère du code
69 lexical sous forme de tokens basé sur une description lexicale (basé
70 sur les expressions rationnelles) de son entrée. Il est conçu pour
71 fonctionner avec yacc et bison, et est utilisé par de nombreux
72 programmes comme faisant partie de leur phase de construction.
74 %description -l pl.UTF-8
75 GNU flex służy do tworzenia programu analizy leksykalnej na podstawie
76 wyrażeń regularnych i dyrektyw C zawartych w jednym lub więcej plikach
77 wejściowych. Przeznaczony do współpracy z parserami yacc i bison, jest
78 używany przez wiele programów w procesie kompilacji.
80 %description -l pt_BR.UTF-8
81 Este é o gerador GNU de análise léxica rápida. Ele gera códigos
82 léxicos tokenizados baseados em uma descrição léxica (baseado em
83 expressões regulares) da entrada. Ele é designado para trabalhar tanto
84 com yacc como com bison, e é utilizado em vários programas como parte
85 do seu processo de programação.
87 %description -l ru.UTF-8
88 Программа flex генерирует сканнеры. Сканнеры - это программы,
89 способные распознавать лексические шаблоны в тексте. flex принимает на
90 входе пару регулярных выражений и C код и генерирует исходные файлы на
91 языке C. Исходный файл компилируется и связывается с библиотекой для
92 создания исполняемого файла, который будет просматривать свой входной
93 поток данных в поиске регулярных выражений. При нахождении будет
94 исполняться заданный C код. flex был разработан для работы как с
95 системой Yacc, так и Bison, и используется многими программами как
96 часть процесса их построения из исходных текстов.
98 Вам следует установить flex, если вы собираетесь использовать свою
99 систему для разработки программ.
101 %description -l tr.UTF-8
102 Bu paket, giriş olarak okuduğu bilgiyi kendisine düzgün deyimler
103 olarak belirtilen kurallar çerçevesinde birimlere böler. yacc ve bison
104 paketleri ile birlikte çalışacak şekilde tasarlanmıştır. Pek çok
105 programın derlenme aşamasında kullanılır.
107 %description -l uk.UTF-8
108 Програма flex генерує сканери. Сканери - це програми, які можуть
109 розпізнавати лексичні шаблони в тексті. flex приймає на вході пару
110 регулярних виразів та C код та генерує вихідні файли на мові C.
111 Вихідний файл компілюється та зв'язується з бібліотекою для створення
112 виконуваного файлу, що проглядатиме свій вхідний потік даних в пошуку
113 регулярних виразів. При знаходженні виконуватиметься заданий C код.
114 flex був розроблений для роботи як з системою Yacc, так і Bison, та
115 використовується багатьма програмами в процесі їх побудови з вихідних
118 Вам слід встановити flex, якщо ви збираєтесь використовувати свою
119 систему для розробки програм.
122 Summary: Flex examples
123 Summary(pl.UTF-8): Przykłady dla fleksa
124 Group: Development/Tools
126 %description examples
129 %description examples -l pl.UTF-8
130 Przykłady dla fleksa.
138 # force regeneration (just in case make didn't want to)
153 rm -rf $RPM_BUILD_ROOT
154 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
157 DESTDIR=$RPM_BUILD_ROOT
159 ln -sf flex $RPM_BUILD_ROOT%{_bindir}/lex
160 ln -sf flex $RPM_BUILD_ROOT%{_bindir}/flex++
162 echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/flex++.1
163 echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lex.1
165 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
166 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.flex-non-english-man-pages
168 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
170 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
172 # no external dependencies
173 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
175 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{zh_tw,zh_TW}
180 rm -rf $RPM_BUILD_ROOT
182 %post -p /sbin/postshell
183 -/usr/sbin/fix-info-dir -c %{_infodir}
185 %postun -p /sbin/postshell
186 -/usr/sbin/fix-info-dir -c %{_infodir}
188 %files -f %{name}.lang
189 %defattr(644,root,root,755)
190 %doc AUTHORS COPYING ChangeLog NEWS README THANKS TODO
191 %attr(755,root,root) %{_bindir}/flex
192 %attr(755,root,root) %{_bindir}/flex++
193 %attr(755,root,root) %{_bindir}/lex
194 %{_mandir}/man1/flex.1*
195 %{_mandir}/man1/flex++.1*
196 %{_mandir}/man1/lex.1*
197 %lang(es) %{_mandir}/es/man1/*
198 %lang(ja) %{_mandir}/ja/man1/*
199 %lang(pl) %{_mandir}/pl/man1/*
200 %{_infodir}/flex.info*
202 %{_libdir}/libfl_pic.a
203 %{_includedir}/FlexLexer.h
207 %defattr(644,root,root,755)
208 %attr(755,root,root) %{_libdir}/libfl.so.*.*.*
209 %attr(755,root,root) %ghost %{_libdir}/libfl.so.2
210 %attr(755,root,root) %{_libdir}/libfl_pic.so.*.*.*
211 %attr(755,root,root) %ghost %{_libdir}/libfl_pic.so.2
214 %defattr(644,root,root,755)
215 %attr(755,root,root) %{_libdir}/libfl.so
216 %attr(755,root,root) %{_libdir}/libfl_pic.so
220 %defattr(644,root,root,755)
221 %{_examplesdir}/%{name}-%{version}