diff options
author | pgj <pgj@FreeBSD.org> | 2009-03-10 00:23:46 +0800 |
---|---|---|
committer | pgj <pgj@FreeBSD.org> | 2009-03-10 00:23:46 +0800 |
commit | 4faa1de6706e2aa7fdd1da1f8d08953ee836cf11 (patch) | |
tree | 2c629e1f64a01add48a6110f5105eabbd067e7f5 /devel/bisoncpp | |
parent | 33b3de5d2ad3808104d138e934870648b30c2367 (diff) | |
download | freebsd-ports-gnome-4faa1de6706e2aa7fdd1da1f8d08953ee836cf11.tar.gz freebsd-ports-gnome-4faa1de6706e2aa7fdd1da1f8d08953ee836cf11.tar.zst freebsd-ports-gnome-4faa1de6706e2aa7fdd1da1f8d08953ee836cf11.zip |
The program bisonc++ creates a C++ parser function and -class having a
cleaner setup than the code generated by Alain Coetmeur's bison++.
Furthermore, since bisonc++ more closely follows current-day ideas about
C++ programming its code is easier to read.
WWW: http://bisoncpp.sourceforge.net/
Approved by: tabthorpe
Diffstat (limited to 'devel/bisoncpp')
-rw-r--r-- | devel/bisoncpp/Makefile | 61 | ||||
-rw-r--r-- | devel/bisoncpp/distinfo | 3 | ||||
-rw-r--r-- | devel/bisoncpp/files/patch-documentation-manual-conditions-gpl.yo | 12 | ||||
-rw-r--r-- | devel/bisoncpp/files/patch-documentation-manual-grammar-polymorphic.yo | 11 | ||||
-rw-r--r-- | devel/bisoncpp/files/patch-icmake-install | 23 | ||||
-rw-r--r-- | devel/bisoncpp/files/patch-icmake-library | 21 | ||||
-rw-r--r-- | devel/bisoncpp/files/patch-parser-parser.h | 20 | ||||
-rw-r--r-- | devel/bisoncpp/pkg-descr | 6 | ||||
-rw-r--r-- | devel/bisoncpp/pkg-plist | 7 |
9 files changed, 164 insertions, 0 deletions
diff --git a/devel/bisoncpp/Makefile b/devel/bisoncpp/Makefile new file mode 100644 index 000000000000..f049d523a521 --- /dev/null +++ b/devel/bisoncpp/Makefile @@ -0,0 +1,61 @@ +# New ports collection makefile for: bisoncpp +# Date created: March 5, 2009 +# Whom: Gabor Pali <pgj@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= bisoncpp +PORTVERSION= 2.4.5 +CATEGORIES= devel +MASTER_SITES= SF +DISTNAME= bisonc++_${PORTVERSION} +EXTRACT_SUFX= .orig.tar.gz + +MAINTAINER= pgj@FreeBSD.org +COMMENT= LALR(1) parser generator that generates C++ classes + +BUILD_DEPENDS= icmake:${PORTSDIR}/devel/icmake \ + yodl>=2.0:${PORTSDIR}/textproc/yodl +LIB_DEPENDS= bobcat.2:${PORTSDIR}/devel/libbobcat + +MANCOMPRESSED= yes +MAN1= bisonc++.1 + +DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${PORTVERSION} +PORTDOCS= * + +PLIST_SUB+= PORTVERSION="${PORTVERSION}" + +WRKSRC= ${WRKDIR}/bisonc++-${PORTVERSION} + +post-patch: + @${REINPLACE_CMD} -e 's|"/usr"|"${PREFIX}"| ; \ + s|"/share/bisonc++"|"/share/${PORTNAME}-${PORTVERSION}"| ; \ + s|"/share/doc/bisonc++"|"/share/doc/${PORTNAME}-${PORTVERSION}"| ; \ + s|"/share/man/man1"|"/man/man1"|' \ + ${WRKSRC}/INSTALL.im + @${REINPLACE_CMD} -e 's|#!/usr/bin/icmake|#!${LOCALBASE}/bin/icmake|' \ + ${WRKSRC}/build + @${REINPLACE_CMD} -e 's|#!/usr/bin/icmake|#!${LOCALBASE}/bin/icmake| ; \ + s|"-Wall -O3"|"-Wall ${CXXFLAGS} -I${LOCALBASE}/include"| ; \ + s|""|"${LOCALBASE}/lib"|' \ + ${WRKSRC}/icmake/library + @${REINPLACE_CMD} -e 's|"cp -d |"cp -Pp | ; \ + s|"cp -r |"cp -R |' \ + ${WRKSRC}/icmake/install + +do-build: + @cd ${WRKSRC} && ./build program strip && ./build man +.if !defined(NOPORTDOCS) + @cd ${WRKSRC} && ./build manual +.endif + +do-install: +.if !defined(NOPORTDOCS) + cd ${WRKSRC} && ./build install +.else + cd ${WRKSRC} && ./build installprog +.endif + +.include <bsd.port.mk> diff --git a/devel/bisoncpp/distinfo b/devel/bisoncpp/distinfo new file mode 100644 index 000000000000..cf0c24e00f2f --- /dev/null +++ b/devel/bisoncpp/distinfo @@ -0,0 +1,3 @@ +MD5 (bisonc++_2.4.5.orig.tar.gz) = e6945e8d3ed1aac14a09b99bf99b62fb +SHA256 (bisonc++_2.4.5.orig.tar.gz) = 3bcf256db0cb6933ec7b45a2962db45b83b0d628ab8ac530d9d17f4ccc0c6f6e +SIZE (bisonc++_2.4.5.orig.tar.gz) = 621753 diff --git a/devel/bisoncpp/files/patch-documentation-manual-conditions-gpl.yo b/devel/bisoncpp/files/patch-documentation-manual-conditions-gpl.yo new file mode 100644 index 000000000000..bcf0127814da --- /dev/null +++ b/devel/bisoncpp/files/patch-documentation-manual-conditions-gpl.yo @@ -0,0 +1,12 @@ +--- documentation/manual/conditions/gpl.yo.orig 2007-03-22 21:29:15.000000000 +0100 ++++ documentation/manual/conditions/gpl.yo 2009-03-05 16:07:39.000000000 +0100 +@@ -1,8 +1,2 @@ + The text of the em(GNU General Public License) (GPL) is frequently found in +-files named tt(COPYING). On em(Debian) systems the GPL may be found in the +-file tt(/usr/share/common-licenses/GPL). +- +-The GPL is shown below: +- +-verbinclude(/usr/share/common-licenses/GPL) +- ++files named tt(COPYING). diff --git a/devel/bisoncpp/files/patch-documentation-manual-grammar-polymorphic.yo b/devel/bisoncpp/files/patch-documentation-manual-grammar-polymorphic.yo new file mode 100644 index 000000000000..00de8886a38f --- /dev/null +++ b/devel/bisoncpp/files/patch-documentation-manual-grammar-polymorphic.yo @@ -0,0 +1,11 @@ +--- documentation/manual/grammar/polymorphic.yo.orig 2007-10-18 13:15:45.000000000 +0200 ++++ documentation/manual/grammar/polymorphic.yo 2009-03-05 16:11:43.000000000 +0100 +@@ -1,7 +1,6 @@ + Below the way Bisonc++ may use a polymorphic semantic value is discussed. The + approach discussed below is a direct result of an suggestion initially made by +-Dallas A. Clement in September 2007. All sources of the example discussed +-below are found in the link(here)(poly). ++Dallas A. Clement in September 2007. + + One may wonder why a tt(union) is still used by Bisonc++ as bf(C++) offers + inherently superior approaches to combine multiple types in one type. The diff --git a/devel/bisoncpp/files/patch-icmake-install b/devel/bisoncpp/files/patch-icmake-install new file mode 100644 index 000000000000..cd922abf7cdb --- /dev/null +++ b/devel/bisoncpp/files/patch-icmake-install @@ -0,0 +1,23 @@ +--- icmake/install.orig 2007-03-22 21:28:58.000000000 +0100 ++++ icmake/install 2009-03-05 16:50:49.000000000 +0100 +@@ -8,17 +8,15 @@ + md(where + SKEL); + run("cp share/* " + where + SKEL); + +- if (all) +- { + printf(" installing the manual page bisonc++.1\n"); + md(where + MAN); + run("gzip -9 < tmp/man/bisonc++.1 > " + + where + MAN + "/bisonc++.1.gz"); + +- printf(" installing the manual page bisonc++man.html\n"); +- md(where + DOC + "/man"); +- run("cp tmp/manhtml/bisonc++man.html " + where + DOC + "/man"); ++ if (all) ++ { + ++ md(where + DOC); + printf(" installing the information directly in and under $DOC\n"); + run("gzip -9 < changelog > " + where + DOC + "/changelog.gz"); + diff --git a/devel/bisoncpp/files/patch-icmake-library b/devel/bisoncpp/files/patch-icmake-library new file mode 100644 index 000000000000..912a477a8cfb --- /dev/null +++ b/devel/bisoncpp/files/patch-icmake-library @@ -0,0 +1,21 @@ +--- icmake/library.orig 2007-11-13 14:48:17.000000000 +0100 ++++ icmake/library 2009-03-06 10:26:55.000000000 +0100 +@@ -120,6 +120,7 @@ + int idx; + string compiler; + string file; ++ string objDir; /* for 8-CURRENT */ + + compiler = COMPILER; + +@@ -128,8 +129,9 @@ + #endif + + compiler += " -c -o " + srcDir + "/o/" + (string)prefix; ++ objDir = srcDir + "/o"; + +- md(srcDir + "/o"); ++ md(objDir); + + for (idx = sizeof(cfiles); idx--; ) + { diff --git a/devel/bisoncpp/files/patch-parser-parser.h b/devel/bisoncpp/files/patch-parser-parser.h new file mode 100644 index 000000000000..38366675455c --- /dev/null +++ b/devel/bisoncpp/files/patch-parser-parser.h @@ -0,0 +1,20 @@ +--- parser/parser.h.orig 2007-10-15 11:58:20.000000000 +0200 ++++ parser/parser.h 2009-03-05 15:50:45.000000000 +0100 +@@ -151,7 +151,7 @@ + void multiplyDefined(Symbol const *sp); + + void nestedBlock(Block &block); // define inner block as pseudo N +- std::string *newYYText() const; // make dynamic copy of YYText() ++ std::string *newYYText(); // make dynamic copy of YYText() + + std::string nextHiddenName(); + void noDefaultTypeWarning(); +@@ -382,7 +382,7 @@ + return d_stackDecl; + } + +-inline std::string *Parser::newYYText() const ++inline std::string *Parser::newYYText() + { + return new std::string(d_scanner.YYText()); + } diff --git a/devel/bisoncpp/pkg-descr b/devel/bisoncpp/pkg-descr new file mode 100644 index 000000000000..486e0a25f6eb --- /dev/null +++ b/devel/bisoncpp/pkg-descr @@ -0,0 +1,6 @@ +The program bisonc++ creates a C++ parser function and -class having a +cleaner setup than the code generated by Alain Coetmeur's bison++. +Furthermore, since bisonc++ more closely follows current-day ideas about +C++ programming its code is easier to read + +WWW: http://bisoncpp.sourceforge.net/ diff --git a/devel/bisoncpp/pkg-plist b/devel/bisoncpp/pkg-plist new file mode 100644 index 000000000000..039fd0975cce --- /dev/null +++ b/devel/bisoncpp/pkg-plist @@ -0,0 +1,7 @@ +@comment $FreeBSD$ +bin/bisonc++ +share/bisoncpp-%%PORTVERSION%%/bisonc++.cc +share/bisoncpp-%%PORTVERSION%%/bisonc++.h +share/bisoncpp-%%PORTVERSION%%/bisonc++.ih +share/bisoncpp-%%PORTVERSION%%/bisonc++base.h +@dirrm share/bisoncpp-%%PORTVERSION%% |