Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/openkal-compat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ env:
# run if this drifts from pins.toml. See the comment beside `mcpp` in
# pins.toml for why this pin, not just validate.yml's, is gated by the
# index floor.
MCPP_VERSION: "2026.10.26.1"
MCPP_VERSION: "2026.10.27.1"
# CROSS-VALIDATION BEFORE A RELEASE, NOT AFTER IT.
#
# Empty in an ordinary run, so this measurement keeps using the RELEASED
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,12 @@ env:
# 2026.10.26.1 (mcpp-community/mcpp#841): a graph-supplied libstdc++ under
# clang (gcc.libstdcxx, the libstdcxx-llvm member), `requires` as a table,
# and one C++ runtime per process -- compat.sycl-runtime's requirement.
MCPP_VERSION: "2026.10.26.1"
#
# 2026.10.27.1 (mcpp-community/mcpp#847): platforms (SPEC-013) -- the
# ok-image rows take openkal-platform with no declaration, the
# tests/examples/openkal-platform member's hosted arrangement -- and
# packaging along three axes (SPEC-014); mcpp.plugins 0.20.0's floor.
MCPP_VERSION: "2026.10.27.1"

jobs:
lint:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/xpkgindex-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ concurrency:

env:
PYTHONUTF8: '1'
MCPP_VERSION: '2026.10.26.1'
MCPP_VERSION: '2026.10.27.1'
# CROSS-VALIDATION BEFORE A RELEASE: a candidate that needs an mcpp newer
# than the pin (its package states the floor) is built with mcpp built from
# this branch of mcpp-community/mcpp, as openkal-compat.yml measures with it.
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@

### Added

- **mcpplibs.os 0.2.1。** 在程序自己的 C 库的两种安排下构建并通过测试:系统自己的 C 库,以及位于系统自身三元组上的
openkal-musl 与 openkal-llvm-runtime(mcpp docs/24)。机器、内存、卷的种类与两项交换在 Linux 与 macOS 上经内核调用
得到,Windows 上以 32 位 DWORD 与 UTF-16 WCHAR 声明 kernel32 的名字,均不经 C 库;标准输出的转向与 SIGPIPE 在进程
保存它们的地方修改。mcpp-language-server 的操作系统层进入 os(有界运行、线程、环境赋值、有界读取、规范名)。
ok image 的 C 库、C++ 运行时与加载器取自其平台(openkal-platform,mcpp 2026.10.27.1 为 `<arch>-openkal` 选择),
包不再声明它们。GLOBAL 为 GitHub 标签归档,CN 为 GitCode `mcpp-res/os` 镜像,sha256 一致。测试成员 `os` 移到 0.2.1。
- **mcpplibs.mwrap.dr_libs 2026.03.03(新包)。** dr_libs-m:以 C++23 模块(`import mcpplibs.mwrap.dr_libs;`)使用
compat.dr_libs 2026.03.03(dr_wav 0.14.5、dr_flac 0.13.3、dr_mp3 0.7.3)。每个头文件各一个模块且可单独导入:
`mcpplibs.mwrap.dr_libs.wav`(42 个类型、48 个枚举值、94 个函数)、`.flac`(32、6、31)、`.mp3`(28、8、29),全部以
Expand Down
15 changes: 11 additions & 4 deletions pkgs/m/mcpp.plugins.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,19 @@
-- each member selected by a feature.
--
-- [dependencies.mcpp]
-- plugins = { version = "0.19.1", features = ["rules-spirv"], host-module = true }
-- plugins = { version = "0.20.0", features = ["rules-spirv"], host-module = true }
--
-- // build.mcpp
-- import mcpp;
-- import mcpp.rules.spirv;
--
-- 0.20.0 (package floor mcpp 2026.10.27.1): `mcpp.plugins.platform` -- a
-- platform's plugin provides a package format over the staged package
-- (`provide_format`, reading its mcpp-package.json) -- and
-- `mcpp::plugins::package::read`; openkal-platform's okb is its first user
-- (mcpp SPEC-013, SPEC-014). Moving `latest` breaks no published consumer:
-- each pins an exact version.
--
-- 0.19.1 (same package floor): `mcpp::plugins::json::value` holds its object
-- members as a plain struct instead of `std::pair<std::string, value>`, which
-- clang with libstdc++'s `std` module refused -- the combination an editor's
Expand Down Expand Up @@ -931,7 +938,7 @@ package = {
},
sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5",
},
["latest"] = { ref = "0.19.1" },
["latest"] = { ref = "0.20.0" },
},
macosx = {
["0.20.0"] = {
Expand Down Expand Up @@ -1214,7 +1221,7 @@ package = {
},
sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5",
},
["latest"] = { ref = "0.19.1" },
["latest"] = { ref = "0.20.0" },
},
windows = {
["0.20.0"] = {
Expand Down Expand Up @@ -1497,7 +1504,7 @@ package = {
},
sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5",
},
["latest"] = { ref = "0.19.1" },
["latest"] = { ref = "0.20.0" },
},
},

Expand Down
27 changes: 25 additions & 2 deletions pkgs/o/os.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
-- one built as an ok image (`<arch>-openkal').
--
-- No `deps'. The package names openkal and, for the system it is built for,
-- that system's implementation in its own manifest; a program that builds ok
-- images names the C library and the C++ run-time inside them itself.
-- that system's implementation in its own manifest. From 0.2.1 an ok image's
-- C library, C++ run-time and loader are its platform's (openkal-platform,
-- which mcpp 2026.10.27.1 selects for `<arch>-openkal'), and the package
-- declares none of them.
package = {
spec = "1",
namespace = "mcpplibs",
Expand All @@ -26,6 +28,13 @@ package = {

xpm = {
linux = {
["0.2.1"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/os/archive/refs/tags/0.2.1.tar.gz",
CN = "https://gitcode.com/mcpp-res/os/releases/download/0.2.1/os-0.2.1.tar.gz",
},
sha256 = "264a3b80ef40fcb760b7c63565e01597549fdd8e5aa0672389b5d9384661218f",
},
["0.2.0"] = {
url = "https://github.com/mcpplibs/os/archive/refs/tags/0.2.0.tar.gz",
sha256 = "9dc147ad8dca0216549c40dc4dfabaed7394cdf7a7f253c58613ccc226abd04e",
Expand All @@ -47,6 +56,13 @@ package = {
},
},
macosx = {
["0.2.1"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/os/archive/refs/tags/0.2.1.tar.gz",
CN = "https://gitcode.com/mcpp-res/os/releases/download/0.2.1/os-0.2.1.tar.gz",
},
sha256 = "264a3b80ef40fcb760b7c63565e01597549fdd8e5aa0672389b5d9384661218f",
},
["0.2.0"] = {
url = "https://github.com/mcpplibs/os/archive/refs/tags/0.2.0.tar.gz",
sha256 = "9dc147ad8dca0216549c40dc4dfabaed7394cdf7a7f253c58613ccc226abd04e",
Expand All @@ -68,6 +84,13 @@ package = {
},
},
windows = {
["0.2.1"] = {
url = {
GLOBAL = "https://github.com/mcpplibs/os/archive/refs/tags/0.2.1.tar.gz",
CN = "https://gitcode.com/mcpp-res/os/releases/download/0.2.1/os-0.2.1.tar.gz",
},
sha256 = "264a3b80ef40fcb760b7c63565e01597549fdd8e5aa0672389b5d9384661218f",
},
["0.2.0"] = {
url = "https://github.com/mcpplibs/os/archive/refs/tags/0.2.0.tar.gz",
sha256 = "9dc147ad8dca0216549c40dc4dfabaed7394cdf7a7f253c58613ccc226abd04e",
Expand Down
2 changes: 1 addition & 1 deletion tests/examples/os/mcpp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "os-tests"
version = "0.1.0"

[dependencies.mcpplibs]
os = "0.2.0"
os = "0.2.1"

[indices]
mcpplibs = { path = "../../.." }
3 changes: 2 additions & 1 deletion tests/openkal/pins.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ toolchain = "[email protected]"
# index requires mcpp >= 2026.9.18.1 but this is mcpp 2026.9.17.3 [E0006]"
# before a single line of the member's own source is read.
#
# 2026-10-28: measurement engine 2026.10.27.1, the workflow's (platforms, SPEC-013).
# 2026-10-26: measurement engine 2026.10.26.1, the workflow's. 2026-10-24: measurement engine updated to 2026.10.24.1; runtime and
# toolchain pins below remain unchanged. The index client floor is unchanged.
#
Expand Down Expand Up @@ -139,7 +140,7 @@ toolchain = "[email protected]"
# openkal-musl 0.16.0 and openkal-llvm-runtime 0.12.0), because a pin that
# moves onto an unreachable or divergent asset fails every member at once and
# reports it as a compatibility result.
mcpp = "2026.10.26.1"
mcpp = "2026.10.27.1"

# The Windows target is named for the C environment the graph presents there,
# which is musl's (openkal-musl declares `[c-abi] presents = "posix"`), not
Expand Down
Loading