# Install bindgen with Homebrew, apt, dnf

Automatically generates Rust FFI bindings to C (and some C++) libraries. Version 0.72.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:bindgen
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bindgen
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install bindgen
```

  Evidence: Debian stable package indexes: bindgen from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install bindgen-cli
```

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

## Package facts

- **Package key:** brew:bindgen
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bindgen>
- **Version:** 0.72.1
- **Source summary:** Automatically generates Rust FFI bindings to C (and some C++) libraries
- **Homepage:** <https://rust-lang.github.io/rust-bindgen/>
- **Repository:** <https://github.com/rust-lang/rust-bindgen>
- **Upstream docs:** <https://github.com/rust-lang/rust-bindgen#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/rust-lang/rust-bindgen/archive/refs/tags/v0.72.1.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bindgen (cli)
- bindgen (alias)

## Build dependencies

- rust

## Uses from macOS

- llvm

## 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.72.1
- Local data: ok
- Upstream repository: https://github.com/rust-lang/rust-bindgen
- Upstream latest detected: v0.72.1 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

bindgen is the Rust ecosystem's standard bridge from C and C++ header files to Rust FFI declarations. It uses Clang/libclang to understand native headers, then emits Rust declarations that let crates call C libraries without hand-maintaining large extern blocks.

### Project history

The bindgen crate was first published to crates.io in November 2014, before the current rust-lang/rust-bindgen GitHub repository was created in June 2016. The project later became a Rust organization project and documents both a library API and a bindgen command-line tool.

The README describes bindgen as automatically generating Rust FFI bindings to C and some C++ libraries, and the user guide documents command-line use, libclang requirements, build-script integration, and allow/block-listing. The changelog and GitHub releases show a continuing 0.x release line, with 0.72.1 published in August 2025.

### Adoption history

bindgen became infrastructure rather than just a utility: crates use it from build.rs scripts to follow system headers at build time, while package managers ship the standalone CLI for developers who want generated bindings on demand. The supplied package facts list Homebrew, Debian, Fedora, and Ubuntu packages, and crates.io reports hundreds of millions of crate downloads.

### How it is used

Typical use is to point bindgen at a wrapper header, pass any needed Clang include or target arguments, and either write the generated Rust to a file or integrate generation into a Cargo build script. The README also documents environment variables such as BINDGEN_EXTRA_CLANG_ARGS for end-user control without patching downstream crates.

### Why package nerds care

bindgen matters to package people because it turns native ABI drift into a build-time concern. When a distribution updates libclang, libc headers, OpenSSL, LLVM, or another C dependency, Rust packages that rely on bindgen can regenerate declarations instead of shipping stale vendored bindings.

It is also a classic example of Rust's pragmatic systems story: memory-safe application code still has to meet decades of C APIs, and bindgen is the conveyor belt between those worlds. Its dependency on libclang makes it sensitive to compiler packaging, SDK paths, sysroots, cross-compilation flags, and reproducible-build environments.

### Timeline

- 2014: bindgen crate first appears on crates.io.
- 2016: rust-lang/rust-bindgen GitHub repository is created.
- 2024: 0.70.x and 0.71.x releases continue the modern changelog line.
- 2025: 0.72.1 is published on crates.io and GitHub releases.

### Related projects

- Related Rust FFI projects include cbindgen, which emits C headers from Rust APIs, and clang-sys, which exposes libclang bindings used by bindgen. In downstream packages, bindgen often appears beside cc, pkg-config, and system library development headers.

### Sources

- GitHub API reports repository creation in 2016.
- GitHub README documents purpose, user guide, environment variables, and release policy.
- crates.io API reports first crate publication in 2014, latest version, and download adoption.
- input.source_facts.package-manager lists distro/package-manager availability.


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## 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: rustfmt.toml in the directory where bindgen is run
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** bindgen
- **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:** head, stable

## Other Package-Manager Records

- Debian apt - bindgen - 0.71.1-6: normalized package name match | Debian stable package indexes: bindgen from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Automatically generate Rust FFI bindings to C and C++ libraries | https://rust-lang.github.io/rust-bindgen/
- Ubuntu apt - bindgen - 0.66.1-4: normalized package name match | Ubuntu 24.04 LTS package indexes: bindgen from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Automatically generate Rust FFI bindings to C and C++ libraries | https://rust-lang.github.io/rust-bindgen/
- dnf - bindgen-cli - 0.72.1-2.fc44: normalized package name match | Fedora Rawhide package metadata: bindgen-cli from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Automatically generates Rust FFI bindings to C and C++ libraries | https://crates.io/crates/bindgen-cli


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [cbindgen](https://www.automicvault.com/pkg/brew/cbindgen/) - Shares av.db curated category or tags: bindings, cli, developer-tools, ffi, rust.
- [cargo-c](https://www.automicvault.com/pkg/brew/cargo-c/) - Shares av.db curated category or tags: cli, developer-tools, ffi, rust.
- [typeshare](https://www.automicvault.com/pkg/brew/typeshare/) - Shares av.db curated category or tags: cli, developer-tools, ffi, rust.
- [wasm-bindgen](https://www.automicvault.com/pkg/brew/wasm-bindgen/) - Shares av.db curated category or tags: bindings, cli, developer-tools, rust.
- [action-validator](https://www.automicvault.com/pkg/brew/action-validator/) - Shares av.db curated category or tags: cli, developer-tools, rust.
- [agent-browser](https://www.automicvault.com/pkg/brew/agent-browser/) - Shares av.db curated category or tags: cli, developer-tools, rust.
- [bacon](https://www.automicvault.com/pkg/brew/bacon/) - Shares av.db curated category or tags: cli, developer-tools, rust.
- [bacon-ls](https://www.automicvault.com/pkg/brew/bacon-ls/) - Shares av.db curated category or tags: cli, developer-tools, rust.
- [mdbook](https://www.automicvault.com/pkg/brew/mdbook/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, rust.

## Combined YAML source

View the package source record on GitHub. [combined/bindgen.yml](https://github.com/automic-vault/db/blob/main/combined/bindgen.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
