BSD Ports

devel/ocaml-cppo 1.6.6p10 OpenBSD

OCaml preprocessor

System
OpenBSD
Repository
OpenBSD ports
Maintainer
The OpenBSD ports mailing-list <[email protected]>
Last update
Commit
634248f904
Categories
devel

Description

Cppo is an equivalent of the C preprocessor targeted at the OCaml language and its variants.

The main purpose of cppo is to provide a lightweight tool for simple macro substitution (#define) and file inclusion (#include) for the occasional case when this is useful in OCaml. Processing specific sections of files by calling external programs is also possible via #ext directives.

The implementation of cppo relies on the standard library of OCaml and on the standard parsing tools Ocamllex and Ocamlyacc, which contribute to the robustness of cppo across OCaml versions.

In the other systems

SystemPortVersion
OpenBSDdevel/ocaml-cppo1.6.6p10
FreeBSDdevel/ocaml-cppo1.6.9_3
NetBSDdevel/ocaml-cppo1.6.8nb3
DragonFlydevel/ocaml-cppo1.6.9_3
GhostBSDdevel/ocaml-cppo1.6.9_3

Install

Binary package:

pkg_add ocaml-cppo

From the ports tree:

cd /usr/ports/devel/ocaml-cppo && make install

Dependencies

Build dependencies 3
Run dependencies 1
Required by 1

Commit history 1

DateCommitCreditsLog message
634248f904 daniel ocaml-cppo: add version string to dune-project
If /usr/ports is a git checkout, and a dune project is missing the version string, then dune will attempt to check if the port is a git project in order to find a version string via git. However ocaml-cppo is not a git project and so dune walks the directory tree until it finds the unrelated /usr/ports/.git in this setup. Dune then uses the unrelated parent git repo to extract the wrong version string for ocaml-cppo's metadata. Fix this by patching in a version string manually into dune-project. This will avoid dune going down this wrong code path. Note that the build will only error out on a system that is also missing a git package. If git is present then dune will silently insert the wrong package metadata. Spotted by tb@