# Installer dune avec Homebrew, apk, MacPorts, Nix, pacman, dnf

Consultez les chemins d'installation, exécutables, métadonnées et notes de sécurité de dune pour les workflows d'agents IA.

## installation

```sh
sudo av install brew:dune
```

Commandes d'installation supplémentaires:

### macOS

- Homebrew (100%):

```sh
brew install dune
```

  Preuve: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install dune
```

  Preuve: MacPorts ports tree: shells/dune/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add dune
```

  Preuve: Alpine Linux edge package indexes: dune from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#dune
```

  Preuve: nixpkgs package indexes: pkgs/by-name/du/dune/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S dune
```

  Preuve: Arch Linux sync databases: dune from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- dnf (92%):

```sh
sudo dnf install ocaml-dune
```

  Preuve: Fedora Rawhide package metadata: ocaml-dune from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

## Faits du paquet

- **Clé du paquet:** brew:dune
- **Gestionnaire de paquets:** Homebrew
- **Version:** 3.24.1
- **Résumé source:** Composable build system for OCaml
- **Page d'accueil:** <https://dune.build/>
- **Dépôt:** <https://github.com/ocaml/dune>
- **Dernière mise à jour:** 2026-07-21T09:31:35Z
- **Généré:** 2026-08-03T19:37:03+00:00

## exécutables

- dune (alias)

## Comportement d'installation

- Bouteille: non disponible

## Version et fraîcheur

- page générée: 2026-08-03
- version du gestionnaire: 3.24.1
## Historique du projet et usages

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.

### Historique du projet

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.

### Historique d'adoption

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.

### Modes d'utilisation

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.

### Pourquoi les passionnés de paquets s'y intéressent

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.

### Chronologie

- 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

- <https://raw.githubusercontent.com/ocaml/dune/main/README.md documents Dune's purpose, Jane Street inspiration, project files, workspace features, opam-oriented installation, and build behavior.>
- <https://dune.build/blog/second-step-deprecation/ documents the jbuilder deprecation, `dune upgrade`, and migration of `jbuild` files to Dune files.>
- <https://api.github.com/repos/ocaml/dune documents repository creation, language, license, topics, and public activity.>
- <https://api.github.com/repos/ocaml/dune/releases documents recent 3.x release history.>


## Notes de sécurité

generalized runtime or code generation signal.

- **Risque Geiger:** yellow / moyen
- generalized runtime or code generation signal


## 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

- Unix: dune, dune-project, dune-workspace
## Autres enregistrements de gestionnaires de paquets

- Nix - dune: normalized package name match | nixpkgs package indexes: pkgs/by-name/du/dune/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - dune - 3.22.2-r2: normalized package name match | Alpine Linux edge package indexes: dune from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Composable build system for OCaml (formerly Jbuilder) | https://dune.build/
- apk - dune-build-info - 3.22.2-r2: normalized package name match | Alpine Linux edge package indexes: dune-build-info from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Embed build information inside executables | https://dune.build/
- apk - dune-configurator - 3.22.2-r2: normalized package name match | Alpine Linux edge package indexes: dune-configurator from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | System config helper for the Dune OCaml build system | https://dune.build/
- apk - dune-doc - 3.22.2-r2: normalized package name match | Alpine Linux edge package indexes: dune-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Composable build system for OCaml (formerly Jbuilder) (documentation) | https://dune.build/
- apk - dune-emacs - 3.22.2-r2: normalized package name match | Alpine Linux edge package indexes: dune-emacs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Emacs plugins for dune | https://dune.build/
- apk - ocaml-xdg - 3.22.2-r2: normalized package name match | Alpine Linux edge package indexes: ocaml-xdg from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | XDG Base Directory Specification support for OCaml | https://dune.build/
- dnf - ocaml-dune - 3.24.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: ocaml-dune from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Composable build system for OCaml and Reason | https://dune.build
- pacman - dune - 3.24.1-1: normalized package name match | Arch Linux sync databases: dune from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A composable build system for OCaml (formerly jbuilder) | https://github.com/ocaml/dune
- MacPorts - dune: normalized package name match | MacPorts ports tree: shells/dune/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/dune.yml](https://github.com/mxcl/pkgdb/blob/main/combined/dune.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
