The manifest builds on the Crafter.Build Flatpak (base: net.catcrafts.CrafterBuild): its crafter-build, LLVM 23 and libc++ compile this project inside flatpak-builder, and crafter-build test runs there too. Node 24.22.0 (for the Playwright MCP server) and a static ripgrep 15.2.0 are bundled, pinned by sha256; claude is not, being proprietary. finish-args: the network, the host's files and /tmp, and gnupg's keyboxd socket only, never the agent. The base's files belong to no module of this manifest, so `cleanup` does not reach them: prune-base.sh keeps a named list (the binary, Node, rg, the libc++ the binary links, share/crafter-review, this app's metainfo and licences) and removes the rest, whatever a newer base adds. `crafter-build run flatpak [--base=<branch>] [--jobs=N]` builds it and smoke-tests --version and ldd through `flatpak build`; `run install` installs it as the `local` branch. Until a Crafter.Build release with scripts is on stable, `--base=local` builds against Crafter.Build's own local install, from a gitignored manifest copy whose cache is its own. Built that way: 4 tests green in the sandbox, the charter sha256s the native build prints, no library missing, RUNPATH /app/lib only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8 lines
237 B
Text
8 lines
237 B
Text
build/
|
|
bin/
|
|
lib/*.a
|
|
.claude
|
|
# written next to the manifest: by CI with the version stamped in, and by
|
|
# `crafter-build run flatpak --base=<branch>` for a local base branch
|
|
packaging/flatpak/ci-manifest.yaml
|
|
packaging/flatpak/*-base.yaml
|