diff -r 5ba5c2911c12 -r 0d4f475bfc81 bison/bison.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bison/bison.spec Wed Jan 07 14:58:25 2009 +0100 @@ -0,0 +1,137 @@ +## +## bison.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2008 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package versions +%define V_new 2.4.1 +%define V_old 1.35 + +# package information +Name: bison +Summary: Yacc-compatible LALR(1) Parser Generator +URL: http://www.gnu.org/software/bison/ +Vendor: Free Software Foundation +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: CORE +Group: CompilerCompiler +License: GPL +Version: %{V_new} +Release: 20081213 + +# package options +%option with_old no + +# list of sources +Source0: ftp://ftp.gnu.org/gnu/bison/bison-%{V_new}.tar.gz +Source1: ftp://ftp.gnu.org/gnu/bison/bison-%{V_old}.tar.gz +Patch0: bison.patch + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20040212, m4, make +PreReq: OpenPKG, openpkg >= 20040212, m4 +AutoReq: no +AutoReqProv: no +Conflicts: yacc + +%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. Once you are proficient with bison, you may + use it to develop a wide range of language parsers, from those used + in simple desk calculators to complex programming languages. Bison + is upward compatible with yacc: all properly-written yacc grammars + ought to work with bison with no change. Anyone familiar with yacc + should be able to use bison with little trouble. + +%track + prog bison:new = { + version = %{V_new} + url = ftp://ftp.gnu.org/gnu/bison/ + regex = bison-(2.\d+(.\d+)*[a-z]?)\.tar\.gz + } + prog bison:old = { + version = %{V_old} + url = ftp://ftp.gnu.org/gnu/bison/ + regex = bison-(1\.3\d+)\.tar\.gz + } + +%prep + %setup -q -c -n bison-%{V_new} + %patch -p0 -d bison-%{V_new} + %setup -q -T -D -a 1 + %{l_shtool} subst \ + -e 's;^\( *SUBDIRS = .*\) examples\(.*\)$;\1\2;' \ + bison-%{V_new}/Makefile.in + +%build + ( cd bison-%{V_new} + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O}" \ + CONFIG_SHELL=/bin/sh \ + ./configure \ + --prefix=%{l_prefix} \ + --mandir=%{l_prefix}/man \ + --infodir=%{l_prefix}/info \ + --disable-nls + %{l_make} -f Makefile %{l_mflags} + ) || exit $? +%if "%{with_old}" == "yes" + ( cd bison-%{V_old} + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O}" \ + ./configure \ + --prefix=%{l_prefix} \ + --mandir=%{l_prefix}/man \ + --infodir=%{l_prefix}/info \ + --disable-nls + %{l_make} -f Makefile %{l_mflags} + ) || exit $? +%endif + +%install + rm -rf $RPM_BUILD_ROOT +%if "%{with_old}" == "yes" + ( cd bison-%{V_old} + %{l_make} -f Makefile %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" + mv $RPM_BUILD_ROOT%{l_prefix}/bin/bison \ + $RPM_BUILD_ROOT%{l_prefix}/bin/bison-old + mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/bison.1 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1/bison-old.1 + ) || exit $? +%endif + ( cd bison-%{V_new} + %{l_make} -f Makefile %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" + ) || exit $? + rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/locale + rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir + rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/charset.alias + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT +