Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37414172
en ru br
Репозитории ALT
S:3.8.2-alt1
5.1: 2.4.1-alt2
4.1: 2.3-alt2
4.0: 2.3-alt2
3.0: 2.0-alt1
www.altlinux.org/Changes

Другие репозитории

Группа :: Разработка/Прочее
Пакет: bison

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Name: bison
Version: 3.7.6
Release: alt2

Summary: A GNU general-purpose parser generator
License: GPLv3+
Group: Development/Other
Url: https://www.gnu.org/software/bison/

%define srcname %name-%version-%release
# git://git.altlinux.org/people/ldv/packages/bison refs/heads/master
Source0: %srcname.tar
# git://git.altlinux.org/people/ldv/packages/bison refs/heads/po-current
Source1: po-%version-%release.tar
# git://git.altlinux.org/people/ldv/packages/bison refs/heads/runtime-po-current
Source2: runtime-po-%version-%release.tar

Requires: m4 >= 0:1.4
Requires: %name-runtime = %version-%release
Provides: byacc = %version-%release
Obsoletes: byacc

BuildRequires: flex, gcc-c++, gperf, help2man, makeinfo
BuildRequires: gnulib >= 0.1.4516.e639e5

%description
Bison is a general purpose parser generator which 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 program
with Bison.  Many programs use Bison as part of their build process.
Bison is only needed on systems that are used for development.

%package runtime
Summary: Runtime support files used by Bison-generated parsers
Group: Development/C
BuildArch: noarch

%description runtime
This 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
%setup -n %srcname -a1 -a2

# Build scripts expect to find the bison version in this file.

echo -n %version > .tarball-version

# Generate LINGUAS files.

ls po/*.po | sed 's|.*/||; s|\.po$||' > po/LINGUAS
ls runtime-po/*.po | sed 's|.*/||; s|\.po$||' > runtime-po/LINGUAS

# Install submodule files.

rm m4/m4.m4 data/m4sugar/{foreach,m4sugar}.m4 build-aux/move-if-change
ln -s %_aclocaldir/m4.m4 m4/
ln -s %_datadir/autoconf/m4sugar/{foreach,m4sugar}.m4 data/m4sugar/
ln -s %_datadir/gnulib/build-aux/move-if-change build-aux/

# Use bootstrap script from gnulib.

if grep -qs ^bootstrap_sync=true bootstrap.conf; then
ln -snf %_datadir/gnulib/build-aux/bootstrap .
fi

%build
%{?optflags_lto:%global optflags_lto %optflags_lto -ffat-lto-objects}
./bootstrap --no-git --skip-po --gnulib-srcdir=%_datadir/gnulib

# Use translations from gnulib.

if [ -f %_datadir/gnulib/build-aux/po/LINGUAS ]; then
rm gnulib-po/LINGUAS
cp -p %_datadir/gnulib/build-aux/po/{LINGUAS,*.po} gnulib-po/
fi

# Since bison is not a threaded executable,

# configure gnulib with --disable-threads.
# This is not just a harmless optimization that saves a few cycles
# but also a workaround that fixes GNU ld errors on ppc64le reported by
# eu-elflint --gnu-ld /usr/bin/bison
%configure --disable-silent-rules --disable-threads
touch src/scan-????.l
%make_build

%install
%makeinstall_std

%find_lang --output=%name.lang %name %name-gnulib
%find_lang %name-runtime

%define _unpackaged_files_terminate_build 1
%define _stripped_files_terminate_build 1
%set_verify_elf_method strict

%check
%make_build -k check

%files -f %name.lang
%_bindir/*
%_libdir/lib*.a
%_datadir/bison/
%_datadir/aclocal/*
%_mandir/man?/*
%_infodir/*.info*
%doc %_docdir/%name/

%files -f %name-runtime.lang runtime

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin