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