From 8d0563e0529237e167ace0fada1309d591b65842 Mon Sep 17 00:00:00 2001 From: Taner Sener Date: Thu, 18 Apr 2024 23:20:17 +0100 Subject: [PATCH] upgrade to newer apple platform runners --- .github/workflows/ios-build-scripts.yml | 24 ++++++++--------- .github/workflows/macos-build-scripts.yml | 24 ++++++++--------- .github/workflows/periodic-builds-apple.yml | 30 ++++++++++----------- .github/workflows/tvos-build-scripts.yml | 24 ++++++++--------- scripts/apple/libvorbis.sh | 9 +++---- scripts/function-apple.sh | 11 +++++++- scripts/function-ios.sh | 6 ++--- scripts/function-macos.sh | 6 ++--- scripts/function-tvos.sh | 4 +-- 9 files changed, 72 insertions(+), 66 deletions(-) diff --git a/.github/workflows/ios-build-scripts.yml b/.github/workflows/ios-build-scripts.yml index 8dd934df..de252d64 100644 --- a/.github/workflows/ios-build-scripts.yml +++ b/.github/workflows/ios-build-scripts.yml @@ -27,12 +27,12 @@ on: - 'ios.sh' jobs: - build-main-on-macos-monterey: - name: ios main on monterey - runs-on: macos-12 + build-main-on-macos-sonoma: + name: ios main on sonoma + runs-on: macos-14 strategy: matrix: - xcode: [ '13.4.1', '14.0.1' ] + xcode: [ '14.3.1', '15.3' ] defaults: run: shell: bash @@ -50,12 +50,12 @@ jobs: - name: print ffbuild logs if: ${{ failure() }} run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log' - build-main-on-macos-bigsur: - name: ios main on big sur - runs-on: macos-11 + build-main-on-macos-ventura: + name: ios main on ventura + runs-on: macos-13 strategy: matrix: - xcode: [ '12.5.1', '13.2.1' ] + xcode: [ '14.3.1', '15.2' ] defaults: run: shell: bash @@ -73,12 +73,12 @@ jobs: - name: print ffbuild logs if: ${{ failure() }} run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log' - build-lts-on-macos-bigsur: - name: ios lts on big sur - runs-on: macos-11 + build-lts-on-macos-monterey: + name: ios lts on monterey + runs-on: macos-12 strategy: matrix: - xcode: [ '11.7', '12.4' ] + xcode: [ '13.4.1', '14.2' ] defaults: run: shell: bash diff --git a/.github/workflows/macos-build-scripts.yml b/.github/workflows/macos-build-scripts.yml index ef46f73a..f4f22281 100644 --- a/.github/workflows/macos-build-scripts.yml +++ b/.github/workflows/macos-build-scripts.yml @@ -27,12 +27,12 @@ on: - 'macos.sh' jobs: - build-main-on-macos-monterey: - name: macos main on monterey - runs-on: macos-12 + build-main-on-macos-sonoma: + name: macos main on sonoma + runs-on: macos-14 strategy: matrix: - xcode: [ '13.4.1', '14.0.1' ] + xcode: [ '14.3.1', '15.3' ] defaults: run: shell: bash @@ -50,12 +50,12 @@ jobs: - name: print ffbuild logs if: ${{ failure() }} run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log' - build-main-on-macos-bigsur: - name: macos main on big sur - runs-on: macos-11 + build-main-on-macos-ventura: + name: macos main on ventura + runs-on: macos-13 strategy: matrix: - xcode: [ '12.5.1', '13.2.1' ] + xcode: [ '14.3.1', '15.2' ] defaults: run: shell: bash @@ -73,12 +73,12 @@ jobs: - name: print ffbuild logs if: ${{ failure() }} run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log' - build-lts-on-macos-bigsur: - name: macos lts on big sur - runs-on: macos-11 + build-lts-on-macos-monterey: + name: macos lts on monterey + runs-on: macos-12 strategy: matrix: - xcode: [ '11.7', '12.4' ] + xcode: [ '13.4.1', '14.2' ] defaults: run: shell: bash diff --git a/.github/workflows/periodic-builds-apple.yml b/.github/workflows/periodic-builds-apple.yml index c6dfa854..24ab696d 100644 --- a/.github/workflows/periodic-builds-apple.yml +++ b/.github/workflows/periodic-builds-apple.yml @@ -5,12 +5,12 @@ on: - cron: '0 1 * * 0' jobs: - build-ios-main-on-macos-ventura: - name: ios main on ventura - runs-on: macos-13 + build-ios-main-on-macos-sonoma: + name: ios main on sonoma + runs-on: macos-14 strategy: matrix: - xcode: [ '14.3.1' ] + xcode: [ '14.3.1', '15.3' ] branches: [ 'main', 'development' ] defaults: run: @@ -36,7 +36,7 @@ jobs: runs-on: macos-12 strategy: matrix: - xcode: [ '14.2' ] + xcode: [ '13.4.1' ] branches: [ 'main', 'development' ] defaults: run: @@ -57,12 +57,12 @@ jobs: - name: print ffbuild logs if: ${{ failure() }} run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log' - build-macos-main-on-macos-ventura: - name: macos main on ventura - runs-on: macos-13 + build-macos-main-on-macos-sonoma: + name: macos main on sonoma + runs-on: macos-14 strategy: matrix: - xcode: [ '14.3.1' ] + xcode: [ '14.3.1', '15.3' ] branches: [ 'main', 'development' ] defaults: run: @@ -88,7 +88,7 @@ jobs: runs-on: macos-12 strategy: matrix: - xcode: [ '14.2' ] + xcode: [ '13.4.1' ] branches: [ 'main', 'development' ] defaults: run: @@ -109,12 +109,12 @@ jobs: - name: print ffbuild logs if: ${{ failure() }} run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log' - build-tvos-main-on-macos-ventura: - name: tvos main on ventura - runs-on: macos-13 + build-tvos-main-on-macos-sonoma: + name: tvos main on sonoma + runs-on: macos-14 strategy: matrix: - xcode: [ '14.3.1' ] + xcode: [ '14.3.1', '15.3' ] branches: [ 'main', 'development' ] defaults: run: @@ -140,7 +140,7 @@ jobs: runs-on: macos-12 strategy: matrix: - xcode: [ '14.2' ] + xcode: [ '13.4.1' ] branches: [ 'main', 'development' ] defaults: run: diff --git a/.github/workflows/tvos-build-scripts.yml b/.github/workflows/tvos-build-scripts.yml index 0a88232a..356a414c 100644 --- a/.github/workflows/tvos-build-scripts.yml +++ b/.github/workflows/tvos-build-scripts.yml @@ -27,12 +27,12 @@ on: - 'tvos.sh' jobs: - build-main-on-macos-monterey: - name: tvos main on monterey - runs-on: macos-12 + build-main-on-macos-sonoma: + name: tvos main on sonoma + runs-on: macos-14 strategy: matrix: - xcode: [ '13.4.1', '14.0.1' ] + xcode: [ '14.3.1', '15.3' ] defaults: run: shell: bash @@ -50,12 +50,12 @@ jobs: - name: print ffbuild logs if: ${{ failure() }} run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log' - build-main-on-macos-bigsur: - name: tvos main on big sur - runs-on: macos-11 + build-main-on-macos-ventura: + name: tvos main on ventura + runs-on: macos-13 strategy: matrix: - xcode: [ '12.5.1', '13.2.1' ] + xcode: [ '14.3.1', '15.2' ] defaults: run: shell: bash @@ -73,12 +73,12 @@ jobs: - name: print ffbuild logs if: ${{ failure() }} run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log' - build-lts-on-macos-bigsur: - name: tvos lts on big sur - runs-on: macos-11 + build-lts-on-macos-monterey: + name: tvos lts on monterey + runs-on: macos-12 strategy: matrix: - xcode: [ '11.7', '12.4' ] + xcode: [ '13.4.1', '14.2' ] defaults: run: shell: bash diff --git a/scripts/apple/libvorbis.sh b/scripts/apple/libvorbis.sh index 00dbee7a..56a99504 100755 --- a/scripts/apple/libvorbis.sh +++ b/scripts/apple/libvorbis.sh @@ -10,12 +10,9 @@ ${SED_INLINE} 's/\-mno-ieee-fp//g' "${BASEDIR}"/src/"${LIB_NAME}"/configure.ac | # ALWAYS REGENERATE BUILD FILES - NECESSARY TO APPLY THE WORKAROUNDS autoreconf_library "${LIB_NAME}" 1>>"${BASEDIR}"/build.log 2>&1 || return 1 -if [[ ${FFMPEG_KIT_BUILD_TYPE} != "macos" ]]; then - - # WORKAROUND TO REMOVE -force_cpusubtype_ALL FLAG DUE TO THE FOLLOWING ERROR - # ld: -force_cpusubtype_ALL and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together - ${SED_INLINE} 's/-force_cpusubtype_ALL//g' ${BASEDIR}/src/${LIB_NAME}/configure -fi +# WORKAROUND TO REMOVE -force_cpusubtype_ALL FLAG DUE TO THE FOLLOWING ERROR +# ld: -force_cpusubtype_ALL and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together +${SED_INLINE} 's/-force_cpusubtype_ALL//g' ${BASEDIR}/src/${LIB_NAME}/configure PKG_CONFIG= ./configure \ --prefix="${LIB_INSTALL_PREFIX}" \ diff --git a/scripts/function-apple.sh b/scripts/function-apple.sh index a45b8b9e..28238d9e 100755 --- a/scripts/function-apple.sh +++ b/scripts/function-apple.sh @@ -1287,6 +1287,15 @@ EOF create_libiconv_system_package_config() { local LIB_ICONV_VERSION=$(grep '_LIBICONV_VERSION' "${SDK_PATH}"/usr/include/iconv.h | grep -Eo '0x.*' | grep -Eo '.* ') + # AFTER XCODE 15.0, libcharset DOES NOT CONTAIN ALL ARCHITECTURES WE SUPPORT + if [[ -n "$DETECTED_IOS_SDK_VERSION" && $(compare_versions "$DETECTED_IOS_SDK_VERSION" "17.0") -ge 0 ]] || + [[ -n "$DETECTED_MACOS_SDK_VERSION" && $(compare_versions "$DETECTED_MACOS_SDK_VERSION" "14.0") -ge 0 ]] || + [[ -n "$DETECTED_TVOS_SDK_VERSION" && $(compare_versions "$DETECTED_TVOS_SDK_VERSION" "17.0") -ge 0 ]]; then + local _REQUIRES_LIBS="-liconv" + else + local _REQUIRES_LIBS="-liconv -lcharset" + fi + cat >"${INSTALL_PKG_CONFIG_DIR}/libiconv.pc" <