<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository mpbb.

</pre>
<p><a href="https://github.com/macports/mpbb/commit/d3945d88ed5516ce09c6f54698b1fc8c09b53a60">https://github.com/macports/mpbb/commit/d3945d88ed5516ce09c6f54698b1fc8c09b53a60</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d3945d88ed5516ce09c6f54698b1fc8c09b53a60
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sun Jan 2 20:34:18 2022 +1100

<span style='display:block; white-space:pre;color:#404040;'>    dependencies.tcl: skip deps for archive installs
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    They're not being activated yet, so calling mportexec is just doing
</span><span style='display:block; white-space:pre;color:#404040;'>    unnecessary work. Just run the install target directly.
</span>---
 tools/dependencies.tcl | 58 ++++++++++++++++++++++++++++++--------------------
 1 file changed, 35 insertions(+), 23 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tools/dependencies.tcl b/tools/dependencies.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 8eafba3..013a7a0 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tools/dependencies.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tools/dependencies.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -388,10 +388,10 @@ proc install_dep {ditem} {
</span>         puts $::log_status_dependencies {[OK]}
         return 0
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    set fail 0
</span>     set workername [ditem_key $ditem workername]
     if {[$workername eval [list _archive_available]]} {
         # First fetch the archive
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set fail 0
</span>         if {[catch {mportexec $ditem archivefetch} result]} {
             puts stderr $::errorInfo
             ui_error "Archivefetch failed: $result"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -403,15 +403,25 @@ proc install_dep {ditem} {
</span>             puts $::log_subports_progress "Building '$::portname' ... \[ERROR\] (failed to archivefetch dependency '$depinfo(name)')."
             exit 1
         }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Now install it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[catch {$workername eval [list eval_targets install]} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts stderr $::errorInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "Install failed: $result"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set fail 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$fail || $result > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts stderr "Installing from archive for dependency '$depinfo(name)' with variants '$depinfo(canonical_active_variants)' failed, aborting."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts $::log_status_dependencies {[FAIL]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts $::log_subports_progress "Building '$::portname' ... \[ERROR\] (failed to install dependency '$depinfo(name)')."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            exit 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # No archive. This should be rare, but can happen in some cases. Will build from source.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set ::any_built 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Deactivate ports not needed for this build so they don't interfere
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        deactivate_unneeded depinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # No archive. This should be rare, but can happen in some
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # cases. Will build from source.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>         # Fetch and checksum the distfiles
         # (Bad things happen if you run fetch and checksum separately on the same mport, because
         # init functions get called twice and add duplicate distfiles. Yes, that's a bug.)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set fail 0
</span>         if {[catch {mportexec $ditem checksum} result]} {
             puts stderr $::errorInfo
             ui_error "Checksum failed: $result"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -423,25 +433,26 @@ proc install_dep {ditem} {
</span>             puts $::log_subports_progress "Building '$::portname' ... \[ERROR\] (failed to fetch dependency '$depinfo(name)') maintainers: [get_maintainers $::portname $depinfo(name)]."
             exit 1
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Now install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[catch {mportexec $ditem install} result]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        puts stderr $::errorInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_error "Install failed: $result"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set fail 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {$fail || $result > 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        puts stderr "Build of dependency '$depinfo(name)' with variants '$depinfo(canonical_active_variants)' failed, aborting."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        puts $::log_status_dependencies {[FAIL]}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        puts $::log_subports_progress "Building '$::portname' ... \[ERROR\] (failed to install dependency '$depinfo(name)') maintainers: [get_maintainers $::portname $depinfo(name)]."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Deactivate ports not needed for this build so they don't interfere
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        deactivate_unneeded depinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Now install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[catch {mportexec $ditem install} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts stderr $::errorInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "Install failed: $result"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set fail 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$fail || $result > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts stderr "Build of dependency '$depinfo(name)' with variants '$depinfo(canonical_active_variants)' failed, aborting."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts $::log_status_dependencies {[FAIL]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts $::log_subports_progress "Building '$::portname' ... \[ERROR\] (failed to install dependency '$depinfo(name)') maintainers: [get_maintainers $::portname $depinfo(name)]."
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {$::failcache_dir ne ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            failcache_update $depinfo(name) [ditem_key $ditem porturl] $depinfo(canonical_active_variants) 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {$::failcache_dir ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                failcache_update $depinfo(name) [ditem_key $ditem porturl] $depinfo(canonical_active_variants) 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            exit 1
</span>         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        exit 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        puts $::log_status_dependencies {[OK]}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Clear any failcache entry
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set ::any_built 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Success. Clear any failcache entry.
</span>         if {$::failcache_dir ne ""} {
             failcache_update $depinfo(name) [ditem_key $ditem porturl] $depinfo(canonical_active_variants) 0
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -459,6 +470,7 @@ proc install_dep {ditem} {
</span>             }
         }
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts $::log_status_dependencies {[OK]}
</span> }
 
 # Show all output for anything that gets installed
</pre><pre style='margin:0'>

</pre>