aboutsummaryrefslogtreecommitdiff
path: root/devel/bisoncpp
diff options
context:
space:
mode:
authorGabor Pali <pgj@FreeBSD.org>2009-03-09 16:23:46 +0000
committerGabor Pali <pgj@FreeBSD.org>2009-03-09 16:23:46 +0000
commit9205cdd2b3440b94b678fefd7c366810e08fcb25 (patch)
treec6f1cd6f512918fede44a1f9d5426d3d77c66995 /devel/bisoncpp
parentb2208169f576d23dadda570f5ba5da3cae695919 (diff)
downloadports-9205cdd2b3440b94b678fefd7c366810e08fcb25.tar.gz
ports-9205cdd2b3440b94b678fefd7c366810e08fcb25.zip
Notes
Diffstat (limited to 'devel/bisoncpp')
-rw-r--r--devel/bisoncpp/Makefile61
-rw-r--r--devel/bisoncpp/distinfo3
-rw-r--r--devel/bisoncpp/files/patch-documentation-manual-conditions-gpl.yo12
-rw-r--r--devel/bisoncpp/files/patch-documentation-manual-grammar-polymorphic.yo11
-rw-r--r--devel/bisoncpp/files/patch-icmake-install23
-rw-r--r--devel/bisoncpp/files/patch-icmake-library21
-rw-r--r--devel/bisoncpp/files/patch-parser-parser.h20
-rw-r--r--devel/bisoncpp/pkg-descr6
-rw-r--r--devel/bisoncpp/pkg-plist7
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%%