SUMMARY="Suite of nonlinear solvers" DESCRIPTION="SUNDIALS is a family of software packages implemented with the \ goal of providing robust time integrators and nonlinear solvers that can \ easily be incorporated into existing simulation codes. The primary design \ goals are to require minimal information from the user, allow users to easily \ supply their own data structures underneath the packages, and allow for easy \ incorporation of user-supplied linear solvers and preconditioners. The \ various packages share many subordinate modules and are organized as a \ family with a directory structure that exploits sharing common functionality." HOMEPAGE="https://computation.llnl.gov/projects/sundials" COPYRIGHT="2002-2019, Lawrence Livermore National Security and Southern Methodist University" LICENSE="BSD (3-clause)" REVISION="1" SOURCE_URI="https://github.com/LLNL/sundials/archive/refs/tags/v$portVersion.tar.gz" CHECKSUM_SHA256="30f3deb6a59d840eb9b91fa77e9a4a7c6026ba1bb63fd65e9d57c786d1c8725c" SOURCE_FILENAME="sundials-v$portVersion.tar.gz" ARCHITECTURES="all !x86_gcc2 ?x86" SECONDARY_ARCHITECTURES="x86" libsundials_arkodeVersion="5.5.1" libsundials_arkodeVersionCompat="$libsundials_arkodeVersion compat >= ${libsundials_arkodeVersion%%.*}" libsundials_cvodesVersion="$portVersion" libsundials_cvodesVersionCompat="$libsundials_cvodesVersion compat >= ${libsundials_cvodesVersion%%.*}" libsundials_cvodeVersion="$portVersion" libsundials_cvodeVersionCompat="$libsundials_cvodeVersion compat >= ${libsundials_cvodeVersion%%.*}" libsundials_genericVersion="$portVersion" libsundials_genericVersionCompat="$libsundials_genericVersion compat >= ${libsundials_genericVersion%%.*}" libsundials_idasVersion="5.5.1" libsundials_idasVersionCompat="$libsundials_idasVersion compat >= ${libsundials_idasVersion%%.*}" libsundials_idaVersion="$portVersion" libsundials_idaVersionCompat="$libsundials_idaVersion compat >= ${libsundials_idaVersion%%.*}" libsundials_kinsolVersion="$portVersion" libsundials_kinsolVersionCompat="$libsundials_kinsolVersion compat >= ${libsundials_kinsolVersion%%.*}" libsundials_nvecmanyvectorVersion="$portVersion" libsundials_nvecmanyvectorVersionCompat="$libsundials_nvecmanyvectorVersion compat >= ${libsundials_nvecmanyvectorVersion%%.*}" libsundials_nvecpthreadsVersion="6.5.1" libsundials_nvecpthreadsVersionCompat="$libsundials_nvecpthreadsVersion compat >= ${libsundials_nvecpthreadsVersion%%.*}" libsundials_nvecserialVersion="$portVersion" libsundials_nvecserialVersionCompat="$libsundials_nvecserialVersion compat >= ${libsundials_nvecserialVersion%%.*}" libsundials_sunlinsolbandVersion="4.5.1" libsundials_sunlinsolbandVersionCompat="$libsundials_sunlinsolbandVersion compat >= ${libsundials_sunlinsolbandVersion%%.*}" libsundials_sunlinsoldenseVersion="4.5.1" libsundials_sunlinsoldenseVersionCompat="$libsundials_sunlinsoldenseVersion compat >= ${libsundials_sunlinsoldenseVersion%%.*}" libsundials_sunlinsollapackbandVersion="4.5.1" libsundials_sunlinsollapackbandVersionCompat="$libsundials_sunlinsollapackbandVersion compat >= ${libsundials_sunlinsollapackbandVersion%%.*}" libsundials_sunlinsollapackdenseVersion="4.5.1" libsundials_sunlinsollapackdenseVersionCompat="$libsundials_sunlinsollapackdenseVersion compat >= ${libsundials_sunlinsollapackdenseVersion%%.*}" libsundials_sunlinsolpcgVersion="4.5.1" libsundials_sunlinsolpcgVersionCompat="$libsundials_sunlinsolpcgVersion compat >= ${libsundials_sunlinsolpcgVersion%%.*}" libsundials_sunlinsolspbcgsVersion="4.5.1" libsundials_sunlinsolspbcgsVersionCompat="$libsundials_sunlinsolspbcgsVersion compat >= ${libsundials_sunlinsolspbcgsVersion%%.*}" libsundials_sunlinsolspfgmrVersion="4.5.1" libsundials_sunlinsolspfgmrVersionCompat="$libsundials_sunlinsolspfgmrVersion compat >= ${libsundials_sunlinsolspfgmrVersion%%.*}" libsundials_sunlinsolspgmrVersion="4.5.1" libsundials_sunlinsolspgmrVersionCompat="$libsundials_sunlinsolspgmrVersion compat >= ${libsundials_sunlinsolspgmrVersion%%.*}" libsundials_sunlinsolsptfqmrVersion="4.5.1" libsundials_sunlinsolsptfqmrVersionCompat="$libsundials_sunlinsolsptfqmrVersion compat >= ${libsundials_sunlinsolsptfqmrVersion%%.*}" libsundials_sunmatrixbandVersion="4.5.1" libsundials_sunmatrixbandVersionCompat="$libsundials_sunmatrixbandVersion compat >= ${libsundials_sunmatrixbandVersion%%.*}" libsundials_sunmatrixdenseVersion="4.5.1" libsundials_sunmatrixdenseVersionCompat="$libsundials_sunmatrixdenseVersion compat >= ${libsundials_sunmatrixdenseVersion%%.*}" libsundials_sunmatrixsparseVersion="4.5.1" libsundials_sunmatrixsparseVersionCompat="$libsundials_sunmatrixsparseVersion compat >= ${libsundials_sunmatrixsparseVersion%%.*}" libsundials_sunnonlinsolfixedpointVersion="3.5.1" libsundials_sunnonlinsolfixedpointVersionCompat="$libsundials_sunnonlinsolfixedpointVersion compat >= ${libsundials_sunnonlinsolfixedpointVersion%%.*}" libsundials_sunnonlinsolnewtonVersion="3.5.1" libsundials_sunnonlinsolnewtonVersionCompat="$libsundials_sunnonlinsolnewtonVersion compat >= ${libsundials_sunnonlinsolnewtonVersion%%.*}" PROVIDES=" sundials$secondaryArchSuffix = $portVersion lib:libsundials_arkode$secondaryArchSuffix = $libsundials_arkodeVersionCompat lib:libsundials_cvode$secondaryArchSuffix = $libsundials_cvodeVersionCompat lib:libsundials_cvodes$secondaryArchSuffix = $libsundials_cvodesVersionCompat lib:libsundials_generic$secondaryArchSuffix = $libsundials_genericVersionCompat lib:libsundials_ida$secondaryArchSuffix = $libsundials_idaVersionCompat lib:libsundials_idas$secondaryArchSuffix = $libsundials_idasVersionCompat lib:libsundials_kinsol$secondaryArchSuffix = $libsundials_kinsolVersionCompat lib:libsundials_nvecmanyvector$secondaryArchSuffix = $libsundials_nvecmanyvectorVersionCompat lib:libsundials_nvecpthreads$secondaryArchSuffix = $libsundials_nvecpthreadsVersionCompat lib:libsundials_nvecserial$secondaryArchSuffix = $libsundials_nvecserialVersionCompat lib:libsundials_sunlinsolband$secondaryArchSuffix = $libsundials_sunlinsolbandVersionCompat lib:libsundials_sunlinsoldense$secondaryArchSuffix = $libsundials_sunlinsoldenseVersionCompat lib:libsundials_sunlinsollapackband$secondaryArchSuffix = $libsundials_sunlinsollapackbandVersionCompat lib:libsundials_sunlinsollapackdense$secondaryArchSuffix = $libsundials_sunlinsollapackdenseVersionCompat lib:libsundials_sunlinsolpcg$secondaryArchSuffix = $libsundials_sunlinsolpcgVersionCompat lib:libsundials_sunlinsolspbcgs$secondaryArchSuffix = $libsundials_sunlinsolspbcgsVersionCompat lib:libsundials_sunlinsolspfgmr$secondaryArchSuffix = $libsundials_sunlinsolspfgmrVersionCompat lib:libsundials_sunlinsolspgmr$secondaryArchSuffix = $libsundials_sunlinsolspgmrVersionCompat lib:libsundials_sunlinsolsptfqmr$secondaryArchSuffix = $libsundials_sunlinsolsptfqmrVersionCompat lib:libsundials_sunmatrixband$secondaryArchSuffix = $libsundials_sunmatrixbandVersionCompat lib:libsundials_sunmatrixdense$secondaryArchSuffix = $libsundials_sunmatrixdenseVersionCompat lib:libsundials_sunmatrixsparse$secondaryArchSuffix = $libsundials_sunmatrixsparseVersionCompat lib:libsundials_sunnonlinsolfixedpoint$secondaryArchSuffix = $libsundials_sunnonlinsolfixedpointVersionCompat lib:libsundials_sunnonlinsolnewton$secondaryArchSuffix = $libsundials_sunnonlinsolnewtonVersionCompat " REQUIRES=" haiku$secondaryArchSuffix lib:libgfortran$secondaryArchSuffix lib:liblapack$secondaryArchSuffix lib:libopenblas$secondaryArchSuffix " PROVIDES_devel=" sundials${secondaryArchSuffix}_devel = $portVersion devel:libsundials_arkode$secondaryArchSuffix = $libsundials_arkodeVersionCompat devel:libsundials_cvode$secondaryArchSuffix = $libsundials_cvodeVersionCompat devel:libsundials_cvodes$secondaryArchSuffix = $libsundials_cvodesVersionCompat devel:libsundials_generic$secondaryArchSuffix = $libsundials_genericVersionCompat devel:libsundials_ida$secondaryArchSuffix = $libsundials_idaVersionCompat devel:libsundials_idas$secondaryArchSuffix = $libsundials_idasVersionCompat devel:libsundials_kinsol$secondaryArchSuffix = $libsundials_kinsolVersionCompat devel:libsundials_nvecmanyvector$secondaryArchSuffix = $libsundials_nvecmanyvectorVersionCompat devel:libsundials_nvecpthreads$secondaryArchSuffix = $libsundials_nvecpthreadsVersionCompat devel:libsundials_nvecserial$secondaryArchSuffix = $libsundials_nvecserialVersionCompat devel:libsundials_sunlinsolband$secondaryArchSuffix = $libsundials_sunlinsolbandVersionCompat devel:libsundials_sunlinsoldense$secondaryArchSuffix = $libsundials_sunlinsoldenseVersionCompat devel:libsundials_sunlinsollapackband$secondaryArchSuffix = $libsundials_sunlinsollapackbandVersionCompat devel:libsundials_sunlinsollapackdense$secondaryArchSuffix = $libsundials_sunlinsollapackdenseVersionCompat devel:libsundials_sunlinsolpcg$secondaryArchSuffix = $libsundials_sunlinsolpcgVersionCompat devel:libsundials_sunlinsolspbcgs$secondaryArchSuffix = $libsundials_sunlinsolspbcgsVersionCompat devel:libsundials_sunlinsolspfgmr$secondaryArchSuffix = $libsundials_sunlinsolspfgmrVersionCompat devel:libsundials_sunlinsolspgmr$secondaryArchSuffix = $libsundials_sunlinsolspgmrVersionCompat devel:libsundials_sunlinsolsptfqmr$secondaryArchSuffix = $libsundials_sunlinsolsptfqmrVersionCompat devel:libsundials_sunmatrixband$secondaryArchSuffix = $libsundials_sunmatrixbandVersionCompat devel:libsundials_sunmatrixdense$secondaryArchSuffix = $libsundials_sunmatrixdenseVersionCompat devel:libsundials_sunmatrixsparse$secondaryArchSuffix = $libsundials_sunmatrixsparseVersionCompat devel:libsundials_sunnonlinsolfixedpoint$secondaryArchSuffix = $libsundials_sunnonlinsolfixedpointVersionCompat devel:libsundials_sunnonlinsolnewton$secondaryArchSuffix = $libsundials_sunnonlinsolnewtonVersionCompat " REQUIRES_devel=" sundials$secondaryArchSuffix == $portVersion base " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libgfortran$secondaryArchSuffix devel:liblapack$secondaryArchSuffix devel:libopenblas$secondaryArchSuffix " BUILD_PREREQUIRES=" cmd:cmake cmd:gfortran$secondaryArchSuffix cmd:g++$secondaryArchSuffix cmd:make cmd:pkg_config$secondaryArchSuffix " defineDebugInfoPackage sundials$secondaryArchSuffix \ "$libDir"/libsundials_arkode.so.$libsundials_arkodeVersion \ "$libDir"/libsundials_cvode.so.$libsundials_cvodeVersion \ "$libDir"/libsundials_cvodes.so.$libsundials_cvodesVersion \ "$libDir"/libsundials_generic.so.$libsundials_genericVersion \ "$libDir"/libsundials_ida.so.$libsundials_idaVersion \ "$libDir"/libsundials_idas.so.$libsundials_idasVersion \ "$libDir"/libsundials_kinsol.so.$libsundials_kinsolVersion \ "$libDir"/libsundials_nvecmanyvector.so.$libsundials_nvecmanyvectorVersion \ "$libDir"/libsundials_nvecpthreads.so.$libsundials_nvecpthreadsVersion \ "$libDir"/libsundials_nvecserial.so.$libsundials_nvecserialVersion \ "$libDir"/libsundials_sunlinsolband.so.$libsundials_sunlinsolbandVersion \ "$libDir"/libsundials_sunlinsoldense.so.$libsundials_sunlinsoldenseVersion \ "$libDir"/libsundials_sunlinsollapackband.so.$libsundials_sunlinsollapackbandVersion \ "$libDir"/libsundials_sunlinsollapackdense.so.$libsundials_sunlinsollapackdenseVersion \ "$libDir"/libsundials_sunlinsolpcg.so.$libsundials_sunlinsolpcgVersion \ "$libDir"/libsundials_sunlinsolspbcgs.so.$libsundials_sunlinsolspbcgsVersion \ "$libDir"/libsundials_sunlinsolspfgmr.so.$libsundials_sunlinsolspfgmrVersion \ "$libDir"/libsundials_sunlinsolspgmr.so.$libsundials_sunlinsolspgmrVersion \ "$libDir"/libsundials_sunlinsolsptfqmr.so.$libsundials_sunlinsolsptfqmrVersion \ "$libDir"/libsundials_sunmatrixband.so.$libsundials_sunmatrixbandVersion \ "$libDir"/libsundials_sunmatrixdense.so.$libsundials_sunmatrixdenseVersion \ "$libDir"/libsundials_sunmatrixsparse.so.$libsundials_sunmatrixsparseVersion \ "$libDir"/libsundials_sunnonlinsolfixedpoint.so.$libsundials_sunnonlinsolfixedpointVersion \ "$libDir"/libsundials_sunnonlinsolnewton.so.$libsundials_sunnonlinsolnewtonVersion BUILD() { cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \ -DEXAMPLES_ENABLED=OFF \ -DF77_INTERFACE_ENABLE=ON \ -DPTHREAD_ENABLE=ON \ -DLAPACK_ENABLE=ON \ $cmakeDirArgs make -C build $jobArgs } INSTALL() { make -C build install # remove static libraries rm -f $libDir/*.a mkdir -p $developDocDir mv $prefix/examples/* $developDocDir rmdir $prefix/examples/ prepareInstalledDevelLibs libsundials_arkode \ libsundials_cvode \ libsundials_cvodes \ libsundials_ida \ libsundials_generic \ libsundials_idas \ libsundials_kinsol \ libsundials_nvecmanyvector \ libsundials_nvecpthreads \ libsundials_nvecserial \ libsundials_sunlinsolband \ libsundials_sunlinsoldense \ libsundials_sunlinsollapackband \ libsundials_sunlinsollapackdense \ libsundials_sunlinsolpcg \ libsundials_sunlinsolspbcgs \ libsundials_sunlinsolspfgmr \ libsundials_sunlinsolspgmr \ libsundials_sunlinsolsptfqmr \ libsundials_sunmatrixband \ libsundials_sunmatrixdense \ libsundials_sunmatrixsparse \ libsundials_sunnonlinsolfixedpoint \ libsundials_sunnonlinsolnewton packageEntries devel \ $developDir \ $libDir/cmake } TEST() { make -C build test }