diff --git a/.github/workflows/xpkgindex-update.yml b/.github/workflows/xpkgindex-update.yml index 6e26a37b..10ab13b4 100644 --- a/.github/workflows/xpkgindex-update.yml +++ b/.github/workflows/xpkgindex-update.yml @@ -26,6 +26,11 @@ concurrency: env: PYTHONUTF8: '1' MCPP_VERSION: '2026.10.26.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. + # Empty in an ordinary run. + MCPP_SOURCE_REF: ${{ vars.MCPP_SOURCE_REF || '' }} MCPP_INDEX_MIRROR: GLOBAL jobs: @@ -204,6 +209,19 @@ jobs: else echo "MCPP=$root/bin/mcpp" >> "$GITHUB_ENV" fi + - name: The mcpp under review, built from MCPP_SOURCE_REF when it is set + if: env.MCPP_SOURCE_REF != '' + shell: bash + run: | + src="$RUNNER_TEMP/mcpp-src" + git clone --quiet --depth 1 --branch "$MCPP_SOURCE_REF" https://github.com/mcpp-community/mcpp.git "$src" + rm -f "$src/.xlings.json" + ( cd "$src" && "$MCPP" build --release ) + built=$(find "$src/target" -type f \( -name mcpp -o -name mcpp.exe \) -path '*/bin/*' | head -1) + [ -n "$built" ] || { echo "::error::mcpp did not build from $MCPP_SOURCE_REF"; exit 1; } + if [[ "$RUNNER_OS" == Windows ]]; then built=$(cygpath -m "$built"); fi + echo "MCPP=$built" >> "$GITHUB_ENV" + echo "under review: $("$built" --version) (from $MCPP_SOURCE_REF)" - name: Install macOS ODBC development headers if: runner.os == 'macOS' && matrix.id == 'compat:nanodbc' run: brew install libiodbc diff --git a/CHANGELOG.md b/CHANGELOG.md index bf63361f..99ec69e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,11 @@ openkal-macos 0.15.1 与 openkal-windows 0.13.3,以 `KAL_SPAWN_ONE_STRING` 启动命令解释器的 image 在 okrun 下得到该标志的语义;三个包仍为同一版本、同一归档。openkal-musl 随 openkal-windows 0.13.3 与 openkal-ld 0.1.1 移动,openkal-llvm-runtime 随 openkal-musl 移动。测试成员 `openkal`、`openkal-musl`、`openkal-tools` 随之移动。 +- **mcpp.plugins 0.20.0。** 新特性 `plugins-platform`(模块 `mcpp.plugins.platform`):平台插件与包格式提供者的 + `provide_format`(声明格式,并在请求该格式的一遍中由暂存包的 `mcpp-package.json` 生成 artifact action),以及平台的 + 链接、产物命名、封装与运行主机的带检查的写法(mcpp SPEC-013 协议 17);`mcpp::plugins::package` 读取暂存包的 + `mcpp-package.json`(SPEC-014 §4.5)。SYCL 构建只有一个 C++ 运行时(libstdc++)。需要 mcpp 2026.10.27.1; + `latest` 仍指向 0.19.1,随 mcpp 2026.10.27.1 发布移动。 - **openkal-platform 0.17.1(新包)。** ok 映像目标 `x86_64-openkal`、`aarch64-openkal` 的平台包(mcpp SPEC-013): 工具链 llvm@23.1.3,C 库 openkal-musl 0.22.3,C++ 与编译器运行时 openkal-llvm-runtime 0.16.3,工具 okld、okrun (openkal-tools 0.1.1),编译与链接约定、封装、命名、运行器、载体,宿主组合与 openkal 0.17.1 的版本组。 diff --git a/pkgs/m/mcpp.plugins.lua b/pkgs/m/mcpp.plugins.lua index a743165b..ae8d3c07 100644 --- a/pkgs/m/mcpp.plugins.lua +++ b/pkgs/m/mcpp.plugins.lua @@ -651,6 +651,13 @@ package = { xpm = { linux = { + ["0.20.0"] = { + url = { + GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.20.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.20.0/mcpp-plugins-0.20.0.tar.gz", + }, + sha256 = "d216989adedc2df616e693a2ac908d5d37e4cbac9ad008bdcd5af685eedd34ac", + }, ["0.19.1"] = { url = { GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.19.1.tar.gz", @@ -927,6 +934,13 @@ package = { ["latest"] = { ref = "0.19.1" }, }, macosx = { + ["0.20.0"] = { + url = { + GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.20.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.20.0/mcpp-plugins-0.20.0.tar.gz", + }, + sha256 = "d216989adedc2df616e693a2ac908d5d37e4cbac9ad008bdcd5af685eedd34ac", + }, ["0.19.1"] = { url = { GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.19.1.tar.gz", @@ -1203,6 +1217,13 @@ package = { ["latest"] = { ref = "0.19.1" }, }, windows = { + ["0.20.0"] = { + url = { + GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.20.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.20.0/mcpp-plugins-0.20.0.tar.gz", + }, + sha256 = "d216989adedc2df616e693a2ac908d5d37e4cbac9ad008bdcd5af685eedd34ac", + }, ["0.19.1"] = { url = { GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.19.1.tar.gz",