Repository navigation
feat(build): build a Mac Catalyst slice - #2
alessandro-zanni wants to merge 2 commits into
Conversation
vo_avfoundation.m imports UIKit/UIKit.h, which on Mac Catalyst lives under the SDK's System/iOSSupport tree. ldFlags already added it; cFlags did not, so libmpv failed to compile for maccatalyst. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
create-combined-framework.sh listed the four iOS/tvOS slices by hand, both in the platform loop and in the xcframework Info.plist. It now adds whichever platforms were built, maccatalyst included, so a partial build no longer fails on a missing slice. rebuild-libmpv.sh rebuilds maccatalyst too. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Retargeted this to A short recap for review:
Happy to adjust anything. Once it is in, Streamyfin needs a pre-release that ships the slice to point its podspec at. |
Part of streamyfin/streamyfin#2080 (a native Mac Catalyst build of Streamyfin). The Streamyfin side is ready on alessandro-zanni/streamyfin@feat/mac-catalyst. It needs an
MPVKit.xcframeworkwith amaccatalystslice, which the current release doesn't ship.Changes
fix(build): pass the iOSSupport framework path to Mac Catalyst cflags.vo_avfoundation.mimportsUIKit/UIKit.h, which on Catalyst lives under the macOS SDK'sSystem/iOSSupporttree.ldFlagsalready added-iframework …/iOSSupport/…for maccatalyst butcFlagsdid not, so libmpv failed with'UIKit/UIKit.h' file not found. That was the only compile error; ffmpeg and every other dependency already build for maccatalyst, so the old TODO about ffmpeg failing there no longer applies.feat(build): include the Mac Catalyst slice inMPVKit.xcframework.create-combined-framework.shhad the four iOS/tvOS slices hardcoded, both in the platform loop and in the hand-written xcframeworkInfo.plist. It now adds whichever platforms were built, maccatalyst included (ios-arm64_x86_64-maccatalyst,SupportedPlatformVariant = maccatalyst), so a partial build no longer fails on a missing slice.rebuild-libmpv.shalso rebuilds maccatalyst.iOS/tvOS output is unchanged: same slices, same Info.plist entries.
Testing
make gpl platform=maccatalyston Xcode 27.0: every library builds for arm64 + x86_64, and the combined xcframework listsios-arm64_x86_64-maccatalyst(plutil -lintOK,lipo:x86_64 arm64).vo=avfoundationwork.make gplof all five platforms in one run. I only built the maccatalyst slice.To ship it
A release built with
platform=ios,isimulator,tvos,tvsimulator,maccatalyst(thenupload-framework.sh) would let Streamyfin point its podspec at it.🤖 Generated with Claude Code