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