Cmdliner is an OCaml module for the declarative definition of command
line interfaces.
It provides a simple and compositional mechanism to convert command line
arguments to OCaml values and pass them to your functions. The module
automatically handles syntax errors, help messages and UNIX man page
generation. It supports programs with single or multiple commands
(like darcs or git) and respects most of the POSIX and GNU conventions.
===> The following configuration options are available for ocaml-cmdliner-1.0.4_4:
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.14.1
The 'force-safe-string; setting is NOT enabled, as opposed to the
new upstream default. OCaml users are encouraged to migrate to safe
strings as soon as possible.
- The X11 library isn't part of lang/ocaml anymore, users should
install x11-toolkits/ocaml-graphics.
- Add new 'ocaml' USES
- Bump PORTREVISION on dependent ports, due to ABI Change.
The update includes the following updates to existing ports (needed
to keep them working):
- devel/ocaml-camlp4: Updated to 4.14+1
(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/ocaml-cmdliner: fix installation + other minor changes
- Chase HTTP/1.1 301 redirection when fetching the distfile
- Reword the COMMENT and assume maintainership of the port
- Packages are installed in their dedicated subdirectory under
${OCAML_SITELIBDIR}, not the ${OCAML_SITELIBDIR} itself
devel/ocaml-cmdliner: prepare for OCaml 4.06+
- Update to version 1.0.4, now licensed under ISCL
- Set LICENSE_FILE as it is not just a boilerplate but contains
actual copyright information
- Drop dependency on `devel/ocaml-ocamlbuild' (unused since v1.0.3)
- Don't hand-roll build and installation routines, use provided
- Convert to static pkg-plist and install documentation files
- Mark as parallel build unsafe for the moment due to this error:
File "cmdliner.ml", line 1:
Error: Corrupted compilation unit description
or this:
File "cmdliner.ml", line 1:
Error: The files cmdliner_arg.cmi and cmdliner_term.cmi
make inconsistent assumptions over interface Cmdliner_term
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
Add new port devel/ocaml-cmdliner
Cmdliner is an OCaml module for the declarative definition of command
line interfaces.
It provides a simple and compositional mechanism to convert command line
arguments to OCaml values and pass them to your functions. The module
automatically handles syntax errors, help messages and UNIX man page
generation. It supports programs with single or multiple commands
(like darcs or git) and respects most of the POSIX and GNU conventions.
This module is required to update lang/js_of_ocaml