From 5da56949b336bca47cc8602f1ec39c88eabc3f9b Mon Sep 17 00:00:00 2001 From: Joshua Root Date: Thu, 10 Jul 2025 17:54:55 +1000 Subject: [PATCH] mpstats: use registry2 API --- sysutils/mpstats/Portfile | 2 +- sysutils/mpstats/files/mpstats.tcl | 41 ++++++++---------------------- 2 files changed, 11 insertions(+), 32 deletions(-) diff --git a/sysutils/mpstats/Portfile b/sysutils/mpstats/Portfile index e35a076063b..fc6d319eeba 100644 --- a/sysutils/mpstats/Portfile +++ b/sysutils/mpstats/Portfile @@ -3,7 +3,7 @@ PortSystem 1.0 name mpstats -version 0.2.1 +version 0.3 categories sysutils macports license BSD platforms {darwin any} diff --git a/sysutils/mpstats/files/mpstats.tcl b/sysutils/mpstats/files/mpstats.tcl index c24aaecfbc9..ca76b57cb94 100755 --- a/sysutils/mpstats/files/mpstats.tcl +++ b/sysutils/mpstats/files/mpstats.tcl @@ -178,39 +178,18 @@ proc json_encode_stats {id os ports} { # The variants value is encoded using \c _variants_to_variations, the version entry has the form # "$version_$revision". proc get_installed_ports {active} { - set ilist {} - if {[catch {set ilist [registry::installed]} result]} { - if {$result ne "Registry error: No ports registered as installed."} { - ui_debug "$::errorInfo" - return -code error "registry::installed failed: $result" - } + if {$active} { + set ilist [registry::entry installed] + } else { + set ilist [registry::entry search state imaged] } - set results {} - foreach i $ilist { - set iactive [lindex $i 4] - - if {(${active} eq "yes") == (${iactive} != 0)} { - set iname [lindex $i 0] - set iversion [lindex $i 1] - set irevision [lindex $i 2] - set ivariants [lindex $i 3] - set iepoch [lindex $i 5] - - set regref [registry::open_entry $iname $iversion $irevision $ivariants $iepoch] - if {[registry::property_retrieve $regref "requested"]} { - set irequested "true" - } else { - set irequested "" - } - - set ivariantdict [macports::_variants_to_variations $ivariants] - - lappend results [list name $iname version "${iversion}_${irevision}" requested $irequested variants $ivariantdict] - } - } - - return $results + return [lmap i $ilist { + list name [$i name] \ + version [$i version]_[$i revision] \ + requested [expr {[$i requested] ? "true" : ""}] \ + variants [macports::_variants_to_variations [$i variants]] + }] } ##