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

</pre>
<p><a href="https://github.com/macports/macports-contrib/commit/b8644b0bdf55493def333eed5d163db2f5b4c878">https://github.com/macports/macports-contrib/commit/b8644b0bdf55493def333eed5d163db2f5b4c878</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit b8644b0bdf55493def333eed5d163db2f5b4c878
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon May 17 13:52:21 2021 +1000

<span style='display:block; white-space:pre;color:#404040;'>    restore_ports.tcl: handle MacPorts 2.7 output
</span>---
 restore_ports/restore_ports.tcl | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/restore_ports/restore_ports.tcl b/restore_ports/restore_ports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index f5d0514..37a6e1f 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/restore_ports/restore_ports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/restore_ports/restore_ports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,13 +55,24 @@ proc sort_ports {portList} {
</span>     array set port_in_list {}
 
     set newList [list]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    set search_str requested_variants='
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set search_str_len [string length $search_str]
</span>     foreach port $portList {
         set name [lindex $port 0]
         #ui_msg "name = $name"
         set version [lindex $port 1]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        set remaining [lrange $port 2 end]
</span>         set variants ""
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[regexp {^@([^+]+?)(_(\d+)(([-+][^-+]+)*))?$} $version - - - - variantstr] && [info exists variantstr]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set match 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set index [lsearch $remaining ${search_str}*]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$index >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set variantstr [string range [lindex $remaining $index] $search_str_len end-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set match 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set match [regexp {^@([^+]+?)(_(\d+)(([-+][^-+]+)*))?$} $version - - - - variantstr]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$match && [info exists variantstr]} {
</span>             while 1 {
                 set nextplus [string last + $variantstr]
                 set nextminus [string last - $variantstr]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -82,7 +93,7 @@ proc sort_ports {portList} {
</span>         }
         #ui_msg "variants = $variants"
         set active 0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[llength $port] > 2 && [lindex $port 2] == "(active)"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[llength $remaining] > 0 && [lindex $remaining 0] == "(active)"} {
</span>             set active 1
         }
         #ui_msg "active = $active"
</pre><pre style='margin:0'>

</pre>