]> git.pld-linux.org Git - packages/flex.git/blob - flex.spec
73a2d566fd1ff532bc9ebda0441a922f7502149b
[packages/flex.git] / flex.spec
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
18 Name:           flex
19 Version:        2.5.39
20 Release:        1
21 License:        BSD-like
22 Group:          Development/Tools
23 Source0:        http://downloads.sourceforge.net/flex/%{name}-%{version}.tar.xz
24 # Source0-md5:  477679c37ff8b28248a9b05f1da29a82
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
35 BuildRequires:  bison
36 # to rebuild scan.c from scan.l (m4-quotes patch)
37 #BuildRequires: flex
38 BuildRequires:  gettext-devel >= 0.18.1
39 BuildRequires:  help2man
40 BuildRequires:  libtool >= 2:2
41 # to rebuild skel.c from patched flex.skl
42 BuildRequires:  m4
43 BuildRequires:  tar >= 1:1.22
44 BuildRequires:  texinfo
45 BuildRequires:  util-linux
46 BuildRequires:  xz
47 Requires:       m4
48 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50 %description
51 This is the GNU fast lexical analyzer generator. It generates lexical
52 tokenizing code based on a lexical (regular expression based)
53 description of the input. It is designed to work with both yacc and
54 bison, and is used by many programs as part of their build process.
55
56 %description -l de.UTF-8
57 GNU, der schnelle lexikalische Analysengenerator. Er erzeugt
58 lexikalischen Token-Code, basierend auf einer lexikalischen
59 Beschreibung (reguläre Ausdrucksbasis) der Eingabe. Ausgelegt zum
60 Arbeiten mit yacc und bison, wird er von vielen Programmen als Teil
61 des Build-Vorgangs verwendet.
62
63 %description -l es.UTF-8
64 Este es el creador GNU de análisis léxica rápida. Crea códigos léxicos
65 tokenizados basados en una descripción léxica (basado en expresiones
66 regulares) de la entrada. Está designado a trabajar tanto con yacc
67 como con bison, y se utiliza en varios programas como parte del su
68 proceso de programación.
69
70 %description -l fr.UTF-8
71 Générateur rapide d'analyseur lexical de GNU. Il génère du code
72 lexical sous forme de tokens basé sur une description lexicale (basé
73 sur les expressions rationnelles) de son entrée. Il est conçu pour
74 fonctionner avec yacc et bison, et est utilisé par de nombreux
75 programmes comme faisant partie de leur phase de construction.
76
77 %description -l pl.UTF-8
78 GNU flex służy do tworzenia programu analizy leksykalnej na podstawie
79 wyrażeń regularnych i dyrektyw C zawartych w jednym lub więcej plikach
80 wejściowych. Przeznaczony do współpracy z parserami yacc i bison, jest
81 używany przez wiele programów w procesie kompilacji.
82
83 %description -l pt_BR.UTF-8
84 Este é o gerador GNU de análise léxica rápida. Ele gera códigos
85 léxicos tokenizados baseados em uma descrição léxica (baseado em
86 expressões regulares) da entrada. Ele é designado para trabalhar tanto
87 com yacc como com bison, e é utilizado em vários programas como parte
88 do seu processo de programação.
89
90 %description -l ru.UTF-8
91 Программа flex генерирует сканнеры. Сканнеры - это программы,
92 способные распознавать лексические шаблоны в тексте. flex принимает на
93 входе пару регулярных выражений и C код и генерирует исходные файлы на
94 языке C. Исходный файл компилируется и связывается с библиотекой для
95 создания исполняемого файла, который будет просматривать свой входной
96 поток данных в поиске регулярных выражений. При нахождении будет
97 исполняться заданный C код. flex был разработан для работы как с
98 системой Yacc, так и Bison, и используется многими программами как
99 часть процесса их построения из исходных текстов.
100
101 Вам следует установить flex, если вы собираетесь использовать свою
102 систему для разработки программ.
103
104 %description -l tr.UTF-8
105 Bu paket, giriş olarak okuduğu bilgiyi kendisine düzgün deyimler
106 olarak belirtilen kurallar çerçevesinde birimlere böler. yacc ve bison
107 paketleri ile birlikte çalışacak şekilde tasarlanmıştır. Pek çok
108 programın derlenme aşamasında kullanılır.
109
110 %description -l uk.UTF-8
111 Програма flex генерує сканери. Сканери - це програми, які можуть
112 розпізнавати лексичні шаблони в тексті. flex приймає на вході пару
113 регулярних виразів та C код та генерує вихідні файли на мові C.
114 Вихідний файл компілюється та зв'язується з бібліотекою для створення
115 виконуваного файлу, що проглядатиме свій вхідний потік даних в пошуку
116 регулярних виразів. При знаходженні виконуватиметься заданий C код.
117 flex був розроблений для роботи як з системою Yacc, так і Bison, та
118 використовується багатьма програмами в процесі їх побудови з вихідних
119 текстів.
120
121 Вам слід встановити flex, якщо ви збираєтесь використовувати свою
122 систему для розробки програм.
123
124 %package examples
125 Summary:        Flex examples
126 Summary(pl.UTF-8):      Przykłady dla fleksa
127 Group:          Development/Tools
128
129 %description examples
130 Flex examples.
131
132 %description examples -l pl.UTF-8
133 Przykłady dla fleksa.
134
135 %prep
136 %setup -q
137 %patch0 -p1
138 %patch1 -p1
139 #%patch2 -p1
140
141 # force regeneration (just in case make didn't want to)
142 %{__rm} skel.c
143
144 %build
145 %{__gettextize}
146 %{__libtoolize}
147 %{__aclocal} -I m4
148 %{__autoconf}
149 %{__autoheader}
150 %{__automake}
151 %configure \
152         --disable-shared
153
154 %{__make}
155
156 %install
157 rm -rf $RPM_BUILD_ROOT
158 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
159
160 %{__make} install \
161         DESTDIR=$RPM_BUILD_ROOT
162
163 ln -sf flex $RPM_BUILD_ROOT%{_bindir}/lex
164 ln -sf flex $RPM_BUILD_ROOT%{_bindir}/flex++
165
166 echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/flex++.1
167 echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lex.1
168
169 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
170 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.flex-non-english-man-pages
171
172 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
173
174 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
175
176 # no external dependencies
177 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
178
179 %find_lang %{name}
180
181 %clean
182 rm -rf $RPM_BUILD_ROOT
183
184 %post   -p /sbin/postshell
185 -/usr/sbin/fix-info-dir -c %{_infodir}
186
187 %postun -p /sbin/postshell
188 -/usr/sbin/fix-info-dir -c %{_infodir}
189
190 %files -f %{name}.lang
191 %defattr(644,root,root,755)
192 %doc AUTHORS COPYING ChangeLog NEWS README THANKS TODO
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*
203 %{_libdir}/libfl.a
204 %{_libdir}/libfl_pic.a
205 %{_includedir}/FlexLexer.h
206
207 %if 0
208 %files libs
209 %defattr(644,root,root,755)
210 %attr(755,root,root) %{_libdir}/libfl.so.*.*.*
211 %attr(755,root,root) %ghost %{_libdir}/libfl.so.2
212 %attr(755,root,root) %{_libdir}/libfl_pic.so.*.*.*
213 %attr(755,root,root) %ghost %{_libdir}/libfl_pic.so.2
214
215 %files devel
216 %defattr(644,root,root,755)
217 %attr(755,root,root) %{_libdir}/libfl.so
218 %attr(755,root,root) %{_libdir}/libfl_pic.so
219 %endif
220
221 %files examples
222 %defattr(644,root,root,755)
223 %{_examplesdir}/%{name}-%{version}
This page took 0.268604 seconds and 2 git commands to generate.