Automic VaultAutomic Vault

brew

Install cargo-c with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Helper program to build and install c-like libraries. Version 0.10.23 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install cargo-c

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install cargo-c

MacPorts ports tree · devel/cargo-c/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add cargo-c

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

Debian aptverified · 92%
sudo apt install cargo-c

Debian stable package indexes · cargo-c · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install cargo-c

Fedora Rawhide package metadata · cargo-c · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#cargo-c

nixpkgs package indexes · pkgs/by-name/ca/cargo-c/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S cargo-c

Arch Linux sync databases · cargo-c · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install cargo-c

openSUSE Tumbleweed package metadata · cargo-c · source: download.opensuse.org

overview

Package summary

Helper program to build and install c-like libraries

Commands and aliases

  • cargo-capi
  • cargo-cbuild
  • cargo-cinstall
  • cargo-ctest

history

Project history and usage

cargo-c is a Cargo applet for building, testing, installing, and packaging Rust crates as C ABI-compatible libraries with headers, pkg-config files, static libraries, and dynamic libraries.

Project history

The lu-zero/cargo-c repository was created in May 2019 and cargo-c 0.1.0 was published to crates.io in June 2019 with cargo-cbuild and cargo-cinstall binaries. The project grew into a four-command suite: cargo-capi, cargo-cbuild, cargo-cinstall, and cargo-ctest.

The README describes cargo-c as a bridge between Cargo and traditional C library distribution. It uses Cargo.toml metadata under `package.metadata.capi` to configure headers, pkg-config files, generated or copied assets, library names, versioning, install paths, and target-specific behavior.

cargo-c integrates with cbindgen for header generation and pkg-config for consumer metadata. Its versioning scheme also tracks the embedded Cargo version in current releases, tying the tool's behavior to the Cargo implementation it vendors or embeds.

Adoption history

cargo-c is one of the more significant Rust packaging tools because it lets Rust libraries participate in long-established C and Unix packaging workflows. The README lists users including ebur128, gcode-rs, gst-plugins-rs, lewton, libdovi, libimagequant, librsvg, rav1e, rustls-ffi, sled, pathfinder, and udbserver.

Distribution adoption is broad for a Cargo plugin: the input records Alpine, Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Ubuntu, and openSUSE packaging. Crates.io reports more than 960,000 downloads and over 90 published versions, reflecting an actively maintained compatibility layer rather than a one-shot helper.

How it is used

Users install cargo-c from crates.io with `cargo install cargo-c`. `cargo cbuild` builds a library and produces a C header and pkg-config file, `cargo ctest` builds and runs tests, and `cargo cinstall` installs the generated library, header, and metadata into a destination prefix.

A typical project adds a C API module, a `capi` feature, and optional `package.metadata.capi` settings in Cargo.toml. cargo-c then produces artifacts that C and C-compatible build systems can consume through headers, shared or static libraries, and pkg-config.

Why package nerds care

cargo-c matters because it solves a packaging boundary that Rust itself deliberately does not hide: Rust crates are not automatically C libraries. By generating the Unix packaging pieces expected by downstream consumers, it lets Rust code enter ecosystems built around C headers, SONAMEs, pkg-config, and distro install prefixes.

For package maintainers, cargo-c is a practical adapter between language-package metadata and system-package policy. It is especially visible in multimedia and systems libraries where Rust implementations need to be consumed by C applications or by build systems such as Meson.

Timeline

  • 2019-05-23: GitHub repository lu-zero/cargo-c was created.
  • 2019-06-26: cargo-c 0.1.0 was published on crates.io with cargo-cbuild and cargo-cinstall.
  • 2019-2021: The command set expanded to include cargo-capi and cargo-ctest.
  • 2020s: README documented real users including gst-plugins-rs, librsvg, rav1e, rustls-ffi, and libimagequant.
  • 2026-06-01: Version 0.10.23+cargo-0.97.1 was published.

Related projects

  • cbindgen is used for C header generation.
  • pkg-config is the metadata format cargo-c emits for C consumers.
  • Projects listed by the README as users include gst-plugins-rs, librsvg, rav1e, rustls-ffi, libimagequant, lewton, and sled.

Sources

  • GitHub repository API metadata: https://api.github.com/repos/lu-zero/cargo-c
  • Official README: https://github.com/lu-zero/cargo-c#readme
  • Package-manager adoption from source_facts.package-manager.
  • crates.io API metadata and versions: https://crates.io/api/v1/crates/cargo-c

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 3 runtime dependencies.
  • Build metadata lists 2 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
Cargo.toml

executables

Installed executables

CommandKindExposureNote
cargo-capicliglobal executable
cargo-cbuildcliglobal executable
cargo-cinstallcliglobal executable
cargo-ctestcliglobal 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 version0.10.23
manager updated2026-06-22
local dataok
upstreamcurrent
latest detectedv0.10.23

https://github.com/lu-zero/cargo-c

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:cargo-c
Version0.10.23
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/cargo-c
Homepagehttps://github.com/lu-zero/cargo-c
Repositoryhttps://github.com/lu-zero/cargo-c
Upstream docshttps://github.com/lu-zero/cargo-c#readme
LicenseMIT
Source archivehttps://github.com/lu-zero/cargo-c/archive/refs/tags/v0.10.23.tar.gz
Last updated2026-06-22T14:02:57-07:00
Pulseupdated
Dependencieslibgit2, libssh2, openssl@3
Build dependenciespkgconf, rust
Uses from macOScurl
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 Namecargo-c
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • 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.

Debian apt95%

cargo-c 0.10.11-1+b2

Helper program to build and install c-like libraries

https://github.com/lu-zero/cargo-c

sudo apt install cargo-c
  • Section: rust
  • Architecture: amd64
  • Source Package: rust-cargo-c
  • 8 dependencies
  • normalized package name match
  • Matched by: Cargo C
Debian stable package indexes · deb.debian.org · Debian stable package indexes: cargo-c from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

cargo-c

nix profile install nixpkgs#cargo-c
  • normalized package name match
  • Matched by: Cargo C
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ca/cargo-c/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

cargo-c 0.9.19-2build3

Helper program to build and install c-like libraries

sudo apt install cargo-c
  • Section: universe/rust
  • Architecture: amd64
  • Source Package: rust-cargo-c
  • 7 dependencies
  • normalized package name match
  • Matched by: Cargo C
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: cargo-c from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

cargo-c 0.10.23-r0

cargo subcommand to build and install C-ABI compatibile dynamic and static libraries

https://github.com/lu-zero/cargo-c

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

cargo-c-doc 0.10.23-r0

cargo subcommand to build and install C-ABI compatibile dynamic and static libraries (documentation)

https://github.com/lu-zero/cargo-c

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

cargo-c 0.10.21-1.fc45

Helper program to build and install c-like libraries

https://crates.io/crates/cargo-c

sudo dnf install cargo-c
  • License: MIT AND AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MPL-2.0 AND MPL-2.0+ AND Unicode-3.0 AND Unicode-DFS-2016 AND Zlib AND (Apache-2.0 OR MIT)
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: rust-cargo-c
  • 11 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Cargo C
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: cargo-c from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

cargo-c 0.10.23-1

A cargo subcommand to build and install C-ABI compatible dynamic and static libraries

https://github.com/lu-zero/cargo-c/

sudo pacman -S cargo-c
  • License: MIT
  • Architecture: x86_64
  • 13 dependencies
  • normalized package name match
  • Matched by: Cargo C
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: cargo-c from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

cargo-c 0.10.15-2.2

Helper to build and install c-like libraries from Rust

https://crates.io/crates/cargo-c

sudo zypper install cargo-c
  • License: MIT
  • Category: Development/Languages/Rust
  • Architecture: x86_64
  • Source Package: cargo-c
  • 7 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Cargo C
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: cargo-c from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

cargo-c

sudo port install cargo-c
  • normalized package name match
  • Matched by: Cargo C
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/cargo-c/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