]> 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 URL:            https://github.com/westes/flex
31 BuildRequires:  autoconf >= 2.54
32 BuildRequires:  automake >= 1:1.14.1
33 BuildRequires:  bison
34 # to rebuild scan.c from scan.l (m4-quotes patch)
35 #BuildRequires: flex
36 BuildRequires:  gettext-tools >= 0.19
37 BuildRequires:  help2man
38 BuildRequires:  libtool >= 2:2
39 # to rebuild skel.c from patched flex.skl
40 BuildRequires:  m4
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
47 BuildRequires:  xz
48 Requires:       m4
49 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51 %description
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.
56
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.
63
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.
70
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.
77
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.
83
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.
90
91 %description -l ru.UTF-8
92 Программа flex генерирует сканнеры. Сканнеры - это программы,
93 способные распознавать лексические шаблоны в тексте. flex принимает на
94 входе пару регулярных выражений и C код и генерирует исходные файлы на
95 языке C. Исходный файл компилируется и связывается с библиотекой для
96 создания исполняемого файла, который будет просматривать свой входной
97 поток данных в поиске регулярных выражений. При нахождении будет
98 исполняться заданный C код. flex был разработан для работы как с
99 системой Yacc, так и Bison, и используется многими программами как
100 часть процесса их построения из исходных текстов.
101
102 Вам следует установить flex, если вы собираетесь использовать свою
103 систему для разработки программ.
104
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.
110
111 %description -l uk.UTF-8
112 Програма flex генерує сканери. Сканери - це програми, які можуть
113 розпізнавати лексичні шаблони в тексті. flex приймає на вході пару
114 регулярних виразів та C код та генерує вихідні файли на мові C.
115 Вихідний файл компілюється та зв'язується з бібліотекою для створення
116 виконуваного файлу, що проглядатиме свій вхідний потік даних в пошуку
117 регулярних виразів. При знаходженні виконуватиметься заданий C код.
118 flex був розроблений для роботи як з системою Yacc, так і Bison, та
119 використовується багатьма програмами в процесі їх побудови з вихідних
120 текстів.
121
122 Вам слід встановити flex, якщо ви збираєтесь використовувати свою
123 систему для розробки програм.
124
125 %package examples
126 Summary:        Flex examples
127 Summary(pl.UTF-8):      Przykłady dla fleksa
128 Group:          Development/Tools
129
130 %description examples
131 Flex examples.
132
133 %description examples -l pl.UTF-8
134 Przykłady dla fleksa.
135
136 %prep
137 %setup -q
138 %patch0 -p1
139 %patch1 -p1
140
141 # force regeneration (just in case make didn't want to)
142 %{__rm} -f src/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 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*
203 %{_libdir}/libfl.a
204 %{_includedir}/FlexLexer.h
205
206 %if 0
207 %files libs
208 %defattr(644,root,root,755)
209 %attr(755,root,root) %{_libdir}/libfl.so.*.*.*
210 %attr(755,root,root) %ghost %{_libdir}/libfl.so.2
211
212 %files devel
213 %defattr(644,root,root,755)
214 %attr(755,root,root) %{_libdir}/libfl.so
215 %endif
216
217 %files examples
218 %defattr(644,root,root,755)
219 %{_examplesdir}/%{name}-%{version}
This page took 0.07442 seconds and 3 git commands to generate.