Blob Blame History Raw
Summary: Legacy version of flex, a tool for creating scanners
Name: compat-flex
Version: 2.5.4a
Release: 6%{?dist}
License: BSD
Group: Development/Tools
URL: http://www.gnu.org/software/flex/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source: http://downloads.sourceforge.net/flex/flex-%{version}.tar.bz2
Source2: README.fedora
Patch0: flex-2.5.4a-skel.patch
Patch1: flex-2.5.4-glibc22.patch
Patch2: flex-2.5.4a-gcc3.patch
Patch3: flex-2.5.4a-gcc31.patch
Patch4: flex-2.5.4a2.patch
Patch5: flex-pic.patch
Patch6: flex-2.5.4a2-std.patch
Patch7: flex-2.5.4a2-warn.patch
Patch8: flex-2.5.4a2-shapwarn.patch
Patch9: flex-2.5.4a2-iniscan.patch
Patch10: flex-2.5.4a-Makefile.in.patch
BuildRequires: autoconf byacc texinfo info
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info

%description

This is legacy version of flex, a program that generates scanners.
Scanners are programs which can recognize lexical patterns in text.
Flex takes pairs of regular expressions and C code as input and
generates a C source file as output.  The output file is compiled and
linked with a library to produce an executable.  The executable
searches through its input for occurrences of the regular expressions.
When a match is found, it executes the corresponding C code.  Flex was
designed to work with both Yacc and Bison, and is used by many
programs as part of their build process.

You should install flex if you are going to use your system for
application development.

%prep
%setup -q -n flex-2.5.4
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
cp %{SOURCE2} .

%build
autoconf
%configure
sed -i '/^START-INFO-DIR-ENTRY/,/^END-INFO-DIR-ENTRY/s/[Ff]lex/&-%{version}/g' ./MISC/texinfo/flex.texi
make FLEX=flex-%{version}
makeinfo MISC/texinfo/flex.texi -o MISC/texinfo/flex-%{version}.info

%install
rm -rf $RPM_BUILD_ROOT
%{makeinstall} FLEX=flex-%{version} libdir=$RPM_BUILD_ROOT/%{_libdir}/flex-%{version} mandir=$RPM_BUILD_ROOT/%{_mandir}/man1
./mkinstalldirs $RPM_BUILD_ROOT/%{_infodir} $RPM_BUILD_ROOT/%{_includedir}/flex-%{version}
install -m 644 MISC/texinfo/flex-%{version}.info $RPM_BUILD_ROOT/%{_infodir}/flex-%{version}.info
mv ${RPM_BUILD_ROOT}/%{_includedir}/FlexLexer.h ${RPM_BUILD_ROOT}/%{_includedir}/flex-%{version}/FlexLexer.h
ln -s flex-%{version}.1 ${RPM_BUILD_ROOT}/%{_mandir}/man1/flex-%{version}++.1

%check
echo ============TESTING===============
make FLEX=flex-%{version} bigcheck
echo ============END TESTING===========

%post
/sbin/install-info %{_infodir}/flex-%{version}.info --dir-file=%{_infodir}/dir ||:

%preun
if [ $1 = 0 ]; then
	/sbin/install-info --delete %{_infodir}/flex-%{version}.info %{_infodir}/dir ||:
fi

%clean
rm -rf ${RPM_BUILD_ROOT}

%files
%defattr(-,root,root)
%doc COPYING NEWS README README.fedora
%{_bindir}/*
%{_mandir}/man1/*
%{_libdir}/flex-%{version}
%{_includedir}/flex-%{version}
%{_infodir}/flex-%{version}.info*

%changelog
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.4a-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.4a-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.5.4a-4
- Autorebuild for GCC 4.3

* Wed Aug 29 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 2.5.4a-3
- Rebuild for selinux ppc32 issue.

* Fri Jul 06 2007 Florian La Roche <laroche@redhat.com> - 2.5.4a-2
- add install-info requirement for post/preun

* Wed Jan 18 2006 Petr Machata <pmachata@redhat.com> - 2.5.4a-1
- Initial build.