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).
===> The following configuration options are available for menhir-20240715:
DOCS=on: Build and/or install documentation
===> Use 'make config' to modify these settings
Mk/**ocaml.mk: Convert remaining bsd.ocaml.mk to Uses/ocaml.mk
- Instead of USE_OCAML=yes use USES=ocaml. If empty USES=ocaml implies
build and run
- Instead of USE_OCAMLFIND_PLIST use USES=ocaml:findplist which also
implies USES=ocaml:findlib
- Instead of USE_OCAML_CAMLP4 use USES=ocaml:camlp4
- Instead of USE_OCAML_FINDLIB use USES=ocaml:findlib
- Instead of USE_OCAML_LDCONFIG use USES=ocaml:ldconfig
- Instead of USE_OCAML_WASH use USES=ocaml:wash
- Instead of NO_OCAML_BUILDDEPENDS use USES=ocaml:run
- Instead of NO_OCAML_RUNDDEPENDS use USES=ocaml:build
- Instead of USE_OCAML_TK use USES=ocaml:tk which actually implies
USES=ocaml:tkbuild and USES=ocaml:tkrun
- Instead of NO_OCAMLTK_BUILDDEPENDS use USES=ocaml:tkrun
- Instead of NO_OCAMLTK_RUNDEPENDS use USES=ocaml:tkbuild
- USES=ocaml:dune remains unchanged
- Prepare to add/remove keywords easily
Approved by: mat (portmgr)
Reviewed by: freebsd@dev.thsi.be
Differential Revision: https://reviews.freebsd.org/D48227
ocaml: Updates to ocaml compiler and several ocaml ports
- Update devel/ocaml to 4.14.2 [1]
- Specify runtime dependency on GNU AS as full path, this fixes
build on armv6 - armv7 [1] [2]
- converters/ocaml-base64: Update to 3.5.1, add LICENSE, other
improvements
- converters/ocaml-jsonm: Strip shared objects [3]
- databases/ocaml-dbm: Update to 1.3, move to gitlub, other
improvements
- devel/menhir: Update to 20231231
- devel/ocaml-base: Unbreak non-x86 [2]
- devel/ocaml-camlp-streams: Silence patch and strip commands
- devel/ocaml-ipaddr: Update to 5.5.0
- devel/ocaml-lwt: Update to 5.7.0 [4]
(Only the first 15 lines of the commit message are shown above )
lang/ocaml: Update to 4.08.1
This update allows (and for some requires) to also update dependencies
to newer versions. Where possible I updated to the latest version.
The ocaml port now is MAKE_JOBS safe.
Changes to dependent ports included in this commit:
- devel/ocaml-sexplib: Rename to devel/ocaml-sexplib0 adapting to
upstream. Update to 0.16.0
- devel/coccinelle: Update to 1.1.1, moved to github
- devel/ocaml-camlp4: Update to 4.08+1
- devel/ocaml-camomile: Use dune for build, adapt port
- devel/ocaml-cppo: Fix lib files installation [1]
(Only the first 15 lines of the commit message are shown above )
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* "Waitman Gobble" <uzimac@da3m0n8t3r.com>
* <jkoshy@FreeBSD.org>
* Aaron Dalton <aaron@FreeBSD.org>
* Aaron Dalton <aaron@daltons.ca>
* Aaron H. K. Diep <ahkdiep@gmail.com>
* Aaron Hurt <ahurt@anbcs.com>
* Abel Chow <abel_chow@yahoo.com>
* Adam McLaurin
* Adam Saponara <as@php.net>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
(Only the first 15 lines of the commit message are shown above )
Update OCaml to version 4.05.0 (this is the last version where strings
are unsafe by default, which is the main motivation why it was picked,
but not the very latest one) and synchronize the rest of the stack and
dependent ports with it, particularly:
- Update `devel/ocaml-ocamlbuild' to version 0.14.0 and unbreak,
register build dependency on all ports that require it (should
be part of USE_OCAML, but we do not want to make any Mk-related
changes the for time being)
- Update `devel/ocaml-camlp4' to version 4.05+2
- Update `devel/ocaml-camlp5' to version 7.07 (the project had
moved to GitHub)
- Mark `devel/ocaml-deriving-ocsigen' as BROKEN for now, it is
very outdated and requires quite a lot of work
- Update `x11-toolkits/ocaml-labltk' to version 8.06.3
PR: 218333
Exp-run by: antoine
Reset MAINTAINER on ports maintained by amutu@amutu.com
Based on the new policy of all maintained ports reset
when maintaner is absent for 3 months.
Bug#226400 for science/py-tensorflow is ignored since 2018-03-06 (3+ months).
portscout database indicates that 48.94% of his ports aren't updated.
Mark as jobs unsafe
gmake[2]: Entering directory
`/wrkdirs/usr/ports/devel/menhir/work/menhir-20080912/src'
Grammar has 30 nonterminal symbols, among which 1 start symbols.
Grammar has 26 terminal symbols.
Fatal error: exception Sys_error("parser.ml: No such file or directory")
Grammar has 82 productions.
Built an LR(0) automaton with 113 states.
Built an LR(1) automaton with 113 states.
5 shift/reduce conflicts were silently solved.
30 out of 113 states are represented.
26 out of 59 symbols keep track of their start position.
21 out of 59 symbols keep track of their end position.
47 out of 113 states have a default reduction.
34 out of 83 productions exploit shiftreduce optimization.
15 out of 113 states can peek at an error.
13 out of 113 states can do error recovery.
The generated parser cannot raise Error.
411 functions before inlining, 103 functions after inlining.
gmake[2]: *** No rule to make target `parser.ml', needed by `parser.cmx'. Stop.
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 <jaapb at kerguelen.org>