From 3dc22245d82afd675aecab05cd10223c491a598b Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Wed, 22 Dec 2021 14:43:13 -0800 Subject: [PATCH] devops: support ffmpeg MacOS arm64 builds (#11075) Drive-by's: - support ffmpeg build on MacOS 12 - rename ffmpeg executable for Ubuntu arm64 to `ffmpeg-linux` --- browser_patches/checkout_build_archive_upload.sh | 7 +++++++ browser_patches/ffmpeg/BUILD_NUMBER | 2 +- browser_patches/ffmpeg/EXPECTED_BUILDS | 1 + browser_patches/ffmpeg/build-mac.sh | 6 +++--- browser_patches/ffmpeg/build.sh | 4 ++-- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/browser_patches/checkout_build_archive_upload.sh b/browser_patches/checkout_build_archive_upload.sh index 7c8d2b077d..4f4a308117 100755 --- a/browser_patches/checkout_build_archive_upload.sh +++ b/browser_patches/checkout_build_archive_upload.sh @@ -60,6 +60,13 @@ elif [[ "$BUILD_FLAVOR" == "ffmpeg-mac" ]]; then EXPECTED_HOST_OS="Darwin" EXPECTED_HOST_OS_VERSION="11.6" BUILD_BLOB_NAME="ffmpeg-mac.zip" +elif [[ "$BUILD_FLAVOR" == "ffmpeg-mac-arm64" ]]; then + BROWSER_NAME="ffmpeg" + EXTRA_BUILD_ARGS="--mac" + EXPECTED_HOST_OS="Darwin" + EXPECTED_HOST_OS_VERSION="11.6" + EXPECTED_ARCH="arm64" + BUILD_BLOB_NAME="ffmpeg-mac-arm64.zip" elif [[ "$BUILD_FLAVOR" == "ffmpeg-linux" ]]; then BROWSER_NAME="ffmpeg" EXTRA_BUILD_ARGS="--linux" diff --git a/browser_patches/ffmpeg/BUILD_NUMBER b/browser_patches/ffmpeg/BUILD_NUMBER index 9540e56f97..fb35a14c02 100644 --- a/browser_patches/ffmpeg/BUILD_NUMBER +++ b/browser_patches/ffmpeg/BUILD_NUMBER @@ -1 +1 @@ -1006 +1007 diff --git a/browser_patches/ffmpeg/EXPECTED_BUILDS b/browser_patches/ffmpeg/EXPECTED_BUILDS index d5de381899..ec5ce4f2e0 100644 --- a/browser_patches/ffmpeg/EXPECTED_BUILDS +++ b/browser_patches/ffmpeg/EXPECTED_BUILDS @@ -1,4 +1,5 @@ ffmpeg-mac.zip +ffmpeg-mac-arm64.zip ffmpeg-linux.zip ffmpeg-linux-arm64.zip ffmpeg-win64.zip diff --git a/browser_patches/ffmpeg/build-mac.sh b/browser_patches/ffmpeg/build-mac.sh index 96c1f94d89..aa674b8b43 100755 --- a/browser_patches/ffmpeg/build-mac.sh +++ b/browser_patches/ffmpeg/build-mac.sh @@ -29,11 +29,11 @@ source "${SCRIPT_FOLDER}/../utils.sh" CURRENT_HOST_OS_VERSION=$(getMacVersion) # As of Oct 2021, we build FFMPEG for Mac with Xcode 13 to align toolchains. -if [[ "${CURRENT_HOST_OS_VERSION}" == "11."* ]]; then - selectXcodeVersionOrDie "13" -else +if [[ "${CURRENT_HOST_OS_VERSION}" == "10."* ]]; then echo "ERROR: ${CURRENT_HOST_OS_VERSION} is not supported" exit 1 +else + selectXcodeVersionOrDie "13" fi source ./CONFIG.sh diff --git a/browser_patches/ffmpeg/build.sh b/browser_patches/ffmpeg/build.sh index 789647d546..ded9de7c99 100755 --- a/browser_patches/ffmpeg/build.sh +++ b/browser_patches/ffmpeg/build.sh @@ -69,8 +69,8 @@ elif [[ "$1" == --cross-compile-win64 ]]; then elif [[ "$1" == "--cross-compile-linux-arm64" ]]; then ensure_docker_or_die - time docker run --init --rm -v"${PWD}":/host ${dockerflags} ubuntu:18.04 bash /host/crosscompile-from-linux.sh --linux-arm64 /host/output/ffmpeg-linux-arm64 - cd output && zip ffmpeg.zip ffmpeg-linux-arm64 "${LICENSE_FILE}" + time docker run --init --rm -v"${PWD}":/host ${dockerflags} ubuntu:18.04 bash /host/crosscompile-from-linux.sh --linux-arm64 /host/output/ffmpeg-linux + cd output && zip ffmpeg.zip ffmpeg-linux "${LICENSE_FILE}" else echo "ERROR: unsupported platform - $1" exit 1