Skip to content

Commit e68c9d8

Browse files
feat(pkg): mcpp:plugins 0.2.0 (#356)
Two new members and a route that had no payload behind it. `mcpp.rules.sycl` (feature `rules-sycl`) drives the `xim:dpcpp` payload over `.sycl` translation units, which mcpp 2026.9.6.1 classifies as device sources. `mcpp.rules.hip` (feature `rules-hip`) compiles `.hip` units on the NVIDIA platform, where HIP is a header layer over the CUDA runtime and the compiler is the project's own clang. And `mcpp.rules.spirv` now drives glslc as well as glslang, because `xim:shaderc` publishes one -- the route that rule's own source used to call "a claim rather than a feature". The floor recorded here is 2026.9.6.1, the highest among the members rather than any one feature's, and the descriptor says so: a project on 2026.9.5.4 that wants only `rules-cuda` is refused by it. Splitting the package per member is the alternative and is not taken, because one host-module package is what makes the collection a collection. One sha256 for both URLs, verified by downloading each: the GitHub archive of the tag and the GitCode asset are byte for byte the same 47,792 bytes. 0.1.1 and 0.1.0 stay, so a consumer already pinning either keeps resolving. Co-authored-by: speak-agent <x.d2learn.org@gmail.com>
1 parent 394dd9c commit e68c9d8

1 file changed

Lines changed: 50 additions & 9 deletions

File tree

pkgs/m/mcpp.plugins.lua

Lines changed: 50 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,37 @@
22
-- each member selected by a feature.
33
--
44
-- [dependencies.mcpp]
5-
-- plugins = { version = "0.1.1", features = ["rules-spirv"], host-module = true }
5+
-- plugins = { version = "0.2.0", features = ["rules-spirv"], host-module = true }
66
--
77
-- // build.mcpp
88
-- import mcpp;
99
-- import mcpp.rules.spirv;
1010
--
11-
-- Members of 0.1.1: `mcpp.rules.cuda` (feature `rules-cuda`, mcpp >= 2026.9.5.2),
12-
-- `mcpp.rules.spirv` (feature `rules-spirv`, mcpp >= 2026.9.5.3) and
13-
-- `mcpp.tools.embed` (feature `tools-embed`, mcpp >= 2026.9.5.4, whose fast
14-
-- path compares a declared file input -- without it an edit to the embedded
15-
-- data does not reach the binary). The
11+
-- Members of 0.2.0, with the mcpp release each relies on:
12+
--
13+
-- mcpp.rules.cuda `rules-cuda` >= 2026.9.5.2
14+
-- mcpp.rules.spirv `rules-spirv` >= 2026.9.5.3; since 0.2.0 it drives glslc
15+
-- as well as glslang, because `xim:shaderc`
16+
-- publishes one -- the route this rule's own
17+
-- source used to call "a claim rather than a
18+
-- feature"
19+
-- mcpp.tools.embed `tools-embed` >= 2026.9.5.4, whose fast path compares a
20+
-- declared file input; without it an edit to
21+
-- the embedded data does not reach the binary
22+
-- mcpp.rules.hip `rules-hip` >= 2026.9.5.2. HIP on the NVIDIA platform
23+
-- is a header layer over the CUDA runtime,
24+
-- so the compiler is the project's own clang
25+
-- and `xim:hip-nvidia` carries no binaries
26+
-- mcpp.rules.sycl `rules-sycl` >= 2026.9.6.1, the release whose
27+
-- device-source table carries `.sycl`. Needs
28+
-- `compat:sycl-runtime` so the artifact can
29+
-- reach `libsycl.so.9` at run time
30+
--
31+
-- The floor recorded for this package is the HIGHEST of those, so it is the
32+
-- collection's floor rather than any one feature's: a project on 2026.9.5.4
33+
-- that wants only `rules-cuda` is refused by it. Splitting the package per
34+
-- member is the alternative and is not taken, because one host-module package
35+
-- is what makes the collection a collection. The
1636
-- engine compiles every module interface unit among a host-module package's
1737
-- feature-resolved sources as a host module of its own (mcpp 2026.9.5.3+),
1838
-- which is what lets one package carry the collection; a consumer on an older
@@ -36,6 +56,13 @@ package = {
3656

3757
xpm = {
3858
linux = {
59+
["0.2.0"] = {
60+
url = {
61+
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.2.0.tar.gz",
62+
CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.2.0/mcpp-plugins-0.2.0.tar.gz",
63+
},
64+
sha256 = "b5ee0cf41f156a3a327c665a84cc60769864f171f20965568255147f06fd4ca2",
65+
},
3966
["0.1.1"] = {
4067
url = {
4168
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.1.1.tar.gz",
@@ -50,9 +77,16 @@ package = {
5077
},
5178
sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5",
5279
},
53-
["latest"] = { ref = "0.1.1" },
80+
["latest"] = { ref = "0.2.0" },
5481
},
5582
macosx = {
83+
["0.2.0"] = {
84+
url = {
85+
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.2.0.tar.gz",
86+
CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.2.0/mcpp-plugins-0.2.0.tar.gz",
87+
},
88+
sha256 = "b5ee0cf41f156a3a327c665a84cc60769864f171f20965568255147f06fd4ca2",
89+
},
5690
["0.1.1"] = {
5791
url = {
5892
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.1.1.tar.gz",
@@ -67,9 +101,16 @@ package = {
67101
},
68102
sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5",
69103
},
70-
["latest"] = { ref = "0.1.1" },
104+
["latest"] = { ref = "0.2.0" },
71105
},
72106
windows = {
107+
["0.2.0"] = {
108+
url = {
109+
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.2.0.tar.gz",
110+
CN = "https://gitcode.com/mcpp-res/mcpp-plugins/releases/download/0.2.0/mcpp-plugins-0.2.0.tar.gz",
111+
},
112+
sha256 = "b5ee0cf41f156a3a327c665a84cc60769864f171f20965568255147f06fd4ca2",
113+
},
73114
["0.1.1"] = {
74115
url = {
75116
GLOBAL = "https://github.com/mcpp-community/mcpp-plugins/archive/refs/tags/v0.1.1.tar.gz",
@@ -84,7 +125,7 @@ package = {
84125
},
85126
sha256 = "adf1f9d6691a5d05a8a4a94e83c733ea39caee1510ce2c9af4cb23bebabea9f5",
86127
},
87-
["latest"] = { ref = "0.1.1" },
128+
["latest"] = { ref = "0.2.0" },
88129
},
89130
},
90131

0 commit comments

Comments
 (0)