Skip to content

2026.11.2.1: a dependency's patches and a dependency embedded in its consumer; #875; #881 - #882

Merged
Sunrisepeak merged 4 commits into
mainfrom
release/2026.11.2.1
Nov 1, 2026
Merged

Sunrisepeak merged 4 commits into
mainfrom
release/2026.11.2.1

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

One release, 2026.11.2.1 (design 2026-11-02 part 3, §14; approved).

Fixes #875
Fixes #881

Sunrisepeak and others added 4 commits November 2, 2026 02:26
…1/12 corrections

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…consumer; mcpp#875; mcpp#881

- `patches = [...]` on a dependency edge (design 2026-11-02 part 3 §14.1, docs/05): unified diffs applied in order to the verified source by mcpp's own exact applier; a patched library is another library, a variant (package, version, patch set) with a source tree under the mcpp home (`cache/src/<package>/<version>+p<digest>`) and a build, BMIs and cache entries of its own. The lock records the variant and each patch's path and SHA-256; `mcpp emit sbom` states the pedigree; `cache gc`, `prune` and the collection after a build reclaim unused trees. A changed patch leaves the fast paths. e2e 1001.
- `embed = true` and `exclude = [...]`: the dependency's sources, less `exclude`, are compiled into the consumer with the consumer's flags and the dependency's include directories and flags; the dependency compiles nothing of its own in that configuration, and a program that reaches it without its embedder is refused. `exclude` without `embed` is refused. e2e 1002.
- One program, one variant: two programs of a configuration may each use their own patch set; a program that reaches two variants of a package is refused naming them. e2e 1003.
- mcpp#875: the ninja mcpp installed into its home is used after the provider's and before PATH, and a build with none says where it looked. e2e 1004.
- mcpp#881: `clean --stale` counts what it kept and says so; its default window is `[build] keep_days`; the SubOS remedies name `XLINGS_HOME=<registry>`. e2e 1005.
- prepare: the edges the worklist records move to graph_edges.cpp (graph.cpp's 2500-line limit).

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…days)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…d as a dead glob

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
@Sunrisepeak
Sunrisepeak merged commit 16a0c1a into main Nov 1, 2026
152 of 153 checks passed
@Sunrisepeak
Sunrisepeak deleted the release/2026.11.2.1 branch November 1, 2026 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant