Skip to content

0.5.2 — the headers package is declared in the one table, and both spellings are carried - #3

Merged
Sunrisepeak merged 2 commits into
mainfrom
chore/xlings-workspace
Sep 3, 2026
Merged

0.5.2 — the headers package is declared in the one table, and both spellings are carried#3
Sunrisepeak merged 2 commits into
mainfrom
chore/xlings-workspace

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

mcpp 2026.9.3.1 makes [xlings.workspace] the table an author writes: an entry names a package and the version this project uses it at, and mcpp both provisions it and materialises it as a resolution pin.

The version is unconstrained on both sides — "" is the authored spelling for "present, version unconstrained". This package needs the headers to exist and has nothing to say about which release of them.

Both spellings are present on purpose. An engine that knows the table collapses them, because they agree; one that predates it reads deps and behaves exactly as today. Dropping the older line now would be a silent regression there: such an engine parses [xlings.workspace] perfectly well and provisions nothing from it, so build.mcpp would find no headers through mcpp::xpkg_dir on the one platform whose LLVM payload ships no libc++.

Verified on 2026.9.3.1: mcpp build --target riscv64-none-elf succeeds. A native host build fails identically with and without this change — a property of building this package natively, not of the migration.

CI pins mcpp 2026.9.3.1.

…ellings are carried

mcpp 2026.9.3.1 makes `[xlings.workspace]` the table an author writes. The
version is unconstrained on both sides (`"""" is the authored spelling for
'present, version unconstrained'): this package needs the headers to exist and
has nothing to say about which release of them.

Both spellings are present on purpose. An engine that knows the table collapses
them; one that predates it reads `deps` and behaves as today. Dropping the
older line now would be a silent regression there — such an engine parses the
table and provisions nothing from it, so build.mcpp would find no headers
through mcpp::xpkg_dir on the one platform that needs the fallback.

Verified on 2026.9.3.1: `mcpp build --target riscv64-none-elf` succeeds. A
native host build fails identically before and after this change, so that
failure is a property of building this package natively rather than of the
migration.

CI pins mcpp 2026.9.3.1.
mcpp 2026.9.3.2 settles that a namespaced package is written
"<namespace>:<name>" = "<version>". This entry has no namespace to write: the
deps line it mirrors names libcxx-headers unqualified, and qualifying it here
would change which index the name resolves through. CI pins 2026.9.3.2.
@Sunrisepeak
Sunrisepeak merged commit 8b178a4 into main Sep 3, 2026
7 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant