From 94b3d1675982f3e85efb12a376ad3b3567790e05 Mon Sep 17 00:00:00 2001 From: Martin Wilke Date: Tue, 6 Mar 2007 19:17:44 +0000 Subject: [PATCH] Menhir is a LR(1) parser generator for the OCaml programming language. It is 90% compatible to ocamlyacc (included with the OCaml distribution), and it has some advantages over ocamlyacc, such as limited EBNF support, LR(1) generation instead of LALR(1), better conflict explanation and production of reentrant parsers (amongst others). WWW: http://cristal.inria.fr/~fpottier/menhir PR: ports/109910 Submitted by: Jaap Boender --- devel/Makefile | 1 + devel/menhir/Makefile | 24 +++++++++++++++++++++++ devel/menhir/distinfo | 3 +++ devel/menhir/files/patch-Makefile | 24 +++++++++++++++++++++++ devel/menhir/pkg-descr | 7 +++++++ devel/menhir/pkg-plist | 32 +++++++++++++++++++++++++++++++ 6 files changed, 91 insertions(+) create mode 100644 devel/menhir/Makefile create mode 100644 devel/menhir/distinfo create mode 100644 devel/menhir/files/patch-Makefile create mode 100644 devel/menhir/pkg-descr create mode 100644 devel/menhir/pkg-plist diff --git a/devel/Makefile b/devel/Makefile index 55e71ddf6984..d96c17640f9b 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -683,6 +683,7 @@ SUBDIR += maven SUBDIR += maven2 SUBDIR += memcheck + SUBDIR += menhir SUBDIR += mercator SUBDIR += mercurial SUBDIR += meta-cvs diff --git a/devel/menhir/Makefile b/devel/menhir/Makefile new file mode 100644 index 000000000000..f9bfc46a938e --- /dev/null +++ b/devel/menhir/Makefile @@ -0,0 +1,24 @@ +# New ports collection makefile for: menhir +# Date created: 5 March 2007 +# Whom: Jaap Boender +# +# $FreeBSD$ +# + +PORTNAME= menhir +PORTVERSION= 20070215 +CATEGORIES= devel +MASTER_SITES= http://cristal.inria.fr/~fpottier/menhir/ + +MAINTAINER= jaapb@kerguelen.org +COMMENT= LR(1) parser generator for OCaml + +USE_GMAKE= yes +USE_OCAML= yes + +DOCSDIR= ${PREFIX}/share/doc/ocaml/${PORTNAME} +MAKE_ENV+= DOCSDIR="${DOCSDIR}" OCAML_SITELIBDIR="${PREFIX}/${OCAML_SITELIBDIR}" + +.include +.include "${PORTSDIR}/lang/ocaml/bsd.ocaml.mk" +.include diff --git a/devel/menhir/distinfo b/devel/menhir/distinfo new file mode 100644 index 000000000000..27b9a5b745d5 --- /dev/null +++ b/devel/menhir/distinfo @@ -0,0 +1,3 @@ +MD5 (menhir-20070215.tar.gz) = e7a1682ae072293ef0718a97d8f57939 +SHA256 (menhir-20070215.tar.gz) = 53eda84e6af031e22ea5d0de1f6701ec144ad664fb480ec27c2ccef3be22f920 +SIZE (menhir-20070215.tar.gz) = 295465 diff --git a/devel/menhir/files/patch-Makefile b/devel/menhir/files/patch-Makefile new file mode 100644 index 000000000000..8956d5a71929 --- /dev/null +++ b/devel/menhir/files/patch-Makefile @@ -0,0 +1,24 @@ +--- Makefile.orig Thu Feb 15 11:03:08 2007 ++++ Makefile Mon Mar 5 12:25:21 2007 +@@ -50,9 +50,9 @@ + + EXECUTABLE := menhir + bindir := ${PREFIX}/bin +-docdir := ${PREFIX}/share/doc/$(EXECUTABLE) +-libdir := ${PREFIX}/share/$(EXECUTABLE) +-mandir := ${PREFIX}/share/man/man1 ++docdir := ${DOCSDIR} ++libdir := ${OCAML_SITELIBDIR}/${EXECUTABLE} ++mandir := ${PREFIX}/man/man1 + MANS := menhir.1 + DOCS := manual.pdf demos + LIBS := standard.mly +@@ -75,7 +75,7 @@ + # during bootstrap stage one. + + stdlib.ml: +- echo "let path = \"${PREFIX}/share/menhir\"" > stdlib.ml ++ echo "let path = \"${OCAML_SITELIBDIR}/menhir\"" > stdlib.ml + + # ---------------------------------------------------------------------------- + # Installation. diff --git a/devel/menhir/pkg-descr b/devel/menhir/pkg-descr new file mode 100644 index 000000000000..1523b4fc80f8 --- /dev/null +++ b/devel/menhir/pkg-descr @@ -0,0 +1,7 @@ +Menhir is a LR(1) parser generator for the OCaml programming language. +It is 90% compatible to ocamlyacc (included with the OCaml distribution), and +it has some advantages over ocamlyacc, such as limited EBNF support, LR(1) +generation instead of LALR(1), better conflict explanation and production of +reentrant parsers (amongst others). + +WWW: http://cristal.inria.fr/~fpottier/menhir diff --git a/devel/menhir/pkg-plist b/devel/menhir/pkg-plist new file mode 100644 index 000000000000..94846194cc09 --- /dev/null +++ b/devel/menhir/pkg-plist @@ -0,0 +1,32 @@ +bin/menhir +%%OCAML_SITELIBDIR%%/menhir/standard.mly +%%DOCSDIR%%/manual.pdf +%%DOCSDIR%%/demos/Makefile +%%DOCSDIR%%/demos/Makefile.auto +%%DOCSDIR%%/demos/Makefile.shared +%%DOCSDIR%%/demos/OMakefile.shared +%%DOCSDIR%%/demos/calc/Makefile +%%DOCSDIR%%/demos/calc/OMakefile +%%DOCSDIR%%/demos/calc/OMakeroot +%%DOCSDIR%%/demos/calc/README +%%DOCSDIR%%/demos/calc/calc.ml +%%DOCSDIR%%/demos/calc/lexer.mll +%%DOCSDIR%%/demos/calc/parser.mly +%%DOCSDIR%%/demos/calc-two/Makefile +%%DOCSDIR%%/demos/calc-two/OMakefile +%%DOCSDIR%%/demos/calc-two/OMakeroot +%%DOCSDIR%%/demos/calc-two/README +%%DOCSDIR%%/demos/calc-two/algebraic.mly +%%DOCSDIR%%/demos/calc-two/calc.ml +%%DOCSDIR%%/demos/calc-two/lexer.mll +%%DOCSDIR%%/demos/calc-two/reverse.mly +%%DOCSDIR%%/demos/calc-two/tokens.mly +%%DOCSDIR%%/demos/ocamldep.wrapper +@dirrm %%OCAML_SITELIBDIR%%/menhir +@dirrm %%DOCSDIR%%/demos/calc +@dirrm %%DOCSDIR%%/demos/calc-two +@dirrm %%DOCSDIR%%/demos +@dirrm %%DOCSDIR%% +@dirrmtry share/doc/ocaml +@dirrmtry lib/ocaml/site-lib +@dirrmtry lib/ocaml