<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/8f1da40bba32e58f0a26dd3311c9d1542c750199">https://github.com/macports/macports-ports/commit/8f1da40bba32e58f0a26dd3311c9d1542c750199</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 8f1da40  qmake5 PG: use cache file to set qmake variables
</span>8f1da40 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 8f1da40bba32e58f0a26dd3311c9d1542c750199
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Fri Jan 6 13:03:16 2017 -0700

<span style='display:block; white-space:pre;color:#404040;'>    qmake5 PG: use cache file to set qmake variables
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    a cache file is used for two reasons
</span><span style='display:block; white-space:pre;color:#404040;'>    1) a change in Qt 5.7.1  made it more difficult to override sdk variables
</span><span style='display:block; white-space:pre;color:#404040;'>       see https://codereview.qt-project.org/#/c/165499/
</span><span style='display:block; white-space:pre;color:#404040;'>       see https://bugreports.qt.io/browse/QTBUG-56965
</span><span style='display:block; white-space:pre;color:#404040;'>    2) some port (e.g. py-pyqt5 py-qscintilla2) call qmake indirectly and
</span><span style='display:block; white-space:pre;color:#404040;'>       do not pass on the configure.args values
</span>---
 _resources/port1.0/group/qmake5-1.0.tcl | 146 ++++++++++++++------------------
 1 file changed, 64 insertions(+), 82 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 9068d54..7b88448 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;'>@@ -59,70 +59,47 @@ pre-configure {
</span>     #
     # set -arch x86_64 since macx-clang spec file assumes it is the default
     #
<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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        global merger_configure_args
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if { [tbool qt5.add_spec] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [tbool qt5.add_spec] } {
</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;'>+            global merger_configure_args
</span>             lappend merger_configure_args(i386)   -spec ${qt_qmake_spec_32}
             lappend merger_configure_args(x86_64) -spec ${qt_qmake_spec_64}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach arch ${configure.universal_archs} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend merger_configure_args(${arch}) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QT_ARCH=${arch} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QT_TARGET_ARCH=${arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend merger_configure_args(x86_64)  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_CFLAGS+='-arch x86_64'       \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_CXXFLAGS+='-arch x86_64'     \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_LFLAGS+='-arch x86_64'
</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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if { [tbool qt5.add_spec] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span>             configure.args-append -spec ${qt_qmake_spec}
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QT_ARCH=${build_arch} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QT_TARGET_ARCH=${build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if { ${configure.build_arch} eq "x86_64" } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append               \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QMAKE_CFLAGS+="-arch x86_64"    \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QMAKE_CXXFLAGS+="-arch x86_64"  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QMAKE_LFLAGS+="-arch x86_64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span>     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # override QMAKE_MACOSX_DEPLOYMENT_TARGET set in ${prefix}/libexec/qt5/mkspecs/macx-clang/qmake.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # see #50249
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append QMAKE_MACOSX_DEPLOYMENT_TARGET=${macosx_deployment_target}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # respect configure.sdkroot if it exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.sdkroot} ne ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_MAC_SDK=[string tolower [join [lrange [split [lindex [split ${configure.sdkroot} "/"] end] "."] 0 end-1] "."]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # a change in Qt 5.7.1  made it more difficult to override sdk variables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # see https://codereview.qt-project.org/#/c/165499/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # see https://bugreports.qt.io/browse/QTBUG-56965
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # set QT and QMAKE values in a cache file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # previously, they were set using configure.args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # a cache file is used for two reasons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # 1) a change in Qt 5.7.1  made it more difficult to override sdk variables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #    see https://codereview.qt-project.org/#/c/165499/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #    see https://bugreports.qt.io/browse/QTBUG-56965
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # 2) some ports (e.g. py-pyqt5 py-qscintilla2) call qmake indirectly and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #    do not pass on the configure.args values
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #
</span>     set cache [open "${worksrcpath}/.qmake.cache" w 0644]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "if(${qt_qmake_spec_64}) {"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "  QT_ARCH=x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "  QT_TARGET_ARCH=x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "  QMAKE_CFLAGS+=-arch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "  QMAKE_CXXFLAGS+=-arch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "  QMAKE_LFLAGS+=-arch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "} else {"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "  QT_ARCH=i386"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "  QT_TARGET_ARCH=i386"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${cache} "}"
</span>     puts ${cache} "QMAKE_MACOSX_DEPLOYMENT_TARGET=${macosx_deployment_target}"
     if {${configure.sdkroot} ne ""} {
         puts ${cache} \
             QMAKE_MAC_SDK=[string tolower [join [lrange [split [lindex [split ${configure.sdkroot} "/"] end] "."] 0 end-1] "."]]
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    close ${cache}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     # respect configure.compiler but still allow qmake to find correct Xcode clang based on SDK
     if { ${configure.compiler} ne "clang" } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_CXX=${configure.cxx}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} "QMAKE_CC=${configure.cc}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} "QMAKE_CXX=${configure.cxx}"
</span>     }
 
     set qt_version [exec ${prefix}/bin/pkg-config --modversion Qt5Core]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -131,49 +108,32 @@ pre-configure {
</span>         if { ${configure.cxx_stdlib} ne "libc++" } {
             # override C++ flags set in ${prefix}/libexec/qt5/mkspecs/common/clang-mac.conf
             #    so value of ${configure.cxx_stdlib} can always be used
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append                                \
</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=${configure.cxx_stdlib}  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QMAKE_LFLAGS+=-stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${cache} QMAKE_CXXFLAGS-=-stdlib=libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${cache} QMAKE_LFLAGS-=-stdlib=libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${cache} QMAKE_CXXFLAGS+=-stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${cache} QMAKE_LFLAGS+=-stdlib=${configure.cxx_stdlib}
</span>         }
     } elseif { [vercmp ${qt_version} 5.5.0] == 0 } {
 
         # always use the same standard library
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append                                \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_CXXFLAGS+=-stdlib=${configure.cxx_stdlib}  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_LFLAGS+=-stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} QMAKE_CXXFLAGS+=-stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} QMAKE_LFLAGS+=-stdlib=${configure.cxx_stdlib}
</span> 
         # override C++ flags set in ${prefix}/libexec/qt5/mkspecs/common/clang-mac.conf
         #    so value of ${configure.cxx_stdlib} can always be used
         if { ${configure.cxx_stdlib} ne "libc++" } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append                                      \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QMAKE_CXXFLAGS_CXX11-=-stdlib=libc++                   \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QMAKE_LFLAGS_CXX11-=-stdlib=libc++                     \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QMAKE_CXXFLAGS_CXX11+=-stdlib=${configure.cxx_stdlib}  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                QMAKE_LFLAGS_CXX11+=-stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${cache} QMAKE_CXXFLAGS_CXX11-=-stdlib=libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${cache} QMAKE_LFLAGS_CXX11-=-stdlib=libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${cache} QMAKE_CXXFLAGS_CXX11+=-stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${cache} QMAKE_LFLAGS_CXX11+=-stdlib=${configure.cxx_stdlib}
</span>         }
     } else {
         # always use the same standard library
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append                                \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_CXXFLAGS+=-stdlib=${configure.cxx_stdlib}  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            QMAKE_LFLAGS+=-stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# add debug variant if one does not exist and one is requested via qt5.debug_variant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# variant is added in eval_variants so that qt5.debug_variant can be set anywhere in the Portfile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-rename ::eval_variants ::real_qmake5_eval_variants
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-proc eval_variants {variations} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    global qt5.debug_variant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ![variant_exists debug] && [tbool qt5.debug_variant] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        variant debug description {Build both release and debug libraries} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} QMAKE_CXXFLAGS+=-stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} QMAKE_LFLAGS+=-stdlib=${configure.cxx_stdlib}
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    uplevel ::real_qmake5_eval_variants $variations
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# accommodating variant request varies depending on how qtbase was built
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # accommodating variant request varies depending on how qtbase was built
</span>     set base_debug false
     foreach qt_test_name ${available_qt_versions} {
         if { [string range ${qt_test_name} end-3 end] eq "-kde" } {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -205,10 +165,32 @@ pre-configure {
</span> 
     # determine of qmake's default and user requests are compatible; override qmake if necessary
     if { ${this_debug} && !${base_debug}  } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append "QT_CONFIG+=\"debug_and_release build_all debug\" CONFIG+=\"debug\" CONFIG-=\"release\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} "QT_CONFIG+=debug_and_release build_all debug"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} "CONFIG+=debug"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} "CONFIG-=release"
</span>     }
 
     if { !${this_debug} && ${base_debug}  } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append "QT_CONFIG-=\"debug_and_release build_all debug\" CONFIG-=\"debug\" CONFIG+=\"release\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} "QT_CONFIG-=debug_and_release build_all debug"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} "CONFIG-=debug"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        puts ${cache} "CONFIG+=release"
</span>     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    close ${cache}
</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;'>+# add debug variant if one does not exist and one is requested via qt5.debug_variant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# variant is added in eval_variants so that qt5.debug_variant can be set anywhere in the Portfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+rename ::eval_variants ::real_qmake5_eval_variants
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc eval_variants {variations} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global qt5.debug_variant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ![variant_exists debug] && [tbool qt5.debug_variant] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        variant debug description {Build both release and debug libraries} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    uplevel ::real_qmake5_eval_variants $variations
</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;'>+pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> }
</pre><pre style='margin:0'>

</pre>