<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>