<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/d863a7e471d1afb4e405f5c5fbae470e26486a84">https://github.com/macports/macports-base/commit/d863a7e471d1afb4e405f5c5fbae470e26486a84</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d863a7e471d1afb4e405f5c5fbae470e26486a84
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Sep 20 15:34:39 2022 +1000

<span style='display:block; white-space:pre;color:#404040;'>    Check for known_fail before installing
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/60566
</span>---
 src/port/port.tcl | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 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 9b0c5014c..f7d81a862 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;'>@@ -4183,7 +4183,6 @@ proc action_target { action portlist opts } {
</span>             }
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # if installing, mark the port as explicitly requested
</span>         if {$action eq "install"} {
             if {[info exists portinfo(replaced_by)] && ![info exists options(ports_install_no-replace)]} {
                 ui_notice "$portname is replaced by $portinfo(replaced_by)"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4198,6 +4197,18 @@ proc action_target { action portlist opts } {
</span>                 array set portinfo [lindex $result 1]
                 set porturl $portinfo(porturl)
             }
<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(ports_install_allow-failing)]} {
</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) "$portname is known to fail." "KnownFail" {} {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;'>+                        break_softcontinue "$portname is known to fail" 1 status
</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;'>+                    break_softcontinue "$portname is known to fail (use --allow-failing to try to install anyway)" 1 status
</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;'>+            # mark the port as explicitly requested
</span>             if {![info exists options(ports_install_unrequested)]} {
                 set options(ports_requested) 1
             }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4483,7 +4494,7 @@ array set cmd_opts_array {
</span>     space       {{units 1} total}
     activate    {no-exec}
     deactivate  {no-exec}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    install     {no-replace no-rev-upgrade unrequested}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    install     {allow-failing no-replace no-rev-upgrade unrequested}
</span>     uninstall   {follow-dependents follow-dependencies no-exec}
     variants    {index}
     clean       {all archive dist work logs}
</pre><pre style='margin:0'>

</pre>