cargoxx-pkgs

Public package registry for cargoxx.

Structure

recipes/
  <name>/
    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/<name>/versions/<v>.toml:

schema = 1
name = "<package-name>"
version = "<semver>"

[source]
type   = "git"
url    = "https://gitea.example/<owner>/<repo>"
commit = "<40-char-commit>"
sha256 = "sha256-<base64>"             # 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/<name>/maintainers.txt lists Gitea usernames authorized to publish new versions of <name> 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

nix build .#<name>

Yields the same $out layout cargoxx libraries always produce — lib/cmake/<name>/<name>Config.cmake, lib/pkgconfig/<name>.pc, lib/lib<name>.a, include/<name>/. Consume from any CMake or pkg-config project, or from another cargoxx project via { version = "...", registry = "cargoxx" }.

Description
Public package registry for cargoxx
Readme 81 KiB
Languages
Nix 100%