<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f51f2b692c0ba082fad67325a00d3a28eca26d14">https://github.com/macports/macports-ports/commit/f51f2b692c0ba082fad67325a00d3a28eca26d14</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 f51f2b692c0 openmpi/mpich: refactor shared dependencies to pg mpiutil
</span>f51f2b692c0 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit f51f2b692c0ba082fad67325a00d3a28eca26d14
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Sun May 23 11:10:36 2021 -0400

<span style='display:block; white-space:pre;color:#404040;'>    openmpi/mpich: refactor shared dependencies to pg mpiutil
</span>---
 _resources/port1.0/group/mpiutil-1.0.tcl | 64 ++++++++++++++++++++++++++------
 science/mpich/Portfile                   | 41 +++++++++-----------
 science/openmpi/Portfile                 | 43 +++++++++------------
 3 files changed, 87 insertions(+), 61 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/mpiutil-1.0.tcl b/_resources/port1.0/group/mpiutil-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 83304237572..b9350949b75 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/mpiutil-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/mpiutil-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,7 +28,7 @@ proc mpiutil_add_subport {name subport key} {
</span>     subport ${name}-devel-${key} {
         PortGroup  obsolete 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set msg    "Devel subports no longer supported"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set msg    "${subport}: Devel subports no longer supported"
</span>         known_fail yes
         distfiles
         pre-fetch {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,22 +91,56 @@ proc mpiutil_validate_subport {name subport cname clist clist_unsupported clist_
</span>     return ${subport_enabled}
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+proc mpiutil_add_depends {subport cname} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpiutil_add_depends_build \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpiutil_add_depends_lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpiutil_add_depends_run \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc mpiutil_add_depends_build {subport cname} {
     global os.major
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    set add_clang90 no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     if {${os.major} <= 12} {
         # For gcc builds on MacOS 10.8 and earlier, add clang-90 as a build
         # dependency. This provides a modern version of 'as', allowing the port
         # to build successfully.
         if {[string match "gcc*" ${cname}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_debug "mpiutil_add_depends_build: adding clang90 build dependency for gcc build"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                port:clang-9.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set add_clang90 yes
</span>         }
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${add_clang90}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "mpiutil_add_depends_build: ${subport}: adding clang90 build dependency for gcc build"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            port:clang-9.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "mpiutil_add_depends_build: ${subport}: non-gcc build, nothing to do"
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc mpiutil_add_depends_lib {subport cname} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpiutil_add_depends_lib_general \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpiutil_add_depends_lib_compilers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${subport} ${cname}
</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;'>+proc mpiutil_add_depends_lib_general {subport cname} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "mpiutil_add_depends_lib_general: ${subport}: adding hwloc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:hwloc
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-proc mpiutil_add_compiler_depends_lib {subport cname} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc mpiutil_add_depends_lib_compilers {subport cname} {
</span>     set cport_name ""
 
     # As we are making wrappers, we depend on the compilers to exist.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -123,31 +157,37 @@ proc mpiutil_add_compiler_depends_lib {subport cname} {
</span>     }
 
     if {${cport_name} ne ""} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_debug "mpiutil_add_compiler_depends_lib: Adding compiler to depends_lib: ${cport_name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "mpiutil_add_depends_lib_compilers: ${subport}: Adding compiler to depends_lib: ${cport_name}"
</span>         depends_lib-append      port:${cport_name}
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_debug "mpiutil_add_compiler_depends_lib: Not adding compiler to depends_lib; cname: ${cname}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "mpiutil_add_depends_lib_compilers: ${subport}: Not adding compiler to depends_lib; cname: ${cname}"
</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;'>+proc mpiutil_add_depends_run {subport cname} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "mpiutil_add_depends_run: ${subport}: adding mpi_select and mpi-doc"
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    return 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:mpi_select \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:mpi-doc
</span> }
 
 proc mpiutil_set_binary_eligibility {subport cname} {
     if {[lsearch -exact {mp llvm clang} ${cname}] != -1} {
         # Force local builds with Xcode-provided compilers (avoid issues with
         # different Xcode versions on buildbot and user machines)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_debug "mpiutil_set_binary_eligibility: Disabling binary use for subport: ${subport}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "mpiutil_set_binary_eligibility: ${subport}: Disabling binary use"
</span>         archive_sites
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_debug "mpiutil_set_binary_eligibility: Not disabling binary use for subport: ${subport}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "mpiutil_set_binary_eligibility: ${subport}: Not disabling binary use"
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    return 0
</span> }
 
 proc mpiutil_add_notes {name subport cname select_file} {
     global prefix
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "mpiutil_add_notes: ${subport}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     notes-append "
 The mpicc wrapper (and friends) are installed as:
   ${prefix}/bin/mpicc-${name}-${cname} (likewise mpicxx, ...)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/mpich/Portfile b/science/mpich/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b09a4cfd31c..3c71e9b7e20 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/mpich/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/mpich/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -139,6 +139,17 @@ if {${subport_enabled}} {
</span>         set cname "mp"
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Add various dependencies: build, lib, and run
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpiutil_add_depends \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Determine whether buildbot binaries should be used, and disable if necessary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpiutil_set_binary_eligibility \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append        port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append          port:libxml2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     if {${cname} eq "mp"} {
         if {${os.major} == 10} {
             # Make every attempt to avoid MacPorts compilers on 10.6
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -177,24 +188,6 @@ if {${subport_enabled}} {
</span>     configure.cppflags-delete   -I${prefix}/include
     configure.ldflags-delete    -L${prefix}/lib
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Add any additional build dependencies, if necessary, for platform
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    mpiutil_add_depends_build \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # As we are making wrappers, we depend on the compilers to exist.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Add them to depends_lib, not just depends_build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    mpiutil_add_compiler_depends_lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Determine whether buildbot binaries should be used, and disable if necessary
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    mpiutil_set_binary_eligibility \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append        port:pkgconfig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append          port:libxml2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                port:hwloc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_run-append          port:mpi_select \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                port:mpi-doc
</span>     select.group                mpi
     select.file                 ${filespath}/portselect/${name}-${cname}
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -210,11 +203,11 @@ if {${subport_enabled}} {
</span>         configure.compiler      [lindex ${compiler} 0]
         unset compiler
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        append long_description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "\\n\\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        long_description-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "\n\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
</span>     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        append long_description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "\\n\\nTHIS SUBPORT WRAPS MACPORTS' DEFAULT COMPILER FOR C/C++"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        long_description-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "\n\nTHIS SUBPORT WRAPS MACPORTS' DEFAULT COMPILER FOR C/C++"
</span>     }
 
     configure.args-append   \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -268,7 +261,7 @@ if {${subport_enabled}} {
</span>     }
 
     if { [string first gcc $cname] == 0 } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        append long_description " AND FORTRAN COMPILERS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        long_description-append "AND FORTRAN COMPILERS"
</span>         configure.args-replace  --disable-fortran \
                                 --enable-fortran
         select.file             ${filespath}/portselect/${name}-${cname}-fortran
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -287,7 +280,7 @@ if {${subport_enabled}} {
</span>         # see https://trac.macports.org/ticket/59185
         configure.cxx_stdlib libstdc++
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        append long_description " (AND THE FORTRAN COMPILER SELECTED BY THE VARIANT, IF ANY)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        long_description-append "(AND THE FORTRAN COMPILER SELECTED BY THE VARIANT, IF ANY)"
</span> 
         compilers.allow_arguments_mismatch yes
         compilers.choose   fc f77 f90
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/openmpi/Portfile b/science/openmpi/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index eef08029cad..235fd424d99 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/openmpi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/openmpi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -137,6 +137,18 @@ if {${subport_enabled}} {
</span>         set cname "mp"
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Add various dependencies: build, lib, and run
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpiutil_add_depends \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Determine whether buildbot binaries should be used, and disable if necessary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpiutil_set_binary_eligibility \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append        port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append          port:libevent \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     pre-extract {
         file mkdir ${workpath}/build
     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -174,25 +186,6 @@ if {${subport_enabled}} {
</span>     build.dir           ${configure.dir}
     destroot.dir        ${build.dir}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Add any additional build dependencies, if necessary, for platform
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    mpiutil_add_depends_build \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # As we are making wrappers, we depend on the compilers to exist.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Add them to depends_lib, not just depends_build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    mpiutil_add_compiler_depends_lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Determine whether buildbot binaries should be used, and disable if necessary
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    mpiutil_set_binary_eligibility \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${subport} ${cname}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append        port:pkgconfig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append          port:hwloc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                port:libevent \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                port:zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_run-append          port:mpi_select \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                port:mpi-doc
</span>     select.group                mpi
     select.file                 ${filespath}/portselect/${name}-${cname}
     livecheck.type              none
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -202,11 +195,11 @@ if {${subport_enabled}} {
</span>         configure.compiler      [lindex ${compiler} 0]
         unset compiler
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        append long_description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "\\n\\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        long_description-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "\n\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
</span>     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        append long_description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "\\n\\nTHIS SUBPORT WRAPS MACPORTS' DEFAULT COMPILER FOR C/C++"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        long_description-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "\n\nTHIS SUBPORT WRAPS MACPORTS' DEFAULT COMPILER FOR C/C++"
</span>     }
 
     configure.args-append   \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -244,7 +237,7 @@ if {${subport_enabled}} {
</span>     }
 
     if { [string first gcc $cname] == 0 } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        append long_description " AND FORTRAN COMPILERS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        long_description-append "AND FORTRAN COMPILERS"
</span>         configure.args-replace  --disable-mpi-fortran \
                                 --enable-mpi-fortran
         select.file             ${filespath}/portselect/${name}-${cname}-fortran
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -255,7 +248,7 @@ if {${subport_enabled}} {
</span>         # see https://trac.macports.org/ticket/59185
         configure.cxx_stdlib libstdc++
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        append long_description " (AND THE FORTRAN COMPILER SELECTED BY THE VARIANT, IF ANY)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        long_description-append "(AND THE FORTRAN COMPILER SELECTED BY THE VARIANT, IF ANY)"
</span> 
         compilers.choose   fc
         compilers.setup    default_fortran
</pre><pre style='margin:0'>

</pre>