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
Removes Apple FairPlay SDK binaries (~2MB) from the repository and implements external dependency management for license compliance and security.
Fixes #27
Changes
Removed from Repository
vendor/fpssdk/prebuilt/macos/libfpscrypto.dylib(1.0MB)vendor/fpssdk/prebuilt/x86_64-unknown-linux-gnu/libfpscrypto.so(492KB)vendor/fpssdk/prebuilt/aarch64-unknown-linux-gnu/libfpscrypto.so(524KB)Total: ~2MB removed (git history cleanup recommended separately)
Smart Library Detection (build.rs)
Implements intelligent library search with priority order:
/usr/local/lib,/opt/homebrew/lib,/opt/local/lib)Provides clear, actionable error messages when library not found.
Documentation Updates
vendor/fpssdk/prebuilt/to prevent future commitsDeveloper Installation
Developers building with FairPlay must install libfpscrypto separately:
Option A: System-wide (recommended)
Option B: Environment variable
export FPSSDK_LIB_PATH=/path/to/fairplay/lib cargo build --features fairplayOption C: Temporary build
Benefits
✅ License Compliance: No redistribution of Apple proprietary binaries
✅ Security: Developers verify binaries directly from Apple
✅ Repository Size: 2MB immediate reduction, more with history cleanup
✅ Flexibility: Multiple installation methods for different workflows
✅ Clear Errors: Helpful messages guide developers to correct setup
Testing Performed
FPSSDK_LIB_PATHsetLIBRARY_PATHset/usr/local/libDYLD_LIBRARY_PATH--features fairplaystill worksCI Notes
Expected CI behavior:
--features fairplay) will PASSThis is intentional. FairPlay binaries cannot be committed, so CI cannot build FairPlay features unless we:
Recommendation: Keep FairPlay builds as optional developer feature, test manually.
Rollback Plan
If issues arise:
Binaries can be temporarily restored from this commit for emergency use.
Next Steps
After merge:
Note: Builds without
--features fairplayare unaffected. FairPlay is an optional feature.