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