<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/83662481aa05dd5ffa5dfbb9857b4d1d2eae0782">https://github.com/macports/macports-ports/commit/83662481aa05dd5ffa5dfbb9857b4d1d2eae0782</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 83662481aa0 openmpi/mpich: gcc builds: add clang 9 build dependency for macOS 10.8 and earlier * clang 9 provides a modern assembler, allowing openmpi/mpich to build successfully
</span>83662481aa0 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 83662481aa05dd5ffa5dfbb9857b4d1d2eae0782
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Wed May 19 12:03:58 2021 -0400
<span style='display:block; white-space:pre;color:#404040;'> openmpi/mpich: gcc builds: add clang 9 build dependency for macOS 10.8 and earlier
</span><span style='display:block; white-space:pre;color:#404040;'> * clang 9 provides a modern assembler, allowing openmpi/mpich to build successfully
</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/62878
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/62887
</span>---
_resources/port1.0/group/mpiutil-1.0.tcl | 17 ++++++++++++++++-
science/mpich/Portfile | 30 +++++++++++++++++++++++-------
science/openmpi/Portfile | 32 +++++++++++++++++++-------------
3 files changed, 58 insertions(+), 21 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 9b689994e0d..a5d5550f8ed 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;'>@@ -90,7 +90,22 @@ proc mpiutil_validate_subport {name subport cname clist clist_unsupported clist_
</span> return ${subport_enabled}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-proc mpiutil_add_compiler_depends_lib {cname} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc mpiutil_add_depends_build {subport cname} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global os.major
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} <= 12} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # For gcc builds on MacOS 10.8 and earlier, add clang-90 as a build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # dependency. This provides a modern version of 'as', allowing the port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # to build successfully.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match "gcc*" ${cname}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "mpiutil_add_depends_build: 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;'>+ }
</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_compiler_depends_lib {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;color:#808080;'>diff --git a/science/mpich/Portfile b/science/mpich/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index abc10569a30..2ee868de15c 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,6 +60,10 @@ livecheck.type regex
</span> livecheck.regex {href=.([0-9.p]+)/}
livecheck.url ${homepage}/static/downloads/
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Target Compiler Logic - START
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>@@ -119,17 +123,21 @@ set cname \
</span> set subport_enabled \
[mpiutil_validate_subport \
${name} ${subport} ${cname} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${clist} ${clist_unsupported} ${clist_obsolete}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${clist} ${clist_unsupported} ${clist_obsolete} \
</span> ]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Target Compiler Logic - END
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${subport_enabled}} {
if {${cname} eq "default"} {
set cname "mp"
}
if {${cname} eq "mp"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # make every attempt to avoid MacPorts compilers
</span> if {${os.major} == 10} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Make every attempt to avoid MacPorts compilers on 10.6
</span> configure.cxx_stdlib libstdc++
}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -157,7 +165,8 @@ if {${subport_enabled}} {
</span>
if {${os.major} < 12} {
# MPICH requires OpenCL version 1.2, which was not introduced until OS X Mountain Lion
<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;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-opencl=no
</span> }
if {${name} ne ${subport}} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -172,12 +181,18 @@ if {${subport_enabled}} {
</span> configure.cppflags-delete -I${prefix}/include
configure.ldflags-delete -L${prefix}/lib
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Add any additional build dependencies, if necessary, for platform
</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> # 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:#ffe0e0;'>- mpiutil_add_compiler_depends_lib ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpiutil_add_compiler_depends_lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${subport} ${cname}
</span>
# Determine whether buildbot binaries should be used, and disable if necessary
<span style='display:block; white-space:pre;background:#ffe0e0;'>- mpiutil_set_binary_eligibility ${subport} ${cname}
</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>
depends_build-append port:pkgconfig
depends_lib-append port:libxml2 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -185,7 +200,7 @@ if {${subport_enabled}} {
</span> depends_run-append port:mpi_select
select.group mpi
select.file ${filespath}/portselect/${name}-${cname}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_run-append port:mpi-doc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run-append port:mpi-doc
</span>
# Prevent "ccache" and "distcc" from being baked into the wrapper scripts.
configure.ccache no
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -197,9 +212,10 @@ if {${subport_enabled}} {
</span> if {[string first "-default" $subport] < 0} {
set compiler [dict get ${clist} ${cname}]
configure.compiler [lindex ${compiler} 0]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ unset compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> append long_description \
"\\n\\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- unset compiler
</span> } else {
append long_description \
"\\n\\nTHIS SUBPORT WRAPS MACPORTS' DEFAULT COMPILER FOR C/C++"
<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 808705c3d32..2cdac55e990 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,6 +54,10 @@ 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:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Target Compiler Logic - START
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>@@ -113,9 +117,13 @@ set cname \
</span> set subport_enabled \
[mpiutil_validate_subport \
${name} ${subport} ${cname} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${clist} ${clist_unsupported} ${clist_obsolete}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${clist} ${clist_unsupported} ${clist_obsolete} \
</span> ]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Target Compiler Logic - END
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#-------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${subport_enabled}} {
if {${cname} == "default"} {
set cname "mp"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -158,12 +166,18 @@ if {${subport_enabled}} {
</span> build.dir ${configure.dir}
destroot.dir ${build.dir}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Add any additional build dependencies, if necessary, for platform
</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> # 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:#ffe0e0;'>- mpiutil_add_compiler_depends_lib ${cname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mpiutil_add_compiler_depends_lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${subport} ${cname}
</span>
# Determine whether buildbot binaries should be used, and disable if necessary
<span style='display:block; white-space:pre;background:#ffe0e0;'>- mpiutil_set_binary_eligibility ${subport} ${cname}
</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>
depends_build-append port:pkgconfig
depends_lib-append port:hwloc \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -177,9 +191,10 @@ if {${subport_enabled}} {
</span> if {${cname} ne "mp"} {
set compiler [dict get ${clist} ${cname}]
configure.compiler [lindex ${compiler} 0]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ unset compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> append long_description \
"\\n\\nTHIS SUBPORT WRAPS ${cname}'s C/C++"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- unset compiler
</span> } else {
append long_description \
"\\n\\nTHIS SUBPORT WRAPS MACPORTS' DEFAULT COMPILER FOR C/C++"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -197,15 +212,6 @@ if {${subport_enabled}} {
</span> --with-libevent=${prefix} \
--with-zlib=${prefix}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # For MacOS 10.8 and earlier, disable use of AVX instruction set. Necessary as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # system-provided assembler doesn't support AVX on those releases. And it's not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # straightforward to fix.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} <= 12} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_debug "Disabling use of AVX instructions for this MacOS release"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --enable-mca-no-build=op-avx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-destroot {
if {[string first "-devel" $subport] > 0} {
# Supply our own -devel manpages (might be materially different / new)
</pre><pre style='margin:0'>
</pre>