Skip to content

feat(openkal-emscripten): 0.1.1, whose threads feature needs the consumer's ABI switch - #400

Merged
Sunrisepeak merged 1 commit into
mainfrom
feat/openkal-emscripten-0.1.1
Sep 11, 2026
Merged

feat(openkal-emscripten): 0.1.1, whose threads feature needs the consumer's ABI switch#400
Sunrisepeak merged 1 commit into
mainfrom
feat/openkal-emscripten-0.1.1

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Adds openkal-emscripten 0.1.1 (mcpplibs/openkal-emscripten#1) to the index.

What 0.1.1 changes. The threads feature declares requires_abi = { threads = true } instead of adding -pthread to the package's own units. The consumer's root manifest supplies the switch for the whole link with [target.'cfg(os = "emscripten")'.abi] threads = true, which mcpp 2026.9.12.2 reads. A consumer that activates the feature without it is refused before anything compiles. The descriptor comment states this.

The entries. Each platform gets a ["0.1.1"] entry with the same shape as 0.1.0:

  • the GitHub tag archive as GLOBAL;
  • the mcpp-res GitCode release asset as CN;
  • one sha256 covering both.

Measured:

  • https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.1.1.tar.gz returns HTTP 200: 40399 bytes, sha256 a33359fc3f3d35f713cacd88b5a2859e77d0ddca4662b9c30da5dce83a36ec6d. It opens as a tarball whose mcpp.toml reads version = "0.1.1" and carries the requires_abi feature.
  • https://gitcode.com/mcpp-res/openkal-emscripten/releases/download/0.1.1/openkal-emscripten-0.1.1.tar.gz returns HTTP 200, and cmp confirms it is byte-identical to the GitHub archive.
  • The package's own CI on the merge commit, pinned to mcpp 2026.9.12.2, passed its task gate:
    • no task symbol without the feature;
    • a refusal without the switch, naming the feature;
    • eight task symbols with the switch;
    • a task that starts, runs and joins under node.
  • The lint loop from validate.yml passes locally: Lua syntax, mirror URLs and package name.

Compatibility. The existing 0.1.0 entries are unchanged, so consumers pinned to 0.1.0 resolve exactly as before.

…umer's ABI switch

The threads feature declares requires_abi = { threads = true }; the consumer's root manifest supplies [target.'cfg(os = "emscripten")'.abi] threads = true (mcpp 2026.9.12.2). The GitHub tag archive and the mcpp-res GitCode asset are byte-identical (40399 bytes, sha256 a33359fc...).
@Sunrisepeak
Sunrisepeak merged commit 794a456 into main Sep 11, 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