sundials/sundials.spec

1069 lines
35 KiB
RPMSpec
Raw Normal View History

2016-10-17 12:40:04 +00:00
## Debug builds?
%bcond_with debug
#
2016-01-17 13:24:23 +00:00
%if 0%{?rhel} && 0%{?rhel} < 7
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
2015-11-12 13:39:27 +00:00
%endif
## Define if use openmpi or not
2018-05-04 20:18:52 +00:00
%if 0%{?fedora} < 28
## Exclude MPI builds on s390x
2017-03-03 11:37:08 +00:00
%ifarch s390x
2018-05-04 20:18:52 +00:00
%global with_mpich 0
%global with_openmpi 0
2017-03-03 11:37:08 +00:00
%else
2017-03-03 19:09:53 +00:00
%global with_mpich 1
2018-05-04 20:18:52 +00:00
%global with_openmpi 1
2017-03-03 11:37:08 +00:00
%endif
%endif
2018-05-04 20:18:52 +00:00
%if 0%{?fedora} >= 28
2017-03-03 19:09:53 +00:00
%global with_mpich 1
%global with_openmpi 1
%endif
2016-01-17 13:24:23 +00:00
# No MPICH support on these arches
2017-03-03 19:09:53 +00:00
%if 0%{?rhel} && 0%{?rhel} < 7
2016-10-24 17:07:13 +00:00
%ifarch %{power64}
2017-03-03 20:27:24 +00:00
%global with_openmpi 1
2016-01-17 13:24:23 +00:00
%global with_mpich 0
2016-10-24 17:07:13 +00:00
%endif
%endif
2017-03-03 19:09:53 +00:00
%if 0%{?rhel} && 0%{?rhel} < 7
2016-10-24 17:07:13 +00:00
%ifnarch %{power64}
2017-03-03 20:27:24 +00:00
%global with_openmpi 1
2016-10-24 17:07:13 +00:00
%global with_mpich 1
%endif
%endif
2017-03-03 19:09:53 +00:00
%if 0%{?rhel} && 0%{?rhel} >= 7
2017-03-03 20:27:24 +00:00
%global with_openmpi 1
2016-01-17 13:24:23 +00:00
%global with_mpich 1
%endif
2017-11-08 20:48:45 +00:00
%global with_hypre 1
2018-09-05 09:12:20 +00:00
## PETSc ##
%if 0%{?fedora} && 0%{?fedora} < 29
## Exclude MPI builds on s390x
%ifarch s390x
%global with_petsc 0
%endif
%ifnarch s390x
%global with_petsc 1
%endif
%endif
%if 0%{?fedora} && 0%{?fedora} >= 29
%global with_petsc 1
%endif
%if 0%{?rhel} && 0%{?rhel} >= 7
%global with_petsc 1
%endif
###########
2015-11-12 13:39:27 +00:00
%global with_parcheck 1
%global with_sercheck 1
2007-08-07 10:23:21 +00:00
Summary: Suite of nonlinear solvers
Name: sundials
2018-09-05 09:12:20 +00:00
Version: 3.1.2
2018-09-05 09:42:53 +00:00
Release: 2%{?dist}
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
URL: http://www.llnl.gov/casc/sundials/
2017-11-08 20:48:45 +00:00
Source0: https://computation.llnl.gov/projects/sundials/download/sundials-%{version}.tar.gz
2007-08-07 10:23:21 +00:00
2016-10-04 13:21:49 +00:00
# This patch rename superLUMT library
2018-06-06 09:37:24 +00:00
Patch0: %{name}-3.1.1-set_superlumt_name.patch
2018-06-06 09:37:24 +00:00
# This patch rename superLUMT64 library
Patch1: %{name}-3.1.1-set_superlumt64_name.patch
2018-09-05 09:42:53 +00:00
BuildRequires: gcc-gfortran, python3-devel
2018-07-16 09:25:59 +00:00
BuildRequires: gcc, gcc-c++
2017-03-03 11:37:08 +00:00
BuildRequires: suitesparse-devel
2017-11-08 20:48:45 +00:00
%if 0%{?rhel}
2018-06-06 09:37:24 +00:00
BuildRequires: cmake3, epel-rpm-macros
%global ctest3 ctest3
2017-11-08 20:48:45 +00:00
%else
2018-06-06 09:37:24 +00:00
BuildRequires: cmake
%global cmake3 %cmake
%global ctest3 ctest
2017-11-08 20:48:45 +00:00
%endif
BuildRequires: openblas-devel, openblas-srpm-macros
2018-06-06 09:37:24 +00:00
%ifarch s390x x86_64
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
2015-08-04 10:38:30 +00:00
%if 0%{?rhel}
BuildRequires: rsh
%endif
2017-11-09 10:39:42 +00:00
Requires: gcc-gfortran%{?_isa}
2018-06-06 10:51:27 +00:00
Obsoletes: %{name}-samples%{?_isa} < 3.1.1-2
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}
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
%if 0%{?rhel} || 0%{?fedora} > 28
BuildRequires: hypre-openmpi-devel
%else
2017-03-03 19:09:53 +00:00
%ifnarch s390x
2016-10-04 13:21:49 +00:00
BuildRequires: hypre-openmpi-devel
2017-03-03 19:09:53 +00:00
%endif
2018-05-14 11:57:06 +00:00
%endif
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
BuildRequires: petsc-openmpi-devel
%endif
2018-05-14 11:57:06 +00:00
2018-09-05 09:12:20 +00:00
Requires: openmpi%{?_isa}
2017-11-09 10:39:42 +00:00
Requires: gcc-gfortran%{?_isa}
2018-06-06 10:51:27 +00:00
Obsoletes: %{name}-openmpi-samples%{?_isa} < 3.1.1-2
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}
%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
2018-05-14 11:57:06 +00:00
%if 0%{?rhel} || 0%{?fedora} > 28
BuildRequires: hypre-mpich-devel
%else
2017-03-03 19:09:53 +00:00
%ifnarch s390x
2016-10-04 13:21:49 +00:00
BuildRequires: hypre-mpich-devel
2017-03-03 19:09:53 +00:00
%endif
2018-05-14 11:57:06 +00:00
%endif
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
BuildRequires: petsc-mpich-devel
%endif
Requires: mpich%{?_isa}
2017-11-09 10:39:42 +00:00
Requires: gcc-gfortran%{?_isa}
2018-06-06 10:51:27 +00:00
Obsoletes: %{name}-mpich-samples%{?_isa} < 3.1.1-2
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}
%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
2016-01-17 13:24:23 +00:00
pushd sundials-%{version}
2017-11-08 20:48:45 +00:00
2018-06-06 09:37:24 +00:00
%ifarch s390x x86_64
%patch1 -p0
%endif
%ifarch %{arm} %{ix86}
2016-10-04 13:21:49 +00:00
%patch0 -p0
2016-10-06 12:57:29 +00:00
%endif
2017-11-08 20:48:45 +00:00
##Set destination library's paths
sed -i 's/DESTINATION lib/DESTINATION %{_lib}/g' src/arkode/CMakeLists.txt
sed -i 's|DESTINATION lib|DESTINATION %{_lib}|g' src/arkode/fcmix/CMakeLists.txt
sed -i 's/DESTINATION lib/DESTINATION %{_lib}/g' src/cvode/CMakeLists.txt
sed -i 's|DESTINATION lib|DESTINATION %{_lib}|g' src/cvode/fcmix/CMakeLists.txt
sed -i 's/DESTINATION lib/DESTINATION %{_lib}/g' src/cvodes/CMakeLists.txt
sed -i 's/DESTINATION lib/DESTINATION %{_lib}/g' src/ida/CMakeLists.txt
sed -i 's|DESTINATION lib|DESTINATION %{_lib}|g' src/ida/fcmix/CMakeLists.txt
sed -i 's/DESTINATION lib/DESTINATION %{_lib}/g' src/idas/CMakeLists.txt
sed -i 's/DESTINATION lib/DESTINATION %{_lib}/g' src/kinsol/CMakeLists.txt
sed -i 's|DESTINATION lib|DESTINATION %{_lib}|g' src/kinsol/fcmix/CMakeLists.txt
2016-03-26 18:48:58 +00:00
sed -i 's|DESTINATION lib|DESTINATION %{_lib}|g' src/nvec_openmp/CMakeLists.txt
2017-11-08 20:48:45 +00:00
sed -i 's|DESTINATION lib|DESTINATION %{_lib}|g' src/sunlinsol_*/CMakeLists.txt
sed -i 's|DESTINATION lib|DESTINATION %{_lib}|g' src/sunmat_*/CMakeLists.txt
sed -i 's| SOVERSION | %{version} |g' src/sunlinsol_*/CMakeLists.txt
sed -i 's| SOVERSION | %{version} |g' src/sunmat_*/CMakeLists.txt
##Set pthread library's paths
2017-03-03 19:09:53 +00:00
sed -i 's|INSTALL(TARGETS sundials_nvecpthreads_shared DESTINATION lib)|INSTALL(TARGETS sundials_nvecpthreads_shared DESTINATION %{_libdir})|g' src/nvec_pthreads/CMakeLists.txt
sed -i 's|INSTALL(TARGETS sundials_fnvecpthreads_shared DESTINATION lib)|INSTALL(TARGETS sundials_fnvecpthreads_shared DESTINATION %{_libdir})|g' src/nvec_pthreads/CMakeLists.txt
##Set serial library's paths
2017-03-03 19:09:53 +00:00
sed -i 's|TARGETS sundials_nvecserial_shared DESTINATION lib|TARGETS sundials_nvecserial_shared DESTINATION %{_libdir}|g' src/nvec_ser/CMakeLists.txt
sed -i 's|DESTINATION include/nvector|DESTINATION %{_includedir}/nvector|g' src/nvec_ser/CMakeLists.txt
2017-03-03 19:09:53 +00:00
sed -i 's|TARGETS sundials_fnvecserial_shared DESTINATION lib|TARGETS sundials_fnvecserial_shared DESTINATION %{_libdir}|g' src/nvec_ser/CMakeLists.txt
2016-01-17 13:24:23 +00:00
## mpif77 test fails
## Hardened flags break cmake's MPI Fortran compiler test
sed -i 's|set(MPIF_PERFORM_TEST TRUE)|set(MPIF_PERFORM_TEST FALSE)|g' config/SundialsMPIF.cmake
sed -i 's|set(MPIF_FOUND FALSE)|set(MPIF_FOUND TRUE)|g' config/SundialsMPIF.cmake
2007-08-07 10:23:21 +00:00
mv src/arkode/README src/README-arkode
2016-01-17 13:24:23 +00:00
mv src/cvode/README src/README-cvode
mv src/cvodes/README src/README-cvodes
mv src/ida/README src/README-ida
mv src/idas/README src/README.idas
mv src/kinsol/README src/README-kinsol
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
2016-01-17 13:24:23 +00:00
pushd sundials-%{version}
2018-09-05 09:12:20 +00:00
2016-01-17 13:24:23 +00:00
mkdir -p build && cd build
2017-11-08 20:48:45 +00:00
export LIBBLASLINK=-lopenblas
export LIBBLAS=libopenblas
export INCBLAS=-I%{_includedir}/openblas
2018-06-06 09:37:24 +00:00
%ifarch s390x x86_64
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
%ifnarch s390x x86_64 %{arm} %{ix86}
2017-11-08 20:48:45 +00:00
export LIBSUPERLUMTLINK=
%endif
2016-10-17 12:40:04 +00:00
%if %{with debug}
export CFLAGS=""
cmake \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Debug \
2018-09-05 09:12:20 +00:00
-DCMAKE_C_FLAGS_DEBUG:STRING="-O0 -g -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_DEBUG:STRING="-O0 -g -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING="%{__global_ldflags} -Wl,-z,now -Wl,--as-needed -lklu $LIBBLASLINK $LIBSUPERLUMTLINK" \
2016-10-17 12:40:04 +00:00
%else
2017-11-08 20:48:45 +00:00
%{cmake3} \
2018-06-06 09:37:24 +00:00
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
2017-11-08 20:48:45 +00:00
-DSUNDIALS_INDEX_TYPE:STRING=int64_t \
2018-06-06 09:37:24 +00:00
%else
-DSUNDIALS_INDEX_TYPE:STRING=int32_t \
%endif
2016-01-17 13:24:23 +00:00
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \
2018-09-05 09:12:20 +00:00
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -Wl,-z,now -Wl,--as-needed -lklu $LIBBLASLINK $LIBSUPERLUMTLINK" \
2016-10-06 12:57:29 +00:00
%endif
2017-11-08 20:48:45 +00:00
-DLAPACK_ENABLE:BOOL=OFF \
-DBLAS_ENABLE:BOOL=ON \
-DBLAS_LIBRARIES:STRING=%{_libdir}/$LIBBLAS.so \
2017-11-15 19:38:37 +00:00
-DCMAKE_MODULE_LINKER_FLAGS:STRING="%{__global_ldflags} -Wl,-z,now -Wl,--as-needed" \
2016-01-17 13:24:23 +00:00
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
2018-09-05 09:42:53 +00:00
-DPYTHON_EXECUTABLE:FILEPATH=%{__python3} \
2017-11-08 20:48:45 +00:00
-DEXAMPLES_ENABLE_CXX:BOOL=ON -DEXAMPLES_ENABLE_C:BOOL=ON -DEXAMPLES_ENABLE_F77:BOOL=ON \
2016-01-17 13:24:23 +00:00
-DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF \
-DMPI_ENABLE:BOOL=OFF \
-DCMAKE_Fortran_COMPILER:STRING=gfortran \
-DFCMIX_ENABLE:BOOL=ON \
-DUSE_GENERIC_MATH:BOOL=ON \
2016-03-26 18:48:58 +00:00
-DOPENMP_ENABLE:BOOL=ON \
2016-01-17 13:24:23 +00:00
-DPTHREAD_ENABLE:BOOL=ON \
2016-10-04 13:21:49 +00:00
-DSUNDIALS_PRECISION:STRING=double \
2016-10-06 12:57:29 +00:00
%ifnarch %{power64} aarch64
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
2016-10-04 13:21:49 +00:00
-DHYPRE_ENABLE:BOOL=OFF \
2017-11-08 20:48:45 +00:00
-DKLU_ENABLE=ON -DKLU_LIBRARY_DIR:PATH=%{_libdir} -DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
-DEXAMPLES_INSTALL:BOOL=OFF -Wno-dev ..
2017-03-03 19:09:53 +00:00
2017-11-08 20:48:45 +00:00
%make_build V=1
2016-01-17 13:24:23 +00:00
cd ..
popd
#############################################################################
#######
2015-04-17 11:15:47 +00:00
%if 0%{?with_openmpi}
2016-01-17 13:24:23 +00:00
pushd buildopenmpi_dir
##Set openmpi library's paths
2017-03-03 19:09:53 +00:00
sed -i 's|TARGETS sundials_nvecparallel_shared DESTINATION lib|TARGETS sundials_nvecparallel_shared DESTINATION %{_libdir}/openmpi/lib|g' src/nvec_par/CMakeLists.txt
2016-01-17 13:24:23 +00:00
sed -i 's|DESTINATION include/nvector|DESTINATION %{_includedir}/openmpi-%{_arch}/nvector|g' src/nvec_par/CMakeLists.txt
2017-03-03 19:09:53 +00:00
sed -i 's|TARGETS sundials_fnvecparallel_shared DESTINATION lib|TARGETS sundials_fnvecparallel_shared DESTINATION %{_libdir}/openmpi/lib|g' src/nvec_par/CMakeLists.txt
sed -i 's|TARGETS sundials_nvecparhyp_shared DESTINATION lib|TARGETS sundials_nvecparhyp_shared DESTINATION %{_libdir}/openmpi/lib|g' src/nvec_parhyp/CMakeLists.txt
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
sed -i 's|TARGETS sundials_nvecpetsc_shared DESTINATION lib|TARGETS sundials_nvecpetsc_shared DESTINATION %{_libdir}/openmpi/lib|g' src/nvec_petsc/CMakeLists.txt
sed -i 's|DESTINATION include/nvector|DESTINATION %{_includedir}/openmpi-%{_arch}/nvector|g' src/nvec_petsc/CMakeLists.txt
%endif
2016-01-17 13:24:23 +00:00
mkdir -p build && cd build
2015-04-17 11:15:47 +00:00
%{_openmpi_load}
2016-01-17 13:24:23 +00:00
export CC=mpicc
export CXX=mpicxx
export FC=mpif77
2017-11-08 20:48:45 +00:00
## Blas
export LIBBLASLINK=-lopenblas
export LIBBLAS=libopenblas
export INCBLAS=-I%{_includedir}/openblas
##
## SuperLUMT
2018-06-06 09:37:24 +00:00
%ifarch s390x x86_64
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
%ifnarch s390x x86_64 %{arm} %{ix86}
2017-11-08 20:48:45 +00:00
export LIBSUPERLUMTLINK=
%endif
## Hypre
%if 0%{?with_hypre}
2018-05-14 11:57:06 +00:00
%if 0%{?fedora} <= 28
2017-11-08 20:48:45 +00:00
%ifarch s390x
export LIBHYPRELINK=
%else
export LIBHYPRELINK="-L$MPI_LIB -lHYPRE"
%endif
%endif
2018-05-14 11:57:06 +00:00
%endif
%if 0%{?with_hypre}
%if 0%{?rhel} || 0%{?fedora} > 28
export LIBHYPRELINK="-L$MPI_LIB -lHYPRE"
%endif
%endif
2017-11-08 20:48:45 +00:00
##
2016-10-17 12:40:04 +00:00
%if %{with debug}
export CFLAGS=""
cmake \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Debug \
2018-09-05 09:12:20 +00:00
-DCMAKE_C_FLAGS_DEBUG:STRING="-O0 -g -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_DEBUG:STRING="-O0 -g -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING="%{__global_ldflags} -Wl,-z,now -Wl,--as-needed -lklu $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
2016-10-17 12:40:04 +00:00
%else
2017-11-08 20:48:45 +00:00
%{cmake3} \
2018-06-06 09:37:24 +00:00
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
2017-11-08 20:48:45 +00:00
-DSUNDIALS_INDEX_TYPE:STRING=int64_t \
2018-06-06 09:37:24 +00:00
%else
-DSUNDIALS_INDEX_TYPE:STRING=int32_t \
%endif
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \
2018-09-05 09:12:20 +00:00
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -Wl,-z,now -Wl,--as-needed -lklu $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
2017-03-03 19:09:53 +00:00
%endif
2017-11-08 20:48:45 +00:00
-DLAPACK_ENABLE:BOOL=OFF \
-DBLAS_ENABLE:BOOL=ON \
-DBLAS_LIBRARIES:STRING=%{_libdir}/$LIBBLAS.so \
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
-DPETSC_ENABLE:BOOL=ON \
-DPETSC_INCLUDE_DIR:PATH=$MPI_INCLUDE/petsc \
-DPETSC_LIBRARY_DIR:PATH=$MPI_LIB \
2016-10-17 12:40:04 +00:00
%endif
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
2018-09-05 09:42:53 +00:00
-DPYTHON_EXECUTABLE:FILEPATH=%{__python3} \
2017-11-08 20:48:45 +00:00
-DEXAMPLES_ENABLE_CXX:BOOL=ON -DEXAMPLES_ENABLE_C:BOOL=ON -DEXAMPLES_ENABLE_F77:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF \
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 \
2017-11-08 20:48:45 +00:00
-DMPI_MPICC:STRING=$MPI_BIN/mpicc \
2015-04-17 11:15:47 +00:00
-DMPI_RUN_COMMAND=mpirun \
2017-11-08 20:48:45 +00:00
-DMPI_MPIF77:STRING=$MPI_BIN/mpif77 \
2015-04-17 11:15:47 +00:00
-DFCMIX_ENABLE:BOOL=ON \
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 \
2017-11-08 20:48:45 +00:00
-DCMAKE_Fortran_COMPILER:STRING=$MPI_BIN/mpif77 \
2016-01-17 13:24:23 +00:00
-DPTHREAD_ENABLE:BOOL=ON \
2017-11-08 20:48:45 +00:00
%ifnarch %{power64} aarch64
-DSUPERLUMT_ENABLE:BOOL=ON \
-DSUPERLUMT_INCLUDE_DIR:PATH=%{_includedir}/SuperLUMT \
-DSUPERLUMT_LIBRARY_DIR:PATH=%{_libdir} \
-DSUPERLUMT_THREAD_TYPE:STRING=OpenMP \
%endif
%if 0%{?with_hypre}
2018-05-14 11:57:06 +00:00
%if 0%{?fedora} <= 28
%ifarch s390x
-DHYPRE_ENABLE:BOOL=OFF \
%else
-DHYPRE_ENABLE:BOOL=ON \
-DHYPRE_INCLUDE_DIR:PATH=$MPI_INCLUDE/hypre \
-DHYPRE_LIBRARY_DIR:PATH=$MPI_LIB \
%endif
%endif
%if 0%{?rhel} || 0%{?fedora} > 28
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-11-15 20:10:34 +00:00
%endif
2017-03-03 19:09:53 +00:00
%endif
2017-11-08 20:48:45 +00:00
-DKLU_ENABLE=ON -DKLU_LIBRARY_DIR:PATH=%{_libdir} -DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
-DEXAMPLES_INSTALL:BOOL=OFF -Wno-dev ..
2017-03-03 19:09:53 +00:00
2017-11-08 20:48:45 +00:00
%make_build V=1
2015-04-17 11:15:47 +00:00
%{_openmpi_unload}
2016-01-17 13:24:23 +00:00
cd ..
popd
2015-04-17 11:15:47 +00:00
%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}
pushd buildmpich_dir
##Set mpich library's paths
2017-03-03 19:09:53 +00:00
sed -i 's|TARGETS sundials_nvecparallel_shared DESTINATION lib|TARGETS sundials_nvecparallel_shared DESTINATION %{_libdir}/mpich/lib|g' src/nvec_par/CMakeLists.txt
2016-01-17 13:24:23 +00:00
sed -i 's|DESTINATION include/nvector|DESTINATION %{_includedir}/mpich-%{_arch}/nvector|g' src/nvec_par/CMakeLists.txt
2017-03-03 19:09:53 +00:00
sed -i 's|TARGETS sundials_fnvecparallel_shared DESTINATION lib|TARGETS sundials_fnvecparallel_shared DESTINATION %{_libdir}/mpich/lib|g' src/nvec_par/CMakeLists.txt
sed -i 's|TARGETS sundials_nvecparhyp_shared DESTINATION lib|TARGETS sundials_nvecparhyp_shared DESTINATION %{_libdir}/mpich/lib|g' src/nvec_parhyp/CMakeLists.txt
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
sed -i 's|TARGETS sundials_nvecpetsc_shared DESTINATION lib|TARGETS sundials_nvecpetsc_shared DESTINATION %{_libdir}/mpich/lib|g' src/nvec_petsc/CMakeLists.txt
sed -i 's|DESTINATION include/nvector|DESTINATION %{_includedir}/mpich-%{_arch}/nvector|g' src/nvec_petsc/CMakeLists.txt
%endif
2016-01-17 13:24:23 +00:00
mkdir -p build && cd build
%{_mpich_load}
%if 0%{?rhel}
export CC=mpicc
export CXX=mpicxx
export F77=mpif77
export FC=mpif90
%endif
%if 0%{?fedora}
export CC=mpicc
export CXX=mpicxx
export F77=mpifort
export FC=mpifort
%endif
2017-11-08 20:48:45 +00:00
## Blas
export LIBBLASLINK=-lopenblas
export LIBBLAS=libopenblas
export INCBLAS=-I%{_includedir}/openblas
##
## SuperLUMT
2018-06-06 09:37:24 +00:00
%ifarch s390x x86_64
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
%ifnarch s390x x86_64 %{arm} %{ix86}
2017-11-08 20:48:45 +00:00
export LIBSUPERLUMTLINK=
%endif
## Hypre
%if 0%{?with_hypre}
2018-05-14 11:57:06 +00:00
%if 0%{?fedora} <= 28
%ifarch s390x
export LIBHYPRELINK=
%else
2017-11-08 20:48:45 +00:00
export LIBHYPRELINK="-L$MPI_LIB -lHYPRE"
%endif
2017-11-15 20:21:54 +00:00
%endif
%endif
2018-05-14 11:57:06 +00:00
2017-11-15 20:21:54 +00:00
%if 0%{?with_hypre}
2018-05-14 11:57:06 +00:00
%if 0%{?rhel} || 0%{?fedora} > 28
2017-11-08 20:48:45 +00:00
export LIBHYPRELINK="-L$MPI_LIB -lHYPRE"
%endif
%endif
##
2016-10-17 12:40:04 +00:00
%if %{with debug}
export CFLAGS=""
cmake \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Debug \
2018-09-05 09:12:20 +00:00
-DCMAKE_C_FLAGS_DEBUG:STRING="-O0 -g -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_DEBUG:STRING="-O0 -g -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING="%{__global_ldflags} -Wl,-z,now -Wl,--as-needed -lklu $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
2016-10-17 12:40:04 +00:00
%else
2017-11-08 20:48:45 +00:00
%{cmake3} \
2018-06-06 09:37:24 +00:00
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
2017-11-08 20:48:45 +00:00
-DSUNDIALS_INDEX_TYPE:STRING=int64_t \
2018-06-06 09:37:24 +00:00
%else
-DSUNDIALS_INDEX_TYPE:STRING=int32_t \
%endif
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \
2018-09-05 09:12:20 +00:00
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -I$INCBLAS" \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -Wl,-z,now -Wl,--as-needed -lklu $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
2017-03-03 19:09:53 +00:00
%endif
2017-11-08 20:48:45 +00:00
-DLAPACK_ENABLE:BOOL=OFF \
-DBLAS_ENABLE:BOOL=ON \
-DBLAS_LIBRARIES:STRING=%{_libdir}/$LIBBLAS.so \
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
-DPETSC_ENABLE:BOOL=ON \
-DPETSC_INCLUDE_DIR:PATH=$MPI_INCLUDE/petsc \
-DPETSC_LIBRARY_DIR:PATH=$MPI_LIB \
2016-10-17 12:40:04 +00:00
%endif
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
2018-09-05 09:42:53 +00:00
-DPYTHON_EXECUTABLE:FILEPATH=%{__python3} \
2017-11-08 20:48:45 +00:00
-DEXAMPLES_ENABLE_CXX:BOOL=ON -DEXAMPLES_ENABLE_C:BOOL=ON -DEXAMPLES_ENABLE_F77:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF \
2016-01-17 13:24:23 +00:00
-DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
-DMPI_ENABLE:BOOL=ON \
2017-11-08 20:48:45 +00:00
-DMPI_MPICC:STRING=$MPI_BIN/mpicc \
2016-01-17 13:24:23 +00:00
-DMPI_RUN_COMMAND=mpirun \
%if 0%{?fedora}
2017-11-08 20:48:45 +00:00
-DMPI_MPIF77:STRING=$MPI_BIN/mpifort \
-DMPI_MPIF90:STRING=$MPI_BIN/mpifort \
2016-01-17 13:24:23 +00:00
%else
2017-11-08 20:48:45 +00:00
-DMPI_MPIF77:STRING=$MPI_BIN/mpif77 \
-DMPI_MPIF90:STRING=$MPI_BIN/mpif90 \
2016-01-17 13:24:23 +00:00
%endif
2015-04-17 11:15:47 +00:00
-DFCMIX_ENABLE:BOOL=ON \
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 \
2017-11-08 20:48:45 +00:00
-DCMAKE_Fortran_COMPILER:STRING=$MPI_BIN/mpif77 \
-DPTHREAD_ENABLE:BOOL=ON \
2017-11-08 20:48:45 +00:00
%ifnarch %{power64} aarch64
-DSUPERLUMT_ENABLE:BOOL=ON \
-DSUPERLUMT_INCLUDE_DIR:PATH=%{_includedir}/SuperLUMT \
-DSUPERLUMT_LIBRARY_DIR:PATH=%{_libdir} \
-DSUPERLUMT_THREAD_TYPE:STRING=OpenMP \
%endif
2017-11-15 20:10:34 +00:00
%if 0%{?with_hypre}
2018-05-14 11:57:06 +00:00
%if 0%{?fedora} <= 28
%ifarch s390x
-DHYPRE_ENABLE:BOOL=OFF \
%else
2017-11-15 20:10:34 +00:00
-DHYPRE_ENABLE:BOOL=ON \
-DHYPRE_INCLUDE_DIR:PATH=$MPI_INCLUDE/hypre \
-DHYPRE_LIBRARY_DIR:PATH=$MPI_LIB \
%endif
%endif
2018-05-14 11:57:06 +00:00
%if 0%{?rhel} || 0%{?fedora} > 28
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-11-15 20:10:34 +00:00
%endif
2017-03-03 19:09:53 +00:00
%endif
2017-11-08 20:48:45 +00:00
-DKLU_ENABLE=ON -DKLU_LIBRARY_DIR:PATH=%{_libdir} -DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \
-DEXAMPLES_INSTALL:BOOL=OFF -Wno-dev ..
2017-03-03 19:09:53 +00:00
2017-11-08 20:48:45 +00:00
%make_build V=1
2016-01-17 13:24:23 +00:00
%{_mpich_unload}
cd ..
popd
2016-01-17 13:24:23 +00:00
%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
%{_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
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
2017-11-09 10:39:42 +00:00
# Remove static libraries
rm -f %{buildroot}%{_libdir}/*.a
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
2018-01-28 11:37:16 +00:00
2018-02-02 11:16:55 +00:00
%ldconfig_scriptlets
2007-08-07 10:23:21 +00:00
2015-04-17 11:15:47 +00:00
%check
2015-11-12 13:39:27 +00:00
%if 0%{?with_parcheck}
2015-04-17 13:51:31 +00:00
%if 0%{?with_openmpi}
%{_openmpi_load}
2018-06-06 09:37:24 +00:00
pushd buildopenmpi_dir/build
2017-11-08 20:48:45 +00:00
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:%{buildroot}%{_libdir}
2018-09-05 09:12:20 +00:00
%ifarch %{power64} %{arm} aarch64 s390x
2018-09-05 09:29:51 +00:00
%ctest3 --force-new-ctest-process -VV -j 1 --output-on-failure -E 'test_sunmatrix_sparse_400_400_0_0|test_nvector_mpi_4'
2018-09-05 09:12:20 +00:00
%else
%ctest3 --force-new-ctest-process -VV -j 1 --output-on-failure
%endif
2018-06-06 09:37:24 +00:00
popd
2015-04-17 13:51:31 +00:00
%{_openmpi_unload}
2015-11-12 13:39:27 +00:00
%endif ##if openmpi
2016-01-17 13:24:23 +00:00
%if 0%{?with_mpich}
2018-06-06 09:37:24 +00:00
%{_mpich_load}
pushd buildmpich_dir/build
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:%{buildroot}%{_libdir}
2018-09-05 09:12:20 +00:00
%ifarch %{power64} %{arm} aarch64 s390x
2018-09-05 09:29:51 +00:00
%ctest3 --force-new-ctest-process -VV -j 1 --output-on-failure -E 'test_sunmatrix_sparse_400_400_0_0|test_nvector_mpi_4'
2018-09-05 09:12:20 +00:00
%else
%ctest3 --force-new-ctest-process -VV -j 1 --output-on-failure
%endif
2018-06-06 09:37:24 +00:00
popd
%{_mpich_unload}
2016-01-17 13:24:23 +00:00
%endif ##if openmpi
2015-11-12 13:39:27 +00:00
%endif ## if with_parcheck
2015-04-17 11:15:47 +00:00
2015-11-12 13:39:27 +00:00
%if 0%{?with_sercheck}
2018-06-06 09:37:24 +00:00
pushd sundials-%{version}/build
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
2018-09-05 09:12:20 +00:00
%ifarch %{power64} %{arm} aarch64 s390x
%ctest3 --force-new-ctest-process -VV -j 1 --output-on-failure -E 'test_sunmatrix_sparse_400_400_0_0'
%else
%ctest3 --force-new-ctest-process -VV -j 1 --output-on-failure
%endif
2015-04-17 13:51:31 +00:00
popd
2015-11-12 13:39:27 +00:00
%endif ##if with_sercheck
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
2018-05-14 11:57:06 +00:00
%doc sundials-%{version}/README.md sundials-%{version}/src/README-*
%{_libdir}/libsundials_nvecserial.so.*
%{_libdir}/libsundials_cvode.so.*
%{_libdir}/libsundials_cvodes.so.*
%{_libdir}/libsundials_arkode.so.*
%{_libdir}/libsundials_ida.so.*
%{_libdir}/libsundials_idas.so.*
%{_libdir}/libsundials_kinsol.so.*
2017-11-08 20:48:45 +00:00
%{_libdir}/libsundials_sunlinsol*.so.*
%{_libdir}/libsundials_sunmatrix*.so.*
2017-11-09 10:39:42 +00:00
%{_libdir}/libsundials_nvecpthreads.so.*
%{_libdir}/libsundials_fnvecpthreads.so.*
%{_libdir}/libsundials_fnvecserial.so.*
%{_libdir}/libsundials_fsunlinsol*.so.*
%{_libdir}/libsundials_fsunmatrix*.so.*
%{_libdir}/libsundials_fnvecopenmp.so.*
%{_libdir}/libsundials_nvecopenmp.so.*
2007-08-07 10:23:21 +00:00
%files doc
2016-01-17 13:24:23 +00:00
%license sundials-%{version}/LICENSE
2018-05-14 11:57:06 +00:00
%doc sundials-%{version}/README.md
2016-01-17 13:24:23 +00:00
%doc sundials-%{version}/doc/cvode/cv_guide.pdf
%doc sundials-%{version}/doc/kinsol/kin_guide.pdf
%doc sundials-%{version}/doc/cvodes/cvs_guide.pdf
%doc sundials-%{version}/doc/ida/ida_guide.pdf
%doc sundials-%{version}/doc/arkode/*
2007-08-07 10:23:21 +00:00
%files devel
%{_libdir}/libsundials_nvecserial.so
%{_libdir}/libsundials_cvode.so
%{_libdir}/libsundials_cvodes.so
%{_libdir}/libsundials_arkode.so
%{_libdir}/libsundials_ida.so
%{_libdir}/libsundials_idas.so
%{_libdir}/libsundials_kinsol.so
2017-11-08 20:48:45 +00:00
%{_libdir}/libsundials_sunlinsol*.so
%{_libdir}/libsundials_sunmatrix*.so
2017-11-09 10:39:42 +00:00
%{_libdir}/libsundials_fnvecpthreads.so
%{_libdir}/libsundials_nvecpthreads.so
%{_libdir}/libsundials_fnvecserial.so
%{_libdir}/libsundials_fsunlinsol*.so
%{_libdir}/libsundials_fsunmatrix*.so
%{_libdir}/libsundials_fnvecopenmp.so
%{_libdir}/libsundials_nvecopenmp.so
%{_includedir}/sundials/
%{_includedir}/cvode/
%{_includedir}/cvodes/
%{_includedir}/arkode/
%{_includedir}/ida/
%{_includedir}/idas/
%{_includedir}/kinsol/
%{_includedir}/nvector/
2017-11-08 20:48:45 +00:00
%{_includedir}/sunlinsol/
%{_includedir}/sunmatrix/
%if 0%{?with_openmpi}
%files openmpi
2016-01-17 13:24:23 +00:00
%license sundials-%{version}/LICENSE
2018-05-14 11:57:06 +00:00
%doc sundials-%{version}/README.md sundials-%{version}/src/README-*
%{_libdir}/openmpi/lib/libsundials_nvecparallel.so.*
2017-11-09 10:39:42 +00:00
%{_libdir}/openmpi/lib/libsundials_fnvecparallel.so.*
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
%{_libdir}/openmpi/lib/libsundials_nvecpetsc.so.*
%endif
2018-05-14 11:57:06 +00:00
%if 0%{?rhel} || 0%{?fedora} > 28
%{_libdir}/openmpi/lib/libsundials_nvecparhyp.so.*
%else
2017-03-03 19:09:53 +00:00
%ifnarch s390x
2016-10-04 13:21:49 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecparhyp.so.*
2017-03-03 19:09:53 +00:00
%endif
2018-05-14 11:57:06 +00:00
%endif
%files openmpi-devel
2018-09-05 09:12:20 +00:00
%dir %{_includedir}/openmpi-%{_arch}/nvector
%{_includedir}/openmpi-%{_arch}/nvector/nvector_parallel.h
%{_libdir}/openmpi/lib/libsundials_nvecparallel.so
2017-11-09 10:39:42 +00:00
%{_libdir}/openmpi/lib/libsundials_fnvecparallel.so
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
%{_libdir}/openmpi/lib/libsundials_nvecpetsc.so
%{_includedir}/openmpi-%{_arch}/nvector/nvector_petsc.h
%endif
2018-05-14 11:57:06 +00:00
%if 0%{?rhel} || 0%{?fedora} > 28
%{_libdir}/openmpi/lib/libsundials_nvecparhyp.so
%else
2017-03-03 19:09:53 +00:00
%ifnarch s390x
2016-10-04 13:21:49 +00:00
%{_libdir}/openmpi/lib/libsundials_nvecparhyp.so
2017-03-03 19:09:53 +00:00
%endif
2018-05-14 11:57:06 +00:00
%endif
%endif
2016-01-17 13:24:23 +00:00
%if 0%{?with_mpich}
%files mpich
%license sundials-%{version}/LICENSE
2018-05-14 11:57:06 +00:00
%doc sundials-%{version}/README.md sundials-%{version}/src/README-*
2016-01-17 13:24:23 +00:00
%{_libdir}/mpich/lib/libsundials_nvecparallel.so.*
2017-11-09 10:39:42 +00:00
%{_libdir}/mpich/lib/libsundials_fnvecparallel.so.*
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
%{_libdir}/mpich/lib/libsundials_nvecpetsc.so.*
%endif
2018-05-14 11:57:06 +00:00
%if 0%{?rhel} || 0%{?fedora} > 28
%{_libdir}/mpich/lib/libsundials_nvecparhyp.so.*
%else
2017-03-03 19:09:53 +00:00
%ifnarch s390x
2016-10-04 13:21:49 +00:00
%{_libdir}/mpich/lib/libsundials_nvecparhyp.so.*
2017-03-03 19:09:53 +00:00
%endif
2018-05-14 11:57:06 +00:00
%endif
2016-01-17 13:24:23 +00:00
%files mpich-devel
2018-09-05 09:12:20 +00:00
%dir %{_includedir}/mpich-%{_arch}/nvector
2016-01-17 13:24:23 +00:00
%{_includedir}/mpich-%{_arch}/nvector/nvector_parallel.h
%{_libdir}/mpich/lib/libsundials_nvecparallel.so
2017-11-09 10:39:42 +00:00
%{_libdir}/mpich/lib/libsundials_fnvecparallel.so
2018-09-05 09:12:20 +00:00
%if 0%{?with_petsc}
%{_libdir}/mpich/lib/libsundials_nvecpetsc.so
%{_includedir}/mpich-%{_arch}/nvector/nvector_petsc.h
%endif
2018-05-14 11:57:06 +00:00
%if 0%{?rhel} || 0%{?fedora} > 28
%{_libdir}/mpich/lib/libsundials_nvecparhyp.so
%else
2017-03-03 19:09:53 +00:00
%ifnarch s390x
2016-10-04 13:21:49 +00:00
%{_libdir}/mpich/lib/libsundials_nvecparhyp.so
2017-03-03 19:09:53 +00:00
%endif
2018-05-14 11:57:06 +00:00
%endif
2016-01-17 13:24:23 +00:00
%endif
2007-08-07 10:23:21 +00:00
%changelog
2018-09-05 09:42:53 +00:00
* Wed Sep 05 2018 Antonio Trande <sagitterATfedoraproject.org> - 3.1.2-2
- Switch to python3
2018-09-05 09:12:20 +00:00
* Wed Aug 01 2018 Antonio Trande <sagitterATfedoraproject.org> - 3.1.2-1
- Update to 3.1.2
- Enable PETSC support
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
2018-06-06 09:37:24 +00:00
* Wed Jun 06 2018 Antonio Trande <sagitterATfedoraproject.org> - 3.1.1-2
- Do not pack examples
- Use SuperLUMT64 on 64bit systems
2018-05-14 11:57:06 +00:00
* Sun May 13 2018 Antonio Trande <sagitterATfedoraproject.org> - 3.1.1-1
- Update to 3.1.1
2018-05-04 20:18:52 +00:00
* Fri May 04 2018 Antonio Trande <sagitterATfedoraproject.org> - 3.1.0-5
- Rebuild for hypre-2.14.0
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
2018-02-02 11:16:55 +00:00
* Fri Feb 02 2018 Antonio Trande <sagitterATfedoraproject.org> - 3.1.0-3
- Use %%ldconfig_scriptlets
2018-01-31 11:05:24 +00:00
* Wed Jan 31 2018 Antonio Trande <sagitterATfedoraproject.org> - 3.1.0-2
- Rebuild for GCC-8
2018-01-28 11:37:16 +00:00
* Fri Dec 22 2017 Antonio Trande <sagitterATfedoraproject.org> - 3.1.0-1
- Update to 3.1.0
2017-11-15 19:38:37 +00:00
* Wed Nov 15 2017 Antonio Trande <sagitterATfedoraproject.org> - 3.0.0-3
- Use -Wl,--as-needed flag
- Fix shared-linker flags
2017-11-09 10:39:42 +00:00
* Thu Nov 09 2017 Antonio Trande <sagitterATfedoraproject.org> - 3.0.0-2
- Remove sub-packages
- Uninstall static libraries
2017-11-08 20:48:45 +00:00
* Mon Oct 30 2017 Antonio Trande <sagitterATfedoraproject.org> - 3.0.0-1
- Update to 3.0.0
- Use cmake3 on epel
- Install examples
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
2017-03-03 20:27:24 +00:00
* Fri Mar 03 2017 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-10
- Build OpenMPI libraries on EPEL
2017-03-03 11:37:08 +00:00
* Fri Mar 03 2017 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-9
- Add KLU support
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
2016-11-01 10:12:43 +00:00
* Tue Nov 01 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-7
- New architectures
2016-10-24 17:07:13 +00:00
* Mon Oct 24 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-6
- Fix builds of MPICH libraries
2016-10-21 22:06:41 +00:00
* Fri Oct 21 2016 Orion Poplawski <orion@cora.nwra.com> - 2.7.0-5
- Rebuild for openmpi 2.0
2016-10-17 12:40:04 +00:00
* Mon Oct 17 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-4
- Set debug builds
2016-10-06 12:57:29 +00:00
* Thu Oct 06 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-3
- SuperLUMT support condizionalized
2016-10-17 12:40:04 +00:00
- Removed pkgconfig files
2016-10-06 12:57:29 +00:00
2016-10-04 13:21:49 +00:00
* Tue Oct 04 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-2
- Enabled SuperLUMT and HYPRE support
2016-09-29 17:47:24 +00:00
* Thu Sep 29 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-1
- Update to 2.7.0
2016-03-27 10:39:16 +00:00
* Sun Mar 27 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-19
- Typos fixed
2016-03-26 18:48:58 +00:00
* Sat Mar 26 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-18
- Enabled OpenMP support
* Sun Mar 20 2016 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.2-17
- Add lapack-devel requires to -devel package
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
2016-01-25 21:49:53 +00:00
* Mon Jan 25 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-15
- Fixed pthread flags
2016-01-17 13:24:23 +00:00
* Sun Jan 17 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-14
- Fix OpenMPI compilers
- MPICH libraries enabled
- Cmake's MPI Fortran compiler test disabled
- Included pkgconfig files for MPICH libraries
* Thu Dec 31 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-13
- Exclude pkgconfig for OpenMPI libs on s390
* Sat Dec 26 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-12
- Fixed pkgconfig files
- Added pkgconfig files for OpenMPI libraries
- All Fortran libraries moved to default library paths
2015-11-12 19:23:25 +00:00
* Thu Nov 12 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-11
- Fixes for EPEL7
- Set mpif77 only for OpenMPI < 1.17 (EPEL7)
- Set mpifort for OpenMPI > 1.17 (Fedora)
- Set LDFLAGS for EPEL7
* Wed Nov 11 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-10
2015-11-12 19:23:25 +00:00
- OpenMPI Fortran lib tests not compiled on F<23
2015-11-12 13:39:27 +00:00
* Wed Nov 11 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-9
- Hardened builds on <F23
- openmpi tests still crash/hang on i686 (Fedora 21)
- Rebuilt on Fedora 21
2015-10-15 17:56:57 +00:00
* Thu Oct 15 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-8
- Rebuilt for cmake 3.4.0
* Sun Sep 20 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-7
- Performed even tests of the parallel-libraries on ix86 arches
2015-09-15 22:24:07 +00:00
* Tue Sep 15 2015 Orion Poplawski <orion@cora.nwra.com> - 2.6.2-6
- Rebuild for openmpi 1.10.0
2015-08-28 14:51:00 +00:00
* Fri Aug 28 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.2-5
- Rebuild for rpm-mpi-hooks-3-2
2015-08-15 19:22:47 +00:00
* Sat Aug 15 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.2-4
- Rebuild for MPI provides
2015-07-26 20:39:19 +00:00
* Mon Aug 10 2015 Sandro Mani <manisandro@gmail.com> - 2.6.2-3
- Rebuild for RPM MPI Requires Provides Change
2015-08-04 10:38:30 +00:00
* Tue Aug 04 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-2
- Added rsh as BR for EPEL7
2015-08-04 09:56:30 +00:00
* Tue Aug 04 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-1
- Update to 2.6.2
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Jun 03 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.1-8
- Excluded some tests for s390 s390x
- openmpi tests disabled on ix86 %%{arm} (BZ#1201901)
* Sat May 09 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.1-7
- Excluded kinKrylovDemo_ls test for aarch64
2015-04-17 13:51:31 +00:00
* Fri Apr 17 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.1-6
- Performed parallel/serial tests
2015-04-17 11:15:47 +00:00
* Thu Apr 16 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.1-5
- Fixed ldconfig scriptlets
* Sat Apr 04 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.1-4
- Packaged static Fortran libraries
* Fri Apr 03 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.1-3
- Packaged pkg-config files of Serial libraries
* Wed Apr 01 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.1-2
- Built OpenMPI, libraries with threading support, Fortran libraries
2015-04-17 11:15:47 +00:00
* Mon Mar 30 2015 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.1-1
- Update to version 2.6.1
2015-04-17 11:15:47 +00:00
- Minor bugfixes
2015-04-17 11:15:47 +00:00
* Sun Mar 29 2015 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.0-2
- Ensure the shared libraries are linked correctly
* Sun Mar 22 2015 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.0-1
- Update to 2.6.0
- Drop patches that are not needed anymore
* Wed Dec 03 2014 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.5.0-7
- Initial build for EPEL-7
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.5.0-5
- Fixed patches used in the previous build
- Fixes bug #1105767
* Wed May 21 2014 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.5.0-4
- added patches to fix bugs #926583 and #1037342
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
2013-02-18 16:33:50 +00:00
* Mon Feb 18 2013 Dan Horák <dan[at]danny.cz> - 2.5.0-2
- openmpi not available s390(x)
* Sat Jan 26 2013 Rahul Sundaram <sundaram@fedoraproject.org> - 2.5.0-1
- upstream release 2.5.0
- enable parallel build
- drop obsolete patch
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
2008-11-05 06:46:29 +00:00
* Sun Sep 21 2008 Ville Skyttä <ville.skytta at iki.fi> - 2.3.0-7
- Fix Patch0:/%%patch mismatch (#463065).
2008-11-05 06:46:29 +00:00
2008-02-19 07:18:37 +00:00
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.3.0-6
- Autorebuild for GCC 4.3
2007-08-07 10:23:21 +00:00
* Sat Aug 04 2007 John Pye <john@curioussymbols.com> 2.3.0-5
- Final corrections from Debarshi Ray:
- Changed all file-location macros to the curly-bracket format.
- License field changed to BSD and comments added regarding special conditions.
* Wed Aug 01 2007 John Pye <john@curioussymbols.com> 2.3.0-4
- Corrections from Mamoru Tasaka:
- Removed /sbin/ldconfig call for -devel package (not required).
- Moved *.a libraries to a -static package.
- Corrected sub/main package dependencies (added release num).
- Corrected and added extra 'defattr' statements in files sections.
* Tue Jul 31 2007 John Pye <john@curioussymbols.com> 2.3.0-3
- Removed INSTALL_NOTES.
- Added /sbin/ldconfig call for -devel package.
- Remove automake dependency.
- Changed --with-mpi-root location (currently commented out).
- Added /sbin/ldconfig call for -devel package.
* Mon Jul 30 2007 John Pye <john@curioussymbols.com> 2.3.0-2
- Removed OpenMPI dependencies (providing serial-only package at the moment).
- Fixing for Debarshi Ray's feedback:
- changed post/postun to use -p style,
- added comments for why 'makeinstall' is required,
- using macro instead of direct call to ./configure,
- replaced spaces with tabs,
- re-tagged -doc package as group Documentation,
- removed CC=... and CXX=... from %%configure command, and
- changed download location.
* Sun Jul 29 2007 John Pye <john@curioussymbols.com> 2.3.0-1
- Converting to Fedora RPM by removing distro-specific stuff.
* Wed Jun 27 2007 John Pye <john@curioussymbols.com> 2.3.0
- Creating separate devel, doc and library packages.
* Sun Jun 24 2007 John Pye <john@curioussymbols.com> 2.3.0
- Fixed problem with creation of shared libraries (correction thanks to Andrey Romanenko in Debian).
* Sat Jun 23 2007 John Pye <john@curioussymbols.com> 2.3.0
- Ported to OpenSUSE Build Service, working on support for openSUSE alongside FC6, FC7.
* Thu Jul 27 2006 John Pye <john.pye@student.unsw.edu.au> 2.3.0-0
- First RPM spec created.