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