Skip to content

docs: define xpkg v1 runtime boundary#24

Open
Sunrisepeak wants to merge 4 commits into
mainfrom
codex/xpkg-v1-runtime-docs
Open

docs: define xpkg v1 runtime boundary#24
Sunrisepeak wants to merge 4 commits into
mainfrom
codex/xpkg-v1-runtime-docs

Conversation

@Sunrisepeak
Copy link
Copy Markdown
Member

@Sunrisepeak Sunrisepeak commented May 26, 2026

Summary

  • document the xpkg V1 package-script boundary as libxpkg + standard Lua + xpkg spec + xpkg built-in APIs
  • keep package authoring guidance away from xmake API terminology
  • remove the CI workaround that manually staged mcpp dependency BMI/archive files and patched build.ninja
  • require native mcpp build / mcpp test plus a real xmake build xpkg aggregate build with mcpp 0.0.30

Root cause notes

  • Native mcpp build originally failed because mcpp 0.0.29/0.0.30 looked for the qualified descriptor mcpplibs.capi.lua.lua, missed the existing capi.lua.lua, then fell back to compat.lua.lua.
  • Fixed upstream in fix: add qualified capi lua descriptor alias mcpplibs/mcpp-index#16 by adding the qualified descriptor alias; no libxpkg CI workaround is kept.
  • The xmake CI failure was separate: calling $GCC_ROOT/bin/gcc directly bypassed the xlings GCC shim/sysroot setup, so xmake package builds could not find glibc CRT/header files. CI now uses the xlings gcc/g++ shims for compile/link and system /usr/bin/ar//usr/bin/as for archive/assemble.

Test plan

  • mcpp build
  • mcpp test -- --gtest_filter=-ExecutorTest.ApplyElfpatchAuto_*
  • xmake f -c -m release --toolchain=gcc --cc="$HOME/.xlings/subos/current/bin/gcc" --cxx="$HOME/.xlings/subos/current/bin/g++" --ld="$HOME/.xlings/subos/current/bin/g++" --sh="$HOME/.xlings/subos/current/bin/g++" --ar=/usr/bin/ar --as=/usr/bin/as --policies=build.c++.modules.std -y
  • xmake build -y -j$(nproc) xpkg
  • CI build + test (linux x86_64) passed on run 26472375115

@Sunrisepeak Sunrisepeak force-pushed the codex/xpkg-v1-runtime-docs branch from 6bc2772 to 0932835 Compare May 26, 2026 17:32
@Sunrisepeak Sunrisepeak changed the title [codex] document xpkg v1 runtime boundary ci: use mcpp 0.0.30 and document xpkg v1 runtime boundary May 26, 2026
@Sunrisepeak Sunrisepeak changed the title ci: use mcpp 0.0.30 and document xpkg v1 runtime boundary docs: define xpkg v1 runtime boundary May 26, 2026
@Sunrisepeak Sunrisepeak marked this pull request as ready for review May 26, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant