macOS
brew install camlp5local Homebrew formula metadata
sudo port install camlp5MacPorts ports tree · lang/camlp5/Portfile · source: api.github.com
brew
Preprocessor and pretty-printer for OCaml. Version 8.05.02 via Homebrew; verified 2026-07-01.
install
brew install camlp5local Homebrew formula metadata
sudo port install camlp5MacPorts ports tree · lang/camlp5/Portfile · source: api.github.com
sudo apt install camlp5Debian stable package indexes · camlp5 · source: deb.debian.org
sudo pacman -S camlp5Arch Linux sync databases · camlp5 · source: geo.mirror.pkgbuild.com
overview
Preprocessor and pretty-printer for OCaml
history
Camlp5 is an OCaml preprocessor and pretty-printer used to extend or redefine OCaml syntax, convert between syntaxes, and build parsing or pretty-printing extensions.
The official Camlp5 about page traces its ideas to Michel Mauny in the 1990s. Daniel de Rauglaudre implemented the first version in 1996 under the name Camlp4, where the four Ps meant Pre-Processor-Pretty-Printer.
In 2002, Camlp4 maintenance moved to Michel Mauny and was later extended by Nicolas Pouillard with different design ideas and some incompatibilities. In 2006, de Rauglaudre restarted the original line of work and renamed it Camlp5.
The current GitHub README says Camlp5 was originally written by Daniel de Rauglaudre, with maintenance and upgrades by Chet Murthy. It also notes a newer 8.x line that differs substantially from the 7.x releases and is tested against modern OCaml versions.
Camlp5 has long lived in the OCaml toolchain's syntax-extension culture. Its official docs describe use as a shell command, as an OCaml compiler preprocessor through -pp, and inside the OCaml toplevel.
The package metadata in this batch shows Camlp5 in Homebrew, Debian, Ubuntu, MacPorts, and Arch, reflecting its role as a durable compatibility package for OCaml projects that still rely on Camlp5 syntax extensions or revised syntax.
Common shell commands include camlp5o for ordinary OCaml syntax and camlp5r for revised syntax. The docs show invoking them through ocamlc -pp and loading camlp5o.cma or camlp5r.cma in the OCaml toplevel.
Developers use Camlp5 to write parsing and printing kits, extensible grammars, quotations, macros, syntax extensions, and pretty-printers. It is also used to convert OCaml programs from one syntax to another and to inspect syntax-extension output.
Camlp5 matters to package nerds because it is both a real tool and an archaeological layer in OCaml packaging. It preserves a branch of the Camlp4 preprocessor tradition that many older OCaml packages and syntax experiments depended on.
It is also a reminder that language ecosystems carry syntax tooling as compatibility debt. Keeping Camlp5 packaged means old source distributions, revised-syntax code, and pre-ppx extension workflows can still be built on modern Unix systems.
security posture
No matching local secret-handling manifest was found for camlp5. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
camlp5 | cli | global executable | |
camlp5o | cli | global executable | |
camlp5o.opt | cli | global executable | |
camlp5r | cli | global executable | |
camlp5r.opt | cli | global executable | |
camlp5sch | cli | global executable | |
mkcamlp5 | cli | global executable | |
mkcamlp5.opt | cli | global executable | |
ocpp5 | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/camlp5/camlp5
install metadata
| Package key | brew:camlp5 |
|---|---|
| Version | 8.05.02 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/camlp5 |
| Homepage | https://camlp5.github.io/ |
| Repository | https://github.com/camlp5/camlp5 |
| Upstream docs | https://camlp5.github.io/doc/html |
| License | BSD-3-Clause |
| Source archive | https://github.com/camlp5/camlp5/archive/refs/tags/8.05.02.tar.gz |
| Last updated | 2026-07-01T00:08:52Z |
| Pulse | updated |
| Dependencies | camlp-streams, ocaml, pcre2 |
| Build dependencies | ocaml-findlib, opam, pkgconf |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | camlp5 |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
camlp5 8.03.01-1+b7
Pre Processor Pretty Printer for OCaml - classical version
sudo apt install camlp5camlp5 8.02.01-2build6
Pre Processor Pretty Printer for OCaml - classical version
sudo apt install camlp5camlp5 8.05.01-1
A preprocessor-pretty-printer of OCaml.
sudo pacman -S camlp5camlp5
sudo port install camlp5source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.