From f8af8b33f41b8af382396f66c0e1403dbf806f20 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Fri, 7 Aug 2026 07:43:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(xpkg):=200.0.54=20=E2=80=94=20interposer?= =?UTF-8?q?=20farm-first=20RPATH=20and=20vendor=20closure=20assertion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit openxlings/libxpkg#38. Two changes to host_link_interposer: * The subos lib directory -- the one name that does not move, a symlink farm the packages declare into -- goes FIRST in the RPATH, with the resolver's version-pinned payload directories after it as the fallback. Written into an ELF, the old order was a snapshot: upgrade libX11 and every entry still named 1.8.10. Every ecosystem that hands a foreign driver a search path converged on a stable indirection directory (/run/opengl-driver, /overrides, $SNAP/gpu-2404); we had one at the wrong end of the list. * The vendor's own DT_NEEDED closure is resolved against the final RPATH and the fraction reported. The three existing assertions check the shape of the object we made, and all three can hold while an RPATH naming the wrong directories sends the vendor's dependencies to the host -- which still renders, on llvmpipe, and prints nothing. Entry added to all three platform blocks. A bump landing in only one xpm. reads as "not found" on the others, which both index repos now enforce in CI. CN asset published with gtc and verified by GET (HEAD answers 401): byte-identical to the GitHub tag tarball, sha256 5fec15183be54a0a6d937da2289340da21fb42a023e68a975dfc43eb523391ef. --- pkgs/x/xpkg.lua | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/x/xpkg.lua b/pkgs/x/xpkg.lua index 5e1a42c..3d312a2 100644 --- a/pkgs/x/xpkg.lua +++ b/pkgs/x/xpkg.lua @@ -12,6 +12,13 @@ package = { xpm = { linux = { + ["0.0.54"] = { + url = { + GLOBAL = "https://github.com/openxlings/libxpkg/archive/refs/tags/0.0.54.tar.gz", + CN = "https://gitcode.com/mcpp-res/xpkg/releases/download/0.0.54/xpkg-0.0.54.tar.gz", + }, + sha256 = "5fec15183be54a0a6d937da2289340da21fb42a023e68a975dfc43eb523391ef", + }, ["0.0.53"] = { url = { GLOBAL = "https://github.com/openxlings/libxpkg/archive/refs/tags/0.0.53.tar.gz", @@ -112,6 +119,13 @@ package = { }, }, macosx = { + ["0.0.54"] = { + url = { + GLOBAL = "https://github.com/openxlings/libxpkg/archive/refs/tags/0.0.54.tar.gz", + CN = "https://gitcode.com/mcpp-res/xpkg/releases/download/0.0.54/xpkg-0.0.54.tar.gz", + }, + sha256 = "5fec15183be54a0a6d937da2289340da21fb42a023e68a975dfc43eb523391ef", + }, ["0.0.53"] = { url = { GLOBAL = "https://github.com/openxlings/libxpkg/archive/refs/tags/0.0.53.tar.gz", @@ -212,6 +226,13 @@ package = { }, }, windows = { + ["0.0.54"] = { + url = { + GLOBAL = "https://github.com/openxlings/libxpkg/archive/refs/tags/0.0.54.tar.gz", + CN = "https://gitcode.com/mcpp-res/xpkg/releases/download/0.0.54/xpkg-0.0.54.tar.gz", + }, + sha256 = "5fec15183be54a0a6d937da2289340da21fb42a023e68a975dfc43eb523391ef", + }, ["0.0.53"] = { url = { GLOBAL = "https://github.com/openxlings/libxpkg/archive/refs/tags/0.0.53.tar.gz",