SuperLUMT support condizionalized

This commit is contained in:
sagitter 2016-10-06 14:57:29 +02:00
parent d9207656e1
commit 39b100a904
2 changed files with 17 additions and 70 deletions

View File

@ -1,2 +1 @@
c304631b9bc82877d7b0e9f4d4fd94d3 sundials-2.7.0.tar.gz
6b1bb04e430ef6e03caaf1f43f485823 sundials-2.7.0_pkgconfig_files.tar.gz

View File

@ -22,7 +22,7 @@
Summary: Suite of nonlinear solvers
Name: sundials
Version: 2.7.0
Release: 2%{?dist}
Release: 3%{?dist}
# SUNDIALS is licensed under BSD with some additional (but unrestrictive) clauses.
# Check the file 'LICENSE' for details.
License: BSD
@ -30,9 +30,6 @@ Group: Development/Libraries
URL: http://www.llnl.gov/casc/sundials/
Source0: http://www.llnl.gov/casc/sundials/download/code/%{name}-%{version}.tar.gz
##This package provides pkg-config files of Sundials
Source1: %{name}-%{version}_pkgconfig_files.tar.gz
# This patch rename superLUMT library
Patch0: %{name}-%{version}-set_superlumt_name.patch
@ -40,7 +37,11 @@ BuildRequires: gcc-gfortran
BuildRequires: cmake
BuildRequires: lapack-devel
BuildRequires: blas-devel
# SuperLUMT is unavailable on following architectures
%ifnarch %{power64} aarch64
BuildRequires: SuperLUMT-devel
%endif
BuildRequires: hypre-devel
%if 0%{?rhel}
BuildRequires: rsh
@ -244,10 +245,11 @@ This package contains the documentation files.
%prep
%setup -qc
%setup -qc -T -D -a 1
pushd sundials-%{version}
%ifnarch %{power64} aarch64
%patch0 -p0
%endif
##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
@ -309,7 +311,11 @@ mkdir -p build && cd build
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now" \
-DCMAKE_MODULE_LINKER_FLAGS:STRING="%{__global_ldflags} -Wl,-z,now" \
%ifnarch %{power64} aarch64
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -Wl,-z,now -llapack -lblas -lgomp -lsuperlumt_d -Wl,--as-needed -lpthread -lm" \
%else
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} -Wl,-z,now -llapack -lblas -lgomp -Wl,--as-needed -lpthread -lm" \
%endif
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DEXAMPLES_ENABLE=ON -DEXAMPLES_INSTALL=OFF -DEXAMPLES_INSTALL_PATH:PATH=%{_datadir}/%{name}/serial_examples \
-DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
@ -325,10 +331,12 @@ mkdir -p build && cd build
-DPTHREAD_ENABLE:BOOL=ON \
-DLAPACK_ENABLE:BOOL=ON \
-DSUNDIALS_PRECISION:STRING=double \
%ifnarch %{power64} aarch64
-DSUPERLUMT_ENABLE:BOOL=ON \
-DSUPERLUMT_INCLUDE_DIR:PATH=%{_includedir}/SuperLUMT \
-DSUPERLUMT_LIBRARY_DIR:PATH=%{_libdir} \
-DSUPERLUMT_THREAD_TYPE:STRING=OpenMP \
%endif
-DHYPRE_ENABLE:BOOL=OFF \
-DKLU_ENABLE:BOOL=OFF -Wno-dev ..
make V=1 %{?_smp_mflags}
@ -475,40 +483,6 @@ make install DESTDIR=%{buildroot} -C buildmpich_dir/build
make install DESTDIR=%{buildroot} -C sundials-%{version}/build
##Install all .pc files
%if 0%{?with_openmpi}
%ifarch s390 s390x
rm -rf %{name}-%{version}_pkgconfig_files/openmpi
%else
mkdir -p %{buildroot}%{_libdir}/openmpi/lib/pkgconfig
mv %{name}-%{version}_pkgconfig_files/openmpi/*.pc %{buildroot}%{_libdir}/openmpi/lib/pkgconfig
sed -i 's|${prefix}|%{_prefix}|g' %{buildroot}%{_libdir}/openmpi/lib/pkgconfig/*.pc
sed -i 's|${lib}|%{_lib}|g' %{buildroot}%{_libdir}/openmpi/lib/pkgconfig/*.pc
sed -i 's|${arch}|%{_arch}|g' %{buildroot}%{_libdir}/openmpi/lib/pkgconfig/*.pc
sed -i 's|includedir=${includedir}|includedir=%{_includedir}|g' %{buildroot}%{_libdir}/openmpi/lib/pkgconfig/*.pc
%endif
%endif
%if 0%{?with_mpich}
%ifarch ppc64 ppc64le
rm -rf %{name}-%{version}_pkgconfig_files/mpich
%else
mkdir -p %{buildroot}%{_libdir}/mpich/lib/pkgconfig
mv %{name}-%{version}_pkgconfig_files/mpich/*.pc %{buildroot}%{_libdir}/mpich/lib/pkgconfig
sed -i 's|${prefix}|%{_prefix}|g' %{buildroot}%{_libdir}/mpich/lib/pkgconfig/*.pc
sed -i 's|${lib}|%{_lib}|g' %{buildroot}%{_libdir}/mpich/lib/pkgconfig/*.pc
sed -i 's|${arch}|%{_arch}|g' %{buildroot}%{_libdir}/mpich/lib/pkgconfig/*.pc
sed -i 's|includedir=${includedir}|includedir=%{_includedir}|g' %{buildroot}%{_libdir}/mpich/lib/pkgconfig/*.pc
%endif
%endif
mkdir -p %{buildroot}%{_libdir}/pkgconfig
mv %{name}-%{version}_pkgconfig_files/*.pc %{buildroot}%{_libdir}/pkgconfig
sed -i 's|${prefix}|%{_prefix}|g' %{buildroot}%{_libdir}/pkgconfig/*.pc
sed -i 's|${libdir}|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/*.pc
sed -i 's|${libdir}|%{_libdir}|g' %{buildroot}%{_libdir}/pkgconfig/*.pc
sed -i 's|${includedir}|%{_includedir}|g' %{buildroot}%{_libdir}/pkgconfig/*.pc
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@ -724,13 +698,6 @@ popd
%{_includedir}/idas/
%{_includedir}/kinsol/
%{_includedir}/nvector/
%{_libdir}/pkgconfig/arkode.pc
%{_libdir}/pkgconfig/cvodes.pc
%{_libdir}/pkgconfig/idas.pc
%{_libdir}/pkgconfig/cvode.pc
%{_libdir}/pkgconfig/ida.pc
%{_libdir}/pkgconfig/kinsol.pc
%{_libdir}/pkgconfig/nvec_serial.pc
%files openmp
%{!?_licensedir:%global license %doc}
@ -740,7 +707,6 @@ popd
%files openmp-devel
%{_libdir}/libsundials_nvecopenmp.so
%{_libdir}/pkgconfig/nvec_openmp.pc
%files fortran-openmp
%{!?_licensedir:%global license %doc}
@ -750,7 +716,6 @@ popd
%files fortran-openmp-devel
%{_libdir}/libsundials_fnvecopenmp.so
%{_libdir}/pkgconfig/fnvec_openmp.pc
%if 0%{?with_openmpi}
%files openmpi
@ -763,10 +728,6 @@ popd
%{_includedir}/openmpi-%{_arch}/nvector/nvector_parallel.h
%{_libdir}/openmpi/lib/libsundials_nvecparallel.so
%{_libdir}/openmpi/lib/libsundials_nvecparhyp.so
%ifnarch s390 s390x
%{_libdir}/openmpi/lib/pkgconfig/nvec_parallel.pc
%{_libdir}/openmpi/lib/pkgconfig/nvec_parhyp.pc
%endif
%files fortran-openmpi
%{!?_licensedir:%global license %doc}
@ -777,9 +738,6 @@ popd
%files fortran-openmpi-devel
%{_includedir}/openmpi-%{_arch}/nvector/nvector_parallel.h
%{_libdir}/openmpi/lib/libsundials_fnvecparallel.so
%ifnarch s390 s390x
%{_libdir}/openmpi/lib/pkgconfig/fnvec_parallel.pc
%endif
%endif
%if 0%{?with_mpich}
@ -794,10 +752,6 @@ popd
%{_includedir}/mpich-%{_arch}/nvector/nvector_parallel.h
%{_libdir}/mpich/lib/libsundials_nvecparallel.so
%{_libdir}/mpich/lib/libsundials_nvecparhyp.so
%ifnarch ppc64 ppc64le
%{_libdir}/mpich/lib/pkgconfig/nvec_parallel.pc
%{_libdir}/mpich/lib/pkgconfig/nvec_parhyp.pc
%endif
%files fortran-mpich
%{!?_licensedir:%global license %doc}
@ -808,9 +762,6 @@ popd
%files fortran-mpich-devel
%{_includedir}/mpich-%{_arch}/nvector/nvector_parallel.h
%{_libdir}/mpich/lib/libsundials_fnvecparallel.so
%ifnarch ppc64 ppc64le
%{_libdir}/mpich/lib/pkgconfig/fnvec_parallel.pc
%endif
%endif
%files fortran
@ -823,11 +774,6 @@ popd
%{_includedir}/sundials/sundials_fnvector.h
%{_libdir}/libsundials_fnvecserial.so
%{_libdir}/libsundials_*.a
%{_libdir}/pkgconfig/fcvode_serial.pc
%{_libdir}/pkgconfig/fkinsol_serial.pc
%{_libdir}/pkgconfig/fnvec_serial.pc
%{_libdir}/pkgconfig/farkode_serial.pc
%{_libdir}/pkgconfig/fida_serial.pc
%files threads
%{!?_licensedir:%global license %doc}
@ -840,10 +786,12 @@ popd
%{_libdir}/libsundials_fnvecpthreads.so
%{_libdir}/libsundials_nvecpthreads.so
%{_includedir}/nvector/nvector_pthreads.h
%{_libdir}/pkgconfig/nvec_pthreads.pc
%{_libdir}/pkgconfig/fnvec_pthreads.pc
%changelog
* Thu Oct 06 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-3
- SuperLUMT support condizionalized
- Removed pkgconfig files
* Tue Oct 04 2016 Antonio Trande <sagitterATfedoraproject.org> - 2.7.0-2
- Enabled SuperLUMT and HYPRE support