From 10e196088fe6e904e73893ff21f9bc3131aaadbf Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Thu, 6 Aug 2026 08:46:15 +0800 Subject: [PATCH 1/3] =?UTF-8?q?chore:=20=E8=BA=AB=E4=BB=BD=E5=AF=B9?= =?UTF-8?q?=E9=BD=90=E4=B8=8A=E6=B8=B8=20=E2=80=94=E2=80=94=20ffmpeg:ffmpe?= =?UTF-8?q?g@8.1.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `0.0.3` 是打包计数,消费者看不出自己拿到的是哪一版 FFmpeg。答案其实一直写在同一个 文件里:`compat.ffmpeg = "8.1.2"`。 `mcpplibs` 也不是"上游是谁"的答案 —— 它是 mcpp 的默认命名空间 (`kDefaultNamespace = "mcpplibs"`),裸名就落在那里。FFmpeg 是 FFmpeg 的,本仓库只是 在它之上加了 C++23 module 层(`import ffmpeg.av;`)。索引里 `nlohmann.json`、 `fmtlib.fmt`、`godotengine.godot-cpp-m` 早就是这个口径。规则与全量迁移表见 mcpp-index#163。 两件事同批做,原因见 imgui-m 那条:只改版本会让裸名在第一级命中本包,而它现在落到的 是 compat 里的源码构建包。 模板里 `ffmpeg` 命名空间是硬编码的:mcpp 的模板变量只有 {{self.name}} 与 {{self.version}},没有 {{self.namespace}}。 --- README.md | 4 ++-- mcpp.toml | 12 ++++++++++-- templates/decode/mcpp.toml.in | 4 +++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 99dd53b..c9c9df5 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,8 @@ mcpp new myplayer --template ffmpeg && cd myplayer && mcpp run -- video.mp4 # 或在已有项目中手动接入: ```toml -[dependencies] -ffmpeg = "0.0.3" +[dependencies.ffmpeg] +ffmpeg = "8.1.2" ``` ```cpp diff --git a/mcpp.toml b/mcpp.toml index 81f3b8d..7dd1b99 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -1,7 +1,15 @@ +# The namespace names whose library this is, not who packaged it; the version +# says which upstream you are getting. `mcpplibs` is mcpp's DEFAULT namespace +# (kDefaultNamespace), not an answer to "whose library"; and `0.0.3` told a +# consumer nothing about which FFmpeg was inside — it is 8.1.2, which is what +# the compat.ffmpeg dependency below has said all along. +# +# Rule and full migration table: mcpp-index#163. [package] +namespace = "ffmpeg" name = "ffmpeg" -version = "0.0.3" -description = "FFmpeg C++ modules for mcpp (import ffmpeg.av;) on top of the compat.ffmpeg source build" +version = "8.1.2" +description = "FFmpeg 8.1.2 C++ modules for mcpp (import ffmpeg.av;) on top of the compat.ffmpeg source build" license = "MIT" repo = "https://github.com/mcpplibs/ffmpeg-m" platforms = ["linux", "macos", "windows"] diff --git a/templates/decode/mcpp.toml.in b/templates/decode/mcpp.toml.in index ba6c3dd..73feccb 100644 --- a/templates/decode/mcpp.toml.in +++ b/templates/decode/mcpp.toml.in @@ -2,5 +2,7 @@ name = "{{project.name}}" version = "0.1.0" -[dependencies] +# `ffmpeg` is spelled out because a template has no {{self.namespace}} +# variable yet — see mcpp-index#163. +[dependencies.ffmpeg] {{self.name}} = "{{self.version}}" From bc5df51aed7714cb9b3439ef6c2e2fa7031faa3c Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Thu, 6 Aug 2026 08:55:15 +0800 Subject: [PATCH 2/3] =?UTF-8?q?ci:=20mcpp=20pin=20=E6=8A=AC=E5=88=B0=20202?= =?UTF-8?q?6.8.5.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI 此前就已经红,与本次身份迁移无关:pin 的 mcpp 低于索引声明的 min_mcpp, 每次都停在同一个地方 —— error: index requires mcpp >= 2026.8.3.3 but this is mcpp [E0006] 索引下限是一道机器闸门(mcpp#349):索引是数据、mcpp 是程序,发布数据不得让程序 失效,所以下限只在描述符真的读不动时才抬。这里要动的是客户端这一侧。 --- .xlings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.xlings.json b/.xlings.json index 5b5539c..da059b5 100644 --- a/.xlings.json +++ b/.xlings.json @@ -1,5 +1,5 @@ { "workspace": { - "xim:mcpp": "0.0.101" + "xim:mcpp": "2026.8.5.4" } } From cf23dc675e24b5de11f29cca57c534fec68bc262 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Thu, 6 Aug 2026 08:59:19 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E6=A8=A1=E6=9D=BF=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E4=B8=8D=E5=86=99=E5=AD=97=E9=9D=A2=E5=8D=A0=E4=BD=8D=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit opencv-m 的 CI 有个守卫,把 templates/ 下所有 {{…}} 与白名单比对。注释里写字面 占位符会被判成未知占位符 —— 改成散文描述,免得同一个守卫在这里也炸。 --- templates/decode/mcpp.toml.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/templates/decode/mcpp.toml.in b/templates/decode/mcpp.toml.in index 73feccb..578ba68 100644 --- a/templates/decode/mcpp.toml.in +++ b/templates/decode/mcpp.toml.in @@ -2,7 +2,8 @@ name = "{{project.name}}" version = "0.1.0" -# `ffmpeg` is spelled out because a template has no {{self.namespace}} -# variable yet — see mcpp-index#163. +# `ffmpeg` is spelled out: templates substitute only project.name, +# self.name and self.version — there is no namespace placeholder yet. +# See mcpp-index#163. [dependencies.ffmpeg] {{self.name}} = "{{self.version}}"