Automic VaultAutomic Vault

brew

Install dune with Homebrew, apk, dnf, MacPorts, Nix, pacman

Composable build system for OCaml. Version 3.24.0 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install dune

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install dune

MacPorts ports tree · shells/dune/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add dune

Alpine Linux edge package indexes · dune · source: dl-cdn.alpinelinux.org

Fedora dnfverified · 92%
sudo dnf install ocaml-dune

Fedora Rawhide package metadata · ocaml-dune · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#dune

nixpkgs package indexes · pkgs/by-name/du/dune/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S dune

Arch Linux sync databases · dune · source: geo.mirror.pkgbuild.com

overview

Package summary

Composable build system for OCaml

Commands and aliases

  • dune

history

Project history and usage

Dune is the dominant build system for OCaml projects, with support for OCaml, Reason, and Coq workflows. Its significance is that it standardized a large part of OCaml package building around declarative `dune`, `dune-project`, and `dune-workspace` files rather than per-project build scripts.

Project history

Dune began as jbuilder, a build system derived from ideas used inside Jane Street and adapted for open-source OCaml projects. The upstream README still frames Dune as inspired by Jane Street's internal build scheme and matured through daily use by hundreds of developers.

The project was renamed from jbuilder to Dune during the 1.x era. The Dune project documented a staged deprecation of the `jbuilder` binary and `jbuild` files, with automatic `dune upgrade` support to migrate projects to `dune` files and `dune-project` metadata.

Dune's public repository is maintained under the OCaml GitHub organization. GitHub metadata records the repository as created in 2016, with OCaml as the main language, MIT licensing, and ongoing 3.x releases through 2026.

Adoption history

Dune adoption spread through the OCaml packaging ecosystem because opam packages could use a common build invocation, and Dune itself documents recommended package builds such as `dune build -p name -j jobs` and `dune runtest -p name -j jobs`.

The package is distributed across Homebrew, Alpine, Fedora, MacPorts, Nix, and Arch, reflecting its role as a workstation and CI prerequisite for building many OCaml packages outside opam-only environments.

How it is used

Typical users write `dune` files with S-expression stanzas and let Dune generate build rules, installation metadata, and editor-tool configuration. Dune also supports workspaces, multi-package repositories, multiple build contexts, tests, documentation targets, and cross-compilation workflows.

For package managers, the important interface is the `dune` executable plus the conventional project files it understands. The installed tool is often needed not because users run Dune directly as an application, but because downstream OCaml packages declare Dune as their build system.

Why package nerds care

Dune is package-nerd important because it turned OCaml builds from a patchwork of ocamlbuild, oasis, makefiles, and custom scripts into a largely uniform package-manager target. A formula for Dune unlocks many other formulae.

Its jbuilder-to-dune migration is also a useful packaging case study: upstream kept compatibility for old names, emitted warnings, and shipped an upgrader, giving distributions and opam packages a path away from historical build files without a flag day.

Timeline

  • 2016: The public GitHub repository now used for Dune is created.
  • 2018: Dune 1.0 is announced in the OCaml community after the jbuilder period.
  • 2019: Dune enters the second stage of jbuilder deprecation and adds `dune upgrade` migration support.
  • 2026: Dune 3.24.0 is published, showing continued active development.

Related projects

  • opam is closely related because Dune's recommended package build commands are designed for opam packaging.
  • Merlin is related because Dune generates editor-tool configuration for OCaml development.
  • Coq and Reason are related user communities called out in the existing package curation tags and supported by the Dune ecosystem.

Sources

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:build system

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
dunedune-projectdune-workspace

executables

Installed executables

CommandKindExposureNote
dunecliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version3.24.0
manager updated2026-06-22
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/ocaml/dune

install metadata

Package metadata

Package keybrew:dune
Version3.24.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/dune
Homepagehttps://dune.build/
Repositoryhttps://github.com/ocaml/dune
Upstream docshttps://dune.readthedocs.io/en/stable
LicenseMIT
Source archivehttps://github.com/ocaml/dune/releases/download/3.24.0/dune-3.24.0.tbz
Last updated2026-06-22T01:48:19Z
Pulseupdated
Build dependenciesocaml
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namedune
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

dune

nix profile install nixpkgs#dune
  • normalized package name match
  • Matched by: Dune
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/du/dune/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
apk95%

dune 3.22.2-r0

Composable build system for OCaml (formerly Jbuilder)

https://dune.build/

sudo apk add dune
  • License: MIT
  • Architecture: x86_64
  • Source Package: dune
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dune
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: dune from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

dune-configurator 3.22.2-r0

System config helper for the Dune OCaml build system

https://dune.build/

sudo apk add dune-configurator
  • License: MIT
  • Architecture: x86_64
  • Source Package: dune
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dune
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: dune-configurator from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

dune-doc 3.22.2-r0

Composable build system for OCaml (formerly Jbuilder) (documentation)

https://dune.build/

sudo apk add dune-doc
  • License: MIT
  • Architecture: x86_64
  • Source Package: dune
  • normalized package name match
  • Matched by: Dune
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: dune-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

dune-emacs 3.22.2-r0

Emacs plugins for dune

https://dune.build/

sudo apk add dune-emacs
  • License: MIT
  • Architecture: x86_64
  • Source Package: dune
  • 1 dependencies
  • normalized package name match
  • Matched by: Dune
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: dune-emacs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

ocaml-dune 3.23.1-1.fc45

Composable build system for OCaml and Reason

https://dune.build

sudo dnf install ocaml-dune
  • License: MIT AND BSD-2-Clause AND BSD-3-Clause AND ISC AND LGPL-2.1-only AND LGPL-2.1-only WITH OCaml-LGPL-linking-exception AND LGPL-2.1-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: ocaml-dune
  • 8 dependencies
  • 15 provides
  • normalized package name match
  • Matched by: Dune
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ocaml-dune from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

dune 3.22.2-1

A composable build system for OCaml (formerly jbuilder)

https://github.com/ocaml/dune

sudo pacman -S dune
  • License: MIT
  • Architecture: x86_64
  • 5 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dune
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: dune from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
MacPorts95%

dune

sudo port install dune
  • normalized package name match
  • Matched by: Dune
MacPorts ports tree · api.github.com · MacPorts ports tree: shells/dune/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment