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}.tar.gz
25 # Source0-md5: 5a399c7948b0278457392c2fd4f8739f
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 URL: https://github.com/westes/flex
31 BuildRequires: autoconf >= 2.54
32 BuildRequires: automake >= 1:1.14.1
34 # to rebuild scan.c from scan.l (m4-quotes patch)
36 BuildRequires: gettext-tools >= 0.19
37 BuildRequires: help2man
38 BuildRequires: libtool >= 2:2
39 # to rebuild skel.c from patched flex.skl
41 BuildRequires: tar >= 1:1.22
42 BuildRequires: texinfo
43 BuildRequires: texinfo-texi2dvi
44 BuildRequires: texlive-fonts-cmsuper
45 BuildRequires: texlive-pdftex
46 BuildRequires: util-linux
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 This is the GNU fast lexical analyzer generator. It generates lexical
53 tokenizing code based on a lexical (regular expression based)
54 description of the input. It is designed to work with both yacc and
55 bison, and is used by many programs as part of their build process.
57 %description -l de.UTF-8
58 GNU, der schnelle lexikalische Analysengenerator. Er erzeugt
59 lexikalischen Token-Code, basierend auf einer lexikalischen
60 Beschreibung (reguläre Ausdrucksbasis) der Eingabe. Ausgelegt zum
61 Arbeiten mit yacc und bison, wird er von vielen Programmen als Teil
62 des Build-Vorgangs verwendet.
64 %description -l es.UTF-8
65 Este es el creador GNU de análisis léxica rápida. Crea códigos léxicos
66 tokenizados basados en una descripción léxica (basado en expresiones
67 regulares) de la entrada. Está designado a trabajar tanto con yacc
68 como con bison, y se utiliza en varios programas como parte del su
69 proceso de programación.
71 %description -l fr.UTF-8
72 Générateur rapide d'analyseur lexical de GNU. Il génère du code
73 lexical sous forme de tokens basé sur une description lexicale (basé
74 sur les expressions rationnelles) de son entrée. Il est conçu pour
75 fonctionner avec yacc et bison, et est utilisé par de nombreux
76 programmes comme faisant partie de leur phase de construction.
78 %description -l pl.UTF-8
79 GNU flex służy do tworzenia programu analizy leksykalnej na podstawie
80 wyrażeń regularnych i dyrektyw C zawartych w jednym lub więcej plikach
81 wejściowych. Przeznaczony do współpracy z parserami yacc i bison, jest
82 używany przez wiele programów w procesie kompilacji.
84 %description -l pt_BR.UTF-8
85 Este é o gerador GNU de análise léxica rápida. Ele gera códigos
86 léxicos tokenizados baseados em uma descrição léxica (baseado em
87 expressões regulares) da entrada. Ele é designado para trabalhar tanto
88 com yacc como com bison, e é utilizado em vários programas como parte
89 do seu processo de programação.
91 %description -l ru.UTF-8
92 Программа flex генерирует сканнеры. Сканнеры - это программы,
93 способные распознавать лексические шаблоны в тексте. flex принимает на
94 входе пару регулярных выражений и C код и генерирует исходные файлы на
95 языке C. Исходный файл компилируется и связывается с библиотекой для
96 создания исполняемого файла, который будет просматривать свой входной
97 поток данных в поиске регулярных выражений. При нахождении будет
98 исполняться заданный C код. flex был разработан для работы как с
99 системой Yacc, так и Bison, и используется многими программами как
100 часть процесса их построения из исходных текстов.
102 Вам следует установить flex, если вы собираетесь использовать свою
103 систему для разработки программ.
105 %description -l tr.UTF-8
106 Bu paket, giriş olarak okuduğu bilgiyi kendisine düzgün deyimler
107 olarak belirtilen kurallar çerçevesinde birimlere böler. yacc ve bison
108 paketleri ile birlikte çalışacak şekilde tasarlanmıştır. Pek çok
109 programın derlenme aşamasında kullanılır.
111 %description -l uk.UTF-8
112 Програма flex генерує сканери. Сканери - це програми, які можуть
113 розпізнавати лексичні шаблони в тексті. flex приймає на вході пару
114 регулярних виразів та C код та генерує вихідні файли на мові C.
115 Вихідний файл компілюється та зв'язується з бібліотекою для створення
116 виконуваного файлу, що проглядатиме свій вхідний потік даних в пошуку
117 регулярних виразів. При знаходженні виконуватиметься заданий C код.
118 flex був розроблений для роботи як з системою Yacc, так і Bison, та
119 використовується багатьма програмами в процесі їх побудови з вихідних
122 Вам слід встановити flex, якщо ви збираєтесь використовувати свою
123 систему для розробки програм.
126 Summary: Flex examples
127 Summary(pl.UTF-8): Przykłady dla fleksa
128 Group: Development/Tools
130 %description examples
133 %description examples -l pl.UTF-8
134 Przykłady dla fleksa.
141 # force regeneration (just in case make didn't want to)
142 %{__rm} -f src/skel.c
157 rm -rf $RPM_BUILD_ROOT
158 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
161 DESTDIR=$RPM_BUILD_ROOT
163 ln -sf flex $RPM_BUILD_ROOT%{_bindir}/lex
164 ln -sf flex $RPM_BUILD_ROOT%{_bindir}/flex++
166 echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/flex++.1
167 echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lex.1
169 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
170 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.flex-non-english-man-pages
172 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
174 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
176 # no external dependencies
177 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
182 rm -rf $RPM_BUILD_ROOT
184 %post -p /sbin/postshell
185 -/usr/sbin/fix-info-dir -c %{_infodir}
187 %postun -p /sbin/postshell
188 -/usr/sbin/fix-info-dir -c %{_infodir}
190 %files -f %{name}.lang
191 %defattr(644,root,root,755)
192 %doc AUTHORS COPYING NEWS README.md THANKS
193 %attr(755,root,root) %{_bindir}/flex
194 %attr(755,root,root) %{_bindir}/flex++
195 %attr(755,root,root) %{_bindir}/lex
196 %{_mandir}/man1/flex.1*
197 %{_mandir}/man1/flex++.1*
198 %{_mandir}/man1/lex.1*
199 %lang(es) %{_mandir}/es/man1/*
200 %lang(ja) %{_mandir}/ja/man1/*
201 %lang(pl) %{_mandir}/pl/man1/*
202 %{_infodir}/flex.info*
204 %{_includedir}/FlexLexer.h
208 %defattr(644,root,root,755)
209 %attr(755,root,root) %{_libdir}/libfl.so.*.*.*
210 %attr(755,root,root) %ghost %{_libdir}/libfl.so.2
213 %defattr(644,root,root,755)
214 %attr(755,root,root) %{_libdir}/libfl.so
218 %defattr(644,root,root,755)
219 %{_examplesdir}/%{name}-%{version}