aboutsummaryrefslogtreecommitdiff
path: root/devel/bisoncpp
diff options
context:
space:
mode:
authorGabor Pali <pgj@FreeBSD.org>2009-11-17 12:40:35 +0000
committerGabor Pali <pgj@FreeBSD.org>2009-11-17 12:40:35 +0000
commit4798c42df75202940ff79d8cab5ba2d5ee6c3693 (patch)
tree9c32588be87d42bf97e1dbd98d1fb7d1a5568a2e /devel/bisoncpp
parent0894a6e1e10cb52bbdeef9235abece9e4445d172 (diff)
downloadports-4798c42df75202940ff79d8cab5ba2d5ee6c3693.tar.gz
ports-4798c42df75202940ff79d8cab5ba2d5ee6c3693.zip
Notes
Diffstat (limited to 'devel/bisoncpp')
-rw-r--r--devel/bisoncpp/Makefile37
-rw-r--r--devel/bisoncpp/distinfo6
-rw-r--r--devel/bisoncpp/files/patch-build13
-rw-r--r--devel/bisoncpp/files/patch-documentation-manual-grammar-polymorphic.yo11
-rw-r--r--devel/bisoncpp/files/patch-icmake-install42
-rw-r--r--devel/bisoncpp/files/patch-icmake-library2
-rw-r--r--devel/bisoncpp/files/patch-icmake-manpage35
7 files changed, 102 insertions, 44 deletions
diff --git a/devel/bisoncpp/Makefile b/devel/bisoncpp/Makefile
index c0c65703976a..2b4c72c75a56 100644
--- a/devel/bisoncpp/Makefile
+++ b/devel/bisoncpp/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= bisoncpp
-PORTVERSION= 2.4.5
+PORTVERSION= 2.4.8
CATEGORIES= devel
MASTER_SITES= SF/${PORTNAME}/bisonc%2B%2B/${PORTVERSION}
DISTNAME= bisonc++_${PORTVERSION}
@@ -16,11 +16,14 @@ 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
+ yodl>=2.0:${PORTSDIR}/textproc/yodl \
+ libbobcat>=2.05.00:${PORTSDIR}/devel/libbobcat \
+ g++45:${PORTSDIR}/lang/gcc45
+.if !defined(NO_INSTALL_MANPAGES)
MANCOMPRESSED= yes
MAN1= bisonc++.1
+.endif
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${PORTVERSION}
PORTDOCS= *
@@ -33,29 +36,39 @@ 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"|' \
+ s|"/share/man/man1"|"/man/man1"| ; \
+ s|"g++"|"g++45"|' \
${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"| ; \
+ ${WRKSRC}/build \
+ ${WRKSRC}/scanner/driver/build \
+ ${WRKSRC}/parser/driver/build
+ @${REINPLACE_CMD} -e '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 |' \
+ s|"cp -r |"cp -R | ; \
+ s|"-doc"|"/doc"|' \
${WRKSRC}/icmake/install
+ @${REINPLACE_CMD} -e 's|libpath|libpath, "-Wl,--allow-shlib-undefined"|' \
+ ${WRKSRC}/icmake/program
do-build:
- @cd ${WRKSRC} && ./build program strip && ./build man
+ @cd ${WRKSRC} && ./build program strip
+.if !defined(NO_INSTALL_MANPAGES)
+ @cd ${WRKSRC} && ./build man
+.endif
.if !defined(NOPORTDOCS)
@cd ${WRKSRC} && ./build manual
.endif
do-install:
+ cd ${WRKSRC} && ./build install program
+.if !defined(NO_INSTALL_MANPAGES)
+ cd ${WRKSRC} && ./build install man
+.endif
.if !defined(NOPORTDOCS)
- cd ${WRKSRC} && ./build install
-.else
- cd ${WRKSRC} && ./build installprog
+ cd ${WRKSRC} && ./build install manual
.endif
.include <bsd.port.mk>
diff --git a/devel/bisoncpp/distinfo b/devel/bisoncpp/distinfo
index cf0c24e00f2f..efb58e702eff 100644
--- a/devel/bisoncpp/distinfo
+++ b/devel/bisoncpp/distinfo
@@ -1,3 +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
+MD5 (bisonc++_2.4.8.orig.tar.gz) = 5c3603cd4b315708b2ccaf6cfdee58e9
+SHA256 (bisonc++_2.4.8.orig.tar.gz) = 5ab154078083d92f94baf7e01ace33a02494b91b26c33ab1b61be521060a1c2d
+SIZE (bisonc++_2.4.8.orig.tar.gz) = 607348
diff --git a/devel/bisoncpp/files/patch-build b/devel/bisoncpp/files/patch-build
new file mode 100644
index 000000000000..4d16b72b61dc
--- /dev/null
+++ b/devel/bisoncpp/files/patch-build
@@ -0,0 +1,13 @@
+--- build.orig 2009-07-07 16:12:30.000000000 +0200
++++ build 2009-11-02 14:28:18.000000000 +0100
+@@ -43,7 +43,10 @@
+ manpage();
+
+ if (option == "manual")
++ {
++ manhtmlpage();
+ manual();
++ }
+
+ if (option == "library")
+ library(1);
diff --git a/devel/bisoncpp/files/patch-documentation-manual-grammar-polymorphic.yo b/devel/bisoncpp/files/patch-documentation-manual-grammar-polymorphic.yo
deleted file mode 100644
index 00de8886a38f..000000000000
--- a/devel/bisoncpp/files/patch-documentation-manual-grammar-polymorphic.yo
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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
index cd922abf7cdb..c03b033c522c 100644
--- a/devel/bisoncpp/files/patch-icmake-install
+++ b/devel/bisoncpp/files/patch-icmake-install
@@ -1,23 +1,31 @@
---- 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);
+--- icmake/install.orig 2009-07-07 16:12:30.000000000 +0200
++++ icmake/install 2009-11-02 13:23:44.000000000 +0100
+@@ -12,10 +12,6 @@
+ printf(" installing the skeleton files\n");
+ md(where + SKEL);
+ run("cp share/* " + where + SKEL);
+-
+- printf(" installing the information directly in and under $DOC\n");
+- md(where + DOC);
+- run("gzip -9 < changelog > " + where + DOC + "/changelog.gz");
+ }
-- if (all)
-- {
- printf(" installing the manual page bisonc++.1\n");
+ if (what == "man")
+@@ -24,14 +20,14 @@
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)
++ if (what == "manual")
+ {
-
-+ md(where + DOC);
- printf(" installing the information directly in and under $DOC\n");
- run("gzip -9 < changelog > " + where + DOC + "/changelog.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 (what == "manual")
+- {
+ printf(" installing bison's docs\n");
+ md(where + docdoc + "/bison-docs");
+
diff --git a/devel/bisoncpp/files/patch-icmake-library b/devel/bisoncpp/files/patch-icmake-library
index 912a477a8cfb..af2f43f9ab53 100644
--- a/devel/bisoncpp/files/patch-icmake-library
+++ b/devel/bisoncpp/files/patch-icmake-library
@@ -4,7 +4,7 @@
int idx;
string compiler;
string file;
-+ string objDir; /* for 8-CURRENT */
++ string objDir;
compiler = COMPILER;
diff --git a/devel/bisoncpp/files/patch-icmake-manpage b/devel/bisoncpp/files/patch-icmake-manpage
new file mode 100644
index 000000000000..d39a750fbced
--- /dev/null
+++ b/devel/bisoncpp/files/patch-icmake-manpage
@@ -0,0 +1,35 @@
+--- icmake/manpage.orig 2007-09-12 11:09:09.000000000 +0200
++++ icmake/manpage 2009-11-02 12:19:34.000000000 +0100
+@@ -3,7 +3,7 @@
+
+ void manpage()
+ {
+- md("tmp/man tmp/manhtml");
++ md("tmp/man");
+
+ special();
+
+@@ -12,7 +12,22 @@
+ if ("bisonc++.yo" younger MANPAGE || "release.yo" younger MANPAGE)
+ {
+ run("yodl2man -o " MANPAGE " bisonc++");
+- run("yodl2html -o " MANHTML " bisonc++");
+ }
+ exit(0);
+ }
++
++void manhtmlpage()
++{
++ md("tmp/manhtml");
++
++ special();
++
++ chdir("documentation/man");
++
++ if ("bisonc++.yo" younger MANHTML || "release.yo" younger MANHTML)
++ {
++ run("yodl2html -o " MANHTML " bisonc++");
++ }
++
++ chdir("../..");
++}