<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/3406c5d95e90c6624511a7fd9fee4d88a9d8896c">https://github.com/macports/macports-base/commit/3406c5d95e90c6624511a7fd9fee4d88a9d8896c</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 3406c5d95 Check for known_fail in dependencies too
</span>3406c5d95 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 3406c5d95e90c6624511a7fd9fee4d88a9d8896c
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Thu Sep 22 02:23:59 2022 +1000

<span style='display:block; white-space:pre;color:#404040;'>    Check for known_fail in dependencies too
</span>---
 src/macports1.0/macports.tcl | 26 +++++++++++++++++++++++++-
 src/port/port.tcl            |  3 +++
 2 files changed, 28 insertions(+), 1 deletion(-)

<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 a1c608b0b..ac2ec6569 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;'>@@ -2237,6 +2237,26 @@ proc _mporterrorifconflictsinstalled {mport} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# check if an error should be raised due to known_fail being set in a port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc _mportcheck_known_fail {optionsvar portinfovar} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    upvar $optionsvar options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    upvar $portinfovar portinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {([info exists portinfo(known_fail)] && [string is true -strict $portinfo(known_fail)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            && !([info exists options(ignore_known_fail)] && [string is true -strict $options(ignore_known_fail)])} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[info exists macports::ui_options(questions_yesno)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set retvalue [$macports::ui_options(questions_yesno) "$portinfo(name) is known to fail." "_mportcheck_known_fail" {} {n} 0 "Try to install anyway?"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {$retvalue != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_error "$portinfo(name) is known to fail"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return 1
</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;'>+            ui_error "$portinfo(name) is known to fail"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return 1
</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;'>+    return 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> ### _mportexec is private; may change without notice
 
 proc _mportexec {target mport} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3526,7 +3546,12 @@ proc mportdepends {mport {target {}} {recurseDeps 1} {skipSatisfied 1} {accDeps
</span>         flush stdout
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    array set optionsarray [ditem_key $mport options]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     if {$target in {{} install activate}} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$target eq {} && [_mportcheck_known_fail optionsarray portinfo]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>         if {[catch {_mporterrorifconflictsinstalled $mport}]} {
             return 1
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3537,7 +3562,6 @@ proc mportdepends {mport {target {}} {recurseDeps 1} {skipSatisfied 1} {accDeps
</span> 
     set depPorts {}
     if {[llength $deptypes] > 0} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        array set optionsarray [ditem_key $mport options]
</span>         # avoid propagating requested flag from parent
         unset -nocomplain optionsarray(ports_requested)
         # subport will be different for deps
<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 f7d81a862..1e5eda252 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;'>@@ -4208,6 +4208,9 @@ proc action_target { action portlist opts } {
</span>                     break_softcontinue "$portname is known to fail (use --allow-failing to try to install anyway)" 1 status
                 }
             }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[info exists options(ports_install_allow-failing)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set options(ignore_known_fail) 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>             # mark the port as explicitly requested
             if {![info exists options(ports_install_unrequested)]} {
                 set options(ports_requested) 1
</pre><pre style='margin:0'>

</pre>