Name:           bison
Version:        3.8.2
Release:        1
Summary:        A GNU general-purpose parser generator
License:        GPLv3+
URL:            http://www.gnu.org/software/bison/
Source0:        https://ftp.gnu.org/gnu/bison/bison-%{version}.tar.xz

BuildRequires:  gcc-c++ autoconf automake m4 flex
Requires(post): info
Requires(preun):info
Provides:       bundled(gnulib)

%description
Bison is a general-purpose parser generator that converts an
annotated context-free grammar into a deterministic LR or
generalized LR (GLR) parser employing LALR(1) parser tables.
As an experimental feature, Bison can also generate IELR(1)
or canonical LR(1) parser tables. Once you are proficient with
Bison, you can use it to develop a wide range of language
parsers, from those used in simple desk calculators to complex
programming languages.

%package_help

%package devel
Summary:        -ly library for development using bison-generated parsers
Requires:       %{name} = %{version}-%{release}
Provides:       %{name}-static = %{version}-%{release}
%description devel
This package contains libraries used by programs using bison-generated parsers.

%package lang
Summary:        Language files for bison.
Requires:       %{name} = %{version}-%{release}
Provides:       %{name}-runtime = %{version}-%{release}
%description lang
This package contains language support files and locale.

%prep
%autosetup -p1

%build
%configure
%make_build

%check
%make_build check

%install
%make_install
rm -rf %{buildroot}%{_infodir}/dir
gzip -9nf ${RPM_BUILD_ROOT}%{_infodir}/bison.info*

%post help
%install_info %{_infodir}/bison.info.gz

%preun help
if [ $1 = 0 ];then
  %install_info_rm %{_infodir}/bison.info.gz
fi

%files
%defattr(-,root,root)
%license COPYING
%{_docdir}/%{name}/{AUTHORS,README}
%{_datadir}/aclocal/bison*
%{_datadir}/bison
%{_bindir}/bison
%exclude %{_bindir}/yacc
%exclude %{_docdir}/%{name}/COPYING

%files help
%defattr(-,root,root)
%exclude %{_mandir}/man1/yacc.1.gz
%{_docdir}/bison/{NEWS,THANKS,TODO}
%{_mandir}/man1/*
%{_infodir}/bison*

%files devel
%defattr(-,root,root)
%{_libdir}/liby.a
%{_docdir}/bison/examples/*

%files lang
%defattr(-,root,root)
%{_datadir}/locale/*/LC_MESSAGES/bison.mo
%{_datadir}/locale/*/LC_MESSAGES/bison-runtime.mo
%{_datadir}/locale/*/LC_MESSAGES/bison-gnulib.mo

%changelog
* Wed Dec 29 2021 wangchen <wangchen137@huawei.com> - 3.8.2-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update to 3.8.2

* Mon Apr 19 2021 panxiaohe <panxiaohe@huawei.com> - 3.7.4-2
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:use make macros to run check in parallel

* Thu Jan 21 2021 yangzhuangzhuang <yangzhuangzhuang1@huawei.com> - 3.7.4-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update to 3.7.4

* Wed Oct 28 2020 wangchen <wangchen137@huawei.com> - 3.7.3-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update to 3.7.3

* Thu Jul 16 2020 wangchen <wangchen137@huawei.com> - 3.6.4-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update to 3.6.4

* Sat Mar 21 2020 openEuler Buildteam <buildteam@openeuler.org> - 3.5-2
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:exclude yacc.gz from help

* Tue Jan 7 2020 openEuler Buildteam <buildteam@openeuler.org> - 3.5-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update version to 3.5

* Wed Oct 16 2019 shenyangyang <shenyangyang4@huawei.com> - 3.0.5-4
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:delete unneeded files that conflicts with byacc package

* Sun Sep 29 2019 shenyangyang <shenyangyang4@huawei.com> - 3.0.5-3
- Type:NA
- ID:NA
- SUG:NA
- DESC:move directory of license file

* Thu Aug 29 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.0.5-2
- Package Init
