Skip to content

feat(eui-neo): add 0.6.0 - #473

Merged
Sunrisepeak merged 1 commit into
mcpplibs:mainfrom
FarnaHerry:eui-neo-0.6.0
Sep 26, 2026
Merged

Sunrisepeak merged 1 commit into
mcpplibs:mainfrom
FarnaHerry:eui-neo-0.6.0

Conversation

@FarnaHerry

Copy link
Copy Markdown
Collaborator

What

Adds upstream EUI-NEO v0.6.0 to compat.eui-neo.

What actually changed in the lib (0.5.9 → 0.6.0)

CORE_SOURCES gains exactly one TU — core/audio/audio.cpp, a streaming audio Player over the vendored single-header miniaudio 0.11.21 (3rd/miniaudio.h). The TU carries MINIAUDIO_IMPLEMENTATION itself, but it forces two descriptor follow-ups:

  • Bare include. audio.cpp does #include "miniaudio.h" (upstream adds 3rd/ as a PRIVATE include dir), so */3rd joins every platform leg as the platform-level include_dirs + private_include_dirs pair — consumers must not inherit 3rd/ (bare stb_image.h/miniaudio.h, shadowed vendored copies of index packages), and core/audio/audio.h is a pimpl header that never mentions it. ⚠️ A BASE-level private_include_dirs was tried first and is inert — measured: audio.cpp's dep scan failed with 'miniaudio.h' file not found while every base include_dirs entry took effect. The platform-level pair is the shape the glib leg already proved.
  • Link. miniaudio needs per-platform audio APIs: linux gains -lm (upstream ${CMAKE_DL_LIBS} m), macosx gains CoreAudio + AudioToolbox + CoreFoundation; windows gains nothing (the WASAPI backend binds its APIs at runtime).

Everything else upstream moved is app- or CMake-level (EUI_ENABLE_MODULES default, Debug-CONFIG EUI_DEBUG_BUILD, promo/vcd_viewer examples); tray_bridge.c differs from 0.5.9 only in comment language + EOF newline (diffed). -fno-char8_t is still required.

Versions

  • sha256 11d0725bcc6f16abbbea6052b58c6949008cf78ceaa1645002ba1b3abf9772a1, derived and verified from the tag tarball.
  • No CN mirror yet (never published to mcpp-res) — plain-string GLOBAL url fallback per the cn-mirror.md SOP.

Verification

Locally, mcpp 2026.9.26.2, Linux x86_64:

  • index lint clean (check_mirror_urls, check_platform_version_parity, check_duplicate_versions, check_package_name, check_cross_package_refs);
  • all seven workspace members mcpp test green: eui-neo, -window, -app-main, -markdown, -vulkan, -sdl2, -tray;
  • emitted compile_commands.json confirms the interface shape: the package's audio.cpp TU carries -I …/eui-neo-0.6.0/3rd, and the member's consumer TU carries neither 3rd nor glib.

Windows/macOS legs rest on CI — the changes there are additive (same source + same private pair + frameworks, matching upstream's own CMake link model).

Design doc: .agents/docs/2026-09-26-bump-eui-neo-0.6.0-plan.md.

CORE_SOURCES gains exactly one TU — `core/audio/audio.cpp`, a streaming
audio Player over the vendored single-header miniaudio 0.11.21
(`3rd/miniaudio.h`). The TU carries MINIAUDIO_IMPLEMENTATION itself,
but it changes two things the descriptor must follow:

  * it includes miniaudio by BARE name, so `*/3rd` goes on the package's
    include path — as the platform-level `include_dirs` +
    `private_include_dirs` pair on all three legs. A BASE-level
    `private_include_dirs` was tried first and is inert (measured:
    audio.cpp's dep scan failed with 'miniaudio.h' file not found), so
    this mirrors upstream's PRIVATE include the way the glib leg does.
    Consumers must not inherit `3rd/` (bare stb_image.h/miniaudio.h and
    shadowed vendored copies); `core/audio/audio.h` is a pimpl header.
  * miniaudio links per-platform audio APIs: linux gains `-lm` (upstream
    `${CMAKE_DL_LIBS} m`), macosx gains CoreAudio + AudioToolbox +
    CoreFoundation; windows needs nothing (WASAPI binds at runtime).

Everything else upstream moved is app- or CMake-level; tray_bridge.c
differs only in comment language + EOF newline. `-fno-char8_t` is still
required.

No CN mirror yet (never published to mcpp-res); plain-string GLOBAL
url fallback per cn-mirror.md SOP. sha256 derived and verified from the
tag tarball.

All seven workspace members bumped to 0.6.0 and verified locally with
mcpp 2026.9.26.2: index lint clean; eui-neo, eui-neo-window,
eui-neo-app-main, eui-neo-markdown, eui-neo-vulkan, eui-neo-sdl2,
eui-neo-tray all pass; emitted compile_commands confirms the audio TU
carries the `*/3rd` -I and consumer TUs carry neither 3rd nor glib.
@FarnaHerry

Copy link
Copy Markdown
Collaborator Author

@Sunrisepeak

@Sunrisepeak
Sunrisepeak merged commit 2863bb1 into mcpplibs:main Sep 26, 2026
16 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.

2 participants