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
22 changes: 21 additions & 1 deletion .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,27 @@ env:
# manifests. One pin move, batched with the two descriptors.
#
# `index.toml` min_mcpp does not move: no descriptor grammar changed.
MCPP_VERSION: "2026.9.15.2"
# ── 2026-09-16: raised 2026.9.15.2 -> 2026.9.16.1 ─────────────────────────
#
# `mcpp.plugins` 0.12.0 is added below, and it reads the resolved graph the
# root build program receives from mcpp 2026.9.16.1 (`MCPP_GRAPH_FILE`). It
# does not need that engine to build here -- a member reads the variable and
# finds it absent under an older one, which is the pre-0.12.0 behaviour -- so
# the descriptor is not what moves the pin.
#
# What moves it is that 2026.9.16.1 changes how images and runtimes are
# decided, and this index is where that meets five hundred real manifests.
# On ELF every C++ image a plan loads into one process now shares one C++
# runtime, so a program over a plan-built C++ shared library takes the
# library's contract instead of a static one (mcpp-community/mcpp#646 F3a); a
# static package reached from several shared images is refused where the link
# or the load cannot succeed (F1); and a package whose targets are all
# programs no longer contributes its dependencies to a consumer's target
# graph (#649 E6). Each of those decides what a real manifest links, and the
# only place they are exercised at this scale is here.
#
# `index.toml` min_mcpp does not move: no descriptor grammar changed.
MCPP_VERSION: "2026.9.16.1"

jobs:
lint:
Expand Down
50 changes: 46 additions & 4 deletions pkgs/m/mcpp.plugins.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,33 @@
-- each member selected by a feature.
--
-- [dependencies.mcpp]
-- plugins = { version = "0.11.1", features = ["rules-spirv"], host-module = true }
-- plugins = { version = "0.12.0", features = ["rules-spirv"], host-module = true }
--
-- // build.mcpp
-- import mcpp;
-- import mcpp.rules.spirv;
--
-- 0.12.0 requires **mcpp 2026.9.16.1** for the members that read the resolved
-- graph, and nothing newer for the rest. A package states what it contributes
-- to an application in its own manifest -- `[package.metadata.dist-apk]`
-- (Android source roots, resources, assets, a manifest, jars and aars) and
-- `[package.metadata.dist-apple]` (an Info.plist fragment) -- and the root
-- build program reads them from the graph mcpp hands it, applying each package
-- above the packages it depends on, with the application's own options above
-- all of them. `options::graph_libraries` and `options::graph_info_plist` turn
-- the collection off. Under an older engine there is no graph, the variable is
-- absent, and a package is built without the contribution exactly as before.
--
-- `dist-apk` also follows the engine's strip decision from that release
-- (`MCPP_PACK_STRIP`, `MCPP_PACK_DEBUG_SYMBOLS_DIR`): a library the engine
-- staged is packed as staged, because the engine has already applied
-- `--no-strip` or `--debug-symbols` to it, and the member strips only what it
-- stages itself. `dist-apple` gains `options::omit_keys`, which leaves out a
-- key the member only defaults; `dist-web` gains `options::page`, which names
-- the page (`index.html` by default). `rules-swift` compiles a package's
-- `.swift` sources in one whole-module `swiftc` action on macOS, the iOS
-- simulator and the iOS device row, refusing every other row by name.
--
-- 0.11.1 (same mcpp floor): `dist-apk` strips each native library with the
-- build's own `llvm-strip --strip-unneeded` (`options::keep_debug_symbols`
-- keeps them as staged) and, when the manifest states
Expand Down Expand Up @@ -515,6 +536,13 @@ package = {

xpm = {
linux = {
["0.12.0"] = {
url = {
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.12.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.12.0/mcpp-plugins-0.12.0.tar.gz",
},
sha256 = "90a70689b090be7208c1f1f35487e148ed353a1bef0cec33d391bd46d67ba13f",
},
["0.11.1"] = {
url = {
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.11.1.tar.gz",
Expand Down Expand Up @@ -697,9 +725,16 @@ package = {
},
sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5",
},
["latest"] = { ref = "0.11.1" },
["latest"] = { ref = "0.12.0" },
},
macosx = {
["0.12.0"] = {
url = {
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.12.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.12.0/mcpp-plugins-0.12.0.tar.gz",
},
sha256 = "90a70689b090be7208c1f1f35487e148ed353a1bef0cec33d391bd46d67ba13f",
},
["0.11.1"] = {
url = {
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.11.1.tar.gz",
Expand Down Expand Up @@ -882,9 +917,16 @@ package = {
},
sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5",
},
["latest"] = { ref = "0.11.1" },
["latest"] = { ref = "0.12.0" },
},
windows = {
["0.12.0"] = {
url = {
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.12.0.tar.gz",
CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.12.0/mcpp-plugins-0.12.0.tar.gz",
},
sha256 = "90a70689b090be7208c1f1f35487e148ed353a1bef0cec33d391bd46d67ba13f",
},
["0.11.1"] = {
url = {
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.11.1.tar.gz",
Expand Down Expand Up @@ -1067,7 +1109,7 @@ package = {
},
sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5",
},
["latest"] = { ref = "0.11.1" },
["latest"] = { ref = "0.12.0" },
},
},

Expand Down
Loading