Summary: A GNU general-purpose parser generator Name: bison Version: 3.7.4 Release: 5%{?dist} License: GPLv3+ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig # genereted from https://ftp.gnu.org/gnu/gnu-keyring.gpg via: # curl https://ftp.gnu.org/gnu/gnu-keyring.gpg | gpg2 --import # gpg2 --export --export-options export-minimal 7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E > gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg Source2: gpgkey-7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E.gpg # testsuite dependency BuildRequires: gcc-c++ BuildRequires: autoconf BuildRequires: flex BuildRequires: gnupg2 URL: http://www.gnu.org/software/%{name}/ BuildRequires: m4 >= 1.4 BuildRequires: make #java-1.7.0-openjdk-devel Requires: m4 >= 1.4 # bison contains a copy of gnulib. As a copylib, gnulib was granted an exception that allows bundling it with other # software. For details, see: # https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Exceptions Provides: bundled(gnulib) %description Bison is a general purpose parser generator that converts a grammar description for an LALR(1) context-free grammar into a C program to parse that grammar. Bison can be used to develop a wide range of language parsers, from ones used in simple desk calculators to complex programming languages. Bison is upwardly compatible with Yacc, so any correctly written Yacc grammar should work with Bison without any changes. If you know Yacc, you shouldn't have any trouble using Bison. You do need to be very proficient in C programming to be able to use Bison. Bison is only needed on systems that are used for development. If your system will be used for C development, you should install Bison. %package devel Summary: -ly library for development using Bison-generated parsers Provides: bison-static = %{version}-%{release} %description devel The bison-devel package contains the -ly library sometimes used by programs using Bison-generated parsers. If you are developing programs using Bison, you might want to link with this library. This library is not required by all Bison-generated parsers, but may be employed by simple programs to supply minimal support for the generated parsers. # -ly is kept static. It only contains two symbols: main and yyerror, # and both of these are extremely simple (couple lines of C total). # It doesn't really pay off to introduce a shared library for that. # # Therefore -devel subpackage could have been created as -static, but # the split was done in Jan 2005, which predates current guidelines. # Besides there is logic to that: the library is devel in the sense # that the generated parser could be distributed together with other # sources, and only bison-devel would be necessary to wrap the build. %package runtime Summary: Runtime support files used by Bison-generated parsers %description runtime The bison-runtime package contains files used at runtime by parsers that Bison generates. Packages whose binaries contain parsers generated by Bison should depend on bison-runtime to ensure that these files are available. See the Internationalization in the Bison manual section for more information. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %{autosetup} %build %{configure} %{make_build} %check make check #make maintainer-check %install %{make_install} # Remove unpackaged files. rm -f %{buildroot}/%{_bindir}/yacc rm -f %{buildroot}/%{_infodir}/dir rm -f %{buildroot}/%{_mandir}/man1/yacc* rm -rf %{buildroot}/%{_docdir}/%{name}/examples/* %find_lang %{name} %find_lang %{name}-runtime %find_lang %{name}-gnulib gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/bison.info* # The distribution contains also source files. These are used by m4 when the target parser file is generated. %files -f %{name}.lang -f %{name}-gnulib.lang %doc AUTHORS ChangeLog NEWS README THANKS TODO COPYING %{_mandir}/*/bison* %{_datadir}/bison %{_infodir}/bison.info* %{_bindir}/bison %{_datadir}/aclocal/bison*.m4 %files -f %{name}-runtime.lang runtime %doc COPYING %files devel %doc COPYING %defattr(-,root,root) %{_libdir}/liby.a