<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/026f44fe1a9542af47e084414e1ea5af5f34a941">https://github.com/macports/macports-base/commit/026f44fe1a9542af47e084414e1ea5af5f34a941</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 026f44fe1a9542af47e084414e1ea5af5f34a941
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Nov 1 23:22:39 2023 +1100

<span style='display:block; white-space:pre;color:#404040;'>    _mport_open_with_archcheck: use fixed list of dep types
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    We already know there is a dependency on this port; the important thing
</span><span style='display:block; white-space:pre;color:#404040;'>    is not which dep types the dependent requires, but whether the dep is
</span><span style='display:block; white-space:pre;color:#404040;'>    one of the types that needs arch checking.
</span>---
 src/macports1.0/macports.tcl | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/macports.tcl b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 6facb63ac..aa26832ac 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3954,9 +3954,16 @@ proc macports::_deptypes_for_target {target workername} {
</span>     return {}
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# All valid depends_* options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set macports::all_dep_types [list depends_fetch depends_extract depends_patch depends_build depends_lib depends_run depends_test]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Which depends_* types need to have matching archs when installing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set macports::archcheck_install_dep_types [list depends_build depends_lib depends_run]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Which depends_* types need to have matching archs if used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set macports::archcheck_dep_types [list {*}${macports::archcheck_install_dep_types} depends_test]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Return true if the given dependency type needs to have matching archs
 proc macports::_deptype_needs_archcheck {deptype} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    return [expr {$deptype ni [list depends_fetch depends_extract depends_patch]}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return [expr {$deptype in ${macports::archcheck_dep_types}}]
</span> }
 
 # selfupdate procedure
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4625,12 +4632,10 @@ proc macports::_mport_open_with_archcheck {porturl depspec dependent_mport optio
</span>         return $mport
     }
     # Check if the dependent used a dep type that needs matching archs
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set dependent_workername [ditem_key $dependent_mport workername]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set dtypes [_deptypes_for_target install $dependent_workername]
</span>     array set dependent_portinfo [mportinfo $dependent_mport]
     set archcheck_needed 0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach dtype $dtypes {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[_deptype_needs_archcheck $dtype] && [info exists dependent_portinfo($dtype)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach dtype ${macports::archcheck_install_dep_types} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[info exists dependent_portinfo($dtype)]
</span>              && [lsearch -exact -nocase $dependent_portinfo($dtype) $depspec] >= 0} {
             set archcheck_needed 1
             break
</pre><pre style='margin:0'>

</pre>