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