# cargoxx-pkgs Public package registry for [cargoxx](../cargoxx). ## Structure ``` recipes/ / maintainers.txt # gitea usernames, one per line meta.toml # description, homepage, license, repository versions/ 1.0.0.toml # one file per published version 1.0.1.toml ``` ## Version recipe schema `recipes//versions/.toml`: ```toml schema = 1 name = "" version = "" [source] type = "git" url = "https://gitea.example//" commit = "<40-char-commit>" sha256 = "sha256-" # SRI form; from `nix flake prefetch` [dependencies] # mirrors the package's Cargoxx.toml fmt = "10.2" otherlib = { version = "0.3", registry = "cargoxx" } [lock] nixpkgs_rev = "<40-char>" flake_utils_rev = "<40-char>" cargoxx_rev = "<40-char>" # cargoxx version that built this [meta] description = "..." homepage = "https://..." license = "MIT" ``` ## Maintainers `recipes//maintainers.txt` lists Gitea usernames authorized to publish new versions of `` or edit `maintainers.txt` itself. Comments start with `#`; blank lines are ignored. ## Publishing Use `cargoxx publish` from a checked-out cargoxx project. The tool opens a PR against this repository. CI validates the PR (source fixity, build smoke, dependency closure, maintainer match) and auto-merges when all checks pass. ## Building locally ```sh nix build .# ``` Yields the same `$out` layout cargoxx libraries always produce — `lib/cmake//Config.cmake`, `lib/pkgconfig/.pc`, `lib/lib.a`, `include//`. Consume from any CMake or pkg-config project, or from another cargoxx project via `{ version = "...", registry = "cargoxx" }`.