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