Skip to content

openkal-llvm-runtime 0.5.0 - #288

Merged
Sunrisepeak merged 1 commit into
mainfrom
feat/openkal-llvm-runtime-0.5.0
Aug 29, 2026
Merged

openkal-llvm-runtime 0.5.0#288
Sunrisepeak merged 1 commit into
mainfrom
feat/openkal-llvm-runtime-0.5.0

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Completes the chain begun in #283 (openkal-linux 0.7.1, openkal-macos 0.6.1), #284 (openkal-musl 0.8.0) and #286 (openkal-musl 0.9.0). A consumer names this one line and gets all of it:

[dependencies]
openkal-llvm-runtime = "0.5.0"

What a program above it gets

  • std::filesystem::copy_file reported Resource temporarily unavailable for two ordinary files. libc++ opens a copy's source with O_NONBLOCK, which is meaningless for a regular file on a kernel; openkal-musl routes that through the bounded-transfer path, and the backends' kal_timeout_read decoded a borrowed kal_stream handle with the decoder for an owned one — waiting upon the descriptor below the one it then transferred upon.
  • std::filesystem::resize_file worked for no path at all, because libc++ expresses it as the name-shaped truncate and only ftruncate was answered.
  • A build can now state its own version. OPENKAL_MUSL_TRACE=enosys names it before the program runs and whether or not anything is missing; uname's release field carries it too. Both were absent, and two rounds of ENOSYS for fork/pipe/socket/chmod/symlink/copy_file_range blocks POSIX-style CLI workloads; one startup path jumps through a NULL stub openkal-linux#13 were answered against the wrong version because of it.

Measured

http=200 bytes=15615416
got  aca5d253be9becc271362022f47a0f90795066b8c5ffc8ecc054f5d25ace0c04   IDENTICAL
合法归档 ✓

Fetched back from the published CN URL, hashed against the GitHub tag tarball, and opened as an archive.

And the chain itself was verified through the index rather than through working trees — every repository in this family substitutes working trees for its dependencies in CI, so none of those runs examines the index entry, the archive, its hash or the resolved graph:

openkal-musl = "0.7.0"      (index+mcpplibs@0.7.0 -> openkal-linux 0.7.0)
  note: 1 of 16 pipes reported readable
  FAIL: a pipe with a byte in it is reported readable

openkal-musl = "0.8.0"      (index+mcpplibs@0.7.1 -> openkal-linux 0.7.1)
  ok: truncate(2) by name
  ok: the length set by name is reported
  ok: a pipe with a byte in it is reported readable

Locally: check_mirror_urls, check_package_name, check_cross_package_refs, check_platform_version_parity, check_duplicate_versions all pass. Added to all three platform tables, newest first, as this descriptor orders them.

Repins the C library to openkal-musl 0.9.0, which answers truncate(2), repins
openkal-linux 0.7.1 and openkal-macos 0.6.1, and makes a build able to state
which version of the C library it holds.

For a program above this package: std::filesystem::copy_file reported
`Resource temporarily unavailable' for two ordinary files, and
std::filesystem::resize_file worked for no path at all. Reported in
mcpplibs/openkal-linux#13.

Measured before this commit: the CN mirror asset returns 200, opens as an
archive, and its sha256 is identical to the GitHub tag tarball.
@Sunrisepeak
Sunrisepeak merged commit 1eedc95 into main Aug 29, 2026
8 checks passed
@Sunrisepeak
Sunrisepeak deleted the feat/openkal-llvm-runtime-0.5.0 branch August 29, 2026 20:53
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