<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3fd3d029f03f8084a622e2a5becd37f6bf024bd8">https://github.com/macports/macports-ports/commit/3fd3d029f03f8084a622e2a5becd37f6bf024bd8</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 3fd3d029f03f8084a622e2a5becd37f6bf024bd8
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Wed Jan 13 17:36:06 2021 -0800
<span style='display:block; white-space:pre;color:#404040;'> qt5-qtbase: allow arm builds
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> this patch uses the current upstream
</span><span style='display:block; white-space:pre;color:#404040;'> changes to allow alternative archs to
</span><span style='display:block; white-space:pre;color:#404040;'> x86_64 for builds.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> https://github.com/qt/qtbase/commit/9082cc8e8d5a6441dabe5e7a95bc0cd9085b95fe
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> there could be further upstream changes and patches -- and
</span><span style='display:block; white-space:pre;color:#404040;'> indeed almost certainly there will be -- but for now this
</span><span style='display:block; white-space:pre;color:#404040;'> meets the needs of allowing an arm64 build of qt5 that functions
</span>---
aqua/qt5/Portfile | 29 ++--
aqua/qt5/files/patch-mkspecs.diff | 74 +++++-----
...he-architecture-when-using-qmake-installed.diff | 67 +++++++++
...86_64-as-the-architecture-when-using-qmake.diff | 159 +++++++++++++++++++++
4 files changed, 285 insertions(+), 44 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt5/Portfile b/aqua/qt5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 28536a50c0b..5f0f9076b7c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -162,7 +162,7 @@ array set modules {
</span> {"Qt Core" "Qt GUI" "Qt Network" "Qt SQL" "Qt Test" "Qt Widgets" "Qt Concurrent" "Qt D-Bus" "Qt OpenGL" "Qt Platform Headers" "Qt Print Support" "Qt XML"}
""
"variant overrides: "
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "revision 0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "revision 1"
</span> "License: "
}
qtcharts {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -935,6 +935,13 @@ foreach {module module_info} [array get modules] {
</span> # this patch is specific to version 5.15
patchfiles-append patch-qt515-highsierra1.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # upstream patch to allow for non-x86_64 builds
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/qt/qtbase/commit/9082cc8e8d5a6441dabe5e7a95bc0cd9085b95fe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-qmake-dont-hard-code-x86_64-as-the-architecture-when-using-qmake.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # and also patch the mkspecs we are going to install as well
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-qmake-dont-hard-code-x86_64-as-the-architecture-when-using-qmake-installed.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # find the Rez program
patchfiles-append patch-find_rez.diff
post-patch {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1065,16 +1072,16 @@ foreach {module module_info} [array get modules] {
</span> }
# respect configure.universal_archs or build_arch
<span style='display:block; white-space:pre;background:#ffe0e0;'>- post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_exists universal] && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set arch_replace ${configure.universal_archs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set arch_replace ${build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "s|__MACPORTS_DEVICE_ARCHS__|${arch_replace}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/mkspecs/common/macx.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # if {[variant_exists universal] && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # set arch_replace ${configure.universal_archs}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # set arch_replace ${build_arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # reinplace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # "s|__MACPORTS_DEVICE_ARCHS__|${arch_replace}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ${worksrcpath}/mkspecs/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #}
</span>
# use MacPorts X11
post-patch {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt5/files/patch-mkspecs.diff b/aqua/qt5/files/patch-mkspecs.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 8ee256aeb43..d9a08079835 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt5/files/patch-mkspecs.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt5/files/patch-mkspecs.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,22 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- mkspecs/common/clang.conf.orig 2017-06-28 02:54:29.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ mkspecs/common/clang.conf 2017-08-27 07:20:26.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs/common/clang-mac.conf mkspecs/common/clang-mac.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 14340630..a98aa869 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs/common/clang-mac.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs/common/clang-mac.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,8 +7,8 @@ QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvm.clang.1_0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_LFLAGS_LTCG_SEPARATE_DEBUG_INFO = -Wl,-object_path_lto,${OBJECTS_DIR}/${TARGET}_lto.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-QMAKE_CXXFLAGS += -stdlib=libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-QMAKE_LFLAGS += -stdlib=libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++QMAKE_CXXFLAGS += -stdlib=__MACPORTS_CXX_STDLIB__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++QMAKE_LFLAGS += -stdlib=__MACPORTS_CXX_STDLIB__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_AR_LTCG = libtool -static -o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_CFLAGS_APPLICATION_EXTENSION = -fapplication-extension
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs/common/clang.conf mkspecs/common/clang.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index dad15a22..8a30113e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs/common/clang.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs/common/clang.conf
</span> @@ -4,8 +4,8 @@
QMAKE_COMPILER = gcc clang llvm # clang pretends to be gcc
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11,9 +28,24 @@
</span>
QMAKE_LINK_C = $$QMAKE_CC
QMAKE_LINK_C_SHLIB = $$QMAKE_CC
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- mkspecs/common/macx.conf.orig 2017-06-28 02:54:29.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ mkspecs/common/macx.conf 2017-08-27 07:11:49.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3,10 +3,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs/common/gcc-base.conf mkspecs/common/gcc-base.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 99d77156..2e124369 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs/common/gcc-base.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs/common/gcc-base.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,7 +34,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_CFLAGS_OPTIMIZE = -O2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_CFLAGS_OPTIMIZE_FULL = -O3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++QMAKE_CFLAGS_OPTIMIZE_SIZE = __MACPORTS_OPTFLAGS__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ !equals(QMAKE_HOST.os, Windows): QMAKE_CFLAGS += -pipe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_CFLAGS_DEPS += -M
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs/common/macx.conf mkspecs/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4ba0a8ea..5f75283f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3,9 +3,9 @@
</span> #
QMAKE_PLATFORM += macos osx macx
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,14 +53,14 @@
</span> +QMAKE_MAC_SDK = __MACPORTS_MAC_SDK__
-QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
<span style='display:block; white-space:pre;background:#ffe0e0;'>--QMAKE_APPLE_DEVICE_ARCHS = x86_64
</span> +QMAKE_MACOSX_DEPLOYMENT_TARGET = __MACPORTS_DEPLOYMENT_TARGET__
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+QMAKE_APPLE_DEVICE_ARCHS = __MACPORTS_DEVICE_ARCHS__
</span>
# Should be 10.15, but as long as the CI builds with
# older SDKs we have to keep this.
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- mkspecs/macx-clang/qmake.conf.orig 2017-06-28 02:54:29.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ mkspecs/macx-clang/qmake.conf 2017-08-27 07:13:38.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs/macx-clang/qmake.conf mkspecs/macx-clang/qmake.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0cf1f31b..73752938 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs/macx-clang/qmake.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs/macx-clang/qmake.conf
</span> @@ -21,8 +21,8 @@
# and X11, OpenGL is currently not supported.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,27 +72,3 @@
</span>
include(../common/macx.conf)
include(../common/gcc-base-mac.conf)
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- mkspecs/common/clang-mac.conf.orig 2017-06-28 02:54:29.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ mkspecs/common/clang-mac.conf 2017-08-27 07:17:44.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7,8 +7,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvm.clang.1_0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- QMAKE_LFLAGS_LTCG_SEPARATE_DEBUG_INFO = -Wl,-object_path_lto,${OBJECTS_DIR}/${TARGET}_lto.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--QMAKE_CXXFLAGS += -stdlib=libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--QMAKE_LFLAGS += -stdlib=libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+QMAKE_CXXFLAGS += -stdlib=__MACPORTS_CXX_STDLIB__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+QMAKE_LFLAGS += -stdlib=__MACPORTS_CXX_STDLIB__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- QMAKE_AR_LTCG = libtool -static -o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- QMAKE_CFLAGS_APPLICATION_EXTENSION = -fapplication-extension
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- mkspecs/common/gcc-base.conf.orig 2017-06-28 02:54:29.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ mkspecs/common/gcc-base.conf 2017-10-12 09:42:06.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -34,7 +34,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- QMAKE_CFLAGS_OPTIMIZE = -O2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- QMAKE_CFLAGS_OPTIMIZE_FULL = -O3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+QMAKE_CFLAGS_OPTIMIZE_SIZE = __MACPORTS_OPTFLAGS__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- !equals(QMAKE_HOST.os, Windows): QMAKE_CFLAGS += -pipe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- QMAKE_CFLAGS_DEPS += -M
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt5/files/patch-qmake-dont-hard-code-x86_64-as-the-architecture-when-using-qmake-installed.diff b/aqua/qt5/files/patch-qmake-dont-hard-code-x86_64-as-the-architecture-when-using-qmake-installed.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7821cae06e6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt5/files/patch-qmake-dont-hard-code-x86_64-as-the-architecture-when-using-qmake-installed.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,67 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From <https://github.com/qt/qtbase/commit/9082cc8e8d5a6441dabe5e7a95bc0cd9085b95fe>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch is for the mkspecs that we are going to install with qt5-qtbase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs-save/common/macx.conf mkspecs-save/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1f99c8ff5ab..1b8bbbe047c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs-save/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs-save/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,7 +6,6 @@ QMAKE_PLATFORM += macos osx macx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_MAC_SDK = macosx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-QMAKE_APPLE_DEVICE_ARCHS = x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Should be 10.15, but as long as the CI builds with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # older SDKs we have to keep this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs-save/features/mac/default_post.prf mkspecs-save/features/mac/default_post.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 92a9112bca6..d888731ec8d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs-save/features/mac/default_post.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs-save/features/mac/default_post.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -90,6 +90,11 @@ app_extension_api_only {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Non-universal builds do not set QMAKE_APPLE_DEVICE_ARCHS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# so we pick it up from what the arch test resolved instead.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++isEmpty(QMAKE_APPLE_DEVICE_ARCHS): \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QMAKE_APPLE_DEVICE_ARCHS = $$QT_ARCH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ macx-xcode {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -145,9 +150,6 @@ macx-xcode {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- isEmpty(VALID_ARCHS): \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs/features/toolchain.prf mkspecs/features/toolchain.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2a1f7cba3dd..0040b6c4b9f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs-save/features/toolchain.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs-save/features/toolchain.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -182,9 +182,14 @@ isEmpty($${target_prefix}.INCDIRS) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # UIKit simulator platforms will see the device SDK's sysroot in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # QMAKE_DEFAULT_*DIRS, because they're handled in a single build pass.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Clang doesn't pick up the architecture from the sysroot, and will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # default to the host architecture, so we need to manually set it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cxx_flags += -arch $$QMAKE_APPLE_DEVICE_ARCHS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ uikit {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Clang doesn't automatically pick up the architecture, just because
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # we're passing the iOS sysroot below, and we will end up building the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # test for the host architecture, resulting in linker errors when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # linking against the iOS libraries. We work around this by passing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # the architecture explicitly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cxx_flags += -arch $$first(QMAKE_APPLE_DEVICE_ARCHS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ uikit:macx-xcode: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cxx_flags += -isysroot $$sdk_path_device.value
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt5/files/patch-qmake-dont-hard-code-x86_64-as-the-architecture-when-using-qmake.diff b/aqua/qt5/files/patch-qmake-dont-hard-code-x86_64-as-the-architecture-when-using-qmake.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b75fb72a7cf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt5/files/patch-qmake-dont-hard-code-x86_64-as-the-architecture-when-using-qmake.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,159 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From <https://github.com/qt/qtbase/commit/9082cc8e8d5a6441dabe5e7a95bc0cd9085b95fe>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 9082cc8e8d5a6441dabe5e7a95bc0cd9085b95fe Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@qt.io>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 4 Dec 2020 17:29:06 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] macOS: Don't hard-code x86_64 as the architecture when using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ qmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The qmake variable QMAKE_APPLE_DEVICE_ARCHS was added for iOS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to support universal builds, as the QT_ARCH is a single value.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Since the qmake macOS builds are non-universal (at the moment),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+we remove the hard-coded value for QMAKE_APPLE_DEVICE_ARCHS on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+macOS, and let the normal architecture test resolve the arch,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+like on other platforms.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To ensure that the following configuration tests are run with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+an -arch argument, we trigger a commit of the preliminary Qt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configuration after running the architecture test. This is not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+strictly necessary, but makes it clearer what's going on during
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The device_and_simulator configuration option was used by the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+iOS toolchain, and needed to be moved up in the configuration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test order to not break later tests.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The logic in mac/default_post.prf for both Xcode and Makefiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to add -arch flags was kept as is, based on the existing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variable, to avoid too many changes to this logic.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The logic in toolchain.prf was amended to make it clear and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ensure that it only applies to iOS builds. macOS builds do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+not have this issue.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Pick-to: 6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Pick-to: 5.15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Pick-to: 5.12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Change-Id: I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.json | 13 ++++++++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.pri | 7 +++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mkspecs/common/macx.conf | 1 -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mkspecs/features/mac/default_post.prf | 8 +++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mkspecs/features/toolchain.prf | 11 ++++++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5 files changed, 30 insertions(+), 10 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure.json configure.json
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 29afbac43d5..a9249e1ed29 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.json
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.json
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -241,11 +241,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "testTypeDependencies": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "linkerSupportsFlag": [ "use_bfd_linker", "use_gold_linker", "use_lld_linker" ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "verifySpec": [ "shared", "use_bfd_linker", "use_gold_linker", "use_lld_linker", "compiler-flags", "qmakeargs", "commit" ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "verifySpec": [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "shared",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "use_bfd_linker", "use_gold_linker", "use_lld_linker",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "compiler-flags", "qmakeargs",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "simulator_and_device",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "thread",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "commit" ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "compile": [ "verifyspec" ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "detectPkgConfig": [ "cross_compile", "machineTuple" ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "library": [ "pkg-config", "compiler-flags" ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "getPkgConfigVariable": [ "pkg-config" ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "getPkgConfigVariable": [ "pkg-config" ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "architecture" : [ "verifyspec" ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "testTypeAliases": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -749,7 +756,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "architecture": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "label": "Architecture",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- "output": [ "architecture" ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "output": [ "architecture", "commitConfig" ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "pkg-config": {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "label": "Using pkg-config",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure.pri configure.pri
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a04aa172366..f55b7cb448d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.pri
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.pri
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -660,6 +660,13 @@ defineTest(qtConfOutput_commitOptions) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ write_file($$QT_BUILD_TREE/mkspecs/qdevice.pri, $${currentConfig}.output.devicePro)|error()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Output is written after configuring each Qt module,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# but some tests within a module might depend on the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# configuration output of previous tests.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++defineTest(qtConfOutput_commitConfig) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ qtConfProcessOutput()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # type (empty or 'host'), option name, default value
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ defineTest(processQtPath) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ out_var = config.rel_input.$${2}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs/common/macx.conf mkspecs/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1f99c8ff5ab..1b8bbbe047c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs/common/macx.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,7 +6,6 @@ QMAKE_PLATFORM += macos osx macx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_MAC_SDK = macosx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-QMAKE_APPLE_DEVICE_ARCHS = x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Should be 10.15, but as long as the CI builds with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # older SDKs we have to keep this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs/features/mac/default_post.prf mkspecs/features/mac/default_post.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 92a9112bca6..d888731ec8d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs/features/mac/default_post.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs/features/mac/default_post.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -90,6 +90,11 @@ app_extension_api_only {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Non-universal builds do not set QMAKE_APPLE_DEVICE_ARCHS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# so we pick it up from what the arch test resolved instead.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++isEmpty(QMAKE_APPLE_DEVICE_ARCHS): \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QMAKE_APPLE_DEVICE_ARCHS = $$QT_ARCH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ macx-xcode {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -145,9 +150,6 @@ macx-xcode {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- isEmpty(VALID_ARCHS): \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mkspecs/features/toolchain.prf mkspecs/features/toolchain.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2a1f7cba3dd..0040b6c4b9f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkspecs/features/toolchain.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkspecs/features/toolchain.prf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -182,9 +182,14 @@ isEmpty($${target_prefix}.INCDIRS) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # UIKit simulator platforms will see the device SDK's sysroot in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # QMAKE_DEFAULT_*DIRS, because they're handled in a single build pass.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Clang doesn't pick up the architecture from the sysroot, and will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # default to the host architecture, so we need to manually set it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cxx_flags += -arch $$QMAKE_APPLE_DEVICE_ARCHS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ uikit {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Clang doesn't automatically pick up the architecture, just because
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # we're passing the iOS sysroot below, and we will end up building the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # test for the host architecture, resulting in linker errors when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # linking against the iOS libraries. We work around this by passing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # the architecture explicitly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cxx_flags += -arch $$first(QMAKE_APPLE_DEVICE_ARCHS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ uikit:macx-xcode: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cxx_flags += -isysroot $$sdk_path_device.value
</span></pre><pre style='margin:0'>
</pre>