CI mac: do not handle VideoMasterHD manually

Use the installer and rely on dylibbundler v2 to deploy the framework
correctly.

Note: in the macOS/install_others.sh script, make sure that the env var
modification is global (== not just in the subshell) in order to be updated
by subsequent commands in the same script.
This commit is contained in:
Martin Pulec
2024-02-12 10:15:41 +01:00
parent 1acce2464e
commit 1cce11666e
4 changed files with 10 additions and 35 deletions

View File

@@ -38,15 +38,18 @@ install_aja() {(
)}
install_deltacast() {(
DELTA_CACHE_INST=${SDK_NONFREE_PATH-nonexistent}/VideoMasterHD_inst
if [ ! -d "$DELTA_CACHE_INST" ]; then
return 0
if [ ! -f "$SDK_NONFREE_PATH/VideoMaster_SDK_MacOSX.zip" ]; then
return
fi
FEATURES="$FEATURES --enable-deltacast"
unzip "$SDK_NONFREE_PATH/VideoMaster_SDK_MacOSX.zip"
sudo installer -pkg VideoMaster_SDK.pkg -target / || true
)
export FEATURES="${FEATURES+$FEATURES }--enable-deltacast"
echo "FEATURES=$FEATURES" >> "$GITHUB_ENV"
sudo cp -a "$DELTA_CACHE_INST"/* \
"$(xcrun --show-sdk-path)/System/Library/Frameworks/"
)}
export COMMON_OSX_FLAGS="${COMMON_OSX_FLAGS+$COMMON_OSX_FLAGS }\
-F/Library/Frameworks"
printf '%b' "COMMON_OSX_FLAGS=$COMMON_OSX_FLAGS\n" >> "$GITHUB_ENV"
}
install_glfw() {(
git clone --depth 500 https://github.com/glfw/glfw.git

View File

@@ -1,26 +0,0 @@
#!/bin/sh -eux
cd /tmp
# DELTACAST
DELTA_CACHE_INST=$SDK_NONFREE_PATH/VideoMasterHD_inst
if [ ! -f "$SDK_NONFREE_PATH/VideoMaster_SDK_MacOSX.zip" ]; then
return
fi
unzip "$SDK_NONFREE_PATH/VideoMaster_SDK_MacOSX.zip"
sudo installer -pkg VideoMaster_SDK.pkg -target / || true
cd /Library/Frameworks
sudo install_name_tool -change /Library/Frameworks/VideoMasterHD.framework/Versions/A/VideoMasterHD @executable_path/../Frameworks/VideoMasterHD.framework/Versions/A/VideoMasterHD VideoMasterHD.framework/VideoMasterHD
sudo install_name_tool -id @executable_path/../Frameworks/VideoMasterHD.framework/Versions/A/VideoMasterHD VideoMasterHD.framework/VideoMasterHD
sudo install_name_tool -id @executable_path/../Frameworks/VideoMasterHD_Audio.framework/Versions/A/VideoMasterHD_Audio VideoMasterHD_Audio.framework/Versions/A/VideoMasterHD_Audio
sudo install_name_tool -change /Library/Frameworks/VideoMasterHD.framework/Versions/A/VideoMasterHD @executable_path/../Frameworks/VideoMasterHD.framework/Versions/A/VideoMasterHD VideoMasterHD_Audio.framework/Versions/A/VideoMasterHD_Audio
#sudo cp -a VideoMasterHD.framework VideoMasterHD_Audio.framework libVideoMasterHD_SP.dylib $(xcrun --show-sdk-path)/System/Library/Frameworks
mkdir "$DELTA_CACHE_INST"
cp -a VideoMasterHD.framework VideoMasterHD_Audio.framework "$DELTA_CACHE_INST/"
cd "$DELTA_CACHE_INST"
security unlock-keychain -p "$KEY_CHAIN_PASS" "$KEY_CHAIN"
codesign --force -s CESNET VideoMasterHD.framework VideoMasterHD_Audio.framework
cd -
sudo rm -rf /Library/Frameworks/VideoMasterHD* # ensure that only the copy above is used

View File

@@ -180,7 +180,6 @@ jobs:
mkdir -p ${{ env.SDK_NONFREE_PATH }}
cd ${{ env.SDK_NONFREE_PATH }}
curl -S -f -O $SDK_URL/VideoMaster_SDK_MacOSX.zip || true
$GITHUB_WORKSPACE/.github/scripts/macOS/prepare_nonfree_sdks.sh
- name: Cache XIMEA
id: cache-macos-ximea
uses: actions/cache@main

View File

@@ -155,7 +155,6 @@ if test $system = MacOSX; then
if test $os_version_major -lt 19; then # Darwin 19.0.0 is macOS 10.15
MACOS_LEGACY=yes
fi
COMMON_OSX_FLAGS='-F/Library/Frameworks'
CFLAGS="$CFLAGS $COMMON_OSX_FLAGS"
CPPFLAGS="$CPPFLAGS $COMMON_OSX_FLAGS"
CXXFLAGS="$CXXFLAGS $COMMON_OSX_FLAGS"