sundials/sundials.spec

1022 lines
32 KiB
RPMSpec
Raw Permalink Normal View History

2016-10-17 12:40:04 +00:00
## Debug builds?
%bcond_with debug
2016-10-17 12:40:04 +00:00
#
# Enable pthread support
%bcond_with pthread
#
%define _legacy_common_support 1
2020-08-22 10:06:54 +00:00
%define _lto_cflags %{nil}
2017-03-03 19:09:53 +00:00
%global with_mpich 1
%if 0%{?fedora} >= 40
%ifarch %{ix86}
%global with_openmpi 0
%else
2017-03-03 19:09:53 +00:00
%global with_openmpi 1
%endif
%else
%global with_openmpi 1
%endif
2017-03-03 19:09:53 +00:00
## BLAS ##
2022-10-29 16:58:29 +00:00
%if 0%{?fedora} || 0%{?rhel} >= 9
%global blaslib flexiblas
%global blasvar %{nil}
%else
%global blaslib openblas
%global blasvar o
2016-01-17 13:24:23 +00:00
%endif
###########
2016-01-17 13:24:23 +00:00
2020-04-26 16:33:56 +00:00
%global with_hypre 1
%ifarch x86_64
2022-11-13 16:31:43 +00:00
%global with_openmpicheck 1
%global with_mpichcheck 0
2020-04-26 16:33:56 +00:00
%endif
2019-04-25 19:20:14 +00:00
###########
2020-04-26 16:33:56 +00:00
%global with_sercheck 1
2017-11-08 20:48:45 +00:00
2023-04-19 18:23:32 +00:00
## PETSc ##
%ifnarch riscv64
2023-04-19 18:23:32 +00:00
%global with_petsc 1
%else
%global with_petsc 0
%endif
2023-04-19 18:23:32 +00:00
###########
## SuperLUMT ##
%global with_superlumt 1
###########
## superlu_dist ##
2023-02-25 16:09:49 +00:00
%global with_superludist 0
2018-09-05 09:12:20 +00:00
###########
2023-01-14 19:57:40 +00:00
%if 0%{?rhel} && 0%{?rhel} >= 9
# KLU support
2023-04-19 18:23:32 +00:00
%global with_klu 1
%global with_klu64 1
2023-01-14 19:57:40 +00:00
##########
# Fortran
%if 0%{?with_klu64}
2019-04-23 10:30:05 +00:00
%global with_fortran 1
2023-01-14 19:57:40 +00:00
%endif
%if 0%{?with_klu}
2019-04-23 10:30:05 +00:00
%global with_fortran 0
2019-02-20 19:35:23 +00:00
%endif
2023-01-14 19:57:40 +00:00
##########
%endif
%if 0%{?fedora}
%ifarch s390x x86_64 %{power64} aarch64
%global with_klu64 1
2023-01-14 19:57:40 +00:00
%global with_fortran 1
%endif
%ifarch %{arm} %{ix86}
%global with_klu 1
2023-01-14 19:57:40 +00:00
%global with_fortran 0
%endif
%endif
%if 0%{?rhel} && 0%{?rhel} == 8
%global with_klu 1
2023-01-14 19:57:40 +00:00
%global with_fortran 0
%endif
##########
2023-11-11 02:57:12 +00:00
# SOVERSIONs (*_SOVERSION from CMakeLists.txt):
%global arkodelib_SOVERSION 5
%global cvodelib_SOVERSION 6
%global cvodeslib_SOVERSION 6
%global idalib_SOVERSION 6
%global idaslib_SOVERSION 5
%global kinsollib_SOVERSION 6
#global cpodeslib_SOVERSION 0
%global nveclib_SOVERSION 6
%global sunmatrixlib_SOVERSION 4
%global sunlinsollib_SOVERSION 4
%global sunnonlinsollib_SOVERSION 3
%global sundialslib_SOVERSION 6
2007-08-07 10:23:21 +00:00
Summary: Suite of nonlinear solvers
Name: sundials
2023-11-08 20:51:08 +00:00
Version: 6.6.2
Release: %autorelease -e 0.riscv64
2007-08-07 10:23:21 +00:00
# SUNDIALS is licensed under BSD with some additional (but unrestrictive) clauses.
# Check the file 'LICENSE' for details.
License: BSD
2020-04-24 18:14:27 +00:00
URL: https://computation.llnl.gov/projects/%{name}/
Source0: https://github.com/LLNL/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
2007-08-07 10:23:21 +00:00
2016-10-04 13:21:49 +00:00
# This patch rename superLUMT library
2020-11-20 10:55:04 +00:00
Patch0: %{name}-5.5.0-set_superlumt_name.patch
2018-06-06 09:37:24 +00:00
# This patch rename superLUMT64 library
2020-11-20 10:55:04 +00:00
Patch1: %{name}-5.5.0-set_superlumt64_name.patch
2018-06-06 09:37:24 +00:00
2020-08-22 09:53:55 +00:00
Patch2: %{name}-change_petsc_variable.patch
2023-03-03 20:36:37 +00:00
Patch3: %{name}-klu64.patch
2023-11-11 02:57:12 +00:00
# Upstream fix for SOVERSIONs https://github.com/LLNL/sundials/pull/343
Patch4: %{name}-soversion.patch
BuildRequires: make
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
BuildRequires: gcc-gfortran
2019-04-23 10:30:05 +00:00
%endif
2023-04-19 18:23:32 +00:00
BuildRequires: python3-devel
BuildRequires: gcc, gcc-c++
%if 0%{?epel}
2018-10-15 17:01:28 +00:00
BuildRequires: epel-rpm-macros
2017-11-08 20:48:45 +00:00
%endif
BuildRequires: cmake >= 3.10
BuildRequires: %{blaslib}-devel
%if 0%{?with_superlumt}
2019-06-29 13:02:09 +00:00
%ifarch s390x x86_64 %{power64} aarch64
2018-06-06 09:37:24 +00:00
BuildRequires: SuperLUMT64-devel
%endif
%ifarch %{arm} %{ix86}
2016-10-04 13:21:49 +00:00
BuildRequires: SuperLUMT-devel
2016-10-06 12:57:29 +00:00
%endif
%endif
# KLU support
%if 0%{?with_klu64}
BuildRequires: suitesparse64-devel
%endif
%if 0%{?with_klu}
BuildRequires: suitesparse-devel
%endif
##########
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
2017-11-09 10:39:42 +00:00
Requires: gcc-gfortran%{?_isa}
2019-04-23 10:30:05 +00:00
%endif
2007-08-07 10:23:21 +00:00
%description
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
SUNDIALS was 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 were to require minimal information from the
user, allow users to easily supply their own data structures underneath the
solvers, and allow for easy incorporation of user-supplied linear solvers and
preconditioners.
%package devel
Summary: Suite of nonlinear solvers (developer files)
Requires: %{name}%{?_isa} = %{version}-%{release}
2020-11-20 10:55:04 +00:00
Provides: %{name}-fortran-static = %{version}-%{release}
2007-08-07 10:23:21 +00:00
%description devel
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
2016-03-26 18:48:58 +00:00
This package contains the developer files (.so file, header files).
2016-01-17 13:24:23 +00:00
#############################################################################
#########
%if 0%{?with_openmpi}
%package openmpi
Summary: Suite of nonlinear solvers
BuildRequires: openmpi-devel
2018-05-14 11:57:06 +00:00
BuildRequires: hypre-openmpi-devel
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
2019-04-23 10:30:05 +00:00
BuildRequires: petsc-openmpi-devel >= 3.10
BuildRequires: scalapack-openmpi-devel
BuildRequires: hdf5-openmpi-devel
2018-09-05 09:12:20 +00:00
%endif
%if 0%{?with_superludist}
BuildRequires: superlu_dist-openmpi-devel
%endif
2018-05-14 11:57:06 +00:00
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
Requires: gcc-gfortran%{?_isa}
2019-04-23 10:30:05 +00:00
%endif
2018-06-06 09:37:24 +00:00
%description openmpi
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
This package contains the Sundials Fortran parallel OpenMPI libraries.
%package openmpi-devel
2017-11-09 10:39:42 +00:00
Summary: Suite of nonlinear solvers
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
2020-11-20 10:55:04 +00:00
Provides: %{name}-openmpi-fortran-static = %{version}-%{release}
%description openmpi-devel
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
This package contains the Sundials parallel OpenMPI devel libraries and
header files.
2015-11-12 13:39:27 +00:00
%endif
2016-01-17 13:24:23 +00:00
######
###############################################################################
######
%if 0%{?with_mpich}
%package mpich
Summary: Suite of nonlinear solvers
BuildRequires: mpich-devel
2016-10-04 13:21:49 +00:00
BuildRequires: hypre-mpich-devel
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
2019-04-23 10:30:05 +00:00
BuildRequires: petsc-mpich-devel >= 3.10
BuildRequires: scalapack-mpich-devel
BuildRequires: hdf5-mpich-devel
2018-09-05 09:12:20 +00:00
%endif
%if 0%{?with_superludist}
BuildRequires: superlu_dist-mpich-devel
%endif
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
Requires: gcc-gfortran%{?_isa}
2019-04-23 10:30:05 +00:00
%endif
2018-06-06 09:37:24 +00:00
2016-01-17 13:24:23 +00:00
%description mpich
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
This package contains the Sundials parallel MPICH libraries.
%package mpich-devel
2017-11-09 10:39:42 +00:00
Summary: Suite of nonlinear solvers
2016-01-17 13:24:23 +00:00
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
2020-11-20 10:55:04 +00:00
Provides: %{name}-mpich-fortran-static = %{version}-%{release}
2016-01-17 13:24:23 +00:00
%description mpich-devel
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
This package contains the Sundials parallel MPICH devel libraries and
header files.
%endif
######
#############################################################################
2007-08-07 10:23:21 +00:00
%package doc
Summary: Suite of nonlinear solvers (documentation)
BuildArch: noarch
2007-08-07 10:23:21 +00:00
%description doc
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
2016-01-17 13:24:23 +00:00
This package contains the documentation files.
2007-08-07 10:23:21 +00:00
%prep
2016-01-17 13:24:23 +00:00
%setup -qc
pushd %{name}-%{version}
2017-11-08 20:48:45 +00:00
2019-06-29 13:02:09 +00:00
%ifarch s390x x86_64 %{power64} aarch64
2023-04-19 18:23:32 +00:00
%patch 1 -p0 -b .set_superlumt64_name
2018-06-06 09:37:24 +00:00
%endif
%ifarch %{arm} %{ix86}
2023-04-19 18:23:32 +00:00
%patch 0 -p0 -b .set_superlumt_name
2016-10-06 12:57:29 +00:00
%endif
2017-11-08 20:48:45 +00:00
2023-03-03 20:36:37 +00:00
%if 0%{?with_klu64}
2023-04-19 18:23:32 +00:00
%patch 3 -p1 -b .klu64
2023-03-03 20:36:37 +00:00
%endif
2023-11-11 02:57:12 +00:00
%patch 4 -p1 -b .soversion
mv src/arkode/README.md src/README-arkode.md
mv src/cvode/README.md src/README-cvode.md
mv src/cvodes/README.md src/README-cvodes.md
mv src/ida/README.md src/README-ida.md
mv src/idas/README.md src/README.idas.md
mv src/kinsol/README.md src/README-kinsol.md
2016-01-17 13:24:23 +00:00
popd
%if 0%{?with_openmpi}
cp -a sundials-%{version} buildopenmpi_dir
%endif
%if 0%{?with_mpich}
cp -a sundials-%{version} buildmpich_dir
%endif
2007-08-07 10:23:21 +00:00
%build
%global _smp_ncpus_max 1
2020-12-10 17:32:53 +00:00
mkdir -p sundials-%{version}/build
2018-09-05 09:12:20 +00:00
export LIBBLASLINK=-l%{blaslib}%{blasvar}
export INCBLAS=%{_includedir}/%{blaslib}
2018-06-06 09:37:24 +00:00
%if 0%{?with_superlumt}
2019-06-29 13:02:09 +00:00
%ifarch s390x x86_64 %{power64} aarch64
2018-06-06 09:37:24 +00:00
export LIBSUPERLUMTLINK=-lsuperlumt64_d
%endif
%ifarch %{arm} %{ix86}
2017-11-08 20:48:45 +00:00
export LIBSUPERLUMTLINK=-lsuperlumt_d
2018-06-06 09:37:24 +00:00
%endif
%endif
2019-06-29 13:02:09 +00:00
2023-03-03 20:36:37 +00:00
2016-10-17 12:40:04 +00:00
%if %{with debug}
2018-11-08 18:54:18 +00:00
%undefine _hardened_build
export CFLAGS=" "
export FFLAGS=" "
export FCFLAGS=" "
%{_bindir}/cmake -B sundials-%{version}/build -S sundials-%{version} \
2016-10-17 12:40:04 +00:00
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Debug \
2020-08-22 09:53:55 +00:00
-DCMAKE_C_FLAGS_DEBUG:STRING="-O0 -g %{__global_ldflags} -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_DEBUG:STRING="-O0 -g %{__global_ldflags} -I$INCBLAS" \
-DCMAKE_CXX_FLAGS_DEBUG:STRING="-O0 -g %{__global_ldflags} -I$INCBLAS" \
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING="%{__global_ldflags} $LIBBLASLINK $LIBSUPERLUMTLINK" \
2016-10-17 12:40:04 +00:00
%else
export CFLAGS="%{build_cflags}"
export FFLAGS="%{build_fflags}"
%cmake -B sundials-%{version}/build -S sundials-%{version} \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} -I$INCBLAS" \
2020-01-25 17:55:42 +00:00
%endif
%if 0%{?with_klu64}
2018-10-15 17:01:28 +00:00
-DSUNDIALS_INDEX_SIZE:STRING=64 \
-DKLU_ENABLE=ON -DKLU_LIBRARY_DIR:PATH=%{_libdir} -DKLU_LIBRARY=%{_libdir}/libklu64.so \
-DAMD_LIBRARY=%{_libdir}/libamd64.so -DAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DBTF_LIBRARY=%{_libdir}/libbtf64.so -DBTF_LIBRARY_DIR:PATH=%{_libdir} \
-DCOLAMD_LIBRARY=%{_libdir}/libcolamd64.so -DCOLAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
%endif
%if 0%{?with_klu}
-DSUNDIALS_INDEX_SIZE:STRING=32 \
-DKLU_ENABLE=ON -DKLU_LIBRARY_DIR:PATH=%{_libdir} -DKLU_LIBRARY=%{_libdir}/libklu.so \
-DAMD_LIBRARY=%{_libdir}/libamd.so -DAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DBTF_LIBRARY=%{_libdir}/libbtf.so -DBTF_LIBRARY_DIR:PATH=%{_libdir} \
-DCOLAMD_LIBRARY=%{_libdir}/libcolamd.so -DCOLAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
%endif
-DSUNDIALS_BUILD_WITH_PROFILING:BOOL=OFF \
2016-01-17 13:24:23 +00:00
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $LIBBLASLINK $LIBSUPERLUMTLINK" \
2021-02-24 18:01:26 +00:00
-DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir} \
2017-11-08 20:48:45 +00:00
-DLAPACK_ENABLE:BOOL=OFF \
2018-10-15 17:01:28 +00:00
-DCMAKE_MODULE_LINKER_FLAGS:STRING="%{__global_ldflags}" \
2018-11-08 18:54:18 +00:00
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
2019-04-23 10:30:05 +00:00
-DPYTHON_EXECUTABLE:FILEPATH=%{__python3} \
-DEXAMPLES_ENABLE_CXX:BOOL=ON -DEXAMPLES_ENABLE_C:BOOL=ON \
2016-01-17 13:24:23 +00:00
-DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
2020-11-20 10:55:04 +00:00
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=ON \
2016-01-17 13:24:23 +00:00
-DMPI_ENABLE:BOOL=OFF \
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
-DF77_INTERFACE_ENABLE:BOOL=ON \
-DEXAMPLES_ENABLE_F77:BOOL=ON \
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
2019-04-23 10:30:05 +00:00
-DF2003_INTERFACE_ENABLE:BOOL=ON \
%endif
2019-04-23 10:30:05 +00:00
-DEXAMPLES_ENABLE_F90:BOOL=ON \
-DFortran_INSTALL_MODDIR:PATH=%{_fmoddir}/%{name} \
%endif
2016-01-17 13:24:23 +00:00
-DUSE_GENERIC_MATH:BOOL=ON \
2016-03-26 18:48:58 +00:00
-DOPENMP_ENABLE:BOOL=ON \
%if %{with pthread}
2016-01-17 13:24:23 +00:00
-DPTHREAD_ENABLE:BOOL=ON \
%endif
2016-10-04 13:21:49 +00:00
-DSUNDIALS_PRECISION:STRING=double \
%if 0%{?with_superlumt}
2016-10-04 13:21:49 +00:00
-DSUPERLUMT_ENABLE:BOOL=ON \
-DSUPERLUMT_INCLUDE_DIR:PATH=%{_includedir}/SuperLUMT \
-DSUPERLUMT_LIBRARY_DIR:PATH=%{_libdir} \
-DSUPERLUMT_THREAD_TYPE:STRING=OpenMP \
2016-10-06 12:57:29 +00:00
%endif
-DSUPERLUDIST_ENABLE:BOOL=OFF \
2016-10-04 13:21:49 +00:00
-DHYPRE_ENABLE:BOOL=OFF \
2020-05-28 20:33:43 +00:00
-DEXAMPLES_INSTALL:BOOL=OFF \
2020-12-10 17:32:53 +00:00
-DSUNDIALS_BUILD_WITH_MONITORING:BOOL=ON -Wno-dev
2020-12-10 17:32:53 +00:00
%make_build V=1 -C sundials-%{version}/build
2016-01-17 13:24:23 +00:00
#############################################################################
#######
2015-04-17 11:15:47 +00:00
%if 0%{?with_openmpi}
2020-01-05 20:24:08 +00:00
2020-12-10 17:32:53 +00:00
mkdir -p buildopenmpi_dir/build
2015-04-17 11:15:47 +00:00
%{_openmpi_load}
2017-11-08 20:48:45 +00:00
## Blas
export LIBBLASLINK=-l%{blaslib}%{blasvar}
export INCBLAS=%{_includedir}/%{blaslib}
2017-11-08 20:48:45 +00:00
##
2017-11-08 20:48:45 +00:00
## SuperLUMT
%if 0%{?with_superlumt}
2019-06-29 13:02:09 +00:00
%ifarch s390x x86_64 %{power64} aarch64
2018-06-06 09:37:24 +00:00
export LIBSUPERLUMTLINK=-lsuperlumt64_d
%endif
%ifarch %{arm} %{ix86}
2017-11-08 20:48:45 +00:00
export LIBSUPERLUMTLINK=-lsuperlumt_d
2018-06-06 09:37:24 +00:00
%endif
%endif
2017-11-08 20:48:45 +00:00
## Hypre
%if 0%{?with_hypre}
2018-05-14 11:57:06 +00:00
export LIBHYPRELINK="-L$MPI_LIB -lHYPRE"
%endif
2017-11-08 20:48:45 +00:00
##
2019-04-25 19:20:14 +00:00
# Force MPI compilers
export CC=$MPI_BIN/mpicc
export CXX=$MPI_BIN/mpic++
%if 0%{?fedora}
export FC=$MPI_BIN/mpifort
%else
export FC=$MPI_BIN/mpif77
%endif
##
2016-10-17 12:40:04 +00:00
%if %{with debug}
2018-11-08 18:54:18 +00:00
%undefine _hardened_build
export CFLAGS=" "
export FFLAGS=" "
export FCFLAGS=" "
%{_bindir}/cmake -B buildopenmpi_dir/build -S buildopenmpi_dir \
2016-10-17 12:40:04 +00:00
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Debug \
2020-08-22 09:53:55 +00:00
-DCMAKE_C_FLAGS_DEBUG:STRING="-O0 -g %{__global_ldflags} -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_DEBUG:STRING="-O0 -g %{__global_ldflags} -I$INCBLAS" \
-DCMAKE_CXX_FLAGS_DEBUG:STRING="-O0 -g %{__global_ldflags} -I$INCBLAS" \
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING="%{__global_ldflags} $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
2016-10-17 12:40:04 +00:00
%else
export CFLAGS="%{build_cflags}"
export FFLAGS="%{build_fflags}"
%cmake -B buildopenmpi_dir/build -S buildopenmpi_dir \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} -I$INCBLAS" \
2020-01-25 17:55:42 +00:00
%endif
%if 0%{?with_klu64}
-DSUNDIALS_INDEX_SIZE:STRING=64 \
-DKLU_ENABLE=ON -DKLU_LIBRARY_DIR:PATH=%{_libdir} -DKLU_LIBRARY=%{_libdir}/libklu64.so \
-DAMD_LIBRARY=%{_libdir}/libamd64.so -DAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DBTF_LIBRARY=%{_libdir}/libbtf64.so -DBTF_LIBRARY_DIR:PATH=%{_libdir} \
-DCOLAMD_LIBRARY=%{_libdir}/libcolamd64.so -DCOLAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
-DPETSC_ENABLE:BOOL=OFF \
2018-06-06 09:37:24 +00:00
%endif
%if 0%{?with_klu}
-DSUNDIALS_INDEX_SIZE:STRING=32 \
-DKLU_ENABLE=ON -DKLU_LIBRARY_DIR:PATH=%{_libdir} -DKLU_LIBRARY=%{_libdir}/libklu.so \
-DAMD_LIBRARY=%{_libdir}/libamd.so -DAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DBTF_LIBRARY=%{_libdir}/libbtf.so -DBTF_LIBRARY_DIR:PATH=%{_libdir} \
-DCOLAMD_LIBRARY=%{_libdir}/libcolamd.so -DCOLAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
%if 0%{?with_petsc}
-DPETSC_ENABLE:BOOL=ON \
-DPETSC_INCLUDES:PATH=$MPI_INCLUDE/petsc \
-DPETSC_LIBRARIES:PATH=$MPI_LIB/libpetsc.so \
-DPETSC_EXECUTABLE_RUNS:BOOL=ON \
%endif
%endif
-DSUNDIALS_BUILD_WITH_PROFILING:BOOL=OFF \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
2021-02-24 18:01:26 +00:00
-DMPI_INCLUDE_PATH:PATH=$MPI_INCLUDE \
-DCMAKE_INSTALL_INCLUDEDIR:PATH=$MPI_INCLUDE \
2017-11-08 20:48:45 +00:00
-DLAPACK_ENABLE:BOOL=OFF \
2019-04-23 10:30:05 +00:00
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib}/openmpi/lib \
-DPYTHON_EXECUTABLE:FILEPATH=%{__python3} \
-DEXAMPLES_ENABLE_CXX:BOOL=ON -DEXAMPLES_ENABLE_C:BOOL=ON \
2020-11-20 10:55:04 +00:00
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=ON \
2015-11-12 13:39:27 +00:00
-DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
2016-01-17 13:24:23 +00:00
-DMPI_ENABLE:BOOL=ON \
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
2018-10-15 17:01:28 +00:00
%if 0%{?fedora}
-DMPI_Fortran_COMPILER:STRING=$MPI_BIN/mpifort \
%else
-DMPI_Fortran_COMPILER:STRING=$MPI_BIN/mpif77 \
%endif
2019-04-23 10:30:05 +00:00
-DF77_INTERFACE_ENABLE:BOOL=ON \
-DEXAMPLES_ENABLE_F77:BOOL=ON \
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
2019-04-23 10:30:05 +00:00
-DF2003_INTERFACE_ENABLE:BOOL=ON \
%endif
2019-04-23 10:30:05 +00:00
-DEXAMPLES_ENABLE_F90:BOOL=ON \
-DFortran_INSTALL_MODDIR:PATH=$MPI_FORTRAN_MOD_DIR/%{name} \
%endif
2016-01-17 13:24:23 +00:00
-DUSE_GENERIC_MATH:BOOL=ON \
2016-03-26 18:48:58 +00:00
-DOPENMP_ENABLE:BOOL=ON \
%if %{with pthread}
2016-01-17 13:24:23 +00:00
-DPTHREAD_ENABLE:BOOL=ON \
%endif
%if 0%{?with_superlumt}
2017-11-08 20:48:45 +00:00
-DSUPERLUMT_ENABLE:BOOL=ON \
-DSUPERLUMT_INCLUDE_DIR:PATH=%{_includedir}/SuperLUMT \
-DSUPERLUMT_LIBRARY_DIR:PATH=%{_libdir} \
-DSUPERLUMT_THREAD_TYPE:STRING=OpenMP \
%endif
%if 0%{?with_superludist}
-DSUPERLUDIST_ENABLE:BOOL=ON \
-DSUPERLUDIST_INCLUDE_DIR:PATH=$MPI_INCLUDE/superlu_dist \
-DSUPERLUDIST_LIBRARY_DIR:PATH=$MPI_LIB \
-DSUPERLUDIST_LIBRARIES:STRING=libsuperlu_dist.so \
%endif
2017-11-08 20:48:45 +00:00
%if 0%{?with_hypre}
2016-10-04 13:21:49 +00:00
-DHYPRE_ENABLE:BOOL=ON \
2017-11-08 20:48:45 +00:00
-DHYPRE_INCLUDE_DIR:PATH=$MPI_INCLUDE/hypre \
-DHYPRE_LIBRARY_DIR:PATH=$MPI_LIB \
2017-03-03 19:09:53 +00:00
%endif
2020-05-28 20:33:43 +00:00
-DEXAMPLES_INSTALL:BOOL=OFF \
2020-12-10 17:32:53 +00:00
-DSUNDIALS_BUILD_WITH_MONITORING:BOOL=ON -Wno-dev
2017-03-03 19:09:53 +00:00
2020-12-10 17:32:53 +00:00
%make_build V=1 -C buildopenmpi_dir/build
2015-04-17 11:15:47 +00:00
%{_openmpi_unload}
%endif
2016-01-17 13:24:23 +00:00
######
2017-11-08 20:48:45 +00:00
###########################################################################
2016-01-17 13:24:23 +00:00
%if 0%{?with_mpich}
2020-01-05 20:24:08 +00:00
2020-12-10 17:32:53 +00:00
mkdir -p buildmpich_dir/build
2016-01-17 13:24:23 +00:00
%{_mpich_load}
2019-04-23 10:30:05 +00:00
2017-11-08 20:48:45 +00:00
## Blas
export LIBBLASLINK=-l%{blaslib}%{blasvar}
export INCBLAS=%{_includedir}/%{blaslib}
2017-11-08 20:48:45 +00:00
##
2017-11-08 20:48:45 +00:00
## SuperLUMT
%if 0%{?with_superlumt}
2019-06-29 13:02:09 +00:00
%ifarch s390x x86_64 %{power64} aarch64
2018-06-06 09:37:24 +00:00
export LIBSUPERLUMTLINK=-lsuperlumt64_d
%endif
%ifarch %{arm} %{ix86}
2017-11-08 20:48:45 +00:00
export LIBSUPERLUMTLINK=-lsuperlumt_d
2018-06-06 09:37:24 +00:00
%endif
%endif
2017-11-08 20:48:45 +00:00
## Hypre
%if 0%{?with_hypre}
export LIBHYPRELINK="-L$MPI_LIB -lHYPRE"
%endif
##
2019-04-25 19:20:14 +00:00
# Force MPI compilers
export CC=$MPI_BIN/mpicc
export CXX=$MPI_BIN/mpic++
%if 0%{?fedora}
export FC=$MPI_BIN/mpifort
%else
export FC=$MPI_BIN/mpif77
%endif
##
2016-10-17 12:40:04 +00:00
%if %{with debug}
2018-11-08 18:54:18 +00:00
%undefine _hardened_build
export CFLAGS=" "
export FFLAGS=" "
export FCFLAGS=" "
%{_bindir}/cmake -B buildmpich_dir/build -S buildmpich_dir \
2016-10-17 12:40:04 +00:00
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Debug \
2020-08-22 09:53:55 +00:00
-DCMAKE_C_FLAGS_DEBUG:STRING="-O0 -g %{__global_ldflags} -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_DEBUG:STRING="-O0 -g %{__global_ldflags} -I$INCBLAS" \
-DCMAKE_CXX_FLAGS_DEBUG:STRING="-O0 -g %{__global_ldflags} -I$INCBLAS" \
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING="%{__global_ldflags} $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
2016-10-17 12:40:04 +00:00
%else
export CFLAGS="%{build_cflags}"
export FFLAGS="%{build_fflags}"
%cmake -B buildmpich_dir/build -S buildmpich_dir \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} -I$INCBLAS" \
2020-01-25 17:55:42 +00:00
%endif
%if 0%{?with_klu64}
-DSUNDIALS_INDEX_SIZE:STRING=64 \
-DKLU_ENABLE=ON -DKLU_LIBRARY_DIR:PATH=%{_libdir} -DKLU_LIBRARY=%{_libdir}/libklu64.so \
-DAMD_LIBRARY=%{_libdir}/libamd64.so -DAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DBTF_LIBRARY=%{_libdir}/libbtf64.so -DBTF_LIBRARY_DIR:PATH=%{_libdir} \
-DCOLAMD_LIBRARY=%{_libdir}/libcolamd64.so -DCOLAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
-DPETSC_ENABLE:BOOL=OFF \
2018-06-06 09:37:24 +00:00
%endif
%if 0%{?with_klu}
-DSUNDIALS_INDEX_SIZE:STRING=32 \
-DKLU_ENABLE=ON -DKLU_LIBRARY_DIR:PATH=%{_libdir} -DKLU_LIBRARY=%{_libdir}/libklu.so \
-DAMD_LIBRARY=%{_libdir}/libamd.so -DAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DBTF_LIBRARY=%{_libdir}/libbtf.so -DBTF_LIBRARY_DIR:PATH=%{_libdir} \
-DCOLAMD_LIBRARY=%{_libdir}/libcolamd.so -DCOLAMD_LIBRARY_DIR:PATH=%{_libdir} \
-DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
%if 0%{?with_petsc}
-DPETSC_ENABLE:BOOL=ON \
-DPETSC_INCLUDES:PATH=$MPI_INCLUDE/petsc \
-DPETSC_LIBRARIES:PATH=$MPI_LIB/libpetsc.so \
-DPETSC_EXECUTABLE_RUNS:BOOL=ON \
%endif
%endif
-DSUNDIALS_BUILD_WITH_PROFILING:BOOL=OFF \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
2017-11-08 20:48:45 +00:00
-DLAPACK_ENABLE:BOOL=OFF \
2021-02-24 18:01:26 +00:00
-DMPI_INCLUDE_PATH:PATH=$MPI_INCLUDE \
-DCMAKE_INSTALL_INCLUDEDIR:PATH=$MPI_INCLUDE \
2019-04-23 10:30:05 +00:00
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib}/mpich/lib \
-DPYTHON_EXECUTABLE:FILEPATH=%{__python3} \
-DEXAMPLES_ENABLE_CXX:BOOL=ON -DEXAMPLES_ENABLE_C:BOOL=ON \
2020-11-20 10:55:04 +00:00
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=ON \
2016-01-17 13:24:23 +00:00
-DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
-DMPI_ENABLE:BOOL=ON \
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
2016-01-17 13:24:23 +00:00
%if 0%{?fedora}
2018-10-15 17:01:28 +00:00
-DMPI_Fortran_COMPILER:STRING=$MPI_BIN/mpifort \
2016-01-17 13:24:23 +00:00
%else
2018-10-15 17:01:28 +00:00
-DMPI_Fortran_COMPILER:STRING=$MPI_BIN/mpif77 \
2016-01-17 13:24:23 +00:00
%endif
2019-04-23 10:30:05 +00:00
-DF77_INTERFACE_ENABLE:BOOL=ON \
-DEXAMPLES_ENABLE_F77:BOOL=ON \
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
2019-04-23 10:30:05 +00:00
-DF2003_INTERFACE_ENABLE:BOOL=ON \
%endif
2019-04-23 10:30:05 +00:00
-DEXAMPLES_ENABLE_F90:BOOL=ON \
-DFortran_INSTALL_MODDIR:PATH=$MPI_FORTRAN_MOD_DIR/%{name} \
%endif
2016-01-17 13:24:23 +00:00
-DUSE_GENERIC_MATH:BOOL=ON \
2016-03-26 18:48:58 +00:00
-DOPENMP_ENABLE:BOOL=ON \
%if %{with pthread}
-DPTHREAD_ENABLE:BOOL=ON \
%endif
%if 0%{?with_superlumt}
2017-11-08 20:48:45 +00:00
-DSUPERLUMT_ENABLE:BOOL=ON \
-DSUPERLUMT_INCLUDE_DIR:PATH=%{_includedir}/SuperLUMT \
-DSUPERLUMT_LIBRARY_DIR:PATH=%{_libdir} \
-DSUPERLUMT_THREAD_TYPE:STRING=OpenMP \
%endif
%if 0%{?with_superludist}
-DSUPERLUDIST_ENABLE:BOOL=ON \
-DSUPERLUDIST_INCLUDE_DIR:PATH=$MPI_INCLUDE/superlu_dist \
-DSUPERLUDIST_LIBRARY_DIR:PATH=$MPI_LIB \
-DSUPERLUDIST_LIBRARIES:STRING=libsuperlu_dist.so \
%endif
2017-11-15 20:10:34 +00:00
%if 0%{?with_hypre}
2016-10-04 13:21:49 +00:00
-DHYPRE_ENABLE:BOOL=ON \
2017-11-08 20:48:45 +00:00
-DHYPRE_INCLUDE_DIR:PATH=$MPI_INCLUDE/hypre \
-DHYPRE_LIBRARY_DIR:PATH=$MPI_LIB \
2017-03-03 19:09:53 +00:00
%endif
2020-05-28 20:33:43 +00:00
-DEXAMPLES_INSTALL:BOOL=OFF \
2020-12-10 17:32:53 +00:00
-DSUNDIALS_BUILD_WITH_MONITORING:BOOL=ON -Wno-dev
2017-03-03 19:09:53 +00:00
2020-12-10 17:32:53 +00:00
%make_build V=1 -C buildmpich_dir/build
2016-01-17 13:24:23 +00:00
%{_mpich_unload}
%endif
######
#############################################################################
2007-08-07 10:23:21 +00:00
%install
%if 0%{?with_openmpi}
%{_openmpi_load}
2017-11-08 20:48:45 +00:00
%make_install -C buildopenmpi_dir/build
rm -f %{buildroot}$MPI_INCLUDE/sundials/LICENSE
rm -f %{buildroot}$MPI_INCLUDE/sundials/NOTICE
%{_openmpi_unload}
%endif
2016-01-17 13:24:23 +00:00
%if 0%{?with_mpich}
%{_mpich_load}
2017-11-08 20:48:45 +00:00
%make_install -C buildmpich_dir/build
rm -f %{buildroot}$MPI_INCLUDE/sundials/LICENSE
rm -f %{buildroot}$MPI_INCLUDE/sundials/NOTICE
2016-01-17 13:24:23 +00:00
%{_mpich_unload}
%endif
2017-11-08 20:48:45 +00:00
%make_install -C sundials-%{version}/build
2018-09-05 09:12:20 +00:00
# Remove files in bad position
2018-01-28 11:37:16 +00:00
rm -f %{buildroot}%{_prefix}/LICENSE
2018-09-05 09:12:20 +00:00
rm -f %{buildroot}%{_includedir}/sundials/LICENSE
rm -f %{buildroot}%{_includedir}/sundials/NOTICE
2007-08-07 10:23:21 +00:00
2015-04-17 11:15:47 +00:00
%check
%ifnarch riscv64
2015-04-17 13:51:31 +00:00
%if 0%{?with_openmpi}
2018-11-08 18:54:18 +00:00
%if 0%{?with_openmpicheck}
%{_openmpi_load}
2023-04-19 20:01:10 +00:00
%define _vpath_builddir buildopenmpi_dir/build
2018-11-08 18:54:18 +00:00
%if %{with debug}
2019-04-23 10:30:05 +00:00
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
export OMPI_MCA_rmaps_base_oversubscribe=yes
2023-04-19 20:01:10 +00:00
%ctest -- -VV --output-on-failure --debug
2018-11-08 18:54:18 +00:00
%else
2019-04-23 10:30:05 +00:00
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
export OMPI_MCA_rmaps_base_oversubscribe=yes
2023-04-19 20:01:10 +00:00
%ctest -- --output-on-failure -E 'test_sunlinsol_superlumt|test_fsunlinsol_dense_mod'
2018-09-05 09:12:20 +00:00
%endif
2015-04-17 13:51:31 +00:00
%{_openmpi_unload}
%endif
## if with_openmpicheck
%endif
## if with_openmpi
2016-01-17 13:24:23 +00:00
%if 0%{?with_mpich}
2018-11-08 18:54:18 +00:00
%if 0%{?with_mpichcheck}
%{_mpich_load}
2023-04-19 20:01:10 +00:00
%define _vpath_builddir buildmpich_dir/build
2018-11-08 18:54:18 +00:00
%if %{with debug}
2019-04-23 10:30:05 +00:00
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
2023-04-19 20:01:10 +00:00
%ctest -- -VV --output-on-failure --debug
2018-09-05 09:12:20 +00:00
%else
2019-04-23 10:30:05 +00:00
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:$MPI_LIB
2023-04-19 20:01:10 +00:00
%ctest -- --output-on-failure -E 'test_sunlinsol_superlumt|test_fsunlinsol_dense_mod'
2018-09-05 09:12:20 +00:00
%endif
2018-06-06 09:37:24 +00:00
%{_mpich_unload}
%endif
## if with_mpichcheck
%endif
## if with_mpich
2015-04-17 11:15:47 +00:00
2015-11-12 13:39:27 +00:00
%if 0%{?with_sercheck}
2022-10-29 16:58:29 +00:00
%define _vpath_builddir sundials-%{version}/build
2018-11-08 18:54:18 +00:00
%if %{with debug}
2019-04-23 10:30:05 +00:00
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{_libdir}
2023-04-19 20:01:10 +00:00
%ctest -- -VV --output-on-failure --debug
2018-11-08 18:54:18 +00:00
%else
2019-04-23 10:30:05 +00:00
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{_libdir}
2023-04-19 20:01:10 +00:00
%ctest -- --output-on-failure -E 'test_sunlinsol_superlumt|test_fsunlinsol_dense_mod'
2018-09-05 09:12:20 +00:00
%endif
%endif
## if with_sercheck
%endif
## ifnarch riscv64
2015-04-17 13:51:31 +00:00
2007-08-07 10:23:21 +00:00
%files
2016-01-17 13:24:23 +00:00
%license sundials-%{version}/LICENSE
2019-04-25 19:20:14 +00:00
%doc sundials-%{version}/README.md
%doc sundials-%{version}/src/README-arkode.md
%doc sundials-%{version}/src/README-cvode.md
%doc sundials-%{version}/src/README-cvodes.md
%doc sundials-%{version}/src/README-ida.md
%doc sundials-%{version}/src/README.idas.md
%doc sundials-%{version}/src/README-kinsol.md
2019-04-25 19:20:14 +00:00
%doc sundials-%{version}/NOTICE
2023-11-11 02:57:12 +00:00
%{_libdir}/libsundials_arkode*.so.%{arkodelib_SOVERSION}*
%{_libdir}/libsundials_cvode*.so.%{cvodelib_SOVERSION}*
%{_libdir}/libsundials_generic.so.%{sundialslib_SOVERSION}**
%{_libdir}/libsundials_ida.so.%{idalib_SOVERSION}*
%{_libdir}/libsundials_idas.so.%{idaslib_SOVERSION}*
%{_libdir}/libsundials_kinsol.so.%{kinsollib_SOVERSION}*
%{_libdir}/libsundials_nvecopenmp.so.%{nveclib_SOVERSION}*
%{_libdir}/libsundials_nvecmanyvector.so.%{nveclib_SOVERSION}*
%if %{with pthread}
2023-11-11 02:57:12 +00:00
%{_libdir}/libsundials_nvecpthreads.so.%{nveclib_SOVERSION}*
%endif
2023-11-11 02:57:12 +00:00
%{_libdir}/libsundials_nvecserial.so.%{nveclib_SOVERSION}*
%{_libdir}/libsundials_sunlinsol*.so.%{sunlinsollib_SOVERSION}*
%{_libdir}/libsundials_sunmatrix*.so.%{sunmatrixlib_SOVERSION}*
%{_libdir}/libsundials_sunnonlinsol*.so.%{sunnonlinsollib_SOVERSION}*
2019-04-25 19:20:14 +00:00
%if 0%{?with_fortran}
2021-02-21 18:29:08 +00:00
%{_libdir}/libsundials_f*[_mod].so.*
2019-04-25 19:20:14 +00:00
%endif
2007-08-07 10:23:21 +00:00
%files devel
2020-11-20 10:55:04 +00:00
%{_libdir}/*.a
%{_libdir}/libsundials_generic.so
2019-04-25 19:20:14 +00:00
%{_libdir}/libsundials_ida*.so
%{_libdir}/libsundials_cvode*.so
%{_libdir}/libsundials_arkode*.so
%{_libdir}/libsundials_kinsol.so
%{_libdir}/libsundials_nvecserial.so
%{_libdir}/libsundials_nvecopenmp.so
%{_libdir}/libsundials_nvecmanyvector.so
2020-11-20 10:55:04 +00:00
%{_libdir}/cmake/sundials/
%if %{with pthread}
%{_libdir}/libsundials_nvecpthreads.so
%endif
2019-04-25 19:20:14 +00:00
%{_libdir}/libsundials_sunmatrix*.so
%{_libdir}/libsundials_sunlinsol*.so
%{_libdir}/libsundials_sunnonlinsol*.so
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
2021-02-21 18:29:08 +00:00
%{_libdir}/libsundials_f*[_mod].so
2019-04-23 10:30:05 +00:00
%{_fmoddir}/%{name}/
2023-04-19 18:23:32 +00:00
%{_includedir}/sundials/sundials_futils.h
2021-02-24 18:01:26 +00:00
%if %{with pthread}
%{_libdir}/libsundials_fnvecpthreads.so
%endif
%if 0%{?with_superlumt}
2023-04-19 18:23:32 +00:00
%{_libdir}/libsundials_sunlinsolsuperlumt.so
2021-02-24 18:01:26 +00:00
%endif
2019-04-23 10:30:05 +00:00
%endif
%{_includedir}/nvector/
%{_includedir}/sunmatrix/
%{_includedir}/sunlinsol/
%{_includedir}/sunnonlinsol/
%{_includedir}/arkode/
%{_includedir}/cvode/
%{_includedir}/cvodes/
%{_includedir}/ida/
%{_includedir}/idas/
%{_includedir}/kinsol/
2020-11-20 10:55:04 +00:00
%dir %{_includedir}/sundials
%{_includedir}/sundials/sundials_export.h
%{_includedir}/sundials/sundials_band.h
%{_includedir}/sundials/sundials_dense.h
%{_includedir}/sundials/sundials_direct.h
%{_includedir}/sundials/sundials_iterative.h
%{_includedir}/sundials/sundials_linearsolver.h
%{_includedir}/sundials/sundials_math.h
%{_includedir}/sundials/sundials_matrix.h
%{_includedir}/sundials/sundials_memory.h
%{_includedir}/sundials/sundials_nonlinearsolver.h
%{_includedir}/sundials/sundials_mpi_types.h
%{_includedir}/sundials/sundials_nvector.h
%{_includedir}/sundials/sundials_types.h
%{_includedir}/sundials/sundials_version.h
%{_includedir}/sundials/sundials_config.h
2023-04-19 18:23:32 +00:00
%{_includedir}/sundials/sundials_base.hpp
%{_includedir}/sundials/sundials_context.h
%{_includedir}/sundials/sundials_context.hpp
%{_includedir}/sundials/sundials_convertibleto.hpp
%{_includedir}/sundials/sundials_linearsolver.hpp
%{_includedir}/sundials/sundials_logger.h
%{_includedir}/sundials/sundials_matrix.hpp
2023-10-15 16:31:23 +00:00
%{_includedir}/sundials/sundials_memory.hpp
2023-04-19 18:23:32 +00:00
%{_includedir}/sundials/sundials_nonlinearsolver.hpp
%{_includedir}/sundials/sundials_nvector.hpp
%{_includedir}/sundials/sundials_profiler.h
%{_includedir}/sunmemory/sunmemory_system.h
%if 0%{?with_openmpi}
%files openmpi
2016-01-17 13:24:23 +00:00
%license sundials-%{version}/LICENSE
2019-04-25 19:20:14 +00:00
%doc sundials-%{version}/README.md
%doc sundials-%{version}/src/README-arkode.md
%doc sundials-%{version}/src/README-cvode.md
%doc sundials-%{version}/src/README-cvodes.md
%doc sundials-%{version}/src/README-ida.md
%doc sundials-%{version}/src/README.idas.md
%doc sundials-%{version}/src/README-kinsol.md
2019-04-25 19:20:14 +00:00
%doc sundials-%{version}/NOTICE
2020-11-20 10:55:04 +00:00
%{_libdir}/openmpi/lib/libsundials_generic.so.*
2019-04-25 19:20:14 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecparallel.so.*
%{_libdir}/openmpi/lib/libsundials_nvecparhyp.so.*
2023-03-03 19:11:42 +00:00
%if 0%{?fedora}
%ifarch %{arm} %{ix86}
%if 0%{?with_petsc}
2019-04-25 19:20:14 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecpetsc.so.*
2021-11-06 20:34:22 +00:00
%{_libdir}/openmpi/lib/libsundials_sunnonlinsolpetscsnes.so.*
%endif
%endif
2023-03-03 19:11:42 +00:00
%endif
%if %{with pthread}
%{_libdir}/openmpi/lib/libsundials_nvecmpipthreads.so.*
%endif
%{_libdir}/openmpi/lib/libsundials_nvecmpiplusx.so.*
2020-04-26 12:27:47 +00:00
%{_libdir}/openmpi/lib/libsundials_kinsol.so.*
%{_libdir}/openmpi/lib/libsundials_ida*.so.*
%{_libdir}/openmpi/lib/libsundials_cvode*.so.*
%{_libdir}/openmpi/lib/libsundials_arkode*.so.*
%{_libdir}/openmpi/lib/libsundials_nvecserial.so.*
%{_libdir}/openmpi/lib/libsundials_nvecopenmp.so.*
%{_libdir}/openmpi/lib/libsundials_sunmatrix*.so.*
%{_libdir}/openmpi/lib/libsundials_sunlinsol*.so.*
%{_libdir}/openmpi/lib/libsundials_sunnonlinsol*.so.*
2020-04-24 18:14:27 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecmanyvector.so.*
%{_libdir}/openmpi/lib/libsundials_nvecmpimanyvector.so.*
%if %{with pthread}
2020-04-24 18:14:27 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecpthreads.so.*
%endif
2019-04-25 19:20:14 +00:00
%if 0%{?with_fortran}
2021-02-21 18:29:08 +00:00
%{_libdir}/openmpi/lib/libsundials_f*[_mod].so.*
2019-04-25 19:20:14 +00:00
%endif
%files openmpi-devel
2020-11-20 10:55:04 +00:00
%{_libdir}/openmpi/lib/*.a
2018-11-08 18:54:18 +00:00
%{_includedir}/openmpi-%{_arch}/nvector/
2019-04-25 19:20:14 +00:00
%{_includedir}/openmpi-%{_arch}/sundials/
2021-02-24 18:01:26 +00:00
%{_includedir}/openmpi-%{_arch}/arkode/
%{_includedir}/openmpi-%{_arch}/cvode/
%{_includedir}/openmpi-%{_arch}/cvodes/
%{_includedir}/openmpi-%{_arch}/ida/
%{_includedir}/openmpi-%{_arch}/idas/
%{_includedir}/openmpi-%{_arch}/kinsol/
%{_includedir}/openmpi-%{_arch}/sunlinsol/
%{_includedir}/openmpi-%{_arch}/sunmatrix/
%{_includedir}/openmpi-%{_arch}/sunnonlinsol/
2023-04-19 18:23:32 +00:00
%{_includedir}/openmpi-%{_arch}/sunmemory/
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
%{_fmoddir}/openmpi/%{name}/
2021-02-21 18:29:08 +00:00
%{_libdir}/openmpi/lib/libsundials_f*[_mod].so
2019-04-25 19:20:14 +00:00
%endif
2020-11-20 10:55:04 +00:00
%{_libdir}/openmpi/lib/libsundials_generic.so
2019-04-25 19:20:14 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecparallel.so
%{_libdir}/openmpi/lib/libsundials_nvecparhyp.so
2023-03-03 19:11:42 +00:00
%if 0%{?fedora}
%ifarch %{arm} %{ix86}
%if 0%{?with_petsc}
2019-04-25 19:20:14 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecpetsc.so
2021-11-06 20:34:22 +00:00
%{_libdir}/openmpi/lib/libsundials_sunnonlinsolpetscsnes.so
%endif
%endif
2023-03-03 19:11:42 +00:00
%endif
%if %{with pthread}
%{_libdir}/openmpi/lib/libsundials_nvecmpipthreads.so
2020-05-22 16:48:56 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecpthreads.so
%endif
%{_libdir}/openmpi/lib/libsundials_nvecmpiplusx.so
2020-04-26 12:27:47 +00:00
%{_libdir}/openmpi/lib/libsundials_kinsol.so
%{_libdir}/openmpi/lib/libsundials_ida*.so
%{_libdir}/openmpi/lib/libsundials_cvode*.so
%{_libdir}/openmpi/lib/libsundials_arkode*.so
%{_libdir}/openmpi/lib/libsundials_nvecserial.so
%{_libdir}/openmpi/lib/libsundials_nvecopenmp.so
%{_libdir}/openmpi/lib/libsundials_sunmatrix*.so
%{_libdir}/openmpi/lib/libsundials_sunlinsol*.so
%{_libdir}/openmpi/lib/libsundials_sunnonlinsol*.so
2020-04-24 18:14:27 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecmanyvector.so
%{_libdir}/openmpi/lib/libsundials_nvecmpimanyvector.so
2020-11-20 10:55:04 +00:00
%{_libdir}/openmpi/lib/cmake/sundials/
%endif
2016-01-17 13:24:23 +00:00
%if 0%{?with_mpich}
%files mpich
%license sundials-%{version}/LICENSE
2019-04-25 19:20:14 +00:00
%doc sundials-%{version}/README.md
%doc sundials-%{version}/src/README-arkode.md
%doc sundials-%{version}/src/README-cvode.md
%doc sundials-%{version}/src/README-cvodes.md
%doc sundials-%{version}/src/README-ida.md
%doc sundials-%{version}/src/README.idas.md
%doc sundials-%{version}/src/README-kinsol.md
2019-04-25 19:20:14 +00:00
%doc sundials-%{version}/NOTICE
2020-11-20 10:55:04 +00:00
%{_libdir}/mpich/lib/libsundials_generic.so.*
2019-04-25 19:20:14 +00:00
%{_libdir}/mpich/lib/libsundials_nvecparallel.so.*
%{_libdir}/mpich/lib/libsundials_nvecparhyp.so.*
2023-03-03 19:11:42 +00:00
%if 0%{?fedora}
%ifarch %{arm} %{ix86}
%if 0%{?with_petsc}
2019-04-25 19:20:14 +00:00
%{_libdir}/mpich/lib/libsundials_nvecpetsc.so.*
2021-11-06 20:34:22 +00:00
%{_libdir}/mpich/lib/libsundials_sunnonlinsolpetscsnes.so.*
%endif
%endif
2023-03-03 19:11:42 +00:00
%endif
%if %{with pthread}
%{_libdir}/mpich/lib/libsundials_nvecmpipthreads.so.*
%endif
%{_libdir}/mpich/lib/libsundials_nvecmpiplusx.so.*
2020-04-26 12:27:47 +00:00
%{_libdir}/mpich/lib/libsundials_kinsol.so.*
%{_libdir}/mpich/lib/libsundials_ida*.so.*
%{_libdir}/mpich/lib/libsundials_cvode*.so.*
%{_libdir}/mpich/lib/libsundials_arkode*.so.*
%{_libdir}/mpich/lib/libsundials_nvecserial.so.*
%{_libdir}/mpich/lib/libsundials_nvecopenmp.so.*
%{_libdir}/mpich/lib/libsundials_sunmatrix*.so.*
%{_libdir}/mpich/lib/libsundials_sunlinsol*.so.*
%{_libdir}/mpich/lib/libsundials_sunnonlinsol*.so.*
2020-04-24 18:14:27 +00:00
%{_libdir}/mpich/lib/libsundials_nvecmanyvector.so.*
%{_libdir}/mpich/lib/libsundials_nvecmpimanyvector.so.*
%if %{with pthread}
2020-04-24 18:14:27 +00:00
%{_libdir}/mpich/lib/libsundials_nvecpthreads.so.*
%endif
2019-04-25 19:20:14 +00:00
%if 0%{?with_fortran}
2021-02-21 18:29:08 +00:00
%{_libdir}/mpich/lib/libsundials_f*[_mod].so.*
2019-04-25 19:20:14 +00:00
%endif
2016-01-17 13:24:23 +00:00
%files mpich-devel
2018-11-08 18:54:18 +00:00
%{_includedir}/mpich-%{_arch}/nvector/
2019-04-25 19:20:14 +00:00
%{_includedir}/mpich-%{_arch}/sundials/
2021-02-24 18:01:26 +00:00
%{_includedir}/mpich-%{_arch}/arkode/
%{_includedir}/mpich-%{_arch}/cvode/
%{_includedir}/mpich-%{_arch}/cvodes/
%{_includedir}/mpich-%{_arch}/ida/
%{_includedir}/mpich-%{_arch}/idas/
%{_includedir}/mpich-%{_arch}/kinsol/
%{_includedir}/mpich-%{_arch}/sunlinsol/
%{_includedir}/mpich-%{_arch}/sunmatrix/
%{_includedir}/mpich-%{_arch}/sunnonlinsol/
2023-04-19 18:23:32 +00:00
%{_includedir}/mpich-%{_arch}/sunmemory/
2019-04-23 10:30:05 +00:00
%if 0%{?with_fortran}
%{_fmoddir}/mpich/%{name}/
2021-02-21 18:29:08 +00:00
%{_libdir}/mpich/lib/libsundials_f*[_mod].so
2019-04-25 19:20:14 +00:00
%endif
2020-11-20 10:55:04 +00:00
%{_libdir}/mpich/lib/*.a
%{_libdir}/mpich/lib/libsundials_generic.so
2019-04-25 19:20:14 +00:00
%{_libdir}/mpich/lib/libsundials_nvecparallel.so
%{_libdir}/mpich/lib/libsundials_nvecparhyp.so
2023-03-03 19:11:42 +00:00
%if 0%{?fedora}
%ifarch %{arm} %{ix86}
%if 0%{?with_petsc}
2019-04-25 19:20:14 +00:00
%{_libdir}/mpich/lib/libsundials_nvecpetsc.so
2021-11-06 20:34:22 +00:00
%{_libdir}/mpich/lib/libsundials_sunnonlinsolpetscsnes.so
%endif
%endif
2023-03-03 19:11:42 +00:00
%endif
%if %{with pthread}
%{_libdir}/mpich/lib/libsundials_nvecmpipthreads.so
2020-05-22 16:48:56 +00:00
%{_libdir}/mpich/lib/libsundials_nvecpthreads.so
%endif
%{_libdir}/mpich/lib/libsundials_nvecmpiplusx.so
2020-04-26 12:27:47 +00:00
%{_libdir}/mpich/lib/libsundials_kinsol.so
%{_libdir}/mpich/lib/libsundials_ida*.so
%{_libdir}/mpich/lib/libsundials_cvode*.so
%{_libdir}/mpich/lib/libsundials_arkode*.so
%{_libdir}/mpich/lib/libsundials_nvecserial.so
%{_libdir}/mpich/lib/libsundials_nvecopenmp.so
%{_libdir}/mpich/lib/libsundials_sunmatrix*.so
%{_libdir}/mpich/lib/libsundials_sunlinsol*.so
%{_libdir}/mpich/lib/libsundials_sunnonlinsol*.so
2020-04-24 18:14:27 +00:00
%{_libdir}/mpich/lib/libsundials_nvecmanyvector.so
%{_libdir}/mpich/lib/libsundials_nvecmpimanyvector.so
2020-11-20 10:55:04 +00:00
%{_libdir}/mpich/lib/cmake/sundials/
2016-01-17 13:24:23 +00:00
%endif
2018-11-08 18:54:18 +00:00
%files doc
%license sundials-%{version}/LICENSE
%doc sundials-%{version}/README.md
%doc sundials-%{version}/NOTICE
2018-11-08 18:54:18 +00:00
%doc sundials-%{version}/doc/arkode/*
2007-08-07 10:23:21 +00:00
%changelog
2023-10-15 15:41:25 +00:00
%autochangelog