diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6576844b..98008636 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -235,6 +235,23 @@ jobs: exit 1 fi + # dylibbundler may miss Homebrew's FFmpeg libraries. + # Copy libavformat, libavcodec, libavutil, and libswscale. + FFMPEG_LIB_DIR="$(brew --prefix ffmpeg)/lib" + for lib in "${FFMPEG_LIB_DIR}"/libavformat*.dylib \ + "${FFMPEG_LIB_DIR}"/libavcodec*.dylib \ + "${FFMPEG_LIB_DIR}"/libavutil*.dylib \ + "${FFMPEG_LIB_DIR}"/libswscale*.dylib \ + "${FFMPEG_LIB_DIR}"/libswresample*.dylib; do + [ -e "${lib}" ] || continue + cp -f "${lib}" Wowee.app/Contents/Frameworks/ + done + + if ! ls Wowee.app/Contents/Frameworks/libavformat*.dylib >/dev/null 2>&1; then + echo "Missing FFmpeg libavformat dylib(s) in app bundle Frameworks/" >&2 + exit 1 + fi + # Info.plist cat > Wowee.app/Contents/Info.plist << 'EOF' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c0b9ec23..6d744e98 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -210,6 +210,23 @@ jobs: exit 1 fi + # dylibbundler may miss Homebrew's FFmpeg libraries. + # Copy libavformat, libavcodec, libavutil, and libswscale. + FFMPEG_LIB_DIR="$(brew --prefix ffmpeg)/lib" + for lib in "${FFMPEG_LIB_DIR}"/libavformat*.dylib \ + "${FFMPEG_LIB_DIR}"/libavcodec*.dylib \ + "${FFMPEG_LIB_DIR}"/libavutil*.dylib \ + "${FFMPEG_LIB_DIR}"/libswscale*.dylib \ + "${FFMPEG_LIB_DIR}"/libswresample*.dylib; do + [ -e "${lib}" ] || continue + cp -f "${lib}" Wowee.app/Contents/Frameworks/ + done + + if ! ls Wowee.app/Contents/Frameworks/libavformat*.dylib >/dev/null 2>&1; then + echo "Missing FFmpeg libavformat dylib(s) in app bundle Frameworks/" >&2 + exit 1 + fi + # Info.plist cat > Wowee.app/Contents/Info.plist << EOF