<pre style='margin:0'>
MarcusCalhoun-Lopez pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d1509f4a680e5873f3d5bb80b49ce0813dbf269a">https://github.com/macports/macports-ports/commit/d1509f4a680e5873f3d5bb80b49ce0813dbf269a</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 d1509f4 qt5-1.0.tcl: begin building infrastructure to support different versions of Qt 5
</span>d1509f4 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit d1509f4a680e5873f3d5bb80b49ce0813dbf269a
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Sun Nov 13 15:09:25 2016 -0700
<span style='display:block; white-space:pre;color:#404040;'> qt5-1.0.tcl: begin building infrastructure to support
</span><span style='display:block; white-space:pre;color:#404040;'> different versions of Qt 5
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Qt can make major functionality changes between minor version changes.
</span><span style='display:block; white-space:pre;color:#404040;'> see https://github.com/Homebrew/homebrew-versions/pull/1191
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Qt 5.6 is a long term support release which means MacPorts may
</span><span style='display:block; white-space:pre;color:#404040;'> want to keep it around for a while.
</span><span style='display:block; white-space:pre;color:#404040;'> see https://blog.qt.io/blog/2015/12/18/introducing-long-term-support/
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> If possible, we want to support as many versions of macOS as we can.
</span><span style='display:block; white-space:pre;color:#404040;'> This sometimes means installing an older version of Qt.
</span><span style='display:block; white-space:pre;color:#404040;'> see https://trac.macports.org/ticket/51801
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Finally, Qt requires substantial patches to KDE Frameworks 5, which
</span><span style='display:block; white-space:pre;color:#404040;'> necessitates a separate port.
</span><span style='display:block; white-space:pre;color:#404040;'> see https://trac.macports.org/ticket/48967
</span>---
_resources/port1.0/group/qt5-1.0.tcl | 103 ++++++++++++++++++++++++++++++++---
1 file changed, 94 insertions(+), 9 deletions(-)
<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 e78cd77..8640930 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;'>@@ -35,6 +35,79 @@
</span> # Usage:
# PortGroup qt5 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+global available_qt_versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set available_qt_versions {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ qt5
</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;'>+# standard Qt5 name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+global qt_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ![info exists qt_name] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { ${os.major} <= 7 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Qt 5 does not support ppc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # see http://doc.qt.io/qt-5/osx-requirements.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt_name qt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif { ${os.major} <= 9 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Mac OS X Tiger (10.4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Mac OS X Leopard (10.5)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # never supported by Qt 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt_name qt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif { ${os.major} == 10 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Mac OS X Snow Leopard (10.6)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Qt 5.3: Deployment only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Qt 5.0-5.2: Occasionally tested
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt_name qt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif { ${os.major} == 11 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Mac OS X Lion (10.7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Qt 5.6: Deployment only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Qt 5.5: Occasionally tested
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Qt 5.4: Supported
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt_name qt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif { ${os.major} <= 12 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # OS X Mountain Lion (10.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # OS X Mavericks (10.9)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # OS X Yosemite (10.10)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # OS X El Capitan (10.11)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Qt 5.7: Supported
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Qt 5.6: Supported
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt_name qt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif { ${os.major} <= 16 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # macOS Sierra (10.12)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # as of Qt version 5.7, there is no official support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt_name qt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # macOS ??? (???)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt_name qt5
</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> # Qt has what is calls reference configurations, which are said to be thoroughly tested
# Qt also has configurations which are "occasionally tested" or are "[d]eployment only"
# see http://doc.qt.io/qt-5/supported-platforms.html#reference-configurations
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,19 +115,21 @@ global qt5_min_tested_version
</span> global qt5_max_tested_version
global qt5_min_reference_version
global qt5_max_reference_version
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set qt5_min_tested_version 11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set qt5_max_tested_version 14
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set qt5_min_reference_version 12
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set qt5_max_reference_version 14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see http://doc.qt.io/qt-5/supported-platforms-and-configurations.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+switch ${qt_name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ qt5 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt5_min_tested_version 12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt5_max_tested_version 15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt5_min_reference_version 12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set qt5_max_reference_version 15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
if {[tbool just_want_qt5_version_info]} {
return
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# standard Qt5 name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-global qt_name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set qt_name qt5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # standard install directory
global qt_dir
set qt_dir ${prefix}/libexec/qt5
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -158,6 +233,10 @@ set qt_lupdate_cmd ${qt_dir}/bin/lupdate
</span> global qt_pkg_config_dir
set qt_pkg_config_dir ${qt_libs_dir}/pkgconfig
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[tbool just_want_qt5_variables]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # no universal binary support in Qt 5
# see http://lists.qt-project.org/pipermail/interest/2012-December/005038.html
# and https://bugreports.qt.io/browse/QTBUG-24952
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -213,8 +292,14 @@ if { ${os.major} < ${qt5_min_tested_version} } {
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${qt_name} ne "qt5" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_warn "Qt dependency is not the latest version but may be the latest supported on your OS"
</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> if {![info exists building_qt5]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:qt5-qtbase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append path:lib/pkgconfig/Qt5Core.pc:${qt_name}-qtbase
</span> }
# use PKGCONFIG for Qt discovery in configure scripts
</pre><pre style='margin:0'>
</pre>