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