| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/bin/bash
- set -e
- PUBLISH_DIRECTORY=$1
- OUTPUT_DIRECTORY=$2
- ENTITLEMENTS_FILE_PATH=$3
- APP_BUNDLE_DIRECTORY=$OUTPUT_DIRECTORY/Ryujinx.app
- rm -rf $APP_BUNDLE_DIRECTORY
- mkdir -p $APP_BUNDLE_DIRECTORY/Contents
- mkdir $APP_BUNDLE_DIRECTORY/Contents/Frameworks
- mkdir $APP_BUNDLE_DIRECTORY/Contents/MacOS
- mkdir $APP_BUNDLE_DIRECTORY/Contents/Resources
- # Copy executables first
- cp $PUBLISH_DIRECTORY/Ryujinx.Ava $APP_BUNDLE_DIRECTORY/Contents/MacOS/Ryujinx
- chmod u+x $APP_BUNDLE_DIRECTORY/Contents/MacOS/Ryujinx
- # Then all libraries
- cp $PUBLISH_DIRECTORY/*.dylib $APP_BUNDLE_DIRECTORY/Contents/Frameworks
- # Then resources
- cp Info.plist $APP_BUNDLE_DIRECTORY/Contents
- cp Ryujinx.icns $APP_BUNDLE_DIRECTORY/Contents/Resources/Ryujinx.icns
- cp updater.sh $APP_BUNDLE_DIRECTORY/Contents/Resources/updater.sh
- cp -r $PUBLISH_DIRECTORY/THIRDPARTY.md $APP_BUNDLE_DIRECTORY/Contents/Resources
- echo -n "APPL????" > $APP_BUNDLE_DIRECTORY/Contents/PkgInfo
- # Fixup libraries and executable
- python3 bundle_fix_up.py $APP_BUNDLE_DIRECTORY MacOS/Ryujinx
- # Now sign it
- if ! [ -x "$(command -v codesign)" ];
- then
- if ! [ -x "$(command -v rcodesign)" ];
- then
- echo "Cannot find rcodesign on your system, please install rcodesign."
- exit 1
- fi
- # NOTE: Currently require https://github.com/indygreg/apple-platform-rs/pull/44 to work on other OSes.
- # cargo install --git "https://github.com/marysaka/apple-platform-rs" --branch "fix/adhoc-app-bundle" apple-codesign --bin "rcodesign"
- echo "Usign rcodesign for ad-hoc signing"
- rcodesign sign --entitlements-xml-path $ENTITLEMENTS_FILE_PATH $APP_BUNDLE_DIRECTORY
- else
- echo "Usign codesign for ad-hoc signing"
- codesign --entitlements $ENTITLEMENTS_FILE_PATH -f --deep -s - $APP_BUNDLE_DIRECTORY
- fi
|