diff --git a/petsc.spec b/petsc.spec index a96aa9c..a0d9e63 100644 --- a/petsc.spec +++ b/petsc.spec @@ -40,7 +40,18 @@ %bcond_without openmpi %endif +## BLAS +# openblas available on these architectures. +%if 0%{?fedora} && 0%{?fedora} > 26 +%{!?openblas_arches:%global openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64 s390x} +%else +%{!?openblas_arches:%global openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64} +%endif +%if 0%{?rhel} +%{!?openblas_arches:%global openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64} +%endif %bcond_without blas +## # ## PETSC looks incompatible with serial MUMPS @@ -110,7 +121,7 @@ Name: petsc Summary: Portable Extensible Toolkit for Scientific Computation Version: 3.8.0 -Release: 1%{?dist} +Release: 2%{?dist} License: BSD URL: https://www.mcs.anl.gov/petsc Source0: http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-%{version}.tar.gz @@ -125,7 +136,7 @@ Patch1: %{name}-lib64.patch Patch3: %{name}-disable_petscnagupgrade.patch %if %{with superlu} -BuildRequires: SuperLU-devel +BuildRequires: SuperLU-devel >= 5.2.0 %endif %if %{with superlumt} BuildRequires: SuperLUMT-devel @@ -140,11 +151,11 @@ BuildRequires: MUMPS-devel BuildRequires: suitesparse-devel %endif %if %{with blas} -%ifnarch x86_64 %{ix86} armv7hl %{power64} aarch64 +%ifarch %{openblas_arches} +BuildRequires: openblas-devel, openblas-srpm-macros +%else BuildRequires: blas-devel BuildRequires: lapack-devel -%else -BuildRequires: openblas-devel %endif %endif BuildRequires: gcc-c++ @@ -183,12 +194,12 @@ PDF and HTML documentation files. %if %{with arch64} %package -n petsc64 Summary: Portable Extensible Toolkit for Scientific Computation (64bit INTEGER) -%ifnarch x86_64 %{ix86} armv7hl %{power64} aarch64 -BuildRequires: blas64-devel -BuildRequires: lapack64-devel -%else +%ifarch %{openblas_arches} BuildRequires: openblas-serial64 >= 0.2.19-1 BuildRequires: openblas-devel >= 0.2.19-1 +%else +BuildRequires: blas64-devel +BuildRequires: lapack64-devel %endif %description -n petsc64 @@ -248,11 +259,11 @@ BuildRequires: fftw-openmpi-devel BuildRequires: hypre-openmpi-devel %endif %if %{with blas} -%ifnarch x86_64 %{ix86} armv7hl %{power64} aarch64 +%ifarch %{openblas_arches} +BuildRequires: openblas-devel, openblas-srpm-macros +%else BuildRequires: blas-devel BuildRequires: lapack-devel -%else -BuildRequires: openblas-devel %endif %endif @@ -306,11 +317,11 @@ BuildRequires: fftw-devel BuildRequires: fftw-mpich-devel %endif %if %{with blas} -%ifnarch x86_64 %{ix86} armv7hl %{power64} aarch64 +%ifarch %{openblas_arches} +BuildRequires: openblas-devel, openblas-srpm-macros +%else BuildRequires: blas-devel BuildRequires: lapack-devel -%else -BuildRequires: openblas-devel %endif %endif @@ -403,7 +414,7 @@ CFLAGS="$CFLAGS -O3 -Wl,-z,now" CXXFLAGS="$CXXFLAGS -O3" FFLAGS="$FFLAGS -O3 -Wl --with-debugging=0 \ %endif %if %{with blas} -%ifnarch x86_64 %{ix86} armv7hl %{power64} aarch64 +%ifnarch %{openblas_arches} --with-blas-lib=-lblas \ --with-lapack-lib=-llapack \ --known-64-bit-blas-indices=0 \ @@ -483,7 +494,7 @@ CFLAGS="$CFLAGS -O3 -Wl,-z,now" CXXFLAGS="$CXXFLAGS -O3" FFLAGS="$FFLAGS -O3 -Wl --with-debugging=0 \ %endif %if %{with blas64} -%ifnarch x86_64 %{ix86} armv7hl %{power64} aarch64 +%ifnarch %{openblas_arches} --with-blas-lib="-lblas64_" \ --with-lapack-lib="-llapack64_" \ --known-64-bit-blas-indices=1 \ @@ -543,7 +554,7 @@ CFLAGS="$CFLAGS -O3 -Wl,-z,now" CXXFLAGS="$CXXFLAGS -O3" FFLAGS="$FFLAGS -O3 -Wl --with-debugging=0 \ %endif %if %{with blas} -%ifnarch x86_64 %{ix86} armv7hl %{power64} aarch64 +%ifnarch %{openblas_arches} --with-blas-lib="-lblas" \ --with-lapack-lib="-llapack" \ --known-64-bit-blas-indices=0 \ @@ -654,7 +665,7 @@ CFLAGS="$CFLAGS -O3 -Wl,-z,now" CXXFLAGS="$CXXFLAGS -O3" FFLAGS="$FFLAGS -O3 -Wl --with-debugging=0 \ %endif %if %{with blas} -%ifnarch x86_64 %{ix86} armv7hl %{power64} aarch64 +%ifnarch %{openblas_arches} --with-blas-lib=-lblas \ --with-lapack-lib=-llapack \ --known-64-bit-blas-indices=0 \ @@ -1009,6 +1020,9 @@ make -C buildmpich_dir test %endif %changelog +* Sun Oct 29 2017 Antonio Trande - 3.8.0-2 +- Define openblas arches + * Tue Oct 03 2017 Antonio Trande - 3.8.0-1 - Update to 3.8.0 - with-mpiuni-fortran-binding option deprecated