<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/82c2fc8d6163aedfd6c7e71b89e815fb343ab159">https://github.com/macports/macports-ports/commit/82c2fc8d6163aedfd6c7e71b89e815fb343ab159</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 82c2fc8d6163aedfd6c7e71b89e815fb343ab159
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Tue Mar 23 17:20:58 2021 +0000

<span style='display:block; white-space:pre;color:#404040;'>    bazel PG: Update options to control limits on resource utilisation
</span>---
 _resources/port1.0/group/bazel-1.0.tcl | 50 +++++++++++++++++++++-------------
 1 file changed, 31 insertions(+), 19 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/bazel-1.0.tcl b/_resources/port1.0/group/bazel-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 3dc94f902e2..02fa0a1db41 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/bazel-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/bazel-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,13 +26,16 @@ options bazel.version
</span> default bazel.version "latest"
 
 options bazel.max_idle_secs
<span style='display:block; white-space:pre;background:#ffe0e0;'>-default bazel.max_idle_secs 60
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default bazel.max_idle_secs 30
</span> 
 options bazel.max_cpu_fraction
 default bazel.max_cpu_fraction 0.75
 
 options bazel.max_ram_fraction
<span style='display:block; white-space:pre;background:#ffe0e0;'>-default bazel.max_ram_fraction 0.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default bazel.max_ram_fraction 0.75
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options bazel.limit_build_jobs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default bazel.limit_build_jobs yes
</span> 
 options bazel.extra_build_opts
 default bazel.extra_build_opts ""
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -112,17 +115,18 @@ configure.cmd ./configure
</span> pre-configure {
     # enforce correct build settings
     # note final / is because ${worksrcpath} is a sym-link
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach f [ exec find ${worksrcpath}/ -name "configure" -or -name "configure.py" -or -name "compile.sh" -or -name "*.tpl" -or -name "*.bzl" -or -name "CROSSTOOL" -or -name "configure.py" -or -name "MOCK_CROSSTOOL" ] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach f [ exec find ${worksrcpath}/ -name ".bazelrc" -or -name "configure" -or -name "configure.py" -or -name "compile.sh" -or -name "*.tpl" -or -name "*.bzl" -or -name "CROSSTOOL" -or -name "configure.py" -or -name "MOCK_CROSSTOOL" ] {
</span>         foreach cmd {ar nm strip libtool ld objdump} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            reinplace -q "s|/usr/bin/${cmd}|${prefix}/bin/${cmd}|g" ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace -q "s|/usr/bin/${cmd}|${prefix}/bin/${cmd}|g"    ${f}
</span>         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/clang|\"${configure.cc}\"|g"   ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|\"clang\"|\"${configure.cc}\"|g"        ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s| clang | ${configure.cc} |g"            ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/local/include|${prefix}/include|g" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|std=c++0x|std=c++11|g"                  ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|std=c++1y|std=c++14|g"                  ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|std=c++1z|std=c++17|g"                  ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -q "s|/usr/bin/clang|\"${configure.cc}\"|g"          ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -q "s|\"clang\"|\"${configure.cc}\"|g"               ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -q "s| clang | ${configure.cc} |g"                   ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -q "s|/usr/local/include|${prefix}/include|g"        ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -q "s|std=c++0x|std=c++11|g"                         ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -q "s|std=c++1y|std=c++14|g"                         ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -q "s|std=c++1z|std=c++17|g"                         ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -q "s|define=PREFIX=/usr|define=PREFIX=${prefix}|g"  ${f}
</span>     }
     # If not native build, make sure not used...
     if {![variant_isset native]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -147,12 +151,6 @@ pre-build {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Limit the number of parallel jobs to the number of physical, not logical, cpus.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# First current setting to ensure we would be reducing the current setting.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set physicalcpus [sysctl hw.physicalcpu]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${build.jobs} > ${physicalcpus} } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.jobs ${physicalcpus}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> # Bazel handles parallel builds its own way..
 use_parallel_build no
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -174,9 +172,23 @@ proc bazel::get_cmd {} {
</span> proc bazel::get_opts {} {
     global build.jobs configure.cc configure.cflags configure.cxxflags configure.ldflags
     # Bazel build options
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set bazel_build_opts "-s -c opt --verbose_failures --config=opt"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set bazel_build_opts "-s -c opt --verbose_failures --config=opt --nouse_action_cache"
</span>     # Limit bazel resource utilisation
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set bazel_build_opts "${bazel_build_opts} --nouse_action_cache --jobs ${build.jobs} --local_ram_resources=HOST_RAM*[option bazel.max_ram_fraction] --local_cpu_resources=HOST_CPUS*[option bazel.max_cpu_fraction]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [option bazel.limit_build_jobs] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Limit the number of parallel jobs to the number of physical, not logical, cpus.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # First current setting to ensure we would be reducing the current setting.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set physicalcpus [sysctl hw.physicalcpu]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { ${build.jobs} > ${physicalcpus} } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.jobs ${physicalcpus}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set bazel_build_opts "${bazel_build_opts} --jobs ${build.jobs}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [option bazel.max_ram_fraction] > 0 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set bazel_build_opts "${bazel_build_opts} --local_ram_resources=HOST_RAM*[option bazel.max_ram_fraction]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [option bazel.max_cpu_fraction] > 0 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set bazel_build_opts "${bazel_build_opts} --local_cpu_resources=HOST_CPUS*[option bazel.max_cpu_fraction]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     # Extra user defined build options
     set bazel_build_opts "${bazel_build_opts} [option bazel.extra_build_opts]"
     # hack to try and transfer MP c, c++ and ld options to bazel...
</pre><pre style='margin:0'>

</pre>