From 23de43054562bf5a478988ca68fcbc3e03565379 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 14 Dec 2020 09:46:24 -0500 Subject: Utilities/Release: Update macOS Qt 5.9 build for platform versioning Backport the upstream Qt patch [1] to link Qt binaries using the `-isysroot` flag instead of `-Wl,-syslibroot`. This is needed so that the binaries have a SDK version set, which is needed for runtime validation on modern macOS versions. [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=6387138a7991b4588639dc48847f175b5afaff84 --- .gitlab/ci/download_qt_hashes.cmake | 2 +- .../macos/qt-5.9.9-macosx10.10-x86_64-arm64.bash | 1 + Utilities/Release/macos/qt-5.9.9.patch | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 Utilities/Release/macos/qt-5.9.9.patch diff --git a/.gitlab/ci/download_qt_hashes.cmake b/.gitlab/ci/download_qt_hashes.cmake index 0d286b5..832fa98 100644 --- a/.gitlab/ci/download_qt_hashes.cmake +++ b/.gitlab/ci/download_qt_hashes.cmake @@ -10,4 +10,4 @@ set("5.15.1-0-202009071110qtwinextras-Windows-Windows_10-MSVC2015-Windows-Window set("5.15.1-0-202009071110qtbase-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z_hash" df2813ce7c6cb4287abd7956cd1cb9d08312e4ac1208b6cb57af4df11b8ebba1) -set("qt-5.9.9-macosx10.10-x86_64-arm64.tar.xz_hash" aa6229bc6bd01a44d18b07023417698fdf4de7a02b14e971b473d80956a57a1c) +set("qt-5.9.9-macosx10.10-x86_64-arm64.tar.xz_hash" d4449771afa0bc6a809c14f1e6d939e7732494cf059503ae451e2bfe8fc60cc1) diff --git a/Utilities/Release/macos/qt-5.9.9-macosx10.10-x86_64-arm64.bash b/Utilities/Release/macos/qt-5.9.9-macosx10.10-x86_64-arm64.bash index b0973f4..a61e114 100755 --- a/Utilities/Release/macos/qt-5.9.9-macosx10.10-x86_64-arm64.bash +++ b/Utilities/Release/macos/qt-5.9.9-macosx10.10-x86_64-arm64.bash @@ -20,6 +20,7 @@ type -p makeuniversal >/dev/null curl -OL https://download.qt.io/archive/qt/5.9/5.9.9/single/qt-everywhere-opensource-src-5.9.9.tar.xz shasum -a 256 qt-everywhere-opensource-src-5.9.9.tar.xz | grep -q 5ce285209290a157d7f42ec8eb22bf3f1d76f2e03a95fc0b99b553391be01642 tar xjf qt-everywhere-opensource-src-5.9.9.tar.xz +patch -p0 < "${BASH_SOURCE%/*}/qt-5.9.9.patch" # Build the x86_64 variant. mkdir qt-5.9.9-x86_64 diff --git a/Utilities/Release/macos/qt-5.9.9.patch b/Utilities/Release/macos/qt-5.9.9.patch new file mode 100644 index 0000000..dfcbbdd --- /dev/null +++ b/Utilities/Release/macos/qt-5.9.9.patch @@ -0,0 +1,20 @@ +--- qt-everywhere-opensource-src-5.9.9/qtbase/mkspecs/features/mac/default_post.prf.orig 2019-12-03 07:50:08.000000000 -0500 ++++ qt-everywhere-opensource-src-5.9.9/qtbase/mkspecs/features/mac/default_post.prf 2020-12-14 09:45:11.000000000 -0500 +@@ -130,7 +130,7 @@ + -isysroot$$xcodeSDKInfo(Path, $$sdk) + QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \ + -Xarch_$${arch} \ +- -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk) ++ -isysroot$$xcodeSDKInfo(Path, $$sdk) + + QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch}) + QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch}) +@@ -151,7 +151,7 @@ + version_min_flag = -m$${version_identifier}-version-min=$$deployment_target + QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag + QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag +- QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag ++ QMAKE_LFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag + } + + # Enable precompiled headers for multiple architectures -- cgit v0.12