<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/230e2b6153d3f2b40449895d8d94d22e60e1f449">https://github.com/macports/macports-ports/commit/230e2b6153d3f2b40449895d8d94d22e60e1f449</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 230e2b6153d3f2b40449895d8d94d22e60e1f449
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Wed Sep 21 10:23:28 2022 -0400

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

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/sundials6/Portfile b/math/sundials6/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..37e75a4e8ee
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/sundials6/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,208 @@
</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           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           mpi 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        LLNL sundials 6.2.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                sundials6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          math devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         SUite of Nonlinear and DIfferential/ALgebraic equation Solvers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    SUNDIALS consists of the following five solvers: CVODE\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    solves initial value problems for ordinary differential\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    equation (ODE) systems.  CVODES solves ODE systems and\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    includes sensitivity analysis capabilities (forward and\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    adjoint).  IDA solves initial value problems for\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    differential-algebraic equation (DAE) systems.  IDAS solves\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    DAE systems and includes sensitivity analysis capabilities\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    (forward and adjoint).  KINSOL solves nonlinear algebraic\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://computing.llnl.gov/projects/sundials
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from releases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir         sundials
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  37f48f646cf22c7bfa7ca60b7d55df88ab74735f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  195d5593772fc483f63f08794d79e4bab30c2ec58e6ce4b0fb6bcc0e0c48f31d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    82410068
</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;'>+# Path-Related Variables - START
</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;'>+# The "install name," meaning, the subdirectory name for this port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Should correspond to the major version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_install_name \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Define all of our base paths up-front
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_install_prefix \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/libexec/${port_install_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_install_cmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${port_install_prefix}/cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_install_include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${port_install_prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_install_lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${port_install_prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_install_doc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/share/doc/${port_install_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_install_examples \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/share/examples/${port_install_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Populate CMake options currently available
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.install_prefix \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${port_install_prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake_share_module_dir \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${port_install_cmake}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.install_rpath \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${port_install_lib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_LIBEXECDIR=${port_install_prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_BINDIR=${port_install_prefix}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_SBINDIR=${port_install_prefix}/sbin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_SHAREDIR=${port_install_prefix}/share \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_INCLUDEDIR=${port_install_include} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_LIBDIR=${port_install_lib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_NAME_DIR=${port_install_lib}
</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;'>+# Path-Related Variables - END
</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;'>+compiler.cxx_standard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mpi.setup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    default \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    require_fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:SuiteSparse_KLU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DMPI_ENABLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DENABLE_LAPACK=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DENABLE_KLU=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DEXAMPLES_ENABLE_C=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DEXAMPLES_ENABLE_CXX=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DEXAMPLES_ENABLE_F77=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DEXAMPLES_ENABLE_F90=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DKLU_INCLUDE_DIR=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DKLU_LIBRARY_DIR=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# from CMakeLists.txt:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#    LAPACK is not compatible with INT64_T precision
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSUNDIALS_INDEX_SIZE=32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # fix file perms; tarball contents deny group and world read
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "find ${worksrcpath} -type d -print0 | xargs -0 chmod a+rx"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "find ${worksrcpath} -type f -print0 | xargs -0 chmod a+r"
</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 {[mpi_variant_isset]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DENABLE_MPI=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DENABLE_MPI=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DMPI_MPICC=${prefix}/bin/${mpi.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DMPI_MPICXX=${prefix}/bin/${mpi.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DMPI_MPIF77=${prefix}/bin/${mpi.f77} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DMPI_MPIF90=${prefix}/bin/${mpi.f90} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DMPI_RUN_COMMAND=${prefix}/bin/${mpi.exec}
</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;'>+# without this, previously installed sundials headers are found first
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# this can cause problem when upgrading
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see https://cmake.org/cmake/help/latest/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INCLUDE_DIRECTORIES_BEFORE=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cmake files (e.g. config/SundialsFortran.cmake) create CMakeLists.txt files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#    to test for functionality (e.g. a Fortran compiler).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CMAKE_OSX_SYSROOT is not passed to the functionality test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Because CMAKE_OSX_DEPLOYMENT_TARGET is set as an environmental variable,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#    -isysroot is added to the compiler flags.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Only Apple Clang compilers support tbd files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See https://trac.macports.org/ticket/53151
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_SYSROOT.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    SDKROOT=/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant examples description {Install Examples} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set example_langs {C CXX F90 F77}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach lang ${example_langs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DEXAMPLES_ENABLE_${lang}=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DEXAMPLES_ENABLE_${lang}=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DEXAMPLES_INSTALL_PATH=${port_install_examples}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    use_parallel_build  no
</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;'>+variant accelerate conflicts atlas openblas description {Use Apple Accelerate Libraries} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBLA_VENDOR=Apple
</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;'>+variant atlas conflicts accelerate openblas description {Use MacPorts ATLAS Libraries} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:atlas
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBLA_VENDOR=ATLAS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # FindBLAS.cmake and FindLAPACK.cmake do not seem to find MacPorts Atlas properly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBLAS_LIBRARIES=satlas \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DLAPACK_LIBRARIES=satlas
</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;'>+variant openblas conflicts atlas accelerate description {Use MacPorts OpenBLAS Libraries} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/libopenblas.dylib:OpenBLAS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/libopenblas.dylib:OpenBLAS lapack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBLA_VENDOR=OpenBLAS
</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 {![variant_isset accelerate] && ![variant_isset atlas] && ![variant_isset openblas]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants-append +accelerate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset accelerate] && ![variant_isset openblas] && ![variant_isset atlas] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "You must select either the +accelerate, +atlas, or +openblas variant for linear algebra."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error "No linear-algebra variant selected."
</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;'>+set port_doc_dir ${destroot}${port_install_doc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant doc description {install pdf documentation} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${port_doc_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach f [glob ${worksrcpath}/doc/*] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0644 ${f} ${port_doc_dir}/
</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;'>+# LICENSE file is installed in a bad location
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${port_doc_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    move ${destroot}${port_install_include}/sundials/LICENSE ${port_doc_dir}/
</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;'>+livecheck.url       https://computing.llnl.gov/projects/sundials/sundials-software
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     ${name}-(\\d(?:\.\\d+)*)${extract.suffix}
</span></pre><pre style='margin:0'>

</pre>