<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/410d5289b6b53d091467b11f63122b4780189a14">https://github.com/macports/macports-ports/commit/410d5289b6b53d091467b11f63122b4780189a14</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 410d5289b6b53d091467b11f63122b4780189a14
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Fri Feb 23 17:35:05 2024 +1100

<span style='display:block; white-space:pre;color:#404040;'>    compiler_blacklist_versions portgroup improvements
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Simplify code and make more efficient. Update mailing list URL.
</span>---
 .../group/compiler_blacklist_versions-1.0.tcl      | 25 ++++++----------------
 1 file changed, 7 insertions(+), 18 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/compiler_blacklist_versions-1.0.tcl b/_resources/port1.0/group/compiler_blacklist_versions-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index c799a064070..3f0f9c94b21 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/compiler_blacklist_versions-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/compiler_blacklist_versions-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,14 +30,14 @@
</span> # compiler.blacklist-delete clang
 #
 # This PortGroup was created following this discussion:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://lists.macosforge.org/pipermail/macports-dev/2012-November/021103.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://lists.macports.org/pipermail/macports-dev/2012-November/021103.html
</span> 
 option_proc compiler.blacklist compiler_blacklist_versions._set_compiler_blacklist
 
 proc compiler_blacklist_versions._set_compiler_blacklist {option action args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global os.platform
</span>     if {${action} ne "set"} return
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach blacklist [option ${option}] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global os.platform compiler.blacklist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach blacklist ${compiler.blacklist} {
</span>         if {[llength ${blacklist}] > 1} {
             compiler.blacklist-delete ${blacklist}
             if {${os.platform} ne "darwin"} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,7 +46,7 @@ proc compiler_blacklist_versions._set_compiler_blacklist {option action args} {
</span>             set compiler [lindex ${blacklist} 0]
             set comparisons [lrange ${blacklist} 1 end]
             set compiler_version [compiler.command_line_tools_version ${compiler}]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[compiler_blacklist_versions._matches_all_versions ${compiler} ${comparisons}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${compiler_version} eq "" || [compiler_blacklist_versions._matches_all_versions ${compiler_version} ${comparisons}]} {
</span>                 if {${compiler_version} eq ""} {
                     ui_debug "compiler ${compiler} blacklisted because it's not installed or it doesn't work"
                 } else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,25 +60,14 @@ proc compiler_blacklist_versions._set_compiler_blacklist {option action args} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-proc compiler_blacklist_versions._matches_all_versions {compiler comparisons} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc compiler_blacklist_versions._matches_all_versions {compiler_version comparisons} {
</span>     if {[llength ${comparisons}] % 2} {
         return -code error "invalid/incomplete comparison specification \"${comparisons}\""
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    while {[llength ${comparisons}] > 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set comparison_operator [lindex ${comparisons} 0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set test_version [lindex ${comparisons} 1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![compiler_blacklist_versions._version_matches ${compiler} ${comparison_operator} ${test_version}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach {comparison_operator test_version} ${comparisons} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![vercmp ${compiler_version} ${comparison_operator} ${test_version}]} {
</span>             return 0
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set comparisons [lrange ${comparisons} 2 end]
</span>     }
     return 1
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-proc compiler_blacklist_versions._version_matches {compiler comparison_operator test_version} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set actual_version [compiler.command_line_tools_version ${compiler}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${actual_version} eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    return [vercmp ${actual_version} ${comparison_operator} ${test_version}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span></pre><pre style='margin:0'>

</pre>