# Install build2 with Homebrew, dnf, Nix, winget

C/C++ Build Toolchain. Version 0.18.1 via Homebrew; verified 2026-06-27.

## Install

```sh
sudo av install brew:build2
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install build2
```

  Evidence: local Homebrew formula metadata

### Linux

- dnf (92%):

```sh
sudo dnf install bdep
```

  Evidence: Fedora Rawhide package metadata: bdep from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#build2
```

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

### Windows

- winget (92%):

```sh
winget install --id build2.build2.MSVC -e
```

  Evidence: Windows Package Manager source index: build2.build2.MSVC from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:build2
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/build2>
- **Version:** 0.18.1
- **Source summary:** C/C++ Build Toolchain
- **Homepage:** <https://build2.org>
- **Repository:** <https://git.build2.org/cgit/build2-toolchain>
- **Upstream docs:** <https://build2.org/bdep/doc/build2-project-manager-manual.xhtml>
- **License:** MIT
- **Source archive:** <https://download.build2.org/0.18.1/build2-toolchain-0.18.1.tar.xz>
- **Last updated:** 2026-06-27T13:57:07Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- b (cli)
- bdep (cli)
- bpkg (cli)
- bx (cli)
- b (alias)
- bdep (alias)
- bpkg (alias)
- bx (alias)

## Uses from macOS

- curl
- openssl

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.18.1
- Package-manager updated: 2026-06-27
- Local data: ok
- Upstream repository: https://build2.org
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

build2 is a cross-platform, MIT-licensed C/C++ build toolchain made of a build system, package manager, project manager, and supporting libraries.

### Project history

The build2 project started in the mid-2010s with documentation copyright dating from 2014 and public toolchain tags beginning at 0.1.0. Its stated goal is to approximate Rust Cargo's convenience for C and C++ while keeping enough depth for complex real-world build requirements.

The toolchain is intentionally hierarchical: `b` is the general-purpose build system, `bpkg` handles package consumption, and `bdep` handles project development. The `build2-toolchain` repository is an amalgamation used to build and package those components together.

### Adoption history

build2 has remained a specialist C/C++ toolchain rather than a default ecosystem standard like CMake, but its own community page says it is used for real development and cites customer-facing software such as ODB and XSD. The project also maintains cppget.org as its package repository.

It is packaged by Homebrew, Nix, Fedora-style `bdep` packages, and Windows winget according to the input. Upstream development happens in self-hosted git repositories on git.build2.org with GitHub mirrors for collaboration.

### How it is used

Users typically create or initialize projects with `bdep`, build with `b`, and consume dependencies with `bpkg`. The documented configuration surface includes project-local `build/config.build`, `.build2/` state, `.build2/local/`, user-level `~/.build2/`, and system-level `/etc/build2/` locations.

The toolchain is aimed primarily at C/C++ and mixed-language projects involving C or C++, though the project describes a longer-term universal build-toolchain goal.

### Why package nerds care

build2 is significant because it is one of the more complete attempts to give C and C++ a Cargo-like combined build, package, and project-management workflow without hiding the complexity needed by native-code builds.

For package managers, it is also recursive in an interesting way: the build2 toolchain is used for its own development, and the upstream amalgamation repository exists specifically to make source builds and binary packaging of the whole toolchain practical.

### Timeline

- 2014: build2 documentation copyright begins, marking the early public project era.
- 2010s: Public 0.x toolchain tags began with 0.1.0 and evolved through the pre-1.0 series.
- 2018: The project pointed users to a CppCon 2018 presentation as a toolchain overview.
- 2020s: The community page described build2 as in the final stage of pre-1.0 development and already used in projects such as ODB and XSD.
- 2026: The Toolchain Introduction metadata showed version 0.18 and copyright through 2026.

### Related projects

- Cargo is the explicit convenience benchmark named by the build2 homepage.
- CMake and Autotools are common neighboring C/C++ build-system incumbents, though build2 packages build, dependency, and project management together.
- cppget.org is the build2 package repository referenced by the project community page.

### Sources

- <https://build2.org>
- <https://build2.org/build2-toolchain/doc/build2-toolchain-intro.xhtml>
- <https://build2.org/community.xhtml>
- <https://git.build2.org/cgit/build2-toolchain/plain/README.md>
- source_facts.package-manager


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- 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: build/config.build, .build2/, .build2/local/, ~/.build2/, /etc/build2/
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** build2
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - build2: normalized package name match | nixpkgs package indexes: pkgs/by-name/bu/build2/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- dnf - bdep - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: bdep from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | build2 project dependency manager | https://build2.org/
- dnf - bdep-doc - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: bdep-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | bdep documentation | https://build2.org/
- dnf - bpkg - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: bpkg from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | build2 package dependency manager | https://build2.org/
- dnf - bpkg-doc - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: bpkg-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | bpkg documentation | https://build2.org/
- dnf - build2 - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: build2 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Cross-platform build toolchain for developing and packaging C++ code | https://build2.org/
- dnf - build2-doc - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: build2-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | build2 documentation | https://build2.org/
- dnf - build2-rpm-macros - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: build2-rpm-macros from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | build2 RPM macros | https://build2.org/
- dnf - libbpkg - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: libbpkg from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | build2 package dependency manager library | https://build2.org/
- dnf - libbpkg-devel - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: libbpkg-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for build2 package dependency manager library | https://build2.org/
- dnf - libbuild2 - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: libbuild2 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | build2 library | https://build2.org/
- dnf - libbuild2-devel - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: libbuild2-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for build2 library | https://build2.org/
- dnf - libbutl - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: libbutl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | build2 utility library | https://build2.org/
- dnf - libbutl-devel - 0.17.0-7.fc44: normalized package name match | Fedora Rawhide package metadata: libbutl-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for build2 utility library | https://build2.org/
- winget - build2.build2.MSVC: normalized package name match | Windows Package Manager source index: build2.build2.MSVC from https://cdn.winget.microsoft.com/cache/source.msix
- winget - build2.build2.MinGW: normalized package name match | Windows Package Manager source index: build2.build2.MinGW from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Package publisher tools](https://www.automicvault.com/pkg/package-publishers/) - Belongs to a package publishing or registry command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [xmake](https://www.automicvault.com/pkg/brew/xmake/) - Shares av.db curated category or tags: build-system, build-systems, c, cli, developer-tools.
- [buildkit](https://www.automicvault.com/pkg/brew/buildkit/) - Shares av.db curated category or tags: build-system, build-systems, cli, developer-tools.
- [meson](https://www.automicvault.com/pkg/brew/meson/) - Shares av.db curated category or tags: build-system, build-systems, cli, developer-tools.
- [aarch64-elf-gcc](https://www.automicvault.com/pkg/brew/aarch64-elf-gcc/) - Shares av.db curated category or tags: c, c-plus-plus, cli, developer-tools.
- [astyle](https://www.automicvault.com/pkg/brew/astyle/) - Shares av.db curated category or tags: c, c-plus-plus, cli, developer-tools.
- [buildkitd](https://www.automicvault.com/pkg/brew/buildkitd/) - Shares av.db curated category or tags: build-systems, cli, developer-tools.
- [cabin](https://www.automicvault.com/pkg/brew/cabin/) - Shares av.db curated category or tags: build-system, cli, developer-tools, package-manager.
- [castxml](https://www.automicvault.com/pkg/brew/castxml/) - Shares av.db curated category or tags: c, c-plus-plus, cli, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/build2.yml](https://github.com/automic-vault/db/blob/main/combined/build2.yml)


## Sources

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