Skip to content

fix: 更新 Galay 至 5.0.2 - #285

Merged
Sunrisepeak merged 5 commits into
mcpplibs:mainfrom
gzj-creator:feat/add-galay
Aug 30, 2026
Merged

fix: 更新 Galay 至 5.0.2#285
Sunrisepeak merged 5 commits into
mcpplibs:mainfrom
gzj-creator:feat/add-galay

Conversation

@gzj-creator

@gzj-creator gzj-creator commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Update the gzj-creator.galay Form-A descriptor from 5.0.1 to 5.0.2.
  • Pin the immutable v5.0.2 GitHub GLOBAL archive (93a93fabcfeb1b0ae160f3082ed472571532ce208c112bf2697f94267b27332a); GitCode CN mirror setup remains deferred, so the documented GLOBAL fallback is preserved.
  • Keep the Unix workspace example focused on the default galay.utils and galay.kernel module surface.
  • Refresh the English/Chinese descriptor catalogs, changelog, and design record.

Why this reruns CI

The original Linux LLVM failure was reproduced in run 33269750913, job 99146034674, with mcpp 2026.8.27.2 and LLVM 22.1.8. Galay v5.0.1 kept the intrinsic guards that fixed the earlier intrin.h issue, but async_aio.h still defined AioCommitAwaitable::await_suspend with a globally qualified-id after closing namespace galay::async. Because galay_kernel.cppm includes it inside export extern "C++", Clang 22 rejected it as not being at namespace scope.

Upstream v5.0.2 (commit d58976711790e47d5b0ad272e068d516192a1a1e, tag v5.0.2) puts that template definition back inside namespace galay::async. The declaration, template visibility, ABI, member binding, Linux USE_EPOLL behavior, and traditional header include path remain unchanged.

Local validation

  • mcpp test -p galay with mcpp 2026.8.27.2 passed on GCC 16.1.0 and LLVM 22.1.8.
  • Clang 22.1.8 and GCC module-surface builds passed with USE_EPOLL; an LLVM module consumer imported both modules and instantiated co_await AsyncAio::commit().
  • Existing module/prelude/CMake tests, the new namespace-scope regression assertion, Epoll AIO eventfd rearm, kqueue syntax coverage, and intrinsic guard checks passed.
  • The v5.0.2 archive was downloaded twice; both files are byte-identical and have the SHA256 above.

The example intentionally does not claim coverage for optional SSL, HTTP, database, RPC, MCP, tracing, or other feature-gated modules. Windows remains absent from the package descriptor because upstream v5.0.2 declares Linux/macOS only; the no-op example path is retained there.

新增 gzj-creator.galay Form-A 描述符,使用 GitHub GLOBAL 归档源并固定 SHA256。\n加入 Unix 工作区示例,验证 galay.utils 与 galay.kernel 默认模块的 Base64、字符串、Buffer 和 Host 接口。\n同步更新中英文 README、descriptor catalog、工作区成员和设计文档;GitCode CN 镜像暂按无权限回退规则跳过。\n本次不打 release tag。
@gzj-creator

Copy link
Copy Markdown
Contributor Author

CI rerun result for commit 4acf1b2 (run 33269750913):

  • Passed: Linux default, macOS default, Windows default, lint, select, mirror-cn-reachable, graphics side-effect, build, timings.
  • Failed: Linux LLVM (workspace (linux llvm 0/1)).

The v5.0.0 intrinsic-header failure is fixed in v5.0.1. The remaining LLVM failure is in the upstream galay-kernel source: Clang 22 rejects async_aio.h:288 (cannot export 'await_suspend' as it is not at namespace scope) and then reports invalid member accesses. This happens while compiling galay.kernel before the consumer test runs; GCC and macOS pass.

@gzj-creator gzj-creator changed the title fix: 更新 Galay 至 5.0.1 fix: 更新 Galay 至 5.0.2 Aug 30, 2026
@Sunrisepeak
Sunrisepeak merged commit 83ddd4a into mcpplibs:main Aug 30, 2026
11 checks passed
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.

3 participants