From 39b100a9040c8233f20d3a0a47da9f2502acb43b Mon Sep 17 00:00:00 2001 From: sagitter Date: Thu, 6 Oct 2016 14:57:29 +0200 Subject: [PATCH] SuperLUMT support condizionalized --- sources | 1 - sundials.spec | 86 ++++++++++----------------------------------------- 2 files changed, 17 insertions(+), 70 deletions(-) diff --git a/sources b/sources index f5cb6ad..cf52ffa 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ c304631b9bc82877d7b0e9f4d4fd94d3 sundials-2.7.0.tar.gz -6b1bb04e430ef6e03caaf1f43f485823 sundials-2.7.0_pkgconfig_files.tar.gz diff --git a/sundials.spec b/sundials.spec index 6a1a6a9..005dcb2 100644 --- a/sundials.spec +++ b/sundials.spec @@ -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 - 2.7.0-3 +- SuperLUMT support condizionalized +- Removed pkgconfig files + * Tue Oct 04 2016 Antonio Trande - 2.7.0-2 - Enabled SuperLUMT and HYPRE support