<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f379f3a76931b9b6da66f7028dcdd830487a3551">https://github.com/macports/macports-ports/commit/f379f3a76931b9b6da66f7028dcdd830487a3551</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 f379f3a7693 strumpack: new port in math
</span>f379f3a7693 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit f379f3a76931b9b6da66f7028dcdd830487a3551
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Mon May 29 08:47:34 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    strumpack: new port in math
</span>---
 math/strumpack/Portfile | 101 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 101 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/strumpack/Portfile b/math/strumpack/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..07495e63771
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/strumpack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,101 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           compilers 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           linear_algebra 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        pghysels STRUMPACK 7.1.2 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                strumpack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          math science
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {@barracuda156 gmail.com:vital.had} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Structured Matrix Package (LBNL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    STRUMPACK (STRUctured Matrix PACKage) is a software library \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    providing linear algebra routines and linear system solvers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    for sparse and for dense rank-structured linear systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://portal.nersc.gov/project/sparse/strumpack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  36aec3e351ebd3fe93486bb6ac6277b50e1c92d4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  5fa560bd1c60e128b9f235560db1e02f4dfe6be00a8a0e48ffae23edcb41e756 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    2009552
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append      port:metis \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:scotch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append    port:util-linux
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard   2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.openmp_version 4.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers.choose        fc f90 cxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers.setup         require_fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Do not dump all headers into a generic include:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach d {BLR clustering dense fortran HODLR HSS iterative kernel matlab misc python sparse structured} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        fs-traverse f ${worksrcpath}/src/${d} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[file isfile ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[regexp "\.txt" ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    reinplace "s|DESTINATION include|DESTINATION include/strumpack|g" ${f}
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset openblas]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_BLAS_LIBRARIES=${prefix}/lib/libopenblas.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_LAPACK_LIBRARIES=${prefix}/lib/libopenblas.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {[variant_isset accelerate]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_BLAS_LIBRARIES=vecLibFort \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_LAPACK_LIBRARIES=vecLibFort
</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;'>+configure.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    GETOPT=${prefix}/bin/getopt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# MPICH version builds but tests performance is questionable. For now, do not use it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# In order to enable Bpack, Parmetis, Zfp etc., MPICH-based build is a requirement.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_COUNT_FLOPS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_MESSAGE_COUNTER=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_TASK_TIMERS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_USE_BLAS64=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_USE_CUDA=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_USE_GETOPT=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_USE_HIP=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_USE_MPI=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_USE_OPENMP=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSTRUMPACK_USE_SYCL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_BPACK=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_COMBBLAS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_MAGMA=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_MATLAB=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_PAPI=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_PARMETIS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_PTSCOTCH=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_SCOTCH=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_SLATE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_ENABLE_ZFP=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DTPL_METIS_PREFIX=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.ldflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -L${prefix}/lib/libomp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -lomp
</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;'>+depends_test-append port:wget
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# FIXME: There are some failures on ppc: https://github.com/pghysels/STRUMPACK/issues/83
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Possibly precision-related. But anyway, do not use this to launch rockets.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.cmd            ctest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.env-append OMP_NUM_THREADS=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>