<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8664f0104650b7fb4448401c9f3eaa464748e4c4">https://github.com/macports/macports-ports/commit/8664f0104650b7fb4448401c9f3eaa464748e4c4</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 8664f0104650b7fb4448401c9f3eaa464748e4c4
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Sat Nov 11 07:35:59 2017 -0700

<span style='display:block; white-space:pre;color:#404040;'>    sundials: add examples variant
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Most of the build machinery is devoted to building examples.
</span><span style='display:block; white-space:pre;color:#404040;'>    If examples are not desired, most of the dependencies can
</span><span style='display:block; white-space:pre;color:#404040;'>    be eliminated (Fortran, C++, Lapack, etc.).
</span>---
 math/sundials/Portfile                     | 99 +++++++++++++++++++++++-------
 math/sundials/files/patch-find_lapack.diff | 26 ++++++++
 2 files changed, 102 insertions(+), 23 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/sundials/Portfile b/math/sundials/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5cc6e26..7d7d85c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/sundials/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/sundials/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@ PortGroup           mpi 1.0
</span> 
 name                sundials
 version             2.6.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            3
</span> categories          math devel
 license             bsd
 platforms           darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,20 +32,30 @@ checksums           rmd160  da6549605b45ad698dfe40a5136b64a7a408d6c6 \
</span> 
 cmake.out_of_source yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# use default cmake behavior to find Lapack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-find_lapack.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # use dynamic libraries for SuiteSparse
 patchfiles-append   patch-find_klu.diff
 
 depends_lib-append  port:SuiteSparse
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-mpi.setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset examples]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpi.setup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpi.setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 configure.args-append \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DEXAMPLES_ENABLE=OFF \
</span>                     -DCXX_ENABLE=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DLAPACK_ENABLE=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DF90_ENABLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DLAPACK_ENABLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DFCMIX_ENABLE=OFF \
</span>                     -DKLU_ENABLE=ON \
                     -DKLU_LIBRARY_DIR=${prefix}/lib \
                     -DKLU_INCLUDE_DIR=${prefix}/include \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DEXAMPLES_INSTALL_PATH=${prefix}/share/examples/${name} \
</span>                     -DMPI_ENABLE=OFF
 
 pre-configure {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -63,34 +73,77 @@ pre-configure {
</span> configure.args-append \
     -DCMAKE_INCLUDE_DIRECTORIES_BEFORE=ON
 
<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 SDKROOT="/"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {![mpi_variant_isset]} {
     default_variants      +mpich
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![fortran_variant_isset] && ![mpi_variant_isset]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset atlas]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_error "Atlas requires a fortran compiler"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return -code error "no fortran compiler selected"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</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;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DEXAMPLES_ENABLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DEXAMPLES_ENABLE=ON
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # ensure that sundials doesn't try to find a fortran compiler in the user's
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.f77
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.f90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.fc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-delete --without-blas --without-lapack
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset atlas]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            -DLAPACK_LIBRARIES="/usr/lib/liblapack.dylib\;/usr/lib/libblas.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLAPACK_ENABLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLAPACK_ENABLE=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCXX_ENABLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCXX_ENABLE=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DF90_ENABLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DF90_ENABLE=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DFCMIX_ENABLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DFCMIX_ENABLE=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=${prefix}/share/examples/${name}
</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:#ffe0e0;'>-variant atlas description {build with atlas (requires a fortran compiler)} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant accelerate requires examples conflicts atlas openblas description {Use Apple Accelerate Libraries} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append -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 requires examples conflicts accelerate openblas description {Use MacPorts ATLAS Libraries} {
</span>     depends_lib-append port:atlas
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append -DLAPACK_LIBRARIES=${prefix}/lib/libtatlas.dylib
</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;'>+        -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 requires examples conflicts atlas accelerate description {Use MacPorts OpenBLAS Libraries} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append path:lib/libopenblas.dylib:openblas
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants path:lib/libopenblas.dylib:OpenBLAS lapack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append  -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 examples] && ![variant_isset accelerate] && ![variant_isset atlas] && ![variant_isset openblas]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants-append +accelerate
</span> }
 
 variant doc description {install pdf documentation} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/sundials/files/patch-find_lapack.diff b/math/sundials/files/patch-find_lapack.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..3f1d9b4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/sundials/files/patch-find_lapack.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- config/SundialsLapack.cmake.orig       2015-07-30 17:07:24.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ config/SundialsLapack.cmake    2017-11-10 05:27:30.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,15 +19,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # a working Fortran compiler) or look for them in the most
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # obvious place...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(NOT LAPACK_LIBRARIES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(F77_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  if(F77_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     include(FindLAPACK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  else(F77_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    find_library(LAPACK_LIBRARIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      NAMES lapack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      PATHS /usr/lib /usr/local/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      "$ENV{ProgramFiles}/LAPACK/Lib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  endif(F77_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  else(F77_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#    find_library(LAPACK_LIBRARIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#      NAMES lapack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#      PATHS /usr/lib /usr/local/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#      "$ENV{ProgramFiles}/LAPACK/Lib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#      )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  endif(F77_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif(NOT LAPACK_LIBRARIES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If we have the LAPACK libraries, test them
</span></pre><pre style='margin:0'>

</pre>