From 69d504c1914cdf4275f7caffac93c731264f3de7 Mon Sep 17 00:00:00 2001 From: Christian Hoffmann Date: Mon, 31 May 2021 12:33:19 +0200 Subject: [PATCH 1/4] Mac build: Pin dmgbuild to 1.4.2 as 1.5.0 is broken https://github.com/al45tair/dmgbuild/issues/40 --- mac/deploy_mac.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mac/deploy_mac.sh b/mac/deploy_mac.sh index 80163d4dbf..19b1c307e3 100755 --- a/mac/deploy_mac.sh +++ b/mac/deploy_mac.sh @@ -44,7 +44,7 @@ build_installer_image() { # Install dmgbuild (for the current user), this is required to build the installer image python -m ensurepip --user --default-pip - python -m pip install --user dmgbuild + python -m pip install --user dmgbuild==1.4.2 local dmgbuild_bin="$(python -c 'import site; print(site.USER_BASE)')/bin/dmgbuild" # Get Jamulus version From 51b13da8332246d65466b1189b7b5c78dc70907e Mon Sep 17 00:00:00 2001 From: Christian Hoffmann Date: Mon, 31 May 2021 09:32:46 +0200 Subject: [PATCH 2/4] Mac build: Allow passing extra args to qmake --- autobuild/mac/artifacts/autobuild_mac_2_build.sh | 1 + mac/deploy_mac.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/autobuild/mac/artifacts/autobuild_mac_2_build.sh b/autobuild/mac/artifacts/autobuild_mac_2_build.sh index 16229a80bb..b76759d6f8 100755 --- a/autobuild/mac/artifacts/autobuild_mac_2_build.sh +++ b/autobuild/mac/artifacts/autobuild_mac_2_build.sh @@ -16,4 +16,5 @@ source "$(dirname "${BASH_SOURCE[0]}")/../../ensure_THIS_JAMULUS_PROJECT_PATH.sh cd "${THIS_JAMULUS_PROJECT_PATH}" echo "Run deploy script..." +export EXTRA_QMAKE_ARGS sh "${THIS_JAMULUS_PROJECT_PATH}"/mac/deploy_mac.sh diff --git a/mac/deploy_mac.sh b/mac/deploy_mac.sh index 19b1c307e3..f0d29d8b3e 100755 --- a/mac/deploy_mac.sh +++ b/mac/deploy_mac.sh @@ -22,7 +22,7 @@ cleanup() build_app() { # Build Jamulus - qmake "${project_path}" -o "${build_path}/Makefile" "CONFIG+=release" ${@:2} + qmake "${project_path}" -o "${build_path}/Makefile" "CONFIG+=release" ${@:2} ${EXTRA_QMAKE_ARGS:-} local target_name="$(cat "${build_path}/Makefile" | sed -nE 's/^QMAKE_TARGET *= *(.*)$/\1/p')" local job_count="$(sysctl -n hw.ncpu)" From 2e5aae9aee11fffd61aff1a29770cdfba80a3b52 Mon Sep 17 00:00:00 2001 From: Christian Hoffmann Date: Mon, 31 May 2021 09:33:46 +0200 Subject: [PATCH 3/4] Mac autobuild: Update to Xcode 12 Let the autobuild default to Xcode 12 again, but still ensure that we limit SDK support to 10.15 due to lack of Qt-wise support for newer versions. This is a slightly different approach to the already merged #1655. We are limited to <= Xcode-12.1.1 though because we require SDK 10.15 which is not shipped on more recent versions anymore. This change has a (low) chance of fixing recent Mac issues on Big Sur (#1643, #1791). At least, it makes us use the latest officially recommended setup. This only touches the regular Mac build, not the legacy build. Support matrix: https://doc.qt.io/qt-5/macos.html Variables: https://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-mac-sdk Explanations: https://doc.qt.io/qt-5/macos-deployment.html --- .github/workflows/autobuild.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index 6131504d9c..bc92f139ab 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -120,7 +120,9 @@ jobs: target_os: macos building_on_os: macos-10.15 cmd1_prebuild: "./autobuild/mac/artifacts/autobuild_mac_1_prepare.sh 5.15.2" - cmd2_build: "./autobuild/mac/artifacts/autobuild_mac_2_build.sh" + # QMAKE_MAC_SDK limits the auto-used to the specified maximum version to ensure compatibility with Qt 5.15.2, + # QMAKE_MACOSX_DEPLOYMENT_TARGET describes the minimum version which we support with this build: + cmd2_build: "env EXTRA_QMAKE_ARGS='QMAKE_MAC_SDK=macosx10.15 QMAKE_MACOSX_DEPLOYMENT_TARGET=10.13' ./autobuild/mac/artifacts/autobuild_mac_2_build.sh" cmd3_postbuild: "./autobuild/mac/artifacts/autobuild_mac_3_copy_files.sh" uses_codeql: false @@ -143,13 +145,13 @@ jobs: runs-on: ${{ matrix.config.building_on_os }} steps: - # For Qt5 on Mac, we need to ensure SDK 10.15 is used, and not SDK 11.x - # This is done by selecting Xcode 11.7 instead of the latest default of 12.x + # For Qt5 on Mac, we need to ensure SDK 10.15 is used. + # Xcode 12.0 is the last version which ships SDK 10.15, therefore pin it: - name: Select Xcode version for Mac if: ${{ matrix.config.target_os == 'macos' }} uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: '11.7' + xcode-version: '12.1.1' # Checkout code - name: Checkout code From b7f3d4ee7822cb45c6f8acdea4666c6a7eba32d3 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Sun, 5 Sep 2021 23:56:50 +0200 Subject: [PATCH 4/4] Update XCode version to 12.4 --- .github/workflows/autobuild.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index bc92f139ab..883d90b411 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -151,7 +151,7 @@ jobs: if: ${{ matrix.config.target_os == 'macos' }} uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: '12.1.1' + xcode-version: '12.4.0' # Checkout code - name: Checkout code