Skip to content

openkal ecosystem: nine releases, and one package the index did not have - #246

Merged
Sunrisepeak merged 2 commits into
mainfrom
feat/openkal-closure-index
Aug 23, 2026
Merged

openkal ecosystem: nine releases, and one package the index did not have#246
Sunrisepeak merged 2 commits into
mainfrom
feat/openkal-closure-index

Conversation

@Sunrisepeak

@Sunrisepeak Sunrisepeak commented Aug 23, 2026

Copy link
Copy Markdown
Member

Nine packages released as part of the target-side resolution closure (mcpp-community/mcpp#486).

package version note
openkal 0.6.0
openkal-linux 0.5.2 declares mcpp:kernel-abi=openkal
openkal-macos 0.3.2 same
openkal-windows 0.1.2 same
openkal-opensbi 0.1.1 same
openkal-uefi 0.1.1 same
openkal-musl 0.3.2 declares mcpp:c-abi=musl
openkal-llvm-runtime 0.1.0 new descriptor — declares mcpp:c++-abi=libc++
std-freestanding 0.5.1 declares mcpp:c++-abi=freestanding
openarch 0.7.0

Every CN mirror object was fetched and compared against the GitHub archive before its entry was written; all nine are byte-identical.

The 0.6.0 manifest states a capability the previous release did not, and the
index serves published tarballs rather than branches. Without this entry a
consumer resolving openkal by version gets content in which the package
declares no layer, and the engine resolves its target side to the compiler
payload instead of to the graph.

CN mirror verified byte-identical to the GitHub archive before this entry was
written.

Claude-Session: https://claude.ai/code/session_01Q4ucduLuSsETHYJ1RkGVVD
Every one of these manifests states a capability the previous release did not.
mcpp resolves the target side per layer after the dependency graph is known and
reads which layer a package fills from its capabilities; the index serves
published tarballs rather than branches, so without these entries a consumer
resolving by version gets content in which no package declares a layer and the
engine resolves the target side to the compiler payload.

openkal-llvm-runtime had no descriptor at all. It is the entry point for a
program that reaches several machines from one source -- it names the C library,
which selects the platform implementation, which names the specification -- so
its absence meant that path was reachable only through a git reference, which
is not a supported way to depend on a package.

Every CN mirror object was fetched and compared against the GitHub archive
before its entry was written here; all nine are byte-identical.

Claude-Session: https://claude.ai/code/session_01Q4ucduLuSsETHYJ1RkGVVD
@Sunrisepeak
Sunrisepeak merged commit 0c262b7 into main Aug 23, 2026
8 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