diff --git a/.agents/docs/2026-08-30-graphics-stack-coverage-design.md b/.agents/docs/2026-08-30-graphics-stack-coverage-design.md index 56ce83e..f8e3f94 100644 --- a/.agents/docs/2026-08-30-graphics-stack-coverage-design.md +++ b/.agents/docs/2026-08-30-graphics-stack-coverage-design.md @@ -2261,7 +2261,16 @@ error: xlings install_packages failed … with 2 index repos configured ⚠️ 我一度反过来做了(先把 pango 的变通删掉),两边都红。**代码是对的,次序是 错的**;已经回滚并把这段理由写进了 `gnome.pangocairo` 的描述符,免得下次再犯。 -### 23.6 结果 +### 23.6 收尾:pango 随后切过来 + +cairo 落地后,`gnome.pangocairo` 的 `cairo.h` 变通**已经删掉**,改成普通的 +`export import cairo;`。两侧都绿。 + +> **代码是对的,次序错了,两边都红。** 这不是本 fork 的问题,是索引机制的形状: +> 一个成员只能声明一个项目级 index repo,所以跨 namespace 的联动改动**必须**分两 +> 次落地,而且顺序唯一。 + +### 23.7 结果 | | | |---|---| diff --git a/pkgs/p/gnome.pango.lua b/pkgs/p/gnome.pango.lua index 7f66672..e933462 100644 --- a/pkgs/p/gnome.pango.lua +++ b/pkgs/p/gnome.pango.lua @@ -84,14 +84,14 @@ package = { ["1.56.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/pango/archive/refs/tags/1.56.1.tar.gz", - -- ⚠️ The container tag is `1.56.1-6`, not `1.56.1`. gitcode + -- ⚠️ The container tag is `1.56.1-8`, not `1.56.1`. gitcode -- refuses to REPLACE an asset of the same name in an -- existing release, so each corrected tarball needs a new -- container tag while the PACKAGE version stays upstream's. -- Verified byte-identical to the GLOBAL tag archive. - CN = "https://gitcode.com/mcpp-res/pango/releases/download/1.56.1-6/pango-1.56.1.tar.gz", + CN = "https://gitcode.com/mcpp-res/pango/releases/download/1.56.1-8/pango-1.56.1.tar.gz", }, - sha256 = "19507c6712304750a0e9cc282135dda1919a1b89c0c4ce61e22411df0532a980", + sha256 = "e9a1c28defa0e21a85eac3e0b4301c340a2ffc26592bd74d479fcd8af77e90b5", }, }, }, diff --git a/pkgs/p/gnome.pangocairo.lua b/pkgs/p/gnome.pangocairo.lua index 5f4d576..2cbca22 100644 --- a/pkgs/p/gnome.pangocairo.lua +++ b/pkgs/p/gnome.pangocairo.lua @@ -31,19 +31,19 @@ -- -- It surfaced here because pangocairo CANNOT mix the two routes -- (`pangocairo.h` reaches glib and therefore ), so it had to ask the --- module for `cairo_t` and got nothing. This package therefore scans cairo.h --- itself. +-- module for `cairo_t` and got nothing. This package carried a workaround — +-- scanning cairo.h itself — for two releases; it is GONE, and it re-exports +-- the `cairo` module plainly. -- --- ⚠️ THAT WORKAROUND STAYS UNTIL cairo's FIX IS PUBLISHED, not merely written. --- It is fixed in `1.18.2-mcpp3` (697 names), but this package resolves cairo --- from the PUBLISHED index — and the change cannot even be TESTED in one index --- PR, because a member may declare only ONE project-level index repo: +-- ⚠️ THE ORDER WAS THE HARD PART, not the code. The workaround could not be +-- removed in the same change that fixed cairo: this package resolves cairo +-- from the PUBLISHED index, and a member may declare only ONE project-level +-- index repo — -- -- error: ≥2 project-level index repos is a known xlings resolution gap -- -- so an example cannot use a local `gnome.*` descriptor and a local --- `freedesktop.*` descriptor at the same time. cairo lands first; this --- follows.-- +-- `freedesktop.*` descriptor together. cairo landed first; this follows.-- -- ───────────────────────────────────────────────────────────────────────── -- ⭐ TWO WAYS TO CONSUME IT, AND YOU PICK ONE -- @@ -106,14 +106,14 @@ package = { ["1.56.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/pango/archive/refs/tags/1.56.1.tar.gz", - -- ⚠️ The container tag is `1.56.1-6`, not `1.56.1`. gitcode + -- ⚠️ The container tag is `1.56.1-8`, not `1.56.1`. gitcode -- refuses to REPLACE an asset of the same name in an -- existing release, so each corrected tarball needs a new -- container tag while the PACKAGE version stays upstream's. -- Verified byte-identical to the GLOBAL tag archive. - CN = "https://gitcode.com/mcpp-res/pango/releases/download/1.56.1-6/pango-1.56.1.tar.gz", + CN = "https://gitcode.com/mcpp-res/pango/releases/download/1.56.1-8/pango-1.56.1.tar.gz", }, - sha256 = "19507c6712304750a0e9cc282135dda1919a1b89c0c4ce61e22411df0532a980", + sha256 = "e9a1c28defa0e21a85eac3e0b4301c340a2ffc26592bd74d479fcd8af77e90b5", }, }, }, diff --git a/pkgs/p/gnome.pangoft2.lua b/pkgs/p/gnome.pangoft2.lua index d984db7..53f0c0f 100644 --- a/pkgs/p/gnome.pangoft2.lua +++ b/pkgs/p/gnome.pangoft2.lua @@ -68,14 +68,14 @@ package = { ["1.56.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/pango/archive/refs/tags/1.56.1.tar.gz", - -- ⚠️ The container tag is `1.56.1-6`, not `1.56.1`. gitcode + -- ⚠️ The container tag is `1.56.1-8`, not `1.56.1`. gitcode -- refuses to REPLACE an asset of the same name in an -- existing release, so each corrected tarball needs a new -- container tag while the PACKAGE version stays upstream's. -- Verified byte-identical to the GLOBAL tag archive. - CN = "https://gitcode.com/mcpp-res/pango/releases/download/1.56.1-6/pango-1.56.1.tar.gz", + CN = "https://gitcode.com/mcpp-res/pango/releases/download/1.56.1-8/pango-1.56.1.tar.gz", }, - sha256 = "19507c6712304750a0e9cc282135dda1919a1b89c0c4ce61e22411df0532a980", + sha256 = "e9a1c28defa0e21a85eac3e0b4301c340a2ffc26592bd74d479fcd8af77e90b5", }, }, },