mirror of
https://github.com/awizemann/scarf.git
synced 2026-05-08 02:14:37 +00:00
9c149b288b
Scarf's `MACOSX_DEPLOYMENT_TARGET` is `14.6` (Sonoma) on the main
`scarf` target, set in 86762ea. Sonoma support is intentional —
several users dogfood on macOS 14.x and we want to keep them on the
release channel. Yesterday's BUILDING.md and the long-stale
CONTRIBUTING.md statement both claimed macOS/Xcode 26.x as minimums,
which would have steered Sonoma contributors and users away from a
build that actually runs on their box.
Correct values:
- Runtime min: **macOS 14.6 (Sonoma)** — matches the deployment target.
- Build min: **Xcode 16.0** — needed for Swift 6 strict-concurrency
features the codebase uses.
Add a load-bearing-callout to BUILDING.md so future doc edits don't
silently raise the floor again.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# Building Scarf
|
|
|
|
Scarf is a native macOS app built with Xcode. For contributor builds, use the local script:
|
|
|
|
```bash
|
|
./scripts/local-build.sh
|
|
```
|
|
|
|
Requirements:
|
|
|
|
- macOS 14.6 (Sonoma) or newer at runtime — that's the app's `MACOSX_DEPLOYMENT_TARGET`. Sonoma support is intentional and load-bearing; do not raise this without an explicit decision to drop Sonoma users
|
|
- Xcode 16.0 or newer, selected by `xcode-select` (needed for Swift 6 strict-concurrency features the project uses)
|
|
- Metal toolchain installed
|
|
- Hermes installed at `~/.hermes/` (see the project README for setup)
|
|
|
|
If the Metal toolchain is missing, the script will offer to install it in interactive shells. You can also install it manually:
|
|
|
|
```bash
|
|
xcodebuild -downloadComponent MetalToolchain
|
|
```
|
|
|
|
`scripts/local-build.sh` resolves Swift package dependencies, detects `arm64` vs `x86_64`, and builds the Debug app unsigned. Signing is intentionally disabled for local Debug builds so contributors do not need the maintainer's Apple Developer account.
|
|
|
|
Release signing is separate from contributor builds. Maintainers should continue using the existing release process for signed distributable builds.
|