]> git.pld-linux.org Git - packages/flex.git/blob - flex.spec
add build fix from fedora
[packages/flex.git] / flex.spec
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
16 Name:           flex
17 Version:        2.6.4
18 Release:        1
19 License:        BSD-like
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
34 BuildRequires:  bison
35 # to rebuild scan.c from scan.l (m4-quotes patch)
36 #BuildRequires: flex
37 BuildRequires:  gettext-tools >= 0.19
38 BuildRequires:  help2man
39 BuildRequires:  libtool >= 2:2
40 # to rebuild skel.c from patched flex.skl
41 BuildRequires:  m4
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
48 BuildRequires:  xz
49 Requires:       m4
50 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51
52 %description
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.
57
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.
64
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.
71
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.
78
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.
84
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.
91
92 %description -l ru.UTF-8
93 Программа flex генерирует сканнеры. Сканнеры - это программы,
94 способные распознавать лексические шаблоны в тексте. flex принимает на
95 входе пару регулярных выражений и C код и генерирует исходные файлы на
96 языке C. Исходный файл компилируется и связывается с библиотекой для
97 создания исполняемого файла, который будет просматривать свой входной
98 поток данных в поиске регулярных выражений. При нахождении будет
99 исполняться заданный C код. flex был разработан для работы как с
100 системой Yacc, так и Bison, и используется многими программами как
101 часть процесса их построения из исходных текстов.
102
103 Вам следует установить flex, если вы собираетесь использовать свою
104 систему для разработки программ.
105
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.
111
112 %description -l uk.UTF-8
113 Програма flex генерує сканери. Сканери - це програми, які можуть
114 розпізнавати лексичні шаблони в тексті. flex приймає на вході пару
115 регулярних виразів та C код та генерує вихідні файли на мові C.
116 Вихідний файл компілюється та зв'язується з бібліотекою для створення
117 виконуваного файлу, що проглядатиме свій вхідний потік даних в пошуку
118 регулярних виразів. При знаходженні виконуватиметься заданий C код.
119 flex був розроблений для роботи як з системою Yacc, так і Bison, та
120 використовується багатьма програмами в процесі їх побудови з вихідних
121 текстів.
122
123 Вам слід встановити flex, якщо ви збираєтесь використовувати свою
124 систему для розробки програм.
125
126 %package examples
127 Summary:        Flex examples
128 Summary(pl.UTF-8):      Przykłady dla fleksa
129 Group:          Development/Tools
130
131 %description examples
132 Flex examples.
133
134 %description examples -l pl.UTF-8
135 Przykłady dla fleksa.
136
137 %prep
138 %setup -q
139 %patch0 -p1
140 %patch1 -p1
141 %patch2 -p1
142
143 # force regeneration (just in case make didn't want to)
144 %{__rm} -f src/skel.c
145
146 %build
147 %{__gettextize}
148 %{__libtoolize}
149 %{__aclocal} -I m4
150 %{__autoconf}
151 %{__autoheader}
152 %{__automake}
153 %configure \
154         --disable-shared
155
156 %{__make}
157
158 %install
159 rm -rf $RPM_BUILD_ROOT
160 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
161
162 %{__make} install \
163         DESTDIR=$RPM_BUILD_ROOT
164
165 ln -sf flex $RPM_BUILD_ROOT%{_bindir}/lex
166 ln -sf flex $RPM_BUILD_ROOT%{_bindir}/flex++
167
168 echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/flex++.1
169 echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lex.1
170
171 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
172 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.flex-non-english-man-pages
173
174 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
175
176 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
177
178 # no external dependencies
179 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
180
181 %find_lang %{name}
182
183 %clean
184 rm -rf $RPM_BUILD_ROOT
185
186 %post   -p /sbin/postshell
187 -/usr/sbin/fix-info-dir -c %{_infodir}
188
189 %postun -p /sbin/postshell
190 -/usr/sbin/fix-info-dir -c %{_infodir}
191
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*
205 %{_libdir}/libfl.a
206 %{_includedir}/FlexLexer.h
207
208 %if 0
209 %files libs
210 %defattr(644,root,root,755)
211 %attr(755,root,root) %{_libdir}/libfl.so.*.*.*
212 %attr(755,root,root) %ghost %{_libdir}/libfl.so.2
213
214 %files devel
215 %defattr(644,root,root,755)
216 %attr(755,root,root) %{_libdir}/libfl.so
217 %endif
218
219 %files examples
220 %defattr(644,root,root,755)
221 %{_examplesdir}/%{name}-%{version}
This page took 0.140286 seconds and 4 git commands to generate.