OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 16-Jun-2007 20:36:23 Branch: HEAD Handle: 2007061619362200 Added files: openpkg-src/dragon dragon.patch dragon.spec Log: new package: dragon 1.2.9 (Dragon Parser Generator) Summary: Revision Changes Path 1.1 +24 -0 openpkg-src/dragon/dragon.patch 1.1 +131 -0 openpkg-src/dragon/dragon.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/dragon/dragon.patch ============================================================================ $ cvs diff -u -r0 -r1.1 dragon.patch --- /dev/null 2007-06-16 20:33:00 +0200 +++ dragon.patch 2007-06-16 20:36:22 +0200 @@ -0,0 +1,24 @@ +Index: dragon/samples/Makefile.in +--- dragon/samples/Makefile.in.orig 2007-01-26 18:54:49 +0100 ++++ dragon/samples/Makefile.in 2007-06-16 19:59:40 +0200 +@@ -20,7 +20,7 @@ + INCLUDEPREFIX = $(PREFIX)/include + LIBPREFIX = $(PREFIX)/lib + +-CXFLAGS = -I$(INCLUDEPREFIX) -I../src @CFLAGS@ ++CXFLAGS = -I$(INCLUDEPREFIX) -I../src @CFLAGS@ @CPPFLAGS@ + LDFLAGS = -L$(LIBPREFIX) @LDFLAGS@ + + .SUFFIXES: .cc .o +Index: dragon/src/Makefile.in +--- dragon/src/Makefile.in.orig 2007-01-26 19:01:54 +0100 ++++ dragon/src/Makefile.in 2007-06-16 19:59:30 +0200 +@@ -19,7 +19,7 @@ + INCLUDEPREFIX = $(PREFIX)/include + LIBPREFIX = $(PREFIX)/lib + +-CFLAGS = -I$(INCLUDEPREFIX) @CFLAGS@ ++CFLAGS = -I$(INCLUDEPREFIX) @CFLAGS@ @CPPFLAGS@ + LDFLAGS = -L$(LIBPREFIX) @LDFLAGS@ + + .SUFFIXES: .cc .o @@ . patch -p0 <<'@@ .' Index: openpkg-src/dragon/dragon.spec ============================================================================ $ cvs diff -u -r0 -r1.1 dragon.spec --- /dev/null 2007-06-16 20:33:00 +0200 +++ dragon.spec 2007-06-16 20:36:22 +0200 @@ -0,0 +1,131 @@ +## +## dragon.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/> +## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/> +## +## 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 version +%define V_base 1.0.13 +%define V_dragon 1.2.9 + +# package information +Name: dragon +Summary: Dragon Parser Generator +URL: http://www.lemke-it.com/opensource.html +Vendor: Björn Lemke +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: EVAL +Group: CompilerCompiler +License: GPL +Version: %{V_dragon} +Release: 20070616 + +# list of sources +Source0: http://www.lemke-it.com/base-%{V_base}.tar.gz +Source1: http://www.lemke-it.com/dragon-%{V_dragon}.tar.gz +Patch0: dragon.patch + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20060823, gcc, gcc::with_cxx = yes +PreReq: OpenPKG, openpkg >= 20060823 +AutoReq: no +AutoReqProv: no + +%description + The dragon software package implements a combined scanner/parser + generator for LR compliant grammar definitions. The generated + C++ parser class is used as a super class from which a parser + implementation class must be derived. The implementation class + implements the scanner feed methods but also all required semantic + action method. dragon has been used for several large projects with + complex grammar defintions (about 200 productions / 80 tokens). + Since for those grammar defintions, the analyse phase to build up + the parse table is quite CPU intensive, it is recommended to use + state of the art hardware. dragon requires the base package to get + compiled but also for the compilation of the generated C++ code. + +%track + prog dragon:base = { + version = %{V_base} + url = http://www.lemke-it.com/opensource.html + regex = base-(__VER__)\.tar\.gz + } + prog dragon:dragon = { + version = %{V_dragon} + url = http://www.lemke-it.com/opensource.html + regex = dragon-(__VER__)\.tar\.gz + } + +%prep + %setup -q -c + %setup -q -T -D -a 1 + %patch -p0 + +%build + ( cd base + export CC="%{l_cc}" + export CXX="%{l_cxx}" + export CFLAGS="%{l_cflags -O}" + export CXXFLAGS="%{l_cxxflags -O}" + export CPPFLAGS="%{l_cppflags}" + export LDFLAGS="%{l_ldflags}" + ./configure \ + --prefix=%{l_prefix} + %{l_make} %{l_mflags} + ) || exit $? + ( cd dragon + export CC="%{l_cc}" + export CXX="%{l_cxx}" + export CFLAGS="%{l_cflags -O}" + export CXXFLAGS="%{l_cxxflags -O}" + export CPPFLAGS="%{l_cppflags} -I`pwd`/../base/src" + export LDFLAGS="%{l_ldflags} -L`pwd`/../base/src" + ./configure \ + --prefix=%{l_prefix} + %{l_make} %{l_mflags} + ) || exit $? + +%install + rm -rf $RPM_BUILD_ROOT + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/bin \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1 \ + $RPM_BUILD_ROOT%{l_prefix}/share/dragon + ( cd dragon + %{l_make} %{l_mflags} install PREFIX=$RPM_BUILD_ROOT%{l_prefix} + ) || exit $? + %{l_shtool} install -c -m 644 \ + dragon/man/dragon.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/ + %{l_shtool} install -c -m 644 \ + dragon/doc/dragon.pdf $RPM_BUILD_ROOT%{l_prefix}/share/dragon/ + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%doc %{l_prefix}/share/dragon/*' + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT + @@ . ______________________________________________________________________ OpenPKG http://openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org