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