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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d0ce9d72a935ad51004fa3183230e11409b08656">https://github.com/macports/macports-ports/commit/d0ce9d72a935ad51004fa3183230e11409b08656</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 d0ce9d72a93 mpi pg: don't depend on nonexistent ports
</span>d0ce9d72a93 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d0ce9d72a935ad51004fa3183230e11409b08656
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Jan 8 10:23:31 2022 +1100

<span style='display:block; white-space:pre;color:#404040;'>    mpi pg: don't depend on nonexistent ports
</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/63091
</span>---
 _resources/port1.0/group/mpi-1.0.tcl | 64 +++++++++++++++++++++---------------
 1 file changed, 37 insertions(+), 27 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/mpi-1.0.tcl b/_resources/port1.0/group/mpi-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 939bcfa70f1..91086512e0c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/mpi-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/mpi-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -65,7 +65,11 @@ proc mpi.get_default_mpi_compiler {} {
</span>     } else {
         # macports compiler is being used, so use the corresponding MPI port
         set mpiver [join [split ${ver} "."] ""]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        return "${type}${mpiver} ${type}${mpiver}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {"-${type}${mpiver}" ni ${::mpi.disabled_compilers}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return "${type}${mpiver} ${type}${mpiver}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -98,29 +102,35 @@ proc mpi.setup_variants {variants} {
</span>                     configure.cxx_stdlib macports-libstdc++
                 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                set path \"etc/select/mpi/${variant}-\${p_name}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {\$p_name eq {}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        error \"No supported MPI compiler\"
</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;'>+                    set path \"etc/select/mpi/${variant}-\${p_name}\"
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {\$f_name ne {}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set path \"\$path-fortran\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {\$f_name ne {}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set path \"\$path-fortran\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                depends_lib-append path:\$path:$mpidb($variant,name)-\$d_name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set mpi.name $mpidb($variant,name)-\$d_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    depends_lib-append path:\$path:$mpidb($variant,name)-\$d_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set mpi.name $mpidb($variant,name)-\$d_name
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                foreach compiler {cc cxx f77 f90 exec} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set mpi.\$compiler mpi\${compiler}-$mpidb($variant,name)-\$p_name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set mpi.fc mpif90-$mpidb($variant,name)-\$p_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    foreach compiler {cc cxx f77 f90 exec} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set mpi.\$compiler mpi\${compiler}-$mpidb($variant,name)-\$p_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set mpi.fc mpif90-$mpidb($variant,name)-\$p_name
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                # there is no mpicpp or mpiobj
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                # if more compilers are added in compilers portgroup, need to be added here
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                foreach compiler \${compilers.list} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    if {\$compiler ne \"fc\" && \$compiler ne \"cpp\" && \$compiler ne \"objc\"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        configure.\$compiler \${prefix}/bin/mpi\${compiler}-$mpidb($variant,name)-\$p_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    # there is no mpicpp or mpiobj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    # if more compilers are added in compilers portgroup, need to be added here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    foreach compiler \${compilers.list} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        if {\$compiler ne \"fc\" && \$compiler ne \"cpp\" && \$compiler ne \"objc\"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            configure.\$compiler \${prefix}/bin/mpi\${compiler}-$mpidb($variant,name)-\$p_name
</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;'>+                    if {\"fc\" in \${compilers.list}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set configure.fc \${prefix}/bin/mpif90-$mpidb($variant,name)-\$p_name
</span>                     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {\"fc\" in \${compilers.list}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set configure.fc \${prefix}/bin/mpif90-$mpidb($variant,name)-\$p_name
</span>                 }
 
             "
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -297,15 +307,15 @@ proc mpi.setup {args} {
</span>     if {$cur_variant eq "" && ${mpi.default}} {
         set cur_variant mpich
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set disabled [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set ::mpi.disabled_compilers [list]
</span>     if {$cur_variant ne ""} {
         set is_mpich [expr {$cur_variant in {mpich}}]
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend disabled \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend ::mpi.disabled_compilers \
</span>             -gcc43 -gcc44 -gcc45 -gcc46 -gcc47 -gcc48
 
         # All of the following are now obsolete for openmpi/mpich
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend disabled \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend ::mpi.disabled_compilers \
</span>             -clang33 -clang34 -clang35 -clang37 \
             -clang50 -clang60 -clang70 -clang80 \
             -clangdevel \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -313,7 +323,7 @@ proc mpi.setup {args} {
</span>             -gccdevel
 
         # Disable clang 12/13 unconditionally, as not yet supported for openmpi/mpich
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend disabled \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend ::mpi.disabled_compilers \
</span>             -clang12 \
             -clang13
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -321,22 +331,22 @@ proc mpi.setup {args} {
</span>         # However, gcc9+ subports fail to build on 10.7, for both openmpi and mpich.
         # So only enable for 10.8+.
         if {${os.major} < 12} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend disabled -gcc9 -gcc10 -gcc11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend ::mpi.disabled_compilers -gcc9 -gcc10 -gcc11
</span>         } elseif {$is_mpich} {
             # mpich: gcc11 subport currently disabled across-the-board
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend disabled -gcc11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend ::mpi.disabled_compilers -gcc11
</span>         }
 
         if {${os.arch} eq "arm"} {
             # Disable compilers not well supported on arm. Note: clang 9 and 10
             # build on arm, but are not reliable so skip; use clang 11 instead.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend disabled \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend ::mpi.disabled_compilers \
</span>                 -gcc7 -gcc9 \
                 -clang90 -clang10
         }
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    compilers.setup {*}$cl {*}$disabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compilers.setup {*}$cl {*}${::mpi.disabled_compilers}
</span> 
     # we need to check for a removed variant early so we can exit before
     # the wrong variant is passed up the dependency chain
</pre><pre style='margin:0'>

</pre>