summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devel/menhir/DESCR3
-rw-r--r--devel/menhir/Makefile27
-rw-r--r--devel/menhir/PLIST51
-rw-r--r--devel/menhir/distinfo6
-rw-r--r--devel/menhir/patches/patch-aa54
5 files changed, 141 insertions, 0 deletions
diff --git a/devel/menhir/DESCR b/devel/menhir/DESCR
new file mode 100644
index 00000000000..e8b855a5642
--- /dev/null
+++ b/devel/menhir/DESCR
@@ -0,0 +1,3 @@
+Menhir is a LR(1) parser generator for the Objective Caml programming
+language. That is, Menhir compiles LR(1) grammar specifications down
+to Objective Caml code. It is mostly compatible with ocamlyacc(1).
diff --git a/devel/menhir/Makefile b/devel/menhir/Makefile
new file mode 100644
index 00000000000..36947a723da
--- /dev/null
+++ b/devel/menhir/Makefile
@@ -0,0 +1,27 @@
+# $NetBSD: Makefile,v 1.1.1.1 2008/10/13 22:45:03 bjs Exp $
+#
+
+DISTNAME= menhir-20080912
+CATEGORIES= devel
+MASTER_SITES= http://cristal.inria.fr/~fpottier/menhir/
+
+MAINTAINER= bjs@NetBSD.org
+HOMEPAGE= http://cristal.inria.fr/~fpottier/menhir/
+COMMENT= LR(1) parser generator in OCaml
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+BUILD_DEPENDS+= ocaml-findlib-[0-9]*:../../devel/ocaml-findlib
+
+USE_TOOLS+= gmake
+
+EGDIR= ${PREFIX}/share/examples/${PKGBASE}
+MAKE_ENV= EGDIR=${EGDIR:Q}
+
+BUILDLINK_API_DEPENDS.ocaml+= ocaml>=3.09
+
+post-extract:
+ ${RM} ${WRKSRC}/demos/calc/.omakedb*
+
+.include "../../lang/ocaml/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/devel/menhir/PLIST b/devel/menhir/PLIST
new file mode 100644
index 00000000000..f894c8f3668
--- /dev/null
+++ b/devel/menhir/PLIST
@@ -0,0 +1,51 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2008/10/13 22:45:03 bjs Exp $
+bin/menhir
+lib/ocaml/site-lib/menhirLib/META
+lib/ocaml/site-lib/menhirLib/menhirLib.cmi
+lib/ocaml/site-lib/menhirLib/menhirLib.cmo
+lib/ocaml/site-lib/menhirLib/menhirLib.cmx
+lib/ocaml/site-lib/menhirLib/menhirLib.o
+lib/ocaml/site-lib/standard.mly
+man/man1/menhir.1
+share/doc/menhir/manual.pdf
+share/examples/menhir/demos/Makefile
+share/examples/menhir/demos/Makefile.auto
+share/examples/menhir/demos/Makefile.shared
+share/examples/menhir/demos/OMakefile.shared
+share/examples/menhir/demos/calc-param/Makefile
+share/examples/menhir/demos/calc-param/OMakefile
+share/examples/menhir/demos/calc-param/OMakeroot
+share/examples/menhir/demos/calc-param/README
+share/examples/menhir/demos/calc-param/calc.ml
+share/examples/menhir/demos/calc-param/lexer.mll
+share/examples/menhir/demos/calc-param/parser.mly
+share/examples/menhir/demos/calc-param/tokens.mly
+share/examples/menhir/demos/calc-two/Makefile
+share/examples/menhir/demos/calc-two/OMakefile
+share/examples/menhir/demos/calc-two/OMakeroot
+share/examples/menhir/demos/calc-two/README
+share/examples/menhir/demos/calc-two/algebraic.mly
+share/examples/menhir/demos/calc-two/calc.ml
+share/examples/menhir/demos/calc-two/common.mly
+share/examples/menhir/demos/calc-two/lexer.mll
+share/examples/menhir/demos/calc-two/reverse.mly
+share/examples/menhir/demos/calc-two/tokens.mly
+share/examples/menhir/demos/calc/Makefile
+share/examples/menhir/demos/calc/OMakefile
+share/examples/menhir/demos/calc/OMakefile.omc
+share/examples/menhir/demos/calc/OMakeroot
+share/examples/menhir/demos/calc/OMakeroot.omc
+share/examples/menhir/demos/calc/README
+share/examples/menhir/demos/calc/calc.ml
+share/examples/menhir/demos/calc/lexer.mll
+share/examples/menhir/demos/calc/parser.mly
+share/examples/menhir/demos/ocamldep.wrapper
+@dirrm share/examples/menhir/demos/calc-two
+@dirrm share/examples/menhir/demos/calc-param
+@dirrm share/examples/menhir/demos/calc
+@dirrm share/examples/menhir/demos
+@dirrm share/examples/menhir
+@dirrm share/doc/menhir
+@dirrm lib/ocaml/site-lib/menhirLib
+@exec %D/libexec/ocaml-findlib-register add %D/lib/ocaml/site-lib/lwt
+@comment in ocaml: @dirrm lib/ocaml
diff --git a/devel/menhir/distinfo b/devel/menhir/distinfo
new file mode 100644
index 00000000000..848cc2a0f45
--- /dev/null
+++ b/devel/menhir/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2008/10/13 22:45:03 bjs Exp $
+
+SHA1 (menhir-20080912.tar.gz) = 8a18733023a4a0775cb19837a7497b40628ca197
+RMD160 (menhir-20080912.tar.gz) = f02e43047ee96d8f69505f43810a807404c322eb
+Size (menhir-20080912.tar.gz) = 377709 bytes
+SHA1 (patch-aa) = a10c492c55352aa49673345b47c8f420fc9fbe15
diff --git a/devel/menhir/patches/patch-aa b/devel/menhir/patches/patch-aa
new file mode 100644
index 00000000000..11fa8b9d0d0
--- /dev/null
+++ b/devel/menhir/patches/patch-aa
@@ -0,0 +1,54 @@
+$NetBSD: patch-aa,v 1.1.1.1 2008/10/13 22:45:03 bjs Exp $
+
+Support destdir installation, and use ocamlfind to
+set ${libdir} properly.
+
+--- Makefile.orig 2008-09-12 07:58:19.000000000 -0400
++++ Makefile
+@@ -30,10 +30,10 @@ endif
+
+ bindir := ${PREFIX}/bin
+ docdir := ${PREFIX}/share/doc/menhir
+-libdir := ${PREFIX}/share/menhir
+-mandir := ${PREFIX}/share/man/man1
++libdir := `ocamlfind printconf destdir`
++mandir := ${PREFIX}/${PKGMANDIR}/man1
+ MANS := menhir.1
+-DOCS := manual.pdf demos
++DOCS := manual.pdf
+ MLYLIB := src/standard.mly
+ MENHIRLIB := menhirLib.cmi menhirLib.cmo menhirLib.cmx menhirLib.o
+
+@@ -62,20 +62,22 @@ src/installation.ml:
+ # Installation.
+
+ install: src/menhir
+- mkdir -p $(bindir)
+- mkdir -p $(libdir)
+- mkdir -p $(docdir)
+- mkdir -p $(mandir)
+- install src/menhir $(bindir)
+- install -m 644 $(MLYLIB) $(libdir)
+- cp -r $(DOCS) $(docdir)
+- cp -r $(MANS) $(mandir)
++ $(BSD_INSTALL_PROGRAM_DIR) $(DESTDIR)$(bindir)
++ $(BSD_INSTALL_LIB_DIR) $(DESTDIR)$(libdir)
++ $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(docdir)
++ $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(mandir)
++ install src/menhir $(DESTDIR)$(bindir)
++ $(BSD_INSTALL_LIB) $(MLYLIB) $(DESTDIR)$(libdir)
++ $(BSD_INSTALL_DATA_DIR) $(DESTDIR)${EGDIR}
++ $(BSD_INSTALL_DATA) $(DOCS) $(DESTDIR)$(docdir)
++ $(BSD_INSTALL_MAN) $(MANS) $(DESTDIR)$(mandir)
++ cp -r demos $(DESTDIR)${EGDIR}
+ @cd src && if $(USE_OCAMLFIND) ; then \
+ echo Installing MenhirLib via ocamlfind. ; \
+- ocamlfind install menhirLib META $(MENHIRLIB) ; \
++ ocamlfind install -destdir $(DESTDIR)$(libdir) menhirLib META $(MENHIRLIB) ; \
+ else \
+ echo Installing MenhirLib manually. ; \
+- install -m 644 $(MENHIRLIB) $(libdir) ; \
++ install -m 644 $(MENHIRLIB) $(DESTDIR)$(libdir) ; \
+ fi
+
+ uninstall: