7928b4d5f2a11fece3be1ab250702bda52aab44e
Add generateBuildPlan() to tofu.resolve — filters constrained dep tree to recipe-only packages, verifies cached recipes exist, and produces an ordered BuildPlan ready for the build orchestrator (task 15). - Skips binary-satisfied deps (Zeta handles those) - Preserves topological order from constrained nodes (deps-first) - Missing recipe files: re-fetch via injectable delegate seam (production wires tofu.fetch.fetchRecipe; tests inject mocks) - Empty plan (all binary) → returns empty BuildPlan + log info - Root always recipe — always included in plan - 6 unittests: filter binary, fetch seam, missing no-seam, all-binary empty, root with binary dep, cache hit no-fetch - dub test + dub build pass with warningsAsErrors
tofu
A package manager for the ZereneOS Unofficial User Repository
What it is
A Dlang wrapper around zeta-toolchain and ZETA for the ZUUR recipe repository, in the style of yay/paru for the ZereneOS ecosystem.
Requirements
- dub
- a D compiler (dmd or ldc2)
- lua
- curl
- zeta-toolchain
- Zeta
Build
dub build
Produces the ./tofu binary.
Description
A package manager for the ZereneOS Unofficial User Repository
241 KiB
Languages
D
97.3%
Shell
2.7%