Skip to content

fix: take Windows resources from the kernal-api-build companion package - #253

Merged
zackees merged 1 commit into
mainfrom
fix/build-dep-without-viewer-features
Sep 16, 2026
Merged

zackees merged 1 commit into
mainfrom
fix/build-dep-without-viewer-features

Conversation

@zackees

@zackees zackees commented Sep 16, 2026

Copy link
Copy Markdown
Member

Summary

main's macOS ARM Live Test has failed since 80b7799: the Linux cross-build could not compile glib-sys.

viewer = ["'kernal-api/tauri-webview'"] applies to every dependency named kernal-api, including the build-dependency that #242 added for Windows executable resources. The host build script therefore compiled Tauri, GTK and glib, which the macOS cross runner does not install. Renaming the build-dependency is rejected: Cargo refuses one package under two names.

kernal-api v0.1.7 ships the capability as the separate kernal-api-build package (zackees/kernal-api#278), which no application feature can reach. crates/fastled-cli/build.rs now uses that package alone, and the boundary test requires exactly that shape.

Validation on Linux

  • cargo tree --target aarch64-apple-darwin -e build: the build-dependency is only kernal-api-build; glib-sys is unreachable for that target.
  • Rust workspace tests: 303 library, 3 binary, 1 integration, 1 doc.
  • Python: 45 passed, 1 skipped. bash lint: clean.
  • fastled.exe cross-built for x86_64-pc-windows-msvc embeds RT_ICON, RT_GROUP_ICON (32512), RT_VERSION ("'FastLED Viewer"' / "'fastled"' / 2.0.20) and the Common-Controls v6 RT_MANIFEST.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VfXV1EpgAvMZzXJfbGZPRG

The macOS ARM Live Test has failed on main since 80b7799: its Linux
cross-build could not compile glib-sys. `viewer = ["kernal-api/tauri-webview"]`
applies to every dependency named kernal-api, including the build
dependency added for Windows resources, so the host build script pulled in
Tauri, GTK and glib. Renaming that dependency is rejected by Cargo, which
refuses one package under two names.

kernal-api v0.1.7 ships the capability as the separate kernal-api-build
package instead, so no application feature can reach it. build.rs now
depends on that package alone, and the boundary test requires exactly that
shape.

Verified on Linux against v0.1.7: `cargo tree` shows the build dependency
is only kernal-api-build with no glib-sys for the macOS target; Rust
workspace tests (303/3/1/1), Python tests (45 passed, 1 skipped) and
`bash lint` pass; and a fastled.exe cross-built for x86_64-pc-windows-msvc
still embeds RT_ICON, RT_GROUP_ICON (32512), RT_VERSION ("FastLED Viewer",
"fastled", 2.0.20) and the Common-Controls v6 RT_MANIFEST.

Refs #242

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VfXV1EpgAvMZzXJfbGZPRG
@zackees
zackees merged commit 01f8b4f into main Sep 16, 2026
@zackees
zackees deleted the fix/build-dep-without-viewer-features branch September 16, 2026 01: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