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 [email protected]