feat: Intel Mac (x86_64) and macOS Ventura support#30
Closed
crichalchemist wants to merge 15 commits into
Closed
Conversation
…ort macOS 13 compilation
127d154 to
a2b867b
Compare
Consolidates uncommitted work from prior sessions: - project.yml: ARCHS "x86_64 arm64", MACOSX_DEPLOYMENT_TARGET 13.0, SWIFT_VERSION 5.9 - ZenttyApp.swift: @main entry point with XCTestConfigurationFilePath detection - Zentty/main.swift: removed (@main conflicts with entry point file) - NSViewController+loadViewIfNeeded.swift: #available(macOS 14.0, *) guard - Vendor/FuzzyMatch: locally vendored for Swift 5.9 compat - project.pbxproj: regenerated (ZenttyApp entry, local FuzzyMatch, ad-hoc signing)
…+ GEMINI.md symlink to it Co-authored-by: Courtney Andrew Richardson <courtneyrichardson2027@u.northwestern.edu>
- macos-13 (x86_64) and macos-latest (arm64) matrix - GhosttyKit xcframework cached by ghosttykit.lock hash (avoids Zig toolchain install on cache hit) - ZenttyLogicTests on each architecture - pre-commit hook gates compilation per commit
The debug-dylib approach (TEST_HOST: "", OTHER_LDFLAGS dylib) does not produce Zentty.debug.dylib under Xcode 15.2/Swift 5.9 with @main entry point. Both ZenttyLogicTests and ZenttyIntegrationTests use TEST_HOST/ BUNDLE_LOADER to link against the app binary; the app host runs inert (.prohibited activation policy) so ZenttyLogicTests remains parallel-safe. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…acOS - Wire assets/icon.png into AppIcon.appiconset so the app bundle includes an icon on all macOS versions. - Fix test_chrome_geometry_derives_clip_safe_pane_border_inset_and_rounds_outward_on_retina: on macOS < 26, outerWindowRadius=10 and shellInset+paneInset=12 causes paneRadius to clamp to 0. Guard assertions behind #available(macOS 26.0, *) and assert the correct 0.0/0.5 values on pre-Tahoe. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
a2b867b to
4f686bd
Compare
Owner
|
Thanks a lot for taking the time to dig into this! 🙏 The Ventura compatibility work is useful, but I don’t want to merge this PR in its current shape. A couple of important distinctions:
Could you maybe rework this as a smaller runtime-support PR? Or shall I rework on the essentials for what is needed to make Zentty run on Ventura? What I’d like to see:
I’m open to Ventura runtime support, but I want that change to stay narrow and reviewable. |
Author
|
Closing this in favour of a narrower, cleaner PR that addresses your feedback. The new PR is #35 — it cherry-picks only the commits directly related to macOS 13 runtime support:
Thanks for the detailed review! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds support for running Zentty on Intel Macs (x86_64) with macOS 13 Ventura.
Zentty currently builds and runs only on Apple Silicon with macOS 14+. This contribution extends that to the previous generation of hardware and the macOS release it shipped with.
Changes
Build system
x86_64toARCHSfor universal binary outputghostty pixel_formatimport for macOS 13 compilationGhosttyKit bootstrap
scripts/build_ghosttykit.shalongside HomebrewSwift compatibility
MainActor.assumeIsolatedfor macOS 13 (available macOS 14+)borrowing,consuming) used in the codebaseNSWindow.collectionBehavioradditions,NSVisualEffectViewoptions) behind#available(macOS 14.0, *)CI / developer tooling
xcodebuild build(withCODE_SIGNING_ALLOWED=NO) to catch compilation errors before pushCLAUDE.mdas the single source of truth for agent instructions;AGENTS.mdandGEMINI.mdsymlink to itAssets & tests
assets/icon.pngintoAppIcon.appiconsetso the app bundle ships with an icontest_chrome_geometry_derives_clip_safe_pane_border_inset_and_rounds_outward_on_retina: on macOS < 26,outerWindowRadius = 10andshellInset + paneInset = 12causepaneRadiusto clamp to 0; assert the correct0.0/0.5values on pre-Tahoe behind#available(macOS 26.0, *)Test plan
scripts/build_ghosttykit.shcompletes on both arm64/macOS 15 and x86_64/macOS 13xcodebuild build -scheme Zentty ... CODE_SIGNING_ALLOWED=NOsucceeds on both targetsZenttyLogicTestspass on macOS 13 (verified locally on Intel MacBook Pro)CLA
I have read CLA.md and agree to its terms.