build(macos): build the original Swift app against the Rust core

Ghostty's macOS app stays the original, unchanged Swift app (agreed
scope); it is wired to the Rust core instead of the Zig core.
scripts/macos-swift-app.sh (`just macos-swift-app <ghostty-src>`)
mirrors the Zig build's GhosttyXcodebuild.zig:
1. scripts/xcframework.sh builds the Rust libghostty (identical
   include/ghostty.h ABI) as <src>/macos/GhosttyKit.xcframework,
2. `just install <src>/zig-out` provides the resources the Xcode project
   bundles from ../zig-out/share (ghostty, terminfo, completions, man,
   locale, vim, nvim, bat),
3. xcodebuild -target Ghostty in a clean environment.
macOS + Xcode only; DRY_RUN=1 previews the steps (verified on Linux).

Test Plan:
- DRY_RUN=1 scripts/macos-swift-app.sh ../ghostty
- on macOS: just macos-swift-app ../ghostty && open the built app
This commit is contained in:
ddidderr committed 2026-10-12 19:29:26 +02:00
1 parent 6d058b965e
commit 003d318fbf
4 files changed
+83 -5

No files matched your search

+5
View File
@@ -306,3 +306,8 @@ visual-parity *scenarios:
live-dbus *scenarios:
scripts/live-dbus/build-rust.sh
RUST_BIN="${RUST_BIN:-target/vp/production/ghostty}" scripts/live-dbus-test.sh {{scenarios}}
# Build Ghostty's original Swift macOS app against the Rust core (macOS only;
# DRY_RUN=1 to preview). Example: just macos-swift-app ../ghostty
macos-swift-app src config="Release":
scripts/macos-swift-app.sh {{ src }} {{ config }}