<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/af4bd2b85c91ffa09a88893714f6fe743dd7a6b6">https://github.com/macports/macports-ports/commit/af4bd2b85c91ffa09a88893714f6fe743dd7a6b6</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit af4bd2b85c91ffa09a88893714f6fe743dd7a6b6
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Sun Jun 11 19:48:54 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    hiop: add strumpack variant
</span>---
 math/hiop/Portfile | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/hiop/Portfile b/math/hiop/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f48c54cb63a..1452bbe1d51 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/hiop/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/hiop/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +1,14 @@
</span> # -*- 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
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           active_variants 1.1
</span> PortGroup           cmake 1.1
 PortGroup           github 1.0
 PortGroup           linear_algebra 1.0
 PortGroup           mpi 1.0
 
 github.setup        LLNL hiop 0.7.2 v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> categories          math science
 license             BSD
 maintainers         {@barracuda156 gmail.com:vital.had} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,5 +69,62 @@ if {${build_arch} in [list i386 ppc] && [string match *gcc* ${configure.compiler
</span>     configure.ldflags-append -latomic
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Ginkgo backend is broken presently: https://github.com/LLNL/hiop/issues/586
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/ginkgo-project/ginkgo/issues/1258
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Raja support requires Umpire.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Strumpack backend works, but few tests fail: https://github.com/pghysels/STRUMPACK/issues/83
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant strumpack description "Build with STRUMPACK backend" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:bpack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:parmetis \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:scotch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:strumpack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:zfp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DHIOP_USE_STRUMPACK=OFF -DHIOP_USE_STRUMPACK=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cppflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -I${prefix}/include/strumpack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![catch {set result [active_variants strumpack mpi]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![variant_isset mpi]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return -code error "strumpack has mpi enabled, please use the same variant."
</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;'>+    if {![catch {set result [active_variants strumpack openmpi]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![variant_isset openmpi]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return -code error "strumpack has openmpi enabled, please use the same variant."
</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;'>+# Ginkgo will use these too, when enabled:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset strumpack]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:metis \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:scalapack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:metis openmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DHIOP_SPARSE=OFF -DHIOP_SPARSE=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![catch {set result [active_variants scalapack mpi]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![variant_isset mpi]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return -code error "scalapack has mpi enabled, please use the same variant."
</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;'>+    if {![catch {set result [active_variants scalapack openmpi]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![variant_isset openmpi]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return -code error "scalapack has openmpi enabled, please use the same variant."
</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> test.run            yes
 test.cmd-prepend    DYLD_LIBRARY_PATH=${cmake.build_dir}/src
</pre><pre style='margin:0'>

</pre>