<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/6d243211b919532b78f35e2dfa63e410bf8d5a6f">https://github.com/macports/macports-ports/commit/6d243211b919532b78f35e2dfa63e410bf8d5a6f</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 6d24321  godot: clean up variant setting code
</span>6d24321 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 6d243211b919532b78f35e2dfa63e410bf8d5a6f
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Sun May 17 13:23:10 2020 +0100

<span style='display:block; white-space:pre;color:#404040;'>    godot: clean up variant setting code
</span>---
 games/godot/Portfile | 75 ++++++++++++++++++----------------------------------
 1 file changed, 25 insertions(+), 50 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/games/godot/Portfile b/games/godot/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2ff67e6..52b62e7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/games/godot/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/games/godot/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -67,77 +67,52 @@ livecheck.regex     Godot <em>(\\d+\\.\\d+(?:\\.\\d+)*)</em>
</span> ### The following code was adapted from the portfiles
 ### of ports such as openvdb and openimageio
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set clang_suffixes {5 6 7 8 9}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Get major version from version string
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc get_major {version} { return [lindex [split ${version} .] 0] }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clang_versions {5.0 6.0 7.0 8.0 9.0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clang_variants {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v ${clang_versions} { lappend clang_variants clang[get_major ${v}] }
</span> 
 # this default version should stay synchronized with
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#    the default macports_clang option in the SConstruct
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#    file that is part of the Godot source code
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the default macports_clang option in the SConstruct
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# file that is part of the Godot source code
</span> set sconstruct_default_mp_clang 5
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set clang_ports {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach s ${clang_suffixes} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend clang_ports clang${s}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # error: invalid value 'gnu++14' in '-std=gnu++14'
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# On older OSX versions use (latest) clang variant by default
</span> if { ${os.major} <= 13 } {
     set has_clang_variant no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach s ${clang_suffixes} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if { [variant_isset clang${s}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach v ${clang_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { [variant_isset clang[get_major ${v}] ] } {
</span>             set has_clang_variant yes
         }
     }
     if { !${has_clang_variant} } {
         # Use most recent clang by default
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        default_variants-append +clang[lindex ${clang_suffixes} end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        default_variants-append +clang[get_major [lindex ${clang_versions} end] ]
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach s ${clang_suffixes} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    global use_xcode sconstruct_default_mp_clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set p clang${s}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${s} < 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set v ${s}.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set v ${s}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set i [lsearch -exact ${clang_ports} ${p}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set c [lreplace ${clang_ports} ${i} ${i}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant ${p} conflicts {*}${c} description "Build using the MacPorts Clang ${v} compiler" {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { [variant_isset ${p}] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set selected_clang_v ${v}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set selected_clang_s ${s}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set selected_clang_p ${p}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Configure the variants
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach clang_ver ${clang_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set clang_ver_major [get_major ${clang_ver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set i [lsearch -exact ${clang_variants} clang${clang_ver_major}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set c [lreplace ${clang_variants} ${i} ${i}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant clang${clang_ver_major} conflicts {*}${c} description {Build using MacPorts Clang ${clang_ver}} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [variant_isset clang${clang_ver_major}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set selected_clang_v    ${clang_ver}
</span>         depends_build-append    port:clang-${selected_clang_v}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>         compiler.whitelist      macports-clang-${selected_clang_v}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.args-append       macports_clang=${selected_clang_v}
</span>         post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${selected_clang_s} != ${sconstruct_default_mp_clang}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if { [get_major ${selected_clang_v}] != ${sconstruct_default_mp_clang}} {
</span>                 reinplace s|${sconstruct_default_mp_clang}\.0|${selected_clang_v}|g \
                     ${worksrcpath}/SConstruct
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # References:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # * https://trac.macports.org/ticket/58770
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # * https://trac.macports.org/ticket/58779#comment:28
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_warn "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-****
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-**** Installing port ${name} with variant +${selected_clang_p} uses
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-**** MacPorts Clang instead of Xcode Clang. It also
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-**** circumvents the Xcode toolchain, which means that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-**** if you attempt to perform a build using trace mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-**** (port -t install ${name} +${selected_clang_p}), the build will
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-**** fail!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-****
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-**** If you are not using trace mode, you can safely
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-**** ignore this message.
</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;'>-        build.args-append   macports_clang=${selected_clang_v}
</span>     }
 }
</pre><pre style='margin:0'>

</pre>