<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9a125f3f940fad9cbf6d729e98a852d90e7fb5df">https://github.com/macports/macports-ports/commit/9a125f3f940fad9cbf6d729e98a852d90e7fb5df</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 9a125f3f940 qt5 PG: be better at setting QMAKE_MAC_SDK
</span>9a125f3f940 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 9a125f3f940fad9cbf6d729e98a852d90e7fb5df
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Thu Jan 5 11:41:43 2023 -0700
<span style='display:block; white-space:pre;color:#404040;'> qt5 PG: be better at setting QMAKE_MAC_SDK
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Ideally, QMAKE_MAC_SDK should be macosx${configure.sdk_version}.
</span><span style='display:block; white-space:pre;color:#404040;'> However, this SDK is not always installed, so search for best fit.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes https://trac.macports.org/ticket/66549
</span>---
_resources/port1.0/group/qmake5-1.0.tcl | 31 +------------------------------
_resources/port1.0/group/qt5-1.0.tcl | 16 ++++++++++++++++
aqua/qt511/Portfile | 33 +--------------------------------
3 files changed, 18 insertions(+), 62 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/qmake5-1.0.tcl b/_resources/port1.0/group/qmake5-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 2a0f9c46b8f..791fe2b9c80 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/qmake5-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/qmake5-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,35 +52,6 @@ pre-configure {
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- platform macosx {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # qt calls xcrun to find the SDK to use, so make sure this call will succeed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qmake5 Portfile: the initial SDK value is: macosx${configure.sdk_version}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # first try for a system-specific SDK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[string first . ${configure.sdk_version}] == -1 && ${configure.sdkroot} ne ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # xcrun doesn't like major version only (e.g. macosx11), try to find a full version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set sdks [lsort -command vercmp -decreasing [glob -nocomplain [file rootname ${configure.sdkroot}]*.sdk]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.sdk_version [string map {MacOSX ""} [file rootname [file tail [lindex $sdks 0]]]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "using possibly more specific SDK version: ${configure.sdk_version}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qmake5 Portfile: testing for system-specific SDK:"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[catch {exec -ignorestderr env DEVELOPER_DIR=${configure.developer_dir} /usr/bin/xcrun --sdk macosx${configure.sdk_version} --find ld > /dev/null 2>@1}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qmake5 Portfile: system-specific SDK was not found, looking for generic SDK."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # if no specific sdk found, check for a generic macosx sdk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[catch {exec -ignorestderr env DEVELOPER_DIR=${configure.developer_dir} /usr/bin/xcrun --sdk macosx --find ld > /dev/null 2>@1}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${subport}: no usable SDK can be found"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "no usable SDK can be found"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "${subport}: using generic macosx SDK as macosx${configure.sdk_version} was not found"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.sdk_version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qmake5 Portfile: system-specific SDK was found."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qmake5 Portfile: the final SDK value is: macosx${configure.sdk_version}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # set QT and QMAKE values in a cache file
# previously, they were set using configure.args
# a cache file is used for two reasons
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -126,7 +97,7 @@ pre-configure {
</span> puts ${cache} "}"
}
puts ${cache} "QMAKE_MACOSX_DEPLOYMENT_TARGET=${macosx_deployment_target}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- puts ${cache} "QMAKE_MAC_SDK=macosx${configure.sdk_version}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts ${cache} "QMAKE_MAC_SDK=[qt5pg::qmake_mac_sdk]"
</span>
# https://github.com/qt/qtbase/commit/d64940891dffcb951f4b76426490cbc94fb4aba7
# Enable ccache support if active and available in given qt5 version
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/qt5-1.0.tcl b/_resources/port1.0/group/qt5-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 7270cfe30d7..1548955f53b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/qt5-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/qt5-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -304,4 +304,20 @@ proc qt5pg::check_min_version {} {
</span> }
port::register_callback qt5pg::check_min_version
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# get a valid vallue for Qt variable QMAKE_MAC_SDK_PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc qt5pg::qmake_mac_sdk {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global configure.sdkroot \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.sdk_version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${configure.sdkroot} eq "" || [file tail ${configure.sdkroot}] eq "MacOSX.sdk"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "macosx"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {[string first . ${configure.sdk_version}] == -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set sdks [lsort -command vercmp -decreasing [glob -nocomplain [file rootname ${configure.sdkroot}]*.sdk]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set best_sdk_version [string map {MacOSX ""} [file rootname [file tail [lindex $sdks 0]]]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return macosx${best_sdk_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return macosx${configure.sdk_version}
</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> unset private_building_qt5
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt511/Portfile b/aqua/qt511/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 84a313bedce..00c5d2bf0c3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt511/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt511/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -984,41 +984,10 @@ foreach {module module_info} [array get modules] {
</span> ${worksrcpath}/mkspecs/common/gcc-base.conf
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # qt calls xcrun to find the SDK to use, so make sure this call will succeed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qt511 Portfile: the initial SDK value is: macosx${configure.sdk_version}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # first try for a system-specific SDK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[string first . ${configure.sdk_version}] == -1 && ${configure.sdkroot} ne ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # xcrun doesn't like major version only (e.g. macosx11), try to find a full version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set sdks [lsort -command vercmp -decreasing [glob -nocomplain [file rootname ${configure.sdkroot}]*.sdk]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.sdk_version [string map {MacOSX ""} [file rootname [file tail [lindex $sdks 0]]]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "using possibly more specific SDK version: ${configure.sdk_version}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qt511 Portfile: testing for system-specific SDK:"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[catch {exec -ignorestderr env DEVELOPER_DIR=${configure.developer_dir} /usr/bin/xcrun --sdk macosx${configure.sdk_version} --find ld > /dev/null 2>@1}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qt511 Portfile: system-specific SDK was not found, looking for generic SDK."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # if no specific sdk found, check for a generic macosx sdk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[catch {exec -ignorestderr env DEVELOPER_DIR=${configure.developer_dir} /usr/bin/xcrun --sdk macosx --find ld > /dev/null 2>@1}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${subport}: no usable SDK can be found"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "no usable SDK can be found"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "${subport}: using generic macosx SDK as macosx${configure.sdk_version} was not found"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.sdk_version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qt511 Portfile: system-specific SDK was found."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "qt511 Portfile: the final SDK value is: macosx${configure.sdk_version}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # respect configure.sdk_version
post-patch {
reinplace \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "s|__MACPORTS_MAC_SDK__|macosx${configure.sdk_version}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "s|__MACPORTS_MAC_SDK__|[qt5pg::qmake_mac_sdk]|g" \
</span> ${worksrcpath}/mkspecs/common/macx.conf
}
</pre><pre style='margin:0'>
</pre>