<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/853f6645e607df0420bbda32af4da22ffeb34867">https://github.com/macports/macports-ports/commit/853f6645e607df0420bbda32af4da22ffeb34867</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 853f6645e60 openmpi/mpich: prune target compiler list
</span>853f6645e60 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 853f6645e607df0420bbda32af4da22ffeb34867
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Tue May 18 13:22:00 2021 -0400
<span style='display:block; white-space:pre;color:#404040;'> openmpi/mpich: prune target compiler list
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/62807
</span>---
_resources/port1.0/group/mpi-1.0.tcl | 50 +++----
_resources/port1.0/group/mpiutil-1.0.tcl | 15 ++
science/mpich/Portfile | 241 +++++++++++++++----------------
science/openmpi/Portfile | 207 ++++++++++++--------------
4 files changed, 247 insertions(+), 266 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 abd7631e7c3..9e63e6187b4 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;'>@@ -50,15 +50,10 @@ set mpidb(openmpi,descrip) "OpenMPI"
</span> set mpidb(openmpi,name) openmpi
set mpidb(openmpi,conflict) ""
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# NOTE: Uncomment these if/when we re-enable openmpi-devel-* subports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#set mpidb(openmpi_devel,variant) openmpi_devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#set mpidb(openmpi_devel,descrip) "OpenMPI-devel"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#set mpidb(openmpi_devel,name) openmpi-devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#set mpidb(openmpi_devel,conflict) ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> foreach mpiname [array names mpidb *,variant] {
lappend mpi.variants $mpidb($mpiname)
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+unset mpiname
</span>
proc mpi.get_default_mpi_compiler {} {
# No MPI variant has been selected.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -305,42 +300,35 @@ proc mpi.setup {args} {
</span> set disabled [list]
if {$cur_variant ne ""} {
set is_mpich [expr {$cur_variant in {mpich}}]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend disabled -gcc44 -gcc45 -gcc46 -gcc47 -gcc48
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # gcc 4.x not supported on macOS 10.12 (Darwin16) or newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # clang 3.{3,4} not supported on macOS 10.12 (Darwin16) or newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} >= 16} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend disabled -gcc49
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} >= 16 || $is_mpich} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend disabled -clang33 -clang34
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # clang 3.7,4.0 not supported on macOS 10.14 (Darwin18) or newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} >= 18 || $is_mpich} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend disabled -clang37
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend disabled \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -gcc44 -gcc45 -gcc46 -gcc47 -gcc48
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # All of the following are now obsolete for openmpi/mpich
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend disabled \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -clang33 -clang34 -clang37 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -clang50 -clang60 -clang70 -clang80 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -clangdevel \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -gcc49 -gcc5 -gcc6 -gcc8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -gccdevel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # gcc 9+ only available on OS X 10.7 (Darwin11) and newer
# However, gcc9+ subports fail to build on 10.7, for both openmpi and mpich.
# So only enable for 10.8+.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} <= 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} < 12} {
</span> lappend disabled -gcc9 -gcc10 -gcc11
} elseif {$is_mpich} {
# mpich: gcc11 subport currently disabled across-the-board
lappend disabled -gcc11
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} <= 10 || !$is_mpich} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend disabled -gccdevel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # this should probably be changed in mpich but we have to match it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} <= 10 && $is_mpich} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend disabled -clang60 -clang70 -clang80 -clang90 -clang10 -clang11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span> # Disable compilers not well supported on arm
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Note clang 9.0 and 10 might build on arm but are not reliable so skip, use clang 11 instead
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Note clang 9 and 10 might build on arm but are not reliable so skip;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # use clang 11 instead.
</span> if {${os.arch} eq "arm"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend disabled -gcc5 -gcc6 -gcc7 -gcc8 -gcc9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend disabled -clang60 -clang70 -clang80 -clang90 -clang10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend disabled \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -gcc7 -gcc9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -clang90 -clang10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {${os.major} < 11 && $is_mpich} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend disabled -clang90 -clang10 -clang11
</span> }
}
<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 3a3d70d0f59..f2896179cf1 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;'>@@ -4,6 +4,21 @@
</span> # This PortGroup provides shared logic, and helpers, for our MPI ports.
#==============================================================================
<span style='display:block; white-space:pre;background:#e0ffe0;'>+proc mpiutil_add_subport {name subport key} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subport ${name}-${key} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # TODO: Remove all traces of -devel on or after Janurary 2022
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subport ${name}-devel-${key} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup obsolete 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ known_fail yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error "${subport} is currently broken"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ replaced_by ${name}-${key}
</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> proc mpiutil_add_compiler_depends_lib {cname} {
set cport_name ""
<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 8f42680523c..2f6ae316ea5 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;'>@@ -60,13 +60,6 @@ livecheck.type regex
</span> livecheck.regex {href=.([0-9.p]+)/}
livecheck.url ${homepage}/static/downloads/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string first "-devel" $subport] > 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Delete all traces of -devel Janurary 2022
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PortGroup obsolete 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- replaced_by [regsub -- "-devel" $subport ""]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # As MPICH creates compiler wrappers, there are lots of
# variants for what compiler the user would like to wrap.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -75,109 +68,119 @@ if {[string first "-devel" $subport] > 0} {
</span> # Sub-ports names and corresponding configure.compiler value
array set clist {
clang {clang}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- clang50 {macports-clang-5.0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc5 {macports-gcc-5}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc6 {macports-gcc-6}
</span> gcc7 {macports-gcc-7}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc8 {macports-gcc-8}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clist_unsupported [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clist_obsolete [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO: Remove these obsolete subports on or after January 2022, along with all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# traces of -devel. For the latter, also remember to update proc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 'mpiutil_add_subport', in portgroup 'mpiutil'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lappend clist_obsolete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang50 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang60 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang70 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang80 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc49 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gccdevel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# mpich only compiles with clang90+ on MacOS 10.7 and later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.major} >= 11 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set clist(clang90) {macports-clang-9.0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set clist(clang10) {macports-clang-10}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set clist(clang11) {macports-clang-11}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend clist_unsupported \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang90 clang10 clang11
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# gcc 4.x not supported on mac OS 10.12 (Darwin16) or newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Only provide gcc 4.9, as older versions do not build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(gcc49) {macports-gcc-4.9}
</span> # gcc 9+ only available on macOS10.7 (Darwin11) and newer
# However, gcc9+ builds fail on MacOS 10.7, so only enable for MacOS 10.8+.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(gcc9) {macports-gcc-9}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(gcc10) {macports-gcc-10}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Disable gcc11 for now, as builds fail across-the-board
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#set clist(gcc11) {macports-gcc-11}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(gccdevel) {macports-gcc-devel}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang 6+ only available on macOS10.9 (Darwin13) and newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(clang60) {macports-clang-6.0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(clang70) {macports-clang-7.0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(clang80) {macports-clang-8.0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(clang90) {macports-clang-9.0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(clang10) {macports-clang-10}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clist(clang11) {macports-clang-11}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach key [array name clist] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- subport ${name}-${key} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- subport ${name}-devel-${key} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.arch} eq "arm" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set clist(gcc11) {macports-gcc-11}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend clist_unsupported \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc10 gcc11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif { ${os.major} >= 12 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set clist(gcc9) {macports-gcc-9}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set clist(gcc10) {macports-gcc-10}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set clist(gcc11) {macports-gcc-11}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend clist_unsupported \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc9 gcc10 gcc11
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-subport ${name}-default {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subport ${name}-devel {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subport ${name}-devel-default {}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${name} ne ${subport} && [string first "-devel" $subport] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set key [lindex [split ${subport} -] end]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${key} eq "default"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # make every attempt to avoid MacPorts compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} == 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.cxx_stdlib libstdc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set compiler "default"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set compiler_version [compiler.command_line_tools_version ${configure.compiler}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set compiler [lindex [split $clist($key) -] 1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set compiler_version [lindex [split $clist($key) -] 2]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach key [array names clist] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpiutil_add_subport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name} ${subport} ${key}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach key ${clist_unsupported} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpiutil_add_subport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name} ${subport} ${key}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach key ${clist_obsolete} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpiutil_add_subport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name} ${subport} ${key}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+unset key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mpiutil_add_subport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name} ${subport} "default"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set subport_enabled no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set cname [lindex [split ${subport} -] end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${cname} in ${clist_unsupported}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ known_fail yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error "${subport} is not supported on ${os.platform} ${os.major}"
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${compiler} eq "gcc"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} >= 16 && [vercmp ${compiler_version} 5] < 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # gcc 4.x not supported on mac OS 10.12 (Darwin16) or newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} < 12 && [vercmp ${compiler_version} 9] >= 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} < 10 && [vercmp ${compiler_version} 8] >= 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} < 11 && ${compiler_version} eq "devel" } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} > 19 && [vercmp ${compiler_version} 8] < 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Assume gcc11+ will support arm. To be seen.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${configure.build_arch} eq "arm64" && [vercmp ${compiler_version} 11] < 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ append long_description " Note: ${cname} not supported on ${os.platform} ${os.major}."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${cname} in ${clist_obsolete}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup obsolete 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ known_fail yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error "${subport} is obsolete"
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${compiler} eq "clang"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} < 10 && [vercmp ${compiler_version} 8] >= 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} < 9 && [vercmp ${compiler_version} 5] >= 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} < 11 && [vercmp ${compiler_version} 6] >= 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} > 19 && [vercmp ${compiler_version} 9] < 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${configure.build_arch} eq "arm64" && [vercmp ${compiler_version} 11] < 0 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match "clang*" ${cname}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ replaced_by ${name}-clang90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ replaced_by ${name}-gcc7
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${compiler} eq "default" && ${configure.compiler} eq "clang"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[vercmp 421.11.66 ${compiler_version}] <= 0 && [vercmp ${compiler_version} 425.0.24] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Linker for Apple clang version 421.11.66 segfaults
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # See https://trac.macports.org/ticket/36654#comment:9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ append long_description " Note: ${subport} is obsolete."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {(${subport} ne ${name}) && (${subport} ne "${name}-devel")} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${cname} eq "default"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set cname "mp"
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${fail}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${subport} fails on OS ${os.major} with compiler ${compiler}, version ${compiler_version}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "incompatible macOS version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set subport_enabled yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${cname} eq "mp"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # make every attempt to avoid MacPorts compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} == 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx_stdlib libstdc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${configure.compiler} eq "clang"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set compiler_version [compiler.command_line_tools_version ${configure.compiler}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[vercmp 421.11.66 ${compiler_version}] <= 0 && [vercmp ${compiler_version} 425.0.24] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Linker for Apple clang version 421.11.66 segfaults
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # See https://trac.macports.org/ticket/36654#comment:9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ known_fail yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "${subport} fails on OS ${os.major} with compiler ${compiler}, version ${compiler_version}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "incompatible macOS version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set subport_enabled no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args --disable-dependency-tracking \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport_enabled}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args --disable-dependency-tracking \
</span> --disable-fortran \
--disable-silent-rules \
--enable-base-cache \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -191,38 +194,29 @@ configure.args --disable-dependency-tracking \
</span> --with-hwloc-prefix=${prefix} \
"F90FLAGS='' F90=''"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant threads description {Build with full thread support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-threads=multiple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-timer-type=mach_absolute_time
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} < 12} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # MPICH requires OpenCL version 1.2, which was not introduced until OS X Mountain Lion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append --enable-opencl=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant threads description {Build with full thread support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --enable-threads=multiple
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles-append patch-no_qmkshrobj.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-ch4-ipv6.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --enable-timer-type=mach_absolute_time
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# We're making compiler wrappers here... don't default to -O2 for wrappers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Actual library code is compiled with -O2 via --enable-fast=O2 configure arg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.optflags-delete -O2 -Os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cppflags-delete -I${prefix}/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ldflags-delete -L${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} < 12} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # MPICH requires OpenCL version 1.2, which was not introduced until OS X Mountain Lion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --enable-opencl=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${name} ne ${subport} && [string first "-devel" $subport] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set cname [lindex [split ${subport} -] end]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${cname} == "default"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set cname mp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-no_qmkshrobj.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-ch4-ipv6.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set all_name [split ${subport} -]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- conflicts-append mpich-devel-[join [lrange ${all_name} 1 end] -]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We're making compiler wrappers here... don't default to -O2 for wrappers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Actual library code is compiled with -O2 via --enable-fast=O2 configure arg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.optflags-delete -O2 -Os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cppflags-delete -I${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ldflags-delete -L${prefix}/lib
</span>
# As we are making wrappers, we depend on the compilers to exist.
# Add them to depends_lib, not just depends_build.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -248,10 +242,11 @@ if {${name} ne ${subport} && [string first "-devel" $subport] < 0} {
</span>
if {[string first "-default" $subport] < 0} {
configure.compiler [lindex $clist($cname) 0]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append long_description "\\n\\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ append long_description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "\\n\\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
</span> } else {
append long_description \
<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;'>+ "\\n\\nTHIS SUBPORT WRAPS MACPORTS' DEFAULT COMPILER FOR C/C++"
</span> }
configure.args-append \
<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 6cf4f1dbf7e..2ee33f80320 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;'>@@ -54,42 +54,6 @@ livecheck.type regex
</span> livecheck.url https://www.open-mpi.org/
livecheck.regex Open MPI v(\[0-9\.\]+) released
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Note: While openmpi-devel-* subports have been disabled for now, please
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# don't strip out devel-related logic like this. We may decide to re-add
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# them in the future, and it'll be easier if we don't have to dig through
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# git history.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string first "-devel" $subport] > 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PortGroup obsolete 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # FIXME: this snapshot date is for 4.0.x not 4.1.x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set base 201905080241
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set tag 5d4c9b4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # failing for now due to above old/incorrect snapshot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distfiles
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- error "$subport is currently broken"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dist_subdir openmpi-devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- version ${branch}.999-${base}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distname openmpi-v${branch}.x-${base}-${tag}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- master_sites https://www.open-mpi.org/nightly/v${branch}.x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums rmd160 65d03a8e8cb897ffb288eca36f4e2419cc119c81 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 d90dce8cadf9344b989e8b44ceadd3e8f878effc99c8a800f4ab250a071233b1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 9890558
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.version ${base}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.url [lindex ${master_sites} 0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- livecheck.regex nightly/open-mpi/v${branch}.x/openmpi-v${branch}.x-(\[0-9\]+-\[0-9a-f\]+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # As OpenMPI creates compiler wrappers, there are lots of
# variants for what compiler the user would like to wrap.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -98,38 +62,36 @@ if {[string first "-devel" $subport] > 0} {
</span> # Sub-ports names and corresponding configure.compiler value
array set clist {
clang {clang}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- clang50 {macports-clang-5.0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- clang60 {macports-clang-6.0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- clang70 {macports-clang-7.0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- clang80 {macports-clang-8.0}
</span> clang90 {macports-clang-9.0}
clang10 {macports-clang-10}
clang11 {macports-clang-11}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc5 {macports-gcc-5}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc6 {macports-gcc-6}
</span> gcc7 {macports-gcc-7}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- gcc8 {macports-gcc-8}
</span> }
set clist_unsupported [list]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# gcc 4.x not supported on mac OS 10.12 (Darwin16) or newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang 3.{3,4} not supported on mac OS 10.12 (Darwin16) or newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < 16 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set clist(clang33) {macports-clang-3.3}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set clist(clang34) {macports-clang-3.4}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Only provide gcc 4.9, as older versions do not build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set clist(gcc49) {macports-gcc-4.9}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend clist_unsupported clang33 clang34 gcc49
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang 3.7,4.0 not supported on mac OS 10.14 (Darwin18) or newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < 18 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set clist(clang37) {macports-clang-3.7}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend clist_unsupported clang37
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clist_obsolete [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO: Remove these obsolete subports on or after January 2022, along with all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# traces of -devel. For the latter, also remember to update proc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 'mpiutil_add_subport', in portgroup 'mpiutil'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lappend clist_obsolete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang33 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang34 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang37 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang50 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang60 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang70 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang80 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc49 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # gcc 9+ only available on macOS10.7 (Darwin11) and newer
# However, gcc9+ builds fail on MacOS 10.7, so only enable for MacOS 10.8+.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} > 11 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.arch} eq "arm" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set clist(gcc11) {macports-gcc-11}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend clist_unsupported gcc10 gcc11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif { ${os.major} >= 12 } {
</span> set clist(gcc9) {macports-gcc-9}
set clist(gcc10) {macports-gcc-10}
set clist(gcc11) {macports-gcc-11}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -138,58 +100,22 @@ if { ${os.major} > 11 } {
</span> }
foreach key [array names clist] {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- subport ${name}-${key} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- subport ${name}-devel-${key} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- replaced_by ${name}-${key}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpiutil_add_subport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name} ${subport} ${key}
</span> }
foreach key ${clist_unsupported} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- subport ${name}-${key} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- subport ${name}-devel-${key} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- replaced_by ${name}-${key}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subport ${name}-default {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subport ${name}-devel {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- replaced_by ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpiutil_add_subport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name} ${subport} ${key}
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-subport ${name}-devel-default {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- replaced_by ${name}-default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach key ${clist_obsolete} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpiutil_add_subport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name} ${subport} ${key}
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+unset key
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mpiutil_add_subport \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name} ${subport} "default"
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-extract { file mkdir ${workpath}/build }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/39089
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist gcc-4.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append llvm-gcc-4.2 macports-llvm-gcc-4.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# For reasons that are not entirely clear, -I${worksrcpath} is added to the CPPFLAGS by the configure script.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# In ${worksrcpath}, there is a file called VERSION.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# C++ has a standard library header version (https://en.cppreference.com/w/cpp/header/version).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Starting with Clang 8.0, version was included in other standard header files (https://reviews.llvm.org/D51955).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# With a case-insensitive file system, VERSION is used instead of version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# This is an ugly workaround.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-configure.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.dir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cmd ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args --disable-mpi-fortran \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-mpi-cxx \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "FFLAGS='' F77=''"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# remove -arch from ldflags, ticket #22833
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ld_archflags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ccache no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# We're making compiler wrappers here... don't default to -O2 for wrappers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Actual library code is compiled with -O2 via --enable-fast=O2 configure arg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.optflags-delete -O2 -Os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cppflags-delete -I${prefix}/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ldflags-delete -L${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.dir ${configure.dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.dir ${build.dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set subport_enabled no
</span> set cname [lindex [split ${subport} -] end]
if {${cname} in ${clist_unsupported}} {
known_fail yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -197,11 +123,67 @@ if {${cname} in ${clist_unsupported}} {
</span> error "${subport} is not supported on ${os.platform} ${os.major}"
}
append long_description " Note: ${cname} not supported on ${os.platform} ${os.major}."
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {${subport} ne ${name} && ${subport} ne "${name}-devel"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${cname} in ${clist_obsolete}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup obsolete 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ known_fail yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error "${subport} is obsolete"
</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 {[string match "clang*" ${cname}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ replaced_by ${name}-clang90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ replaced_by ${name}-gcc7
</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;'>+ append long_description " Note: ${subport} is obsolete."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {(${subport} ne ${name}) && (${subport} ne "${name}-devel")} {
</span> if {${cname} == "default"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set cname mp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set cname "mp"
</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;'>+ set subport_enabled yes
</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 {${subport_enabled}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${workpath}/build
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://trac.macports.org/ticket/39089
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc-4.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ llvm-gcc-4.2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ macports-llvm-gcc-4.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # For reasons that are not entirely clear, -I${worksrcpath} is added to the CPPFLAGS by the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # In ${worksrcpath}, there is a file called VERSION.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # C++ has a standard library header version (https://en.cppreference.com/w/cpp/header/version).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Starting with Clang 8.0, version was included in other standard header files (https://reviews.llvm.org/D51955).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # With a case-insensitive file system, VERSION is used instead of version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This is an ugly workaround.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-configure.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.dir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cmd ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args --disable-mpi-fortran \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-mpi-cxx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FFLAGS='' F77=''"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # remove -arch from ldflags, ticket #22833
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ld_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ccache no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We're making compiler wrappers here... don't default to -O2 for wrappers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Actual library code is compiled with -O2 via --enable-fast=O2 configure arg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.optflags-delete -O2 -Os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cppflags-delete -I${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ldflags-delete -L${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.dir ${configure.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.dir ${build.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # As we are making wrappers, we depend on the compilers to exist.
# Add them to depends_lib, not just depends_build.
mpiutil_add_compiler_depends_lib ${cname}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -218,12 +200,13 @@ if {${cname} in ${clist_unsupported}} {
</span> select.file ${filespath}/${name}-${cname}
livecheck.type none
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[string first "-default" $subport] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${cname} ne "mp"} {
</span> configure.compiler [lindex $clist($cname) 0]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append long_description "\\n\\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ append long_description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "\\n\\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
</span> } else {
append long_description \
<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;'>+ "\\n\\nTHIS SUBPORT WRAPS MACPORTS' DEFAULT COMPILER FOR C/C++"
</span> }
configure.args-append \
</pre><pre style='margin:0'>
</pre>