1#!/bin/bash 2 3PPSSPP="${1}" 4PPSSPPSDL="${PPSSPP}/Contents/MacOS/PPSSPPSDL" 5 6if [ ! -f "${PPSSPPSDL}" ]; then 7 echo "No such file: ${PPSSPPSDL}!" 8 exit 0 9fi 10 11SDL=$(otool -L "${PPSSPPSDL}" | grep -v @executable_path | grep -Eo /.+libSDL.+dylib) 12if [ "${SDL}" != "" ]; then 13 if [ ! -f "${SDL}" ]; then 14 echo "Cannot locate SDL: ${SDL}!" 15 exit 0 16 fi 17 18 echo "Installing SDL from ${SDL}..." 19 20 SDLNAME=$(basename "${SDL}") 21 mkdir -p "${PPSSPP}/Contents/Frameworks" || exit 0 22 cp -r "$SDL" "${PPSSPP}/Contents/Frameworks" || exit 0 23 install_name_tool -change "${SDL}" "@executable_path/../Frameworks/${SDLNAME}" "${PPSSPPSDL}" || exit 0 24elif [ "$(otool -L "${PPSSPPSDL}" | grep @rpath/SDL)" != "" ]; then 25 cd "$(dirname "$0")" 26 RPATH="$(pwd)/macOS" 27 cd - 28 SDL="${RPATH}/SDL2.framework" 29 if [ ! -d "${SDL}" ]; then 30 echo "Cannot locate SDL.framework: ${SDL}!" 31 exit 0 32 fi 33 34 rm -rf "${PPSSPP}/Contents/Frameworks/SDL2.framework" || exit 0 35 mkdir -p "${PPSSPP}/Contents/Frameworks" || exit 0 36 cp -a "$SDL" "${PPSSPP}/Contents/Frameworks" || exit 0 37 install_name_tool -rpath "${RPATH}" "@executable_path/../Frameworks" "${PPSSPPSDL}" || echo "Already patched." 38fi 39 40GIT_VERSION_LINE=$(grep "PPSSPP_GIT_VERSION = " "$(dirname "${0}")/../git-version.cpp") 41echo "Setting version to ${GIT_VERSION_LINE}..." 42SHORT_VERSION_MATCH='.*"v([0-9\.]+(-[0-9]+)?).*";' 43LONG_VERSION_MATCH='.*"v(.*)";' 44if [[ "${GIT_VERSION_LINE}" =~ ^${SHORT_VERSION_MATCH}$ ]]; then 45 plutil -replace CFBundleShortVersionString -string $(echo ${GIT_VERSION_LINE} | perl -pe "s/${SHORT_VERSION_MATCH}/\$1/g") ${PPSSPP}/Contents/Info.plist 46 plutil -replace CFBundleVersion -string $(echo ${GIT_VERSION_LINE} | perl -pe "s/${LONG_VERSION_MATCH}/\$1/g") ${PPSSPP}/Contents/Info.plist 47else 48 plutil -replace CFBundleShortVersionString -string "" ${PPSSPP}/Contents/Info.plist 49 plutil -replace CFBundleVersion -string "" ${PPSSPP}/Contents/Info.plist 50fi 51 52# AdHoc codesign is required for Apple Silicon. 53codesign -fs - --deep "${PPSSPP}" || exit 1 54