Repository navigation
feat: raise the macOS minimum to 26 #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,6 +22,10 @@ cd "$ROOT" | |
|
|
||
| echo "==> Building universal binary (aarch64 + x86_64 apple-darwin)" | ||
| rustup target add aarch64-apple-darwin x86_64-apple-darwin | ||
| # Minimum supported macOS: both slices link with a 26.0 floor, matching | ||
| # LSMinimumSystemVersion below (Gatekeeper/LaunchServices enforce the | ||
| # plist; the Mach-O min version is what older systems actually read). | ||
| export MACOSX_DEPLOYMENT_TARGET=26.0 | ||
| cargo build --release --target aarch64-apple-darwin --target x86_64-apple-darwin | ||
|
|
||
| rm -rf "$DIST" | ||
|
|
@@ -52,7 +56,7 @@ cat > "$DIST/$APP_NAME.app/Contents/Info.plist" <<PLIST | |
| <key>CFBundleVersion</key><string>${VERSION}</string> | ||
| <key>CFBundleShortVersionString</key><string>${VERSION}</string> | ||
| <key>CFBundleInfoDictionaryVersion</key><string>6.0</string> | ||
| <key>LSMinimumSystemVersion</key><string>13.0</string> | ||
| <key>LSMinimumSystemVersion</key><string>26.0</string> | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Low: The minimum version is now hardcoded in two places in this script: |
||
| <key>LSApplicationCategoryType</key><string>public.app-category.developer-tools</string> | ||
| <key>NSHighResolutionCapable</key><true/> | ||
| <key>NSSupportsAutomaticGraphicsSwitching</key><true/> | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Low: The script never verifies that the 26.0 floor actually landed in the produced binary.
MACOSX_DEPLOYMENT_TARGETis not part of cargo's fingerprinting, so an incremental local build can reuse previously linked slices (e.g. from before this change, minos 11.0/13.0) andlipo/codesign/dittowill happily package them while the plist claims 26.0 — shipped artifact then lies about its floor. The author verifiedminos 26.0manually once; make it a build gate instead: in the existing==> Verifyingsection add something likevtool -arch arm64 -show-build -output ... | grep -q 'Platform: MacOS\|MinOS: 26.0'(orotool -l ... | grep -A2 LC_BUILD_VERSION) for both slices and fail the script on mismatch.