Summary: GNU fast lexical analyzer generator
-Summary(de): GNU - schneller lexikalischer Analysegenerator
+Summary(de): GNU - schneller lexikalischer Analysegenerator
+Summary(es): Generador rápido de analizadores léxicos de la GNU
Summary(fr): Générateur rapide d'analyseur lexical de GNU
-Summary(pl): GNU szybki generator analizatora sk³adni (flex)
+Summary(pl): Szybki generator analizatora sk³adni GNU (flex)
+Summary(pt_BR): Gerador rápido de analisadores léxicos da GNU
+Summary(ru): âÙÓÔÒÙÊ ÇÅÎÅÒÁÔÏÒ ÌÅËÓÉÞÅÓËÉÈ ÁÎÁÌÉÚÁÔÏÒÏ× GNU
Summary(tr): GNU sözdizim çözümleyici
+Summary(uk): û×ÉÄËÉÊ ÇÅÎÅÒÁÔÏÒ ÌÅËÓÉÞÎÉÈ ÁÎÁ̦ÚÁÔÏÒ¦× GNU
Name: flex
-Version: 2.5.4a
-Release: 10
-Copyright: GPL
+Version: 2.5.31
+Release: 6
+License: BSD-like
Group: Development/Tools
-Group(pl): Programowanie/Narzêdzia
-Source: ftp://prep.ai.mit.edu/pub/gnu/flex/%{name}-%{version}.tar.gz
-Patch0: flex-info.patch
-Buildroot: /tmp/%{name}-%{version}-root
+Source0: http://dl.sourceforge.net/lex/%{name}-%{version}.tar.bz2
+# Source0-md5: 363dcc4afc917dc51306eb9d3de0152f
+Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
+# Source1-md5: fd79ee2834b290e74c626f0bbfc8942f
+Source2: %{name}-pl.po
+Patch0: %{name}-info.patch
+Patch1: %{name}-glibc22.patch
+Patch2: %{name}-locale.patch
+Patch3: %{name}-yymore-fix.patch
+Patch4: %{name}-yytext_ptr-undefined.patch
+Patch5: %{name}-m4-quotes.diff
+Patch6: %{name}-m4-quotes-codeblock.patch
+URL: http://lex.sf.net/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: bison
+BuildRequires: gettext-devel
+BuildRequires: help2man
+BuildRequires: texinfo
+BuildRequires: util-linux
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
This is the GNU fast lexical analyzer generator. It generates lexical
-tokenizing code based on a lexical (regular expression based) description
-of the input. It is designed to work with both yacc and bison, and is
-used by many programs as part of their build process.
+tokenizing code based on a lexical (regular expression based)
+description of the input. It is designed to work with both yacc and
+bison, and is used by many programs as part of their build process.
%description -l de
-GNU, der schnelle lexikalische Analysengenerator. Er erzeugt lexikalischen
-Token-Code, basierend auf einer lexikalischen Beschreibung (reguläre
-Ausdrucksbasis) der Eingabe. Ausgelegt zum Arbeiten mit yacc und bison,
-wird er von vielen Programmen als Teil des Build-Vorgangs verwendet.
+GNU, der schnelle lexikalische Analysengenerator. Er erzeugt
+lexikalischen Token-Code, basierend auf einer lexikalischen
+Beschreibung (reguläre Ausdrucksbasis) der Eingabe. Ausgelegt zum
+Arbeiten mit yacc und bison, wird er von vielen Programmen als Teil
+des Build-Vorgangs verwendet.
+
+%description -l es
+Este es el creador GNU de análisis léxica rápida. Crea códigos léxicos
+tokenizados basados en una descripción léxica (basado en expresiones
+regulares) de la entrada. Está designado a trabajar tanto con yacc
+como con bison, y se utiliza en varios programas como parte del su
+proceso de programación.
%description -l fr
-Générateur rapide d'analyseur lexical de GNU. Il génère du code lexical
-sous forme de tokens basé sur une description lexicale (basé sur les
-expressions rationnelles) de son entrée. Il est conçu pour fonctionner
-avec yacc et bison, et est utilisé par de nombreux programmes comme
-faisant partie de leur phase de construction.
+Générateur rapide d'analyseur lexical de GNU. Il génère du code
+lexical sous forme de tokens basé sur une description lexicale (basé
+sur les expressions rationnelles) de son entrée. Il est conçu pour
+fonctionner avec yacc et bison, et est utilisé par de nombreux
+programmes comme faisant partie de leur phase de construction.
%description -l pl
GNU flex s³u¿y do tworzenia programu analizy leksykalnej na podstawie
wyra¿eñ regularnych i dyrektyw C zawartych w jednym lub wiêcej plikach
-wej¶ciowych. Przeznaczony do wspó³pracy z parserami yacc i bison, jest
+wej¶ciowych. Przeznaczony do wspó³pracy z parserami yacc i bison, jest
u¿ywany przez wiele programów w procesie kompilacji.
+%description -l pt_BR
+Este é o gerador GNU de análise léxica rápida. Ele gera códigos
+léxicos tokenizados baseados em uma descrição léxica (baseado em
+expressões regulares) da entrada. Ele é designado para trabalhar tanto
+com yacc como com bison, e é utilizado em vários programas como parte
+do seu processo de programação.
+
+%description -l ru
+ðÒÏÇÒÁÍÍÁ flex ÇÅÎÅÒÉÒÕÅÔ ÓËÁÎÎÅÒÙ. óËÁÎÎÅÒÙ - ÜÔÏ ÐÒÏÇÒÁÍÍÙ,
+ÓÐÏÓÏÂÎÙÅ ÒÁÓÐÏÚÎÁ×ÁÔØ ÌÅËÓÉÞÅÓËÉÅ ÛÁÂÌÏÎÙ × ÔÅËÓÔÅ. flex ÐÒÉÎÉÍÁÅÔ ÎÁ
+×ÈÏÄÅ ÐÁÒÕ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ É C ËÏÄ É ÇÅÎÅÒÉÒÕÅÔ ÉÓÈÏÄÎÙÅ ÆÁÊÌÙ ÎÁ
+ÑÚÙËÅ C. éÓÈÏÄÎÙÊ ÆÁÊÌ ËÏÍÐÉÌÉÒÕÅÔÓÑ É Ó×ÑÚÙ×ÁÅÔÓÑ Ó ÂÉÂÌÉÏÔÅËÏÊ ÄÌÑ
+ÓÏÚÄÁÎÉÑ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ÂÕÄÅÔ ÐÒÏÓÍÁÔÒÉ×ÁÔØ Ó×ÏÊ ×ÈÏÄÎÏÊ
+ÐÏÔÏË ÄÁÎÎÙÈ × ÐÏÉÓËÅ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ. ðÒÉ ÎÁÈÏÖÄÅÎÉÉ ÂÕÄÅÔ
+ÉÓÐÏÌÎÑÔØÓÑ ÚÁÄÁÎÎÙÊ C ËÏÄ. flex ÂÙÌ ÒÁÚÒÁÂÏÔÁÎ ÄÌÑ ÒÁÂÏÔÙ ËÁË Ó
+ÓÉÓÔÅÍÏÊ Yacc, ÔÁË É Bison, É ÉÓÐÏÌØÚÕÅÔÓÑ ÍÎÏÇÉÍÉ ÐÒÏÇÒÁÍÍÁÍÉ ËÁË
+ÞÁÓÔØ ÐÒÏÃÅÓÓÁ ÉÈ ÐÏÓÔÒÏÅÎÉÑ ÉÚ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×.
+
+÷ÁÍ ÓÌÅÄÕÅÔ ÕÓÔÁÎÏ×ÉÔØ flex, ÅÓÌÉ ×Ù ÓÏÂÉÒÁÅÔÅÓØ ÉÓÐÏÌØÚÏ×ÁÔØ Ó×ÏÀ
+ÓÉÓÔÅÍÕ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÏÇÒÁÍÍ.
+
%description -l tr
-Bu paket, giriþ olarak okuduðu bilgiyi kendisine düzgün deyimler olarak
-belirtilen kurallar çerçevesinde birimlere böler. yacc ve bison paketleri
-ile birlikte çalýþacak þekilde tasarlanmýþtýr. Pek çok programýn derlenme
-aþamasýnda kullanýlýr.
+Bu paket, giriþ olarak okuduðu bilgiyi kendisine düzgün deyimler
+olarak belirtilen kurallar çerçevesinde birimlere böler. yacc ve bison
+paketleri ile birlikte çalýþacak þekilde tasarlanmýþtýr. Pek çok
+programýn derlenme aþamasýnda kullanýlýr.
+
+%description -l uk
+ðÒÏÇÒÁÍÁ flex ÇÅÎÅÒÕ¤ ÓËÁÎÅÒÉ. óËÁÎÅÒÉ - ÃÅ ÐÒÏÇÒÁÍÉ, Ñ˦ ÍÏÖÕÔØ
+ÒÏÚЦÚÎÁ×ÁÔÉ ÌÅËÓÉÞΦ ÛÁÂÌÏÎÉ × ÔÅËÓÔ¦. flex ÐÒÉÊÍÁ¤ ÎÁ ×ÈÏĦ ÐÁÒÕ
+ÒÅÇÕÌÑÒÎÉÈ ×ÉÒÁÚ¦× ÔÁ C ËÏÄ ÔÁ ÇÅÎÅÒÕ¤ ×ÉȦÄΦ ÆÁÊÌÉ ÎÁ ÍÏצ C.
+÷ÉȦÄÎÉÊ ÆÁÊÌ ËÏÍЦÌÀ¤ÔØÓÑ ÔÁ Ú×'ÑÚÕ¤ÔØÓÑ Ú Â¦Â̦ÏÔÅËÏÀ ÄÌÑ ÓÔ×ÏÒÅÎÎÑ
+×ÉËÏÎÕ×ÁÎÏÇÏ ÆÁÊÌÕ, ÝÏ ÐÒÏÇÌÑÄÁÔÉÍÅ Ó×¦Ê ×ȦÄÎÉÊ ÐÏÔ¦Ë ÄÁÎÉÈ × ÐÏÛÕËÕ
+ÒÅÇÕÌÑÒÎÉÈ ×ÉÒÁÚ¦×. ðÒÉ ÚÎÁÈÏÄÖÅÎΦ ×ÉËÏÎÕ×ÁÔÉÍÅÔØÓÑ ÚÁÄÁÎÉÊ C ËÏÄ.
+flex ÂÕ× ÒÏÚÒÏÂÌÅÎÉÊ ÄÌÑ ÒÏÂÏÔÉ ÑË Ú ÓÉÓÔÅÍÏÀ Yacc, ÔÁË ¦ Bison, ÔÁ
+×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ ÂÁÇÁÔØÍÁ ÐÒÏÇÒÁÍÁÍÉ × ÐÒÏÃÅÓ¦ §È ÐÏÂÕÄÏ×É Ú ×ÉȦÄÎÉÈ
+ÔÅËÓÔ¦×.
+
+÷ÁÍ ÓÌ¦Ä ×ÓÔÁÎÏ×ÉÔÉ flex, ÑËÝÏ ×É ÚÂÉÒÁ¤ÔÅÓØ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ Ó×ÏÀ
+ÓÉÓÔÅÍÕ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ.
%prep
-%setup -q -n %{name}-2.5.4
+%setup -q
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+
+cp -f %{SOURCE2} po/pl.po
+echo 'pl' >> po/LINGUAS
+
+# force regeneration (just in case make didn't want to)
+rm -f skel.c
%build
-autoconf
-LDFLAGS="-s"; export LDFLAGS
+cp -f /usr/share/automake/config.sub .
+%{__autoconf}
%configure
-make
-makeinfo MISC/texinfo/flex.texi
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_infodir},%{_includedir},%{_mandir}/man1}
-install flex.info* $RPM_BUILD_ROOT%{_infodir}
-
-make install prefix=$RPM_BUILD_ROOT%{_prefix} \
- bindir=$RPM_BUILD_ROOT/%{_bindir} \
- mandir=$RPM_BUILD_ROOT/%{_mandir}/man1 \
- libdir=$RPM_BUILD_ROOT/%{_libdir} \
- includedir=$RPM_BUILD_ROOT/%{_includedir} \
- infodir=$RPM_BUILD_ROOT/%{_infodir}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
ln -sf flex $RPM_BUILD_ROOT%{_bindir}/lex
-gzip -9nf $RPM_BUILD_ROOT{%{_infodir}/*,%{_mandir}/man1/*}
+echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/flex++.1
+echo .so flex.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lex.1
+bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-%post
-/sbin/install-info %{_infodir}/flex.info.gz /etc/info-dir
-
-%preun
-if [ "$1" = "0" ]; then
- /sbin/install-info --delete %{_infodir}/flex.info.gz /etc/info-dir
-fi
+%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
-%files
+%post
+[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+
+%postun
+[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+
+%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc NEWS README
+%doc AUTHORS COPYING ChangeLog NEWS README THANKS TODO
%attr(755,root,root) %{_bindir}/*
%{_mandir}/man1/*
+%lang(es) %{_mandir}/es/man1/*
+%lang(ja) %{_mandir}/ja/man1/*
+%lang(pl) %{_mandir}/pl/man1/*
%{_infodir}/flex*
%{_libdir}/*.a
%{_includedir}/*.h