<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/7f36014c68688713d9932f465110858be275a08f">https://github.com/macports/macports-ports/commit/7f36014c68688713d9932f465110858be275a08f</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 7f36014c68688713d9932f465110858be275a08f
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Sun Aug 26 23:32:13 2018 -0700
<span style='display:block; white-space:pre;color:#404040;'> petsc: add universal support
</span>---
math/petsc/Portfile | 48 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 47 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/Portfile b/math/petsc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5977a10..291bce5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/petsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/petsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,6 +4,7 @@ PortSystem 1.0
</span> PortGroup bitbucket 1.0
PortGroup linear_algebra 1.0
PortGroup mpi 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup muniversal 1.0
</span>
bitbucket.setup petsc petsc 3.8.3 v
revision 3
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,7 +18,6 @@ long_description PETSc, pronounced PET-see (the S is silent), is a suite \
</span> It employs the MPI standard for all message-passing communication.
platforms darwin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant no
</span>
checksums rmd160 84b1721dae083b15a5b337ea6dd41ad36b772d6f \
sha256 78caafaae2c543ceb5c55918104a3d65b8e0f94ebeed71b8f0f500c89afa690e
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,7 +55,9 @@ pre-configure {
</span> configure.args-delete --with-fc=0
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.universal_args-delete --disable-dependency-tracking
</span>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![variant_isset universal]} {
</span> # base does not quite handle Fortran flags correctly
if {${build_arch} eq "x86_64" || ${build_arch} eq "ppc64"} {
configure.fc_archflags -m64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -66,10 +68,18 @@ pre-configure {
</span> configure.fflags-append -m32
configure.f90_archflags -m32
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
post-build {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![variant_isset universal]} {
</span> set archs {""}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set archs ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach arch ${configure.universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend archs -${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> foreach arch ${archs} {
# see https://trac.macports.org/ticket/51707 for a similar issue
reinplace -E \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,6 +95,42 @@ post-build {
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ merger-post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach arch ${configure.universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${arch} ne ${build_arch}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 0755 ${destroot}-${arch}${prefix}/lib/${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fs-traverse fl ${destroot}-${arch}${prefix}/lib/petsc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set trg [string map "${destroot}-${arch}${prefix}/lib/petsc ${prefix}/lib/petsc" ${fl}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set sfl [string map "${destroot}-${arch}${prefix}/lib/petsc ${destroot}-${arch}${prefix}/lib/${arch}" ${fl}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isdir ${fl}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 0755 ${sfl}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {[file extension ${fl}] eq ".pc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # do nothing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {[file extension ${fl}] eq ".mod"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${fl} ${sfl}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {[file tail ${fl}] eq "petscvariables"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "s|${prefix}/lib/petsc|${prefix}/lib/petsc/${arch}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${fl}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${fl} ${sfl}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {[file tail ${fl}] eq "variables"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "s|${prefix}/lib/petsc/lib/petsc/conf/petscvariables|${prefix}/lib/petsc/${arch}/lib/petsc/conf/petscvariables|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${fl}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${fl} ${sfl}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s ${trg} ${sfl}
</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;'>+ move \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}-${arch}${prefix}/lib/${arch} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}-${arch}${prefix}/lib/petsc/
</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;'>+
</span> subport petsc-devel {
bitbucket.setup petsc petsc d745d2547b89
bitbucket.livecheck master
</pre><pre style='margin:0'>
</pre>