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

</pre>
<p><a href="https://github.com/macports/macports-base/commit/5f2e29818d902a88fe26043adcee1c488d42c662">https://github.com/macports/macports-base/commit/5f2e29818d902a88fe26043adcee1c488d42c662</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 5f2e29818 action_notes: use portfile from registry if needed
</span>5f2e29818 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 5f2e29818d902a88fe26043adcee1c488d42c662
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue May 27 23:03:21 2025 +1000

<span style='display:block; white-space:pre;color:#404040;'>    action_notes: use portfile from registry if needed
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/45708
</span>---
 src/port/port.tcl | 46 ++++++++++++++++++++++++++++------------------
 1 file changed, 28 insertions(+), 18 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port/port.tcl b/src/port/port.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index d10962455..50789b095 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2137,18 +2137,8 @@ proc action_notes { action portlist opts } {
</span>     set status 0
     set gvariations [dict create {*}[array get global_variations]]
     foreachport $portlist {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {$porturl eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Look up the port.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[catch {mportlookup $portname} result]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ui_debug $::errorInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                break_softcontinue "The lookup of '$portname' failed: $result" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                1 status
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[llength $result] < 2} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                break_softcontinue "The port '$portname' was not found" 1 status
</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;'>-            # Retrieve the port's URL.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$porturl eq "" && ![catch {mportlookup $portname} result] && $result ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Retrieve the port's URL from the index.
</span>             lassign $result portname portinfo
             set porturl [dict get $portinfo porturl]
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2161,12 +2151,32 @@ proc action_notes { action portlist opts } {
</span>         }
 
         # Open the Portfile associated with this port.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[catch {set mport [mportopen $porturl $options \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                         $merged_variations]} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   result]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_debug $::errorInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            break_softcontinue [concat "The URL '$porturl' could not be" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                       "opened: $result"] 1 status
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$porturl ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[catch {set mport [mportopen $porturl $options \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                             $merged_variations]} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_debug $::errorInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                break_softcontinue [concat "The URL '$porturl' could not be" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           "opened: $result"] 1 status
</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;'>+            # Not in the tree, so try to open a matching port from the registry
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set composite_version [composite_version $portversion $variations]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set regref [registry_installed $portname $composite_version yes yes]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {$regref eq {}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set regrefs [registry_installed $portname $composite_version yes no]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Try to use the latest version installed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set regref [lindex [portlist_sortregrefs $regrefs] end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {$regref eq {}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set maybe_vers [expr {$composite_version ne "" ? " @$composite_version" : ""}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    break_softcontinue "The port '$portname${maybe_vers}' could not be found." 1 status
</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;'>+            if {[catch {set mport [mportopen_installed [$regref name] [$regref version] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    [$regref revision] [$regref variants] $options]} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_debug $::errorInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                break_softcontinue "The port '$portname @[$regref version]_[$regref revision][$regref variants]' could not be opened: $result" 1 status
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>         }
         set portinfo [mportinfo $mport]
         mportclose $mport
</pre><pre style='margin:0'>

</pre>