diff --git a/CHANGELOG.md b/CHANGELOG.md index aa4ed4a..d8a1c97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,24 @@ ### Changed +- **`compat.vulkan` 1.4.357.1 —— 移动一个钉,需要一个新版本。** + 上一条把 `compat.vulkan` 对 `compat.vulkan-runtime` 的钉从 2026.09.07 挪到 + 2026.09.10,**没有抬 `compat.vulkan` 自己的版本**。对一台已经装着 + `compat.vulkan@1.4.357.0` 的机器,那份已安装副本里**记着的**仍是 2026.09.07; + 而同时**自己也直接声明** `compat.vulkan-runtime` 的消费者(mcpp 的图形示例在 + `cfg(linux)` 下就是这么写的)拿自己的钉去比,于是构建停在 + `irreconcilable versions`。 + + ⚠️⚠️ **本地测不出来**:重新解析过索引的机器两边都读到 2026.09.10,毫无冲突。 + 它是在 CI 上、一个 `~/.mcpp` 是热的 runner 上现形的。**「本机绿」在这一类升级 + 问题上等于零信息量。** + + ⭐ 规则:**一个包如果钉着另一个包的版本,那个钉挪动时它自己必须换版本** —— + 换版本买到的是一次重装,重装才会按当前索引重新记录。`1.4.357.0` 保持原样, + 已经持有它的机器照原样解析。 + +### Changed + - **三个 host farm 改为对自己的成员负责,并且对宿主只保留一条具名的触达** (`compat.glx-runtime` 2026.09.10、`compat.opencl-runtime` 2026.09.10、 `compat.vulkan-runtime` 2026.09.10)。 diff --git a/pkgs/c/compat.vulkan.lua b/pkgs/c/compat.vulkan.lua index 99789fa..fc6aaf4 100644 --- a/pkgs/c/compat.vulkan.lua +++ b/pkgs/c/compat.vulkan.lua @@ -65,6 +65,31 @@ package = { xpm = { linux = { + -- 1.4.357.1: the same loader source, pinned to the farm that + -- answers for its own members (compat.vulkan-runtime 2026.09.10). + -- + -- A NEW VERSION RATHER THAN A MOVED PIN INSIDE 1.4.357.0, and the + -- difference is measured. A consumer that ALSO names + -- `compat.vulkan-runtime` directly -- mcpp's graphics examples do, + -- under a `cfg(linux)` predicate -- compares its own pin against + -- the one recorded in its installed copy of this package. Moving + -- the pin inside a published version leaves that recorded copy + -- saying 2026.09.07 while the manifest says 2026.09.10, and the + -- build stops with `irreconcilable versions`. Measured on a CI + -- runner with a warm ~/.mcpp; a machine that re-resolves from a + -- fresh index does not see it, which is why it survived local + -- testing. + -- + -- 1.4.357.0 keeps its old pin for the same reason: a version that + -- is already published must keep resolving the way the machines + -- holding it recorded. + ["1.4.357.1"] = { + url = { + GLOBAL = "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/vulkan/releases/download/1.4.357.0/vulkan-1.4.357.0.tar.gz", + }, + sha256 = "54f2537df22313768da0317dda2abdaaab7711b4081c48c869a79db343d0ae70", + }, ["1.4.357.0"] = { url = { GLOBAL = "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz", @@ -74,6 +99,31 @@ package = { }, }, macosx = { + -- 1.4.357.1: the same loader source, pinned to the farm that + -- answers for its own members (compat.vulkan-runtime 2026.09.10). + -- + -- A NEW VERSION RATHER THAN A MOVED PIN INSIDE 1.4.357.0, and the + -- difference is measured. A consumer that ALSO names + -- `compat.vulkan-runtime` directly -- mcpp's graphics examples do, + -- under a `cfg(linux)` predicate -- compares its own pin against + -- the one recorded in its installed copy of this package. Moving + -- the pin inside a published version leaves that recorded copy + -- saying 2026.09.07 while the manifest says 2026.09.10, and the + -- build stops with `irreconcilable versions`. Measured on a CI + -- runner with a warm ~/.mcpp; a machine that re-resolves from a + -- fresh index does not see it, which is why it survived local + -- testing. + -- + -- 1.4.357.0 keeps its old pin for the same reason: a version that + -- is already published must keep resolving the way the machines + -- holding it recorded. + ["1.4.357.1"] = { + url = { + GLOBAL = "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/vulkan/releases/download/1.4.357.0/vulkan-1.4.357.0.tar.gz", + }, + sha256 = "54f2537df22313768da0317dda2abdaaab7711b4081c48c869a79db343d0ae70", + }, ["1.4.357.0"] = { url = { GLOBAL = "https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz", @@ -83,6 +133,31 @@ package = { }, }, windows = { + -- 1.4.357.1: the same loader source, pinned to the farm that + -- answers for its own members (compat.vulkan-runtime 2026.09.10). + -- + -- A NEW VERSION RATHER THAN A MOVED PIN INSIDE 1.4.357.0, and the + -- difference is measured. A consumer that ALSO names + -- `compat.vulkan-runtime` directly -- mcpp's graphics examples do, + -- under a `cfg(linux)` predicate -- compares its own pin against + -- the one recorded in its installed copy of this package. Moving + -- the pin inside a published version leaves that recorded copy + -- saying 2026.09.07 while the manifest says 2026.09.10, and the + -- build stops with `irreconcilable versions`. Measured on a CI + -- runner with a warm ~/.mcpp; a machine that re-resolves from a + -- fresh index does not see it, which is why it survived local + -- testing. + -- + -- 1.4.357.0 keeps its old pin for the same reason: a version that + -- is already published must keep resolving the way the machines + -- holding it recorded. + ["1.4.357.1"] = { + url = { + GLOBAL = "https://github.com/xlings-res/vulkan-import/releases/download/1.4.357.1/vulkan-import-1.4.357.1.tar.gz", + CN = "https://gitcode.com/mcpp-res/vulkan-import/releases/download/1.4.357.1/vulkan-import-1.4.357.1.tar.gz", + }, + sha256 = "37a206f866f75f54a56bdb428e4767c9926acd3f8abc8e1b9539853bb45acbf9", + }, ["1.4.357.0"] = { url = { GLOBAL = "https://github.com/xlings-res/vulkan-import/releases/download/1.4.357.1/vulkan-import-1.4.357.1.tar.gz",