Package flex: Specfile

Name: flex
Version: 2.6.4.0.88.9801
Release: alt2

Summary: A fast lexical analyzer generator
License: BSD-3-Clause
Group: Development/Other
Url: https://github.com/westes/flex

# git://git.altlinux.org/gears/f/%name.git
Source: %name-%version-%release.tar

Requires: m4 >= 0:1.4
Conflicts: flex-old

BuildRequires: flex help2man makeinfo
%{?!_without_check:%{?!_disable_check:BuildRequires: gcc-c++}}

%description
flex is a tool for generating scanners: programs which recognized
lexical patterns in text.  flex reads the given input files for a
description of a scanner to generate.  The description is in the form
of pairs of regular expressions and C code, called rules.  flex
generates as output a C source file, lex.yy.c, which defines a routine
yylex().  This file is compiled and linked with the -lfl library
to produce an executable.  When the executable is run, it analyzes
its input for occurrences of the regular expressions.
Whenever it finds one, it executes the corresponding C code.

The behaviour of Flex has undergone a major change since version
2.5.4a.  Flex scanners are now reentrant, you may have multiple
scanners in the same program with differing sets of defaults, and
they play nicer with modern C and C++ compilers.  The Flip side is
that Flex no longer conforms to the POSIX lex behaviour, and the
scanners require conforming implementations when flex is used in ANSI
C mode.  The package flex-old provides the older behaviour.

%prep
%setup -n %name-%version-%release

%build
%{?optflags_lto:%global optflags_lto %optflags_lto -ffat-lto-objects}
%autoreconf
%configure --disable-shared
%make_build CFLAGS="$RPM_OPT_FLAGS -fPIC" dist_doc_DATA=

%install
%makeinstall_std dist_doc_DATA=

ln -s flex %buildroot%_bindir/lex
ln -s libfl.a %buildroot%_libdir/libl.a
ln -s libfl.a %buildroot%_libdir/libfl_pic.a
ln -s flex.1 %buildroot%_man1dir/lex.1
ln -s flex.1 %buildroot%_man1dir/flex++.1

%find_lang %name

%define _unpackaged_files_terminate_build 1
%define _stripped_files_terminate_build 1
%set_verify_elf_method strict

%check
%make_build -k check dist_doc_DATA=

%files -f %name.lang
%doc AUTHORS COPYING NEWS README.md examples
%_bindir/*lex*
%_libdir/lib*.a
%_includedir/*.h
%_pkgconfigdir/libfl.pc
%_mandir/man?/*lex*
%_infodir/flex.info*

%changelog
* Wed Aug 25 2021 Dmitry V. Levin <ldv@altlinux.org> 2.6.4.0.88.9801-alt2
- Added -ffat-lto-objects to %%optflags_lto.

* Wed Jan 02 2019 Dmitry V. Levin <ldv@altlinux.org> 2.6.4.0.88.9801-alt1
- v2.6.0-8-g9ba6e52 -> v2.6.4-88-g98018e3.
- Reverted 2.5.37-alt2 (closes: #35141).

* Wed Dec 02 2015 Dmitry V. Levin <ldv@altlinux.org> 2.6.0-alt1
- Updated to v2.6.0-8-g9ba6e52.

* Fri Sep 07 2012 Dmitry V. Levin <ldv@altlinux.org> 2.5.37-alt2
- Reverted upstream commit flex-2.5.37-10-gec2fdb8 that introduced
  certain regressions.

* Wed Sep 05 2012 Dmitry V. Levin <ldv@altlinux.org> 2.5.37-alt1
- Updated to flex-2.5.37-17-gbac5b2b.
- flex.skl: fixed warnings generated by gcc -Wunused-parameter
  (closes: #27661).

* Sat Sep 01 2012 Dmitry V. Levin <ldv@altlinux.org> 2.5.36-alt1
- Updated to 2.5.36.
- Fixed build with new bison.

* Mon Feb 07 2011 Dmitry V. Levin <ldv@altlinux.org> 2.5.35-alt5
- Minor specfile cleanup.

* Thu Sep 10 2009 Dmitry V. Levin <ldv@altlinux.org> 2.5.35-alt4
- Moved "make check" to %%check section.

* Tue Jun 02 2009 Dmitry V. Levin <ldv@altlinux.org> 2.5.35-alt3
- Removed obsolete %%install_info/%%uninstall_info calls.
- Updated backport for doc/flex.texi.

* Wed Mar 04 2009 Dmitry V. Levin <ldv@altlinux.org> 2.5.35-alt2
- Backported fixes from flex cvs snapshot 20081228.
- Fixed isatty(3) declaration (closes: SF#1984987).
- Fixed gcc-4.4 testsuite failures (closes: SF#2178663).
- Updated patches from debian and opensuse flex packages.
- Enabled flex test suite during build by default.

* Wed Mar 04 2009 Alexey Gladkov <legion@altlinux.ru> 2.5.35-alt1
- Updated to 2.5.35 (closes: ALT#19055).
- Added compiler-specific optimization: yy_fatal_error should be
  declared noreturn (closes: ALT#19053).
- Disabled flex-2.5.31-11 patch.
- Added Debian and Mandriva patches.

* Sat Apr 14 2007 Dmitry V. Levin <ldv@altlinux.org> 2.5.33-alt3
- Synced with Debian's flex-2.5.31-11.

* Sun Jul 30 2006 Dmitry V. Levin <ldv@altlinux.org> 2.5.33-alt2
- The sourceforge project name was changed from lex to flex,
  updated URLs (closes #9813).
- Synced with Debian's flex-2.5.31-4.

* Wed Mar 01 2006 Dmitry V. Levin <ldv@altlinux.org> 2.5.33-alt1
- Updated to 2.5.33.
- Synced with Debian's flex-2.5.31-1.

* Sat Oct 22 2005 Dmitry V. Levin <ldv@altlinux.org> 2.5.31-alt2
- Applied patch from Debian's flex-2.5.31-34.
- Build with -D_REENTRANT option added.
- Additional specfile convention enforcement.

* Fri Oct 14 2005 Sergey N. Yatskevich <syatskevich@altlinux.ru> 2.5.31-alt1
- 2.5.31

* Tue Oct 29 2002 Stanislav Ievlev <inger@altlinux.ru> 2.5.4a-ipl16mdk
- rebuild

* Tue Jul 23 2002 Dmitry V. Levin <ldv@altlinux.org> 2.5.4a-ipl15mdk
- Applied gcc31 C++ compilation fixes (mdk).

* Thu Oct 25 2001 Dmitry V. Levin <ldv@alt-linux.org> 2.5.4a-ipl14mdk
- Fixed generation of glibc22-incompatible code.
- Fixed license, url.

* Tue Jan 16 2001 Dmitry V. Levin <ldv@fandra.org> 2.5.4a-ipl13mdk
- Added and fixed texinfo documentation.
- RE adaptions.

* Tue Sep 12 2000 David BAUDENS <baudens@mandrakesoft.com> 2.5.4a-13mdk
- Allow to build (aka don't use %%configure macro)
- Macrozification for other parts of spec

* Wed May 24 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 2.5.4a-12mdk
- Use %%{_tmppath}
- Really use spec-helper.

* Sun Apr 02 2000 Jerome Martin <jerome@mandrakesoft.com> 2.5.4a-11mdk
- Fix rpm group
- specfile cleanup for spec-helper

* Wed Nov 10 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
- avoid uninitialized variable warning.

* Mon May 17 1999 Axalon Bloodstone <axalon@jumpstart.netpirate.org>
- incorrect symlinks

* Tue May 11 1999 Bernhard Rosenkraenzer <bero@mandrakesoft.com>
- Mandrake adaptions

* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
- auto rebuild in the new build environment (release 6)

* Fri Dec 18 1998 Bill Nottingham <notting@redhat.com>
- build for 6.0 tree

* Mon Aug 10 1998 Jeff Johnson <jbj@redhat.com>
- build root

* Mon Apr 27 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr

* Thu Oct 23 1997 Donnie Barnes <djb@redhat.com>
- updated from 2.5.4 to 2.5.4a

* Mon Jun 02 1997 Erik Troan <ewt@redhat.com>
- built against glibc

* Thu Mar 20 1997 Michael Fulbright <msf@redhat.com>
- Updated to v. 2.5.4