<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/1047d804aa5f1d328bd0e4afac920a224dd07fc4">https://github.com/macports/macports-base/commit/1047d804aa5f1d328bd0e4afac920a224dd07fc4</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 1047d804aa5f1d328bd0e4afac920a224dd07fc4
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Feb 6 14:49:57 2024 +1100
<span style='display:block; white-space:pre;color:#404040;'> Adopt dict in action_target
</span>---
src/port/port.tcl | 37 +++++++++++++------------------------
1 file changed, 13 insertions(+), 24 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 d975fb6ff..9940533cf 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;'>@@ -3782,7 +3782,6 @@ proc action_sync { action portlist opts } {
</span>
proc action_target { action portlist opts } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global global_variations
</span> set status 0
if {[require_portlist portlist]} {
return 1
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3791,7 +3790,6 @@ proc action_target { action portlist opts } {
</span> return 1
}
foreachport $portlist {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- array unset portinfo
</span> # If we have a url, use that, since it's most specific
# otherwise try to map the portname to a url
if {$porturl eq ""} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3809,8 +3807,8 @@ proc action_target { action portlist opts } {
</span> break_softcontinue "Port $portname not found" 1 status
}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- array set portinfo [lindex $res 1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set porturl $portinfo(porturl)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lassign $res portname portinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set porturl [dict get $portinfo porturl]
</span> }
# If version was specified, it can be a version glob for use
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3819,9 +3817,9 @@ proc action_target { action portlist opts } {
</span> if {[string length $portversion]} {
if {$action eq "clean"} {
dict set options ports_version_glob $portversion
<span style='display:block; white-space:pre;background:#ffe0e0;'>- } elseif {[dict exists $portmetadata explicit_version] && [info exists portinfo(version)] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && $portversion ne "$portinfo(version)_$portinfo(revision)" && $portversion ne $portinfo(version)} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break_softcontinue "$portname version $portversion is not available (current version is $portinfo(version)_$portinfo(revision))" 1 status
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {[dict exists $portmetadata explicit_version] && [dict exists $portinfo version] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && $portversion ne "[dict get $portinfo version]_[dict get $portinfo revision]" && $portversion ne [dict get $portinfo version]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break_softcontinue "$portname version $portversion is not available (current version is [dict get $portinfo version]_[dict get $portinfo revision])" 1 status
</span> }
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3832,27 +3830,22 @@ proc action_target { action portlist opts } {
</span>
# Add any global_variations to the variations
# specified for the port
<span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach { variation value } [array get global_variations] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![dict exists $requested_variations $variation]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dict set requested_variations $variation $value
</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:#e0ffe0;'>+ set requested_variations [dict merge [array get ::global_variations] $requested_variations]
</span>
if {$action eq "install"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[info exists portinfo(replaced_by)] && ![dict exists $options ports_install_no-replace]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_notice "$portname is replaced by $portinfo(replaced_by)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set portname $portinfo(replaced_by)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- array unset portinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[dict exists $portinfo replaced_by] && ![dict exists $options ports_install_no-replace]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_notice "$portname is replaced by [dict get $portinfo replaced_by]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set portname [dict get $portinfo replaced_by]
</span> if {[catch {mportlookup $portname} result]} {
ui_debug $::errorInfo
break_softcontinue "lookup of portname $portname failed: $result" 1 status
} elseif {[llength $result] < 2} {
break_softcontinue "Port $portname not found" 1 status
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- array set portinfo [lindex $result 1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set porturl $portinfo(porturl)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lassign $result portname portinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set porturl [dict get $portinfo porturl]
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[info exists portinfo(known_fail)] && [string is true -strict $portinfo(known_fail)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[dict exists $portinfo known_fail] && [string is true -strict [dict get $portinfo known_fail]]
</span> && ![dict exists $options ports_install_allow-failing]} {
if {[info exists macports::ui_options(questions_yesno)]} {
set retvalue [$macports::ui_options(questions_yesno) "$portname is known to fail." "KnownFail" {} {n} 0 "Try to install anyway?"]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3878,11 +3871,7 @@ proc action_target { action portlist opts } {
</span> set target $action
}
if {![dict exists $options subport]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[info exists portinfo(name)]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dict set options subport $portinfo(name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dict set options subport $portname
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dict set options subport $portname
</span> }
if {[catch {set workername [mportopen $porturl $options $requested_variations]} result]} {
ui_debug $::errorInfo
</pre><pre style='margin:0'>
</pre>