bison/bison.spec

Mon, 06 Apr 2009 20:29:28 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 06 Apr 2009 20:29:28 +0200
changeset 144
f53f65b7bfb9
parent 22
0d4f475bfc81
child 451
6fd77f414c36
permissions
-rw-r--r--

Import package vendor original specs for necessary manipulations.

michael@22 1 ##
michael@22 2 ## bison.spec -- OpenPKG RPM Package Specification
michael@22 3 ## Copyright (c) 2000-2008 OpenPKG Foundation e.V. <http://openpkg.net/>
michael@22 4 ##
michael@22 5 ## Permission to use, copy, modify, and distribute this software for
michael@22 6 ## any purpose with or without fee is hereby granted, provided that
michael@22 7 ## the above copyright notice and this permission notice appear in all
michael@22 8 ## copies.
michael@22 9 ##
michael@22 10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@22 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@22 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@22 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@22 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@22 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@22 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@22 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@22 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@22 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@22 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@22 21 ## SUCH DAMAGE.
michael@22 22 ##
michael@22 23
michael@22 24 # package versions
michael@22 25 %define V_new 2.4.1
michael@22 26 %define V_old 1.35
michael@22 27
michael@22 28 # package information
michael@22 29 Name: bison
michael@22 30 Summary: Yacc-compatible LALR(1) Parser Generator
michael@22 31 URL: http://www.gnu.org/software/bison/
michael@22 32 Vendor: Free Software Foundation
michael@22 33 Packager: OpenPKG Foundation e.V.
michael@22 34 Distribution: OpenPKG Community
michael@22 35 Class: CORE
michael@22 36 Group: CompilerCompiler
michael@22 37 License: GPL
michael@22 38 Version: %{V_new}
michael@24 39 Release: 20090106
michael@22 40
michael@22 41 # package options
michael@22 42 %option with_old no
michael@22 43
michael@22 44 # list of sources
michael@22 45 Source0: ftp://ftp.gnu.org/gnu/bison/bison-%{V_new}.tar.gz
michael@22 46 Source1: ftp://ftp.gnu.org/gnu/bison/bison-%{V_old}.tar.gz
michael@22 47 Patch0: bison.patch
michael@22 48
michael@22 49 # build information
michael@22 50 Prefix: %{l_prefix}
michael@22 51 BuildRoot: %{l_buildroot}
michael@22 52 BuildPreReq: OpenPKG, openpkg >= 20040212, m4, make
michael@22 53 PreReq: OpenPKG, openpkg >= 20040212, m4
michael@22 54 AutoReq: no
michael@22 55 AutoReqProv: no
michael@22 56 Conflicts: yacc
michael@22 57
michael@22 58 %description
michael@22 59 Bison is a general-purpose parser generator that converts a grammar
michael@22 60 description for an LALR(1) context-free grammar into a C program
michael@22 61 to parse that grammar. Once you are proficient with bison, you may
michael@22 62 use it to develop a wide range of language parsers, from those used
michael@22 63 in simple desk calculators to complex programming languages. Bison
michael@22 64 is upward compatible with yacc: all properly-written yacc grammars
michael@22 65 ought to work with bison with no change. Anyone familiar with yacc
michael@22 66 should be able to use bison with little trouble.
michael@22 67
michael@22 68 %track
michael@22 69 prog bison:new = {
michael@22 70 version = %{V_new}
michael@22 71 url = ftp://ftp.gnu.org/gnu/bison/
michael@22 72 regex = bison-(2.\d+(.\d+)*[a-z]?)\.tar\.gz
michael@22 73 }
michael@22 74 prog bison:old = {
michael@22 75 version = %{V_old}
michael@22 76 url = ftp://ftp.gnu.org/gnu/bison/
michael@22 77 regex = bison-(1\.3\d+)\.tar\.gz
michael@22 78 }
michael@22 79
michael@22 80 %prep
michael@22 81 %setup -q -c -n bison-%{V_new}
michael@22 82 %patch -p0 -d bison-%{V_new}
michael@22 83 %setup -q -T -D -a 1
michael@22 84 %{l_shtool} subst \
michael@22 85 -e 's;^\( *SUBDIRS = .*\) examples\(.*\)$;\1\2;' \
michael@22 86 bison-%{V_new}/Makefile.in
michael@22 87
michael@22 88 %build
michael@22 89 ( cd bison-%{V_new}
michael@22 90 CC="%{l_cc}" \
michael@22 91 CFLAGS="%{l_cflags -O}" \
michael@22 92 ./configure \
michael@22 93 --prefix=%{l_prefix} \
michael@22 94 --mandir=%{l_prefix}/man \
michael@22 95 --infodir=%{l_prefix}/info \
michael@22 96 --disable-nls
michael@22 97 %{l_make} -f Makefile %{l_mflags}
michael@22 98 ) || exit $?
michael@22 99 %if "%{with_old}" == "yes"
michael@22 100 ( cd bison-%{V_old}
michael@22 101 CC="%{l_cc}" \
michael@22 102 CFLAGS="%{l_cflags -O}" \
michael@22 103 ./configure \
michael@22 104 --prefix=%{l_prefix} \
michael@22 105 --mandir=%{l_prefix}/man \
michael@22 106 --infodir=%{l_prefix}/info \
michael@22 107 --disable-nls
michael@22 108 %{l_make} -f Makefile %{l_mflags}
michael@22 109 ) || exit $?
michael@22 110 %endif
michael@22 111
michael@22 112 %install
michael@22 113 rm -rf $RPM_BUILD_ROOT
michael@22 114 %if "%{with_old}" == "yes"
michael@22 115 ( cd bison-%{V_old}
michael@22 116 %{l_make} -f Makefile %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
michael@22 117 mv $RPM_BUILD_ROOT%{l_prefix}/bin/bison \
michael@22 118 $RPM_BUILD_ROOT%{l_prefix}/bin/bison-old
michael@22 119 mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/bison.1 \
michael@22 120 $RPM_BUILD_ROOT%{l_prefix}/man/man1/bison-old.1
michael@22 121 ) || exit $?
michael@22 122 %endif
michael@22 123 ( cd bison-%{V_new}
michael@22 124 %{l_make} -f Makefile %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
michael@22 125 ) || exit $?
michael@22 126 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/locale
michael@22 127 rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir
michael@22 128 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/charset.alias
michael@22 129 strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
michael@22 130 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
michael@22 131
michael@22 132 %files -f files
michael@22 133
michael@22 134 %clean
michael@22 135 rm -rf $RPM_BUILD_ROOT
michael@22 136

mercurial