petsc/petsc.spec

1636 lines
54 KiB
RPMSpec
Raw Normal View History

# Testing libpetsc ?
2016-10-24 17:59:33 +00:00
%bcond_without check
#
# Python binding and its testing
%bcond_without python
%ifnarch %{power64} %{arm}
%bcond_without pycheck
%endif
%global pymodule_name petsc4py
2021-06-20 12:40:54 +00:00
%global pymodule_version %{version}
#
2016-10-24 17:59:33 +00:00
2016-10-25 13:05:57 +00:00
## Debug builds ?
%bcond_with debug
2016-10-24 17:59:33 +00:00
#
# Define _pkgdocdir macro on epel
%{?el7:%global _pkgdocdir %{_docdir}/%{name}}
#
2018-08-03 11:03:11 +00:00
%bcond_without mpich
2019-07-23 08:30:26 +00:00
%bcond_without openmpi
2019-07-22 21:25:05 +00:00
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
2019-07-23 08:30:26 +00:00
%bcond_without arch64
2019-07-22 21:25:05 +00:00
%else
%bcond_with arch64
2018-08-03 11:03:11 +00:00
%endif
2018-03-31 18:18:33 +00:00
2019-07-22 21:25:05 +00:00
%bcond_without blas
%if %{with arch64}
%bcond_without blas64
%endif
2017-10-01 12:29:45 +00:00
%global blaslib flexiblas
%global blasvar %{nil}
2016-10-24 17:59:33 +00:00
#
## PETSC looks incompatible with serial MUMPS
2020-04-10 15:49:10 +00:00
%bcond_without mumps_serial
2016-10-24 17:59:33 +00:00
#
## Sundials needs mpi ?
2018-02-04 14:31:55 +00:00
%bcond_with sundials_serial
#
2016-10-24 17:59:33 +00:00
%bcond_without superlu
#
2020-04-10 15:49:10 +00:00
## Suitesparse
2021-04-18 17:20:01 +00:00
## This version of PETSc needs the 5.6.0 at least
2020-04-10 15:49:10 +00:00
%bcond_with suitesparse
%bcond_with suitesparse64
#
2017-08-13 13:02:16 +00:00
## SuperLUDIST needs parmetis
%if 0%{?fedora} || 0%{?rhel} > 7
2020-04-10 15:49:10 +00:00
%bcond_without superludist
%bcond_without cgns
%bcond_without hdf5
%else
# Needed superludist >= 6.1.1
%bcond_with superludist
## hdf5 is required by cgns
## and see rhbz#1904164
%bcond_with cgns
%bcond_with hdf5
%endif
2017-08-13 13:02:16 +00:00
%bcond_with superlumt
#
## Tetgen
%bcond_with tetgen
#
2020-04-10 15:49:10 +00:00
## Metis
%bcond_without metis
2020-11-20 11:35:13 +00:00
%if 0%{?fedora} || 0%{?rhel} < 8
%bcond_without metis64
%endif
2020-04-10 15:49:10 +00:00
#
# 'scalapack' is required by 'MUMPS'
2016-10-24 17:59:33 +00:00
%if %{with openmpi}
%bcond_without mpi
2019-06-27 16:59:46 +00:00
# PETSC-3.* is incompatible with Sundials 3+
2017-11-09 16:40:45 +00:00
%bcond_with sundials
2016-10-24 17:59:33 +00:00
%bcond_without scalapack
%bcond_without mumps
2016-10-25 13:05:57 +00:00
%bcond_without ptscotch
2016-10-24 17:59:33 +00:00
%bcond_without hypre
%endif
%if %{with mpich}
%bcond_without mpi
2020-04-10 15:49:10 +00:00
# PETSC-3.* is incompatible with Sundials 3+
2017-11-09 16:40:45 +00:00
%bcond_with sundials
2016-10-24 17:59:33 +00:00
%bcond_without scalapack
%bcond_without mumps
2016-10-25 13:05:57 +00:00
%bcond_without ptscotch
2016-10-24 17:59:33 +00:00
%bcond_without hypre
%endif
2020-04-10 15:49:10 +00:00
%global petsc_build_options \\\
%if %{with debug} \
CFLAGS="-O0 -g -Wl,-z,now -fPIC" CXXFLAGS="-O0 -g -Wl,-z,now -fPIC" FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules" COPTFLAGS="-O0 -g -Wl,-z,now" \\\
CXXOPTFLAGS="-O0 -g -Wl,-z,now" FOPTFLAGS="-O0 -g -Wl,-z,now -I%{_libdir}/gfortran/modules" LDFLAGS="$LDFLAGS -fPIC" \\\
2020-06-04 10:05:41 +00:00
FCFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules" \\\
2020-04-10 15:49:10 +00:00
%else \
CFLAGS="$CFLAGS -O3 -fPIC" CXXFLAGS="$CXXFLAGS -O3 -fPIC" FFLAGS="$FFLAGS -O3 -fPIC" LDFLAGS="$LDFLAGS -fPIC" \\\
COPTFLAGS="$CFLAGS" CXXOPTFLAGS="$CXXFLAGS" FOPTFLAGS="$FFLAGS" \\\
2020-06-04 10:05:41 +00:00
FCFLAGS="$FFLAGS -O3 -fPIC" \\\
2020-04-10 15:49:10 +00:00
%endif \
--CC_LINKER_FLAGS="$LDFLAGS" \\\
--FC_LINKER_FLAGS="$LDFLAGS -lgfortran" \\\
--with-default-arch=0 --with-make=1 \\\
--with-cmake-exec=%{_bindir}/cmake3 --with-ctest-exec=%{_bindir}/ctest3 \\\
--with-single-library=1 \\\
--with-precision=double \\\
--with-petsc-arch=%{_arch} \\\
--with-clanguage=C \\\
--with-shared-libraries=1 \\\
--with-fortran-interfaces=1 \\\
--with-windows-graphics=0 \\\
--CC=gcc \\\
--FC=gfortran \\\
--CXX=g++ \\\
--with-shared-ld=ld \\\
--with-pic=1 \\\
--with-clib-autodetect=0 \\\
--with-fortranlib-autodetect=0 \\\
--with-threadsafety=0 --with-log=1 \\\
2020-11-20 11:35:13 +00:00
--with-mkl_sparse=0 \\\
--with-mkl_sparse_optimize=0 \\\
--with-mkl_cpardiso=0 \\\
--with-mkl_pardiso=0 \\\
--with-python=0 \\\
2021-06-20 12:40:54 +00:00
--DATAFILESPATH=$PWD/share/petsc/datafiles \\\
2020-04-10 15:49:10 +00:00
%if 0%{?fedora} \
--with-cxxlib-autodetect=0 \\\
%endif \
%if %{with debug} \
--with-debugging=1 \\\
%else \
--with-debugging=0 \\\
%endif \
%if %{with mumps_serial} \
--with-mumps-serial=1 \\\
%endif \
--with-mpi=0 \\\
%if %{with hdf5} \
--with-hdf5=1 \\\
--with-hdf5-include= \\\
--with-hdf5-lib="-lhdf5 -lhdf5_hl" \\\
%endif \
%if %{with cgns} \
--with-cgns=1 \\\
--with-cgns-include= \\\
--with-cgns-lib=-lcgns \\\
%endif \
--with-x=1 \\\
--with-openmp=0 \\\
--with-hwloc=0 \\\
--with-ssl=0 \\\
%if %{with sundials_serial} \
--with-sundials=1 \\\
--with-sundials-include=%{_includedir} \\\
--with-sundials-lib="-lsundials_nvecserial -lsundials_cvode" \\\
%endif \
--with-pthread=1 \\\
--with-valgrind=1
%global petsc_mpibuild_options \\\
%if %{with debug} \
CFLAGS="-O0 -g -Wl,-z,now -fPIC" CXXFLAGS="-O0 -g -Wl,-z,now -fPIC" FFLAGS="-O0 -g -Wl,-z,now -fPIC -I${MPI_FORTRAN_MOD_DIR}" COPTFLAGS="-O0 -g -Wl,-z,now" \\\
CXXOPTFLAGS="-O0 -g -Wl,-z,now" FOPTFLAGS="-O0 -g -Wl,-z,now -I${MPI_FORTRAN_MOD_DIR}" LDFLAGS="$LDFLAGS -fPIC" \\\
2020-06-04 10:05:41 +00:00
FCFLAGS="-O0 -g -Wl,-z,now -fPIC -I${MPI_FORTRAN_MOD_DIR}" \\\
2020-04-10 15:49:10 +00:00
%else \
CFLAGS="$CFLAGS -O3 -fPIC" CXXFLAGS="$CXXFLAGS -O3 -fPIC" FFLAGS="$FFLAGS -O3 -fPIC" LDFLAGS="$LDFLAGS -fPIC" \\\
COPTFLAGS="$CFLAGS" CXXOPTFLAGS="$CXXFLAGS" FOPTFLAGS="$FFLAGS" \\\
2020-06-04 10:05:41 +00:00
FCFLAGS="$FFLAGS -O3 -fPIC" \\\
2020-04-10 15:49:10 +00:00
%endif \
--CC_LINKER_FLAGS="$LDFLAGS" \\\
--with-default-arch=0 --with-make=1 \\\
--with-cmake-exec=%{_bindir}/cmake3 --with-ctest-exec=%{_bindir}/ctest3 \\\
--with-single-library=1 \\\
--with-precision=double \\\
--with-petsc-arch=%{_arch} \\\
--with-clanguage=C \\\
--with-shared-libraries=1 \\\
--with-fortran-interfaces=1 \\\
--with-windows-graphics=0 \\\
--with-cc=${MPI_BIN}/mpicc \\\
--with-cxx=${MPI_BIN}/mpicxx \\\
--with-fc=${MPI_BIN}/mpif90 \\\
2020-04-10 15:49:10 +00:00
--with-shared-ld=ld \\\
--with-pic=1 \\\
--with-clib-autodetect=0 \\\
--with-fortranlib-autodetect=0 \\\
2020-11-20 11:35:13 +00:00
--with-mkl_sparse=0 \\\
--with-mkl_sparse_optimize=0 \\\
--with-mkl_cpardiso=0 \\\
--with-mkl_pardiso=0 \\\
2021-06-20 12:40:54 +00:00
--DATAFILESPATH=$PWD/share/petsc/datafiles \\\
%if %{with python} \
--with-python=1 \\\
--with-python-exec=%{__python3} \\\
2021-04-18 17:20:01 +00:00
--with-petsc4py=1 \\\
--with-petsc4py-test-np="`/usr/bin/getconf _NPROCESSORS_ONLN`" \\\
%endif \
2020-04-10 15:49:10 +00:00
%if 0%{?fedora} \
--with-cxxlib-autodetect=0 \\\
%endif \
--with-threadsafety=0 --with-log=1 \\\
%if %{with debug} \
--with-debugging=1 \\\
2021-06-20 12:40:54 +00:00
--with-mpiexec="${MPI_BIN}/mpiexec -n `/usr/bin/getconf _NPROCESSORS_ONLN` --mca btl_base_warn_component_unused 0 --mca orte_base_help_aggregate 0" \\\
2020-04-10 15:49:10 +00:00
%else \
--with-debugging=0 \\\
2021-06-20 12:40:54 +00:00
--with-mpiexec="${MPI_BIN}/mpiexec -n `/usr/bin/getconf _NPROCESSORS_ONLN` --mca btl_base_warn_component_unused 0" \\\
2020-04-10 15:49:10 +00:00
%endif \
%if %{with scalapack} \
--with-scalapack=1 \\\
--with-scalapack-lib="-L$MPI_LIB -lscalapack" \\\
--with-scalapck-include="" \\\
%endif \
%if %{with mpi} \
--with-mpi=1 \\\
%endif \
%if %{with cgns} \
--with-cgns=1 \\\
--with-cgns-include= \\\
--with-cgns-lib=-lcgns \\\
%endif \
%if %{with hdf5} \
--with-hdf5=1 \\\
--with-hdf5-include= \\\
--with-hdf5-lib="-L$MPI_LIB -lhdf5 -lhdf5_hl" \\\
%endif \
%if %{with ptscotch} \
--with-ptscotch=1 \\\
--with-ptscotch-include= \\\
--with-ptscotch-lib="-L$MPI_LIB -lptscotch -lscotch -lptscotcherr -lscotcherr" \\\
%endif \
%if %{with mumps} \
--with-mumps=1 \\\
%endif \
%if %{with sundials} \
--with-sundials=1 \\\
--with-sundials-include=$MPI_INCLUDE \\\
--with-sundials-lib=-lsundials_nvecparallel \\\
%endif \
%if %{with superludist} \
--with-superlu_dist=1 \\\
--with-superlu_dist-include=$MPI_INCLUDE/superlu_dist \\\
--with-superlu_dist-lib=-lsuperlu_dist \\\
%endif \
--with-x=1 \\\
--with-openmp=0 \\\
--with-hwloc=0 \\\
--with-ssl=0 \\\
%if %{with hypre} \
--with-hypre=1 \\\
--with-hypre-include=$MPI_INCLUDE/hypre \\\
--with-hypre-lib="-L$MPI_LIB -lHYPRE" \\\
%endif \
%if %{with fftw} \
--with-fftw=1 \\\
--with-fftw-include= \\\
--with-fftw-lib="-L$MPI_LIB -lfftw3_mpi -lfftw3" \\\
%endif \
--with-pthread=1 \\\
--with-valgrind=1
%global mpichversion %(rpm -qi mpich | awk -F': ' '/Version/ {print $2}')
%global openmpiversion %(rpm -qi openmpi | awk -F': ' '/Version/ {print $2}')
2021-04-18 17:20:01 +00:00
%global releasever 3.15
2017-11-09 18:31:48 +00:00
2016-10-24 17:59:33 +00:00
Name: petsc
Summary: Portable Extensible Toolkit for Scientific Computation
2021-08-07 13:49:27 +00:00
Version: %{releasever}.3
2021-08-10 02:12:26 +00:00
Release: 2%{?dist}
2016-10-24 17:59:33 +00:00
License: BSD
2021-06-20 12:40:54 +00:00
URL: https://petsc.org/
2021-04-18 17:20:01 +00:00
Source0: https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-with-docs-%{version}.tar.gz
Source1: https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc4py-%{version}.tar.gz
2016-10-24 17:59:33 +00:00
## Remove rpath flags
2019-10-18 19:38:36 +00:00
Patch0: %{name}-3.11-no-rpath.patch
2016-10-24 17:59:33 +00:00
## Rename library name for 64-bit integer package
Patch1: %{name}-lib64.patch
# Reverting patch for Hypre-2.11.2
Patch2: %{name}-3.14-hypre_2.11.2_reverting.patch
2020-04-10 15:49:10 +00:00
Patch3: %{name}-3.13-fix_mumps_includes.patch
Patch4: %{name}-3.13.0-fix_metis64.patch
2021-04-18 17:20:01 +00:00
Patch5: %{name}-3.15.0-fix_sundials_version.patch
2020-11-20 11:35:13 +00:00
Patch6: %{name}-3.14.1-fix_pkgconfig_file.patch
2020-04-10 15:49:10 +00:00
2020-11-20 11:35:13 +00:00
Patch7: %{name}-3.4.1-avoid_fake_MKL_detection.patch
# Embed distutils.sysconfig.parse_makefile() from Python 3.9
# To workaround https://bugs.python.org/issue44351
# Only used on build time
Patch8: %{name}-3.15.0-workaround-broken-parse_makefile.patch
2016-10-24 17:59:33 +00:00
%if %{with superlu}
BuildRequires: SuperLU-devel >= 5.2.0
2016-10-24 17:59:33 +00:00
%endif
2017-08-13 13:02:16 +00:00
%if %{with superlumt}
BuildRequires: SuperLUMT-devel
%endif
2016-10-24 17:59:33 +00:00
%if %{with mumps_serial}
2020-04-10 15:49:10 +00:00
BuildRequires: MUMPS-devel >= 5.2.1
2016-10-24 17:59:33 +00:00
%endif
2020-04-10 15:49:10 +00:00
%if %{with metis}
BuildRequires: metis-devel >= 5.1.0
2017-11-22 11:52:18 +00:00
%endif
2020-04-10 15:49:10 +00:00
%if %{with suitesparse}
BuildRequires: suitesparse-devel >= 5.6.0
2016-10-24 17:59:33 +00:00
%endif
%if %{with blas}
BuildRequires: %{blaslib}-devel
2016-10-24 17:59:33 +00:00
%endif
BuildRequires: chrpath
BuildRequires: gcc, gcc-c++, cmake3
BuildRequires: gcc-gfortran
BuildRequires: make
2016-10-24 17:59:33 +00:00
BuildRequires: libX11-devel
BuildRequires: python3-devel
BuildRequires: python3-setuptools
2016-10-24 17:59:33 +00:00
BuildRequires: pcre-devel
%if 0%{?el7}
BuildRequires: pkgconfig
%else
2018-07-29 10:07:06 +00:00
BuildRequires: pkgconf-pkg-config
%endif
2020-04-10 15:49:10 +00:00
%if %{with hdf5}
BuildRequires: hdf5-devel
%endif
%if %{with cgns}
BuildRequires: cgnslib-devel
BuildRequires: hdf5-devel
%endif
2016-10-24 17:59:33 +00:00
BuildRequires: tcsh
%if %{with tetgen}
BuildRequires: tetgen-devel
%endif
2020-04-10 15:49:10 +00:00
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: valgrind-devel
2016-10-24 17:59:33 +00:00
%description
PETSc, pronounced PET-see (the S is silent), is a suite of data structures
and routines for the scalable (parallel) solution of scientific applications
modeled by partial differential equations.
%package devel
Summary: Portable Extensible Toolkit for Scientific Computation (developer files)
Requires: %{name}%{?_isa} = %{version}-%{release}
%if 0%{?el7}
2018-07-29 10:07:06 +00:00
Requires: pkgconfig%{?_isa}
2018-02-06 18:12:15 +00:00
%else
2018-07-29 10:07:06 +00:00
Requires: pkgconf-pkg-config%{?_isa}
2018-02-06 18:12:15 +00:00
%endif
2021-05-21 08:59:37 +00:00
Requires: gcc-gfortran%{?_isa}
2016-10-24 17:59:33 +00:00
%description devel
Portable Extensible Toolkit for Scientific Computation (developer files).
%package doc
Summary: Portable Extensible Toolkit for Scientific Computation (documentation files)
BuildRequires: python3-sphinx
2016-10-24 17:59:33 +00:00
BuildArch: noarch
%description doc
Portable Extensible Toolkit for Scientific Computation.
PDF and HTML documentation files.
%if %{with arch64}
%package -n petsc64
Summary: Portable Extensible Toolkit for Scientific Computation (64bit INTEGER)
2020-11-20 11:35:13 +00:00
%if %{with metis64}
2020-04-10 15:49:10 +00:00
BuildRequires: metis64-devel >= 5.1.0
%endif
2016-10-24 17:59:33 +00:00
%description -n petsc64
PETSc, pronounced PET-see (the S is silent), is a suite of data structures
and routines for the scalable (parallel) solution of scientific applications
modeled by partial differential equations (64bit INTEGER).
%package -n petsc64-devel
Requires: %{name}64%{?_isa} = %{version}-%{release}
Requires: gcc-gfortran%{?_isa}
%if 0%{?el7}
2018-07-29 10:07:06 +00:00
Requires: pkgconfig%{?_isa}
2018-02-06 18:12:15 +00:00
%else
2018-07-29 10:07:06 +00:00
Requires: pkgconf-pkg-config%{?_isa}
2018-02-06 18:12:15 +00:00
%endif
2016-10-24 17:59:33 +00:00
Summary: Portable Extensible Toolkit for Scientific Computation (64bit INTEGER)
%description -n petsc64-devel
Portable Extensible Toolkit for Scientific Computation (developer files)
(64bit INTEGER).
%endif
#############################################################################
#########
%if %{with openmpi}
%package openmpi
Summary: Portable Extensible Toolkit for Scientific Computation (OpenMPI)
BuildRequires: openmpi-devel
%if %{with hdf5}
BuildRequires: hdf5-openmpi-devel
%endif
%if %{with cgns}
BuildRequires: cgnslib-devel
2020-04-10 15:49:10 +00:00
BuildRequires: hdf5-openmpi-devel
2016-10-24 17:59:33 +00:00
%endif
%if %{with ptscotch}
BuildRequires: ptscotch-openmpi-devel
%endif
%if %{with scalapack}
BuildRequires: scalapack-openmpi-devel
2020-01-05 20:56:57 +00:00
%if 0%{?rhel} || 0%{?fedora} < 32
2016-10-24 17:59:33 +00:00
BuildRequires: blacs-openmpi-devel
%endif
2020-01-05 20:56:57 +00:00
%endif
2016-10-24 17:59:33 +00:00
%if %{with mumps}
2020-04-10 15:49:10 +00:00
BuildRequires: MUMPS-openmpi-devel >= 5.2.1
2016-10-24 17:59:33 +00:00
%endif
%if %{with sundials}
BuildRequires: sundials-openmpi-devel
%endif
2017-08-13 13:02:16 +00:00
%if %{with superludist}
2020-04-10 15:49:10 +00:00
BuildRequires: superlu_dist-openmpi-devel >= 6.1.1
2017-08-13 13:02:16 +00:00
%endif
2016-10-24 17:59:33 +00:00
%if %{with fftw}
BuildRequires: fftw-devel
BuildRequires: fftw-openmpi-devel
%endif
%if %{with hypre}
BuildRequires: hypre-openmpi-devel
%endif
%description openmpi
PETSc, pronounced PET-see (the S is silent), is a suite of data structures
and routines for the scalable (parallel) solution of scientific applications
modeled by partial differential equations.
%package openmpi-devel
Summary: Portable Extensible Toolkit for Scientific Computation (OpenMPI)
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
Requires: openmpi-devel%{?_isa} = 0:%{openmpiversion}
2016-10-24 17:59:33 +00:00
%description openmpi-devel
Portable Extensible Toolkit for Scientific Computation (developer files).
%endif
%if %{with python}
%package -n python%{python3_pkgversion}-%{name}-openmpi
Summary: Python3 bindings for OpenMPI PETSc
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}-openmpi}
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: hdf5-openmpi-devel
BuildRequires: scalapack-openmpi-devel
BuildRequires: ptscotch-openmpi-devel
BuildRequires: python%{python3_pkgversion}-numpy, python%{python3_pkgversion}-Cython
Requires: petsc-openmpi%{?_isa}
Requires: hdf5-openmpi%{?_isa}
Requires: scalapack-openmpi%{?_isa}
Requires: ptscotch-openmpi%{?_isa}
Requires: openmpi%{?_isa} = 0:%{openmpiversion}
Requires: MUMPS-openmpi%{?_isa}
Obsoletes: %{pymodule_name}-openmpi < 0:3.14.0-3
Obsoletes: python%{python3_pkgversion}-%{pymodule_name}-openmpi < 0:3.14.0-3
Provides: python%{python3_pkgversion}-%{pymodule_name}-openmpi = 0:%{pymodule_version}-%{release}
Provides: python-%{pymodule_name}-openmpi = 0:%{pymodule_version}-%{release}
Provides: %{pymodule_name}-openmpi = 0:%{pymodule_version}-%{release}
%description -n python%{python3_pkgversion}-%{name}-openmpi
This package provides Python3 bindings for OpenMPI PETSc,
the Portable, Extensible Toolkit for Scientific Computation.
%package -n python%{python3_pkgversion}-%{name}-mpich
Summary: Python3 bindings for MPICH PETSc
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}-mpich}
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: hdf5-mpich-devel
BuildRequires: scalapack-mpich-devel
BuildRequires: ptscotch-mpich-devel
BuildRequires: python%{python3_pkgversion}-numpy, python%{python3_pkgversion}-Cython
Requires: petsc-mpich%{?_isa}
Requires: hdf5-mpich%{?_isa}
Requires: scalapack-openmpi%{?_isa}
Requires: ptscotch-mpich%{?_isa}
Requires: mpich%{?_isa} = 0:%{mpichversion}
Requires: MUMPS-mpich%{?_isa}
Obsoletes: %{pymodule_name}-mpich < 0:3.14.0-3
Obsoletes: python%{python3_pkgversion}-%{pymodule_name}-mpich < 0:3.14.0-3
Provides: python%{python3_pkgversion}-%{pymodule_name}-mpich = 0:%{pymodule_version}-%{release}
Provides: python-%{pymodule_name}-mpich = 0:%{pymodule_version}-%{release}
Provides: %{pymodule_name}-mpich = 0:%{pymodule_version}-%{release}
%description -n python%{python3_pkgversion}-%{name}-mpich
This package provides Python3 bindings for MPICH PETSc,
the Portable, Extensible Toolkit for Scientific Computation.
%endif
2016-10-24 17:59:33 +00:00
######
###############################################################################
######
%if %{with mpich}
%package mpich
Summary: Portable Extensible Toolkit for Scientific Computation (MPICH)
BuildRequires: mpich-devel
%if %{with hdf5}
BuildRequires: hdf5-mpich-devel
%endif
%if %{with cgns}
BuildRequires: cgnslib-devel
2020-04-10 15:49:10 +00:00
BuildRequires: hdf5-mpich-devel
2016-10-24 17:59:33 +00:00
%endif
%if %{with ptscotch}
BuildRequires: ptscotch-mpich-devel
%endif
%if %{with scalapack}
BuildRequires: scalapack-mpich-devel
2020-01-05 20:56:57 +00:00
%if 0%{?rhel} || 0%{?fedora} < 32
2016-10-24 17:59:33 +00:00
BuildRequires: blacs-mpich-devel
%endif
2020-01-05 20:56:57 +00:00
%endif
2016-10-24 17:59:33 +00:00
%if %{with mumps}
2020-04-10 15:49:10 +00:00
BuildRequires: MUMPS-mpich-devel >= 5.2.1
2016-10-24 17:59:33 +00:00
%endif
%if %{with sundials}
BuildRequires: sundials-mpich-devel
%endif
2017-08-13 13:02:16 +00:00
%if %{with superludist}
2020-04-10 15:49:10 +00:00
BuildRequires: superlu_dist-mpich-devel >= 6.1.1
2017-08-13 13:02:16 +00:00
%endif
2016-10-24 17:59:33 +00:00
%if %{with hypre}
BuildRequires: hypre-mpich-devel
%endif
%if %{with fftw}
BuildRequires: fftw-devel
BuildRequires: fftw-mpich-devel
%endif
Requires: mpich%{?_isa} = 0:%{mpichversion}
2016-10-24 17:59:33 +00:00
%description mpich
PETSc, pronounced PET-see (the S is silent), is a suite of data structures
and routines for the scalable (parallel) solution of scientific applications
modeled by partial differential equations.
%package mpich-devel
Summary: Portable Extensible Toolkit for Scientific Computation (MPICH)
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
2017-01-04 11:24:38 +00:00
%if 0%{?el7}
# https://bugzilla.redhat.com/show_bug.cgi?id=1397192
Requires: mpich-devel
%else
Requires: mpich-devel%{?_isa} = 0:%{mpichversion}
2017-01-04 11:24:38 +00:00
%endif
2016-10-24 17:59:33 +00:00
%description mpich-devel
Portable Extensible Toolkit for Scientific Computation (developer files).
%endif
######
#############################################################################
%prep
2020-06-03 12:06:40 +00:00
%setup -qc
2021-04-18 17:20:01 +00:00
%if %{with python}
%setup -q -T -D -a 1
cp -a petsc4py-%{version}/* %{name}-%{version}/
rm -rf %{name}-%{version}/*.egg-info
rm -rf petsc4py-%{version}
%if 0%{?python3_version_nodots} >= 310
pushd %{name}-%{version}
%patch8 -p1 -b .backup
popd
%endif
2021-04-18 17:20:01 +00:00
%endif
2016-10-24 17:59:33 +00:00
pushd %{name}-%{version}
2019-07-22 21:25:05 +00:00
%patch7 -p1 -b .backup
2020-04-10 15:49:10 +00:00
find . -name 'setup.py' | xargs pathfix.py -pn -i "%{__python3}"
find . -name 'configure' | xargs pathfix.py -pn -i "%{__python3}"
find config -name '*.py' | xargs pathfix.py -pn -i "%{__python3}"
find src/benchmarks/streams -name '*.py' | xargs pathfix.py -pn -i "%{__python3}"
2019-03-12 18:06:28 +00:00
%if 0%{?el7}
%patch2 -p1 -b .backup
%endif
2016-10-24 17:59:33 +00:00
popd
%if %{with arch64}
cp -a %{name}-%{version} build64
pushd build64
%patch1 -p0
2020-11-20 11:35:13 +00:00
%if %{with metis64}
2020-04-10 15:49:10 +00:00
%patch4 -p1 -b .metis64
2020-11-20 11:35:13 +00:00
%endif
2016-10-24 17:59:33 +00:00
popd
%endif
2018-07-15 18:23:38 +00:00
pushd %{name}-%{version}
%patch0 -p0 -b .backup
%patch5 -p1 -b .backup
%patch6 -p1 -b .backup
2018-07-15 18:23:38 +00:00
popd
2016-10-24 17:59:33 +00:00
%if %{with openmpi}
cp -a %{name}-%{version} buildopenmpi_dir
%endif
%if %{with mpich}
cp -a %{name}-%{version} buildmpich_dir
%endif
2020-04-10 15:49:10 +00:00
# Do NOT move up this patch
pushd %{name}-%{version}
%patch3 -p1
popd
2016-10-24 17:59:33 +00:00
%build
%ifarch %{arm}
# Likely running out of memory during build
%global _lto_cflags %{nil}
%endif
2016-10-24 17:59:33 +00:00
pushd %{name}-%{version}
2019-07-22 21:25:05 +00:00
%configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran \
2020-04-10 15:49:10 +00:00
%{petsc_build_options} \
2016-10-24 17:59:33 +00:00
--with-64-bit-indices=0 \
%if %{with blas}
2021-06-14 17:22:30 +00:00
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
2020-11-20 11:35:13 +00:00
--with-blaslapack=1 --with-blaslapack-lib=-l%{blaslib}%{blasvar} --with-blaslapack-include=%{_includedir}/%{blaslib} \
%else
--with-openblas=1 --with-openblas-lib=-l%{blaslib}%{blasvar} --with-openblas-include=%{_includedir}/%{blaslib} \
%endif
2016-10-24 17:59:33 +00:00
%endif
2020-11-20 11:35:13 +00:00
%if %{with metis}
--with-metis=1 \
%endif
%if %{with tetgen}
--with-tetgen=1 \
--with-tetgen-lib=-ltetgen \
%endif
2020-11-20 11:35:13 +00:00
%if %{with superlu}
--with-superlu=1 \
--with-superlu-include=%{_includedir}/SuperLU \
--with-superlu-lib=-lsuperlu \
2016-10-24 17:59:33 +00:00
%endif
2020-04-10 15:49:10 +00:00
%if %{with suitesparse}
2016-10-24 17:59:33 +00:00
--with-suitesparse=1 \
--with-suitesparse-include=%{_includedir}/suitesparse \
2020-04-10 15:49:10 +00:00
--with-suitesparse-lib="-lumfpack -lklu -lcholmod -lamd"
2017-11-22 11:52:18 +00:00
%endif
2020-06-04 10:05:41 +00:00
#cat config.log && exit 1
2019-07-22 21:25:05 +00:00
##
2016-10-24 17:59:33 +00:00
RPM_BUILD_NCPUS="`%{_bindir}/getconf _NPROCESSORS_ONLN`"
make \
V=1 MAKE_NP=$RPM_BUILD_NCPUS PETSC_DIR=%{_builddir}/%{name}-%{version}/%{name}-%{version} PETSC_ARCH=%{_arch} all
popd
%if %{with arch64}
pushd build64
2019-07-22 21:25:05 +00:00
%configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran \
2020-04-10 15:49:10 +00:00
%{petsc_build_options} \
2016-10-24 17:59:33 +00:00
--with-64-bit-indices=1 \
2020-11-20 11:35:13 +00:00
%if %{with metis64}
--with-metis=1 \
%endif
2016-10-24 17:59:33 +00:00
%if %{with blas64}
2021-06-14 17:22:30 +00:00
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
2020-11-20 11:35:13 +00:00
--with-blaslapack=1 --with-blaslapack-lib=-l%{blaslib}%{blasvar}64 --with-blaslapack-include=%{_includedir}/%{blaslib} \
%else
--with-openblas=1 --with-openblas-lib=-l%{blaslib}%{blasvar}64 --with-openblas-include=%{_includedir}/%{blaslib} \
%endif
2016-10-24 17:59:33 +00:00
%endif
2020-04-10 15:49:10 +00:00
%if %{with suitesparse64}
--with-suitesparse=1 \
--with-suitesparse-include=%{_includedir}/suitesparse \
--with-suitesparse-lib="-lumfpack64 -lklu64 -lcholmod64 -lamd64"
%endif
##
2016-10-24 17:59:33 +00:00
RPM_BUILD_NCPUS="`%{_bindir}/getconf _NPROCESSORS_ONLN`"
make \
V=1 MAKE_NP=$RPM_BUILD_NCPUS PETSC_DIR=%{_builddir}/%{name}-%{version}/build64 PETSC_ARCH=%{_arch} all
popd
%endif
%if %{with openmpi}
pushd buildopenmpi_dir
2019-07-22 21:25:05 +00:00
2016-10-24 17:59:33 +00:00
%{_openmpi_load}
2017-10-01 14:55:11 +00:00
%configure \
2020-04-10 15:49:10 +00:00
--FC_LINKER_FLAGS="$LDFLAGS -lgfortran -lmpi_mpifh" \
--LIBS=" -lmpi -lmpi_mpifh" \
2020-04-10 15:49:10 +00:00
%{petsc_mpibuild_options} \
2020-11-20 11:35:13 +00:00
%if %{with metis}
--with-metis=1 \
%endif
2016-10-24 17:59:33 +00:00
--with-64-bit-indices=0 \
%if %{with blas}
2021-06-14 17:22:30 +00:00
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
2020-11-20 11:35:13 +00:00
--with-blaslapack=1 --with-blaslapack-lib=-l%{blaslib}%{blasvar} --with-blaslapack-include=%{_includedir}/%{blaslib} \
%else
--with-openblas=1 --with-openblas-lib=-l%{blaslib}%{blasvar} --with-openblas-include=%{_includedir}/%{blaslib} \
%endif
2016-10-24 17:59:33 +00:00
%endif
2018-01-28 21:38:08 +00:00
#cat config.log
#exit 1
2016-10-24 17:59:33 +00:00
RPM_BUILD_NCPUS="`%{_bindir}/getconf _NPROCESSORS_ONLN`"
make \
V=1 MAKE_NP=$RPM_BUILD_NCPUS PETSC_DIR=%{_builddir}/%{name}-%{version}/buildopenmpi_dir PETSC_ARCH=%{_arch} all
2021-04-18 17:20:01 +00:00
%if %{with python}
export PETSC_ARCH=%{_arch}
2021-04-18 17:20:01 +00:00
export PETSC_DIR=./
%py3_build
unset PETSC_ARCH
unset PETSC_DIR
%endif
2016-10-24 17:59:33 +00:00
%{_openmpi_unload}
popd
%endif
%if %{with mpich}
pushd buildmpich_dir
2020-01-05 20:56:57 +00:00
2016-10-24 17:59:33 +00:00
%{_mpich_load}
2017-10-01 14:55:11 +00:00
%configure \
--FC_LINKER_FLAGS="$LDFLAGS -lgfortran -lfmpich -lmpichf90" \
--LIBS=" -lmpich -lfmpich -lmpichf90" \
2020-04-10 15:49:10 +00:00
%{petsc_mpibuild_options} \
2020-11-20 11:35:13 +00:00
%if %{with metis}
--with-metis=1 \
%endif
2016-10-24 17:59:33 +00:00
--with-64-bit-indices=0 \
%if %{with blas}
2021-06-14 17:22:30 +00:00
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
2020-11-20 11:35:13 +00:00
--with-blaslapack=1 --with-blaslapack-lib=-l%{blaslib}%{blasvar} --with-blaslapack-include=%{_includedir}/%{blaslib} \
%else
--with-openblas=1 --with-openblas-lib=-l%{blaslib}%{blasvar} --with-openblas-include=%{_includedir}/%{blaslib} \
%endif
2016-10-24 17:59:33 +00:00
%endif
2018-01-28 21:38:08 +00:00
#cat config.log
#exit 1
2016-10-24 17:59:33 +00:00
RPM_BUILD_NCPUS="`%{_bindir}/getconf _NPROCESSORS_ONLN`"
make \
V=1 MAKE_NP=$RPM_BUILD_NCPUS PETSC_DIR=%{_builddir}/%{name}-%{version}/buildmpich_dir PETSC_ARCH=%{_arch} all
2021-04-18 17:20:01 +00:00
%if %{with python}
export PETSC_ARCH=%{_arch}
2021-04-18 17:20:01 +00:00
export PETSC_DIR=./
%py3_build
unset PETSC_ARCH
unset PETSC_DIR
%endif
2021-04-18 17:20:01 +00:00
2016-10-24 17:59:33 +00:00
%{_mpich_unload}
popd
%endif
%install
pushd %{name}-%{version}
mkdir -p %{buildroot}%{_libdir} %{buildroot}%{_includedir}/%{name}
mkdir -p %{buildroot}%{_fmoddir}/%{name}
mkdir -p %{buildroot}%{_libdir}/%{name}/conf
install -pm 755 %{_arch}/lib/libpetsc.* %{buildroot}%{_libdir}
ln -sf libpetsc.so.%{version} %{buildroot}%{_libdir}/libpetsc.so
ln -sf libpetsc.so.%{version} %{buildroot}%{_libdir}/libpetsc.so.%{releasever}
install -pm 644 %{_arch}/include/*.h %{buildroot}%{_includedir}/%{name}/
install -pm 644 %{_arch}/include/*.mod %{buildroot}%{_fmoddir}/%{name}/
cp -a include/* %{buildroot}%{_includedir}/%{name}/
cp -a %{_arch}/lib/pkgconfig %{buildroot}%{_libdir}/
install -pm 644 %{_arch}/lib/petsc/conf/petscrules %{buildroot}%{_libdir}/%{name}/conf/
install -pm 644 %{_arch}/lib/petsc/conf/petscvariables %{buildroot}%{_libdir}/%{name}/conf/
install -pm 644 lib/petsc/conf/rules %{buildroot}%{_libdir}/%{name}/conf/
install -pm 644 lib/petsc/conf/variables %{buildroot}%{_libdir}/%{name}/conf/
sed -e 's|%{_builddir}/%{name}-%{version}/%{name}-%{version}|%{_prefix}|g' -i %{buildroot}%{_libdir}/%{name}/conf/petscvariables
sed -e 's|%{_builddir}/%{name}-%{version}/%{name}-%{version}/%{_arch}/|%{_prefix}|g' -i %{buildroot}%{_libdir}/%{name}/conf/petscvariables
sed -e 's|-L%{_prefix}/%{_arch}/lib|-L%{_libdir}|g' -i %{buildroot}%{_libdir}/%{name}/conf/petscvariables
sed -e 's|-I%{_prefix}/%{_arch}/include|-I%{_includedir}/%{name} -I%{_fmoddir}/%{name}|g' -i %{buildroot}%{_libdir}/%{name}/conf/petscvariables
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}|g' -i %{buildroot}%{_libdir}/%{name}/conf/variables
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}|g' -i %{buildroot}%{_libdir}/%{name}/conf/rules
2016-10-24 17:59:33 +00:00
popd
%if %{with arch64}
pushd build64
mkdir -p %{buildroot}%{_libdir} %{buildroot}%{_includedir}/%{name}64
mkdir -p %{buildroot}%{_fmoddir}/%{name}64
mkdir -p %{buildroot}%{_libdir}/%{name}64/conf
mkdir -p %{buildroot}%{_libdir}/pkgconfig
install -pm 755 %{_arch}/lib/libpetsc64.* %{buildroot}%{_libdir}
ln -sf libpetsc64.so.%{version} %{buildroot}%{_libdir}/libpetsc64.so
ln -sf libpetsc64.so.%{version} %{buildroot}%{_libdir}/libpetsc64.so.%{releasever}
install -pm 644 %{_arch}/include/*.h %{buildroot}%{_includedir}/%{name}64/
install -pm 644 %{_arch}/include/*.mod %{buildroot}%{_fmoddir}/%{name}64/
cp -a include/* %{buildroot}%{_includedir}/%{name}64/
cp -p %{_arch}/lib/pkgconfig/PETSc.pc %{buildroot}%{_libdir}/pkgconfig/PETSc64.pc
cp -p %{_arch}/lib/pkgconfig/PETSc.pc %{buildroot}%{_libdir}/pkgconfig/petsc64.pc
install -pm 644 %{_arch}/lib/petsc/conf/petscrules %{buildroot}%{_libdir}/%{name}64/conf/
install -pm 644 %{_arch}/lib/petsc/conf/petscvariables %{buildroot}%{_libdir}/%{name}64/conf/
install -pm 644 lib/petsc/conf/rules %{buildroot}%{_libdir}/%{name}64/conf/
install -pm 644 lib/petsc/conf/variables %{buildroot}%{_libdir}/%{name}64/conf/
sed -e 's|%{_builddir}/%{name}-%{version}/build64|%{_prefix}|g' -i %{buildroot}%{_libdir}/%{name}64/conf/petscvariables
sed -e 's|%{_builddir}/%{name}-%{version}/build64/%{_arch}/|%{_prefix}|g' -i %{buildroot}%{_libdir}/%{name}64/conf/petscvariables
sed -e 's|-L%{_prefix}/%{_arch}/lib|-L%{_libdir}|g' -i %{buildroot}%{_libdir}/%{name}64/conf/petscvariables
sed -e 's|-I%{_prefix}/%{_arch}/include/|-I%{_includedir}/%{name}64 -I%{_fmoddir}/%{name}64|g' -i %{buildroot}%{_libdir}/%{name}64/conf/petscvariables
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}|g' -i %{buildroot}%{_libdir}/%{name}64/conf/variables
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}|g' -i %{buildroot}%{_libdir}/%{name}64/conf/rules
2016-10-24 17:59:33 +00:00
popd
%endif
%if %{with openmpi}
pushd buildopenmpi_dir
2017-08-13 13:02:16 +00:00
%{_openmpi_load}
mkdir -p %{buildroot}$MPI_LIB %{buildroot}$MPI_INCLUDE/%{name}
mkdir -p %{buildroot}$MPI_FORTRAN_MOD_DIR/%{name}
mkdir -p %{buildroot}$MPI_LIB/%{name}/conf
install -pm 755 %{_arch}/lib/libpetsc.* %{buildroot}$MPI_LIB
ln -sf libpetsc.so.%{version} %{buildroot}$MPI_LIB/libpetsc.so
ln -sf libpetsc.so.%{version} %{buildroot}$MPI_LIB/libpetsc.so.%{releasever}
install -pm 644 %{_arch}/include/*.h %{buildroot}$MPI_INCLUDE/%{name}/
install -pm 644 %{_arch}/include/*.mod %{buildroot}$MPI_FORTRAN_MOD_DIR/%{name}/
cp -a include/* %{buildroot}$MPI_INCLUDE/%{name}/
cp -a %{_arch}/lib/pkgconfig %{buildroot}$MPI_LIB/
sed -e 's|-I${includedir}/petsc|-I%{_includedir}/openmpi-%{_arch}/petsc|g' -i %{buildroot}$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|-L${libdir}|-L%{_libdir}/openmpi/lib|g' -i %{buildroot}$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|ldflag_rpath=-L|ldflag_rpath=-L%{_libdir}/openmpi/lib|g' -i %{buildroot}$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|-lpetsc|-lpetsc -lhdf5|' -i %{buildroot}$MPI_LIB/pkgconfig/PETSc.pc
install -pm 644 %{_arch}/lib/petsc/conf/petscrules %{buildroot}$MPI_LIB/%{name}/conf/
install -pm 644 %{_arch}/lib/petsc/conf/petscvariables %{buildroot}$MPI_LIB/%{name}/conf/
install -pm 644 lib/petsc/conf/rules %{buildroot}$MPI_LIB/%{name}/conf/
install -pm 644 lib/petsc/conf/variables %{buildroot}$MPI_LIB/%{name}/conf/
sed -e 's|%{_builddir}/%{name}-%{version}/buildopenmpi_dir|%{_prefix}|g' -i %{buildroot}$MPI_LIB/%{name}/conf/petscvariables
sed -e 's|%{_builddir}/%{name}-%{version}/buildopenmpi_dir/%{_arch}/|%{_prefix}|g' -i %{buildroot}$MPI_LIB/%{name}/conf/petscvariables
sed -e 's|-L%{_prefix}/%{_arch}/lib|-L%{_libdir}/openmpi/lib|g' -i %{buildroot}$MPI_LIB/%{name}/conf/petscvariables
sed -e 's|-I%{_prefix}/%{_arch}/include|-I%{_includedir}/openmpi-%{_arch}/%{name} -I%{_fmoddir}/openmpi/%{name}|g' -i %{buildroot}$MPI_LIB/%{name}/conf/petscvariables
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}/openmpi/lib|g' -i %{buildroot}$MPI_LIB/%{name}/conf/variables
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}/openmpi/lib|g' -i %{buildroot}$MPI_LIB/%{name}/conf/rules
%if %{with python}
export PETSC_ARCH=%{_arch}
2021-04-18 17:20:01 +00:00
export PETSC_DIR=./
%py3_install
# Install petsc4py files into MPI directories
%if 0%{?rhel}
MPI_PYTHON3_SITEARCH=%{python3_sitearch}/openmpi
%endif
mkdir -p %{buildroot}$MPI_PYTHON3_SITEARCH
cp -a %{buildroot}%{python3_sitearch}/%{pymodule_name} %{buildroot}$MPI_PYTHON3_SITEARCH/
rm -rf %{buildroot}%{python3_sitearch}/%{pymodule_name}
cp -a %{buildroot}%{python3_sitearch}/%{pymodule_name}-%{pymodule_version}-py%{python3_version}.egg-info %{buildroot}$MPI_PYTHON3_SITEARCH/
rm -rf %{buildroot}%{python3_sitearch}/%{pymodule_name}-%{pymodule_version}-py%{python3_version}.egg-info
chrpath -r %{_libdir}/openmpi/lib %{buildroot}$MPI_PYTHON3_SITEARCH/%{pymodule_name}/lib/%{_arch}/*.so
%endif
2017-08-13 13:02:16 +00:00
%{_openmpi_unload}
2016-10-24 17:59:33 +00:00
popd
%endif
%if %{with mpich}
pushd buildmpich_dir
2017-08-13 13:02:16 +00:00
%{_mpich_load}
mkdir -p %{buildroot}$MPI_LIB %{buildroot}$MPI_INCLUDE/%{name}
mkdir -p %{buildroot}$MPI_FORTRAN_MOD_DIR/%{name}
mkdir -p %{buildroot}$MPI_LIB/%{name}/conf
install -pm 755 %{_arch}/lib/libpetsc.* %{buildroot}$MPI_LIB
ln -sf libpetsc.so.%{version} %{buildroot}$MPI_LIB/libpetsc.so
ln -sf libpetsc.so.%{version} %{buildroot}$MPI_LIB/libpetsc.so.%{releasever}
install -pm 644 %{_arch}/include/*.h %{buildroot}$MPI_INCLUDE/%{name}/
install -pm 644 %{_arch}/include/*.mod %{buildroot}$MPI_FORTRAN_MOD_DIR/%{name}/
cp -a include/* %{buildroot}$MPI_INCLUDE/%{name}/
cp -a %{_arch}/lib/pkgconfig %{buildroot}$MPI_LIB/
sed -e 's|-I${includedir}/petsc|-I%{_includedir}/mpich-%{_arch}/petsc|g' -i %{buildroot}$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|-L${libdir}|-L%{_libdir}/mpich/lib|g' -i %{buildroot}$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|ldflag_rpath=-L|ldflag_rpath=-L%{_libdir}/mpich/lib|g' -i %{buildroot}$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|-lpetsc|-lpetsc -lhdf5|' -i %{buildroot}$MPI_LIB/pkgconfig/PETSc.pc
pushd %{buildroot}$MPI_LIB/pkgconfig
2020-11-20 11:35:13 +00:00
#ln -fs PETSc.pc petsc.pc
2020-04-10 15:49:10 +00:00
popd
install -pm 644 %{_arch}/lib/petsc/conf/petscrules %{buildroot}$MPI_LIB/%{name}/conf/
install -pm 644 %{_arch}/lib/petsc/conf/petscvariables %{buildroot}$MPI_LIB/%{name}/conf/
install -pm 644 lib/petsc/conf/rules %{buildroot}$MPI_LIB/%{name}/conf/
install -pm 644 lib/petsc/conf/variables %{buildroot}$MPI_LIB/%{name}/conf/
sed -e 's|%{_builddir}/%{name}-%{version}/buildmpich_dir|%{_prefix}|g' -i %{buildroot}$MPI_LIB/%{name}/conf/petscvariables
sed -e 's|%{_builddir}/%{name}-%{version}/buildmpich_dir/%{_arch}/|%{_prefix}|g' -i %{buildroot}$MPI_LIB/%{name}/conf/petscvariables
sed -e 's|-L%{_prefix}/%{_arch}/lib|-L%{_libdir}/mpich/lib|g' -i %{buildroot}$MPI_LIB/%{name}/conf/petscvariables
sed -e 's|-I%{_prefix}/%{_arch}/include|-I%{_includedir}/mpich-%{_arch}/%{name} -I%{_fmoddir}/mpich/%{name}|g' -i %{buildroot}$MPI_LIB/%{name}/conf/petscvariables
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}/mpich/lib|g' -i %{buildroot}$MPI_LIB/%{name}/conf/variables
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}/mpich/lib|g' -i %{buildroot}$MPI_LIB/%{name}/conf/rules
%if %{with python}
export PETSC_ARCH=%{_arch}
2021-04-18 17:20:01 +00:00
export PETSC_DIR=./
%py3_install
2021-04-18 17:20:01 +00:00
# Install petsc4py files into MPI directories
%if 0%{?rhel}
MPI_PYTHON3_SITEARCH=%{python3_sitearch}/mpich
%endif
mkdir -p %{buildroot}$MPI_PYTHON3_SITEARCH
cp -a %{buildroot}%{python3_sitearch}/%{pymodule_name} %{buildroot}$MPI_PYTHON3_SITEARCH/
rm -rf %{buildroot}%{python3_sitearch}/%{pymodule_name}
cp -a %{buildroot}%{python3_sitearch}/%{pymodule_name}-%{pymodule_version}-py%{python3_version}.egg-info %{buildroot}$MPI_PYTHON3_SITEARCH/
rm -rf %{buildroot}%{python3_sitearch}/%{pymodule_name}-%{pymodule_version}-py%{python3_version}.egg-info
chrpath -r %{_libdir}/mpich/lib %{buildroot}$MPI_PYTHON3_SITEARCH/%{pymodule_name}/lib/%{_arch}/*.so
%endif
2017-08-13 13:02:16 +00:00
%{_mpich_unload}
2016-10-24 17:59:33 +00:00
popd
%endif
# Move html documentation in _pkgdocdir
pushd %{buildroot}%{_includedir}
mkdir -p %{buildroot}%{_pkgdocdir}/headers
2016-10-24 17:59:33 +00:00
for i in `find . -name "*.h.html" -type f -print`; do
mv $i %{buildroot}%{_pkgdocdir}/headers
2016-10-24 17:59:33 +00:00
done
for i in `find . -name "*.html" -type f -print`; do
mv $i %{buildroot}%{_pkgdocdir}/headers
2016-10-24 17:59:33 +00:00
done
find . -name "Makefile" -type f -print | xargs /bin/rm -f
popd
cp -a %{name}-%{version}/docs/* %{buildroot}%{_pkgdocdir}
2016-10-24 17:59:33 +00:00
#
%check
2020-04-10 15:49:10 +00:00
%if %{with openmpi}
%{_openmpi_load}
%if %{with check}
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB
2020-04-10 15:49:10 +00:00
export PETSC_DIR=%{_builddir}/%{name}-%{version}/buildopenmpi_dir
2016-10-24 17:59:33 +00:00
export PETSC_ARCH=%{_arch}
2020-04-10 15:49:10 +00:00
export MPI_INTERFACE_HOSTNAME=localhost
export OMPI_MCA_btl_base_warn_component_unused=0
2021-06-20 12:40:54 +00:00
export wPETSC_DIR=./
2016-10-24 17:59:33 +00:00
%if %{with debug}
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I${MPI_FORTRAN_MOD_DIR}"
2020-04-10 15:49:10 +00:00
xvfb-run -a make all test -C buildopenmpi_dir V=1 MPIEXEC='%{_builddir}/%{name}-%{version}/buildopenmpi_dir/lib/petsc/bin/petscmpiexec -valgrind'
2018-10-15 08:42:48 +00:00
%else
2020-04-10 15:49:10 +00:00
xvfb-run -a make all test -C buildopenmpi_dir V=1
%endif
%endif
%if %{with python}
%if %{with pycheck}
2021-04-18 17:20:01 +00:00
pushd buildopenmpi_dir
export PETSC_ARCH=%{_arch}
2021-04-18 17:20:01 +00:00
export PETSC_DIR=./
%if 0%{?rhel}
MPI_PYTHON3_SITEARCH=%{python3_sitearch}/openmpi
%endif
export PYTHONPATH=%{buildroot}$MPI_PYTHON3_SITEARCH
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB
%{__python3} setup.py test
unset PETSC_ARCH
unset PETSC_DIR
popd
%endif
%endif
2020-04-10 15:49:10 +00:00
%{_openmpi_unload}
2016-10-24 17:59:33 +00:00
%endif
2020-04-10 15:49:10 +00:00
%if %{with mpich}
%{_mpich_load}
%if %{with check}
2020-04-10 15:49:10 +00:00
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/buildmpich_dir/%{_arch}/lib
export PETSC_DIR=%{_builddir}/%{name}-%{version}/buildmpich_dir
2016-10-24 17:59:33 +00:00
export PETSC_ARCH=%{_arch}
2020-04-10 15:49:10 +00:00
export MPI_INTERFACE_HOSTNAME=localhost
export OMPI_MCA_btl_base_warn_component_unused=0
2021-06-20 12:40:54 +00:00
export wPETSC_DIR=./
2016-10-24 17:59:33 +00:00
%if %{with debug}
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I${MPI_FORTRAN_MOD_DIR}"
2020-04-10 15:49:10 +00:00
xvfb-run -a make all test -C buildmpich_dir V=1 MPIEXEC='%{_builddir}/%{name}-%{version}/buildmpich_dir/lib/petsc/bin/petscmpiexec -valgrind'
2018-10-15 08:42:48 +00:00
%else
2020-04-10 15:49:10 +00:00
xvfb-run -a make all test -C buildmpich_dir V=1
%endif
%endif
%if %{with python}
%if %{with pycheck}
2021-04-18 17:20:01 +00:00
pushd buildmpich_dir
export PETSC_ARCH=%{_arch}
2021-04-18 17:20:01 +00:00
export PETSC_DIR=./
%if 0%{?rhel}
MPI_PYTHON3_SITEARCH=%{python3_sitearch}/mpich
%endif
export PYTHONPATH=%{buildroot}$MPI_PYTHON3_SITEARCH
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB
%{__python3} setup.py test
unset PETSC_ARCH
unset PETSC_DIR
popd
%endif
%endif
2020-04-10 15:49:10 +00:00
%{_mpich_unload}
2016-10-24 17:59:33 +00:00
%endif
%if %{with check}
2020-04-10 15:49:10 +00:00
export LD_LIBRARY_PATH=%{_libdir}:%{_builddir}/%{name}-%{version}/%{name}-%{version}/%{_arch}/lib
export PETSC_DIR=%{_builddir}/%{name}-%{version}/%{name}-%{version}
2016-10-24 17:59:33 +00:00
export PETSC_ARCH=%{_arch}
2021-06-20 12:40:54 +00:00
export wPETSC_DIR=./
2020-04-10 15:49:10 +00:00
2018-10-15 08:42:48 +00:00
%if %{with debug}
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
xvfb-run -a make all test -C %{name}-%{version} V=1 MPIEXEC='%{_builddir}/%{name}-%{version}/%{name}-%{version}/lib/petsc/bin/petscmpiexec -n `getconf _NPROCESSORS_ONLN` -valgrind'
2018-10-15 08:42:48 +00:00
%else
xvfb-run -a make all test -C %{name}-%{version} V=1 MPIEXEC='%{_builddir}/%{name}-%{version}/%{name}-%{version}/lib/petsc/bin/petscmpiexec -n `getconf _NPROCESSORS_ONLN`'
2016-10-24 17:59:33 +00:00
%endif
2020-04-10 15:49:10 +00:00
%if %{with arch64}
export LD_LIBRARY_PATH=%{_libdir}:%{_builddir}/%{name}-%{version}/build64/%{_arch}/lib
export PETSC_DIR=%{_builddir}/%{name}-%{version}/build64
2016-10-24 17:59:33 +00:00
export PETSC_ARCH=%{_arch}
2021-06-20 12:40:54 +00:00
export wPETSC_DIR=./
2020-04-10 15:49:10 +00:00
## 'make test' needs to link against -lpetsc
## Crude fix:
ln -s %{_builddir}/%{name}-%{version}/build64/%{_arch}/lib/libpetsc64.so %{_builddir}/%{name}-%{version}/build64/%{_arch}/lib/libpetsc.so
2018-10-15 08:42:48 +00:00
%if %{with debug}
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
xvfb-run -a make all test -C build64 V=1 MPIEXEC='%{_builddir}/%{name}-%{version}/build64/lib/petsc/bin/petscmpiexec -n `getconf _NPROCESSORS_ONLN` -valgrind'
2018-10-15 08:42:48 +00:00
%else
xvfb-run -a make all test -C build64 V=1 MPIEXEC='%{_builddir}/%{name}-%{version}/build64/lib/petsc/bin/petscmpiexec -n `getconf _NPROCESSORS_ONLN`'
2016-10-24 17:59:33 +00:00
%endif
%endif
%endif
%files
%license %{name}-%{version}/LICENSE
%{_libdir}/libpetsc.so.*
%files devel
2020-11-20 18:48:45 +00:00
%{_libdir}/pkgconfig/PETSc.pc
2020-11-21 10:06:37 +00:00
%{_libdir}/pkgconfig/petsc.pc
%{_libdir}/%{name}/
2016-10-24 17:59:33 +00:00
%{_libdir}/libpetsc.so
%{_includedir}/%{name}/
2017-11-13 19:20:47 +00:00
%{_fmoddir}/%{name}/
2016-10-24 17:59:33 +00:00
%files doc
%license %{name}-%{version}/LICENSE
%{_pkgdocdir}/
%if %{with arch64}
%files -n petsc64
%license build64/LICENSE
%{_libdir}/libpetsc64.so.*
%files -n petsc64-devel
2020-11-20 18:48:45 +00:00
%{_libdir}/pkgconfig/PETSc64.pc
2020-11-21 10:06:37 +00:00
%{_libdir}/pkgconfig/petsc64.pc
%{_libdir}/%{name}64/
2016-10-24 17:59:33 +00:00
%{_libdir}/libpetsc64.so
%{_includedir}/%{name}64/
2017-11-13 19:20:47 +00:00
%{_fmoddir}/%{name}64/
2016-10-24 17:59:33 +00:00
%endif
%if %{with openmpi}
%files openmpi
%license buildopenmpi_dir/LICENSE
2017-08-13 17:28:37 +00:00
%{_libdir}/openmpi/lib/libpetsc.so.*
2016-10-24 17:59:33 +00:00
%files openmpi-devel
2017-08-13 17:28:37 +00:00
%{_libdir}/openmpi/lib/libpetsc.so
%{_libdir}/openmpi/lib/%{name}/
2020-11-20 18:48:45 +00:00
%{_libdir}/openmpi/lib/pkgconfig/PETSc.pc
2020-11-21 10:06:37 +00:00
%{_libdir}/openmpi/lib/pkgconfig/petsc.pc
2017-08-13 17:28:37 +00:00
%{_includedir}/openmpi-%{_arch}/%{name}/
%if 0%{?el7}
2017-12-03 15:55:36 +00:00
%{_fmoddir}/openmpi-%{_arch}/%{name}/
%else
2017-11-13 19:20:47 +00:00
%{_fmoddir}/openmpi/%{name}/
2016-10-24 17:59:33 +00:00
%endif
%if %{with python}
%files -n python%{python3_pkgversion}-%{name}-openmpi
%{python3_sitearch}/openmpi/%{pymodule_name}/
%{python3_sitearch}/openmpi/%{pymodule_name}-%{pymodule_version}-py%{python3_version}.egg-info
%endif
2017-12-03 15:55:36 +00:00
%endif
2016-10-24 17:59:33 +00:00
%if %{with mpich}
%files mpich
%license buildmpich_dir/LICENSE
2017-08-13 17:28:37 +00:00
%{_libdir}/mpich/lib/libpetsc.so.*
2016-10-24 17:59:33 +00:00
%files mpich-devel
2017-08-13 17:28:37 +00:00
%{_libdir}/mpich/lib/libpetsc.so
%{_libdir}/mpich/lib/%{name}/
2020-11-20 18:48:45 +00:00
%{_libdir}/mpich/lib/pkgconfig/PETSc.pc
2020-11-21 10:06:37 +00:00
%{_libdir}/mpich/lib/pkgconfig/petsc.pc
2017-08-13 17:28:37 +00:00
%{_includedir}/mpich-%{_arch}/%{name}/
%if 0%{?el7}
2017-12-03 15:55:36 +00:00
%{_fmoddir}/mpich-%{_arch}/%{name}/
%else
2017-11-13 19:20:47 +00:00
%{_fmoddir}/mpich/%{name}/
2016-10-24 17:59:33 +00:00
%endif
%if %{with python}
%files -n python%{python3_pkgversion}-%{name}-mpich
%{python3_sitearch}/mpich/%{pymodule_name}/
%{python3_sitearch}/mpich/%{pymodule_name}-%{pymodule_version}-py%{python3_version}.egg-info
%endif
2017-12-03 15:55:36 +00:00
%endif
2016-10-24 17:59:33 +00:00
%changelog
2021-08-10 02:12:26 +00:00
* Tue Aug 10 2021 Orion Poplawski <orion@nwra.com> - 3.15.3-2
- Rebuild for hdf5 1.10.7
2021-08-07 13:49:27 +00:00
* Sat Aug 07 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.15.3-1
- Release 3.15.3
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.15.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2021-07-17 12:02:52 +00:00
* Fri Jul 16 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.15.2-1
- Release 3.15.2
2021-06-20 12:40:54 +00:00
* Sat Jun 19 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.15.1-1
- Release 3.15.1
2021-06-14 17:22:30 +00:00
* Mon Jun 14 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.15.0-5
- Fix ELN builds
* Thu Jun 10 2021 Python Maint <python-maint@redhat.com> - 3.15.0-4
- Patched and rebuilt for Python 3.10 (rhbz#1959088)
2021-06-04 18:15:05 +00:00
2021-05-10 18:06:14 +00:00
* Mon May 10 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.15.0-3
- Workarounds for Python-3.10
2021-04-29 17:04:49 +00:00
* Thu Apr 29 2021 Sandro Mani <manisandro@gmail.com> - 3.15.0-2
- Rebuild (cgnslib)
2021-04-18 17:20:01 +00:00
* Fri Apr 02 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.15.0-1
- Release 3.15.0
- PETSc4py 3.15.0
2021-04-02 12:29:05 +00:00
* Fri Apr 02 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.14.6-1
- Release 3.14.6
2021-03-05 17:40:25 +00:00
* Thu Mar 04 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.14.5-1
- Release 3.14.5
2021-02-07 13:22:12 +00:00
* Sun Feb 07 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.14.4-1
2021-02-07 11:54:32 +00:00
- Release 3.14.4
2021-04-18 17:20:01 +00:00
- Release PETSc4py-3.14.1
2021-02-07 11:54:32 +00:00
* Tue Feb 02 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.14.2-5
- Rebuild for OpenMPI-4.1.0 and MPICH-3.4.1
2021-02-07 11:54:32 +00:00
- Explicit MPI dependencies (rhbz#1924231)
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Dec 13 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.14.2-3
2021-04-18 17:20:01 +00:00
- Obsolete the stand-alone PETSc4py packages
- This package now provides PETSc4py/python-petsc rpms
* Wed Dec 09 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.14.2-2
2021-04-18 17:20:01 +00:00
- Compile PETSc4py code inside
2020-12-05 13:32:58 +00:00
* Sat Dec 05 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.14.2-1
- Release 3.14.2
* Sat Dec 05 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.14.1-3
- Update/Rebuild for MUMPS-5.3.5 on EPEL7
- Exclude superludist support on EPEL7
- Add Make BR
2020-11-20 18:48:45 +00:00
* Fri Nov 20 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.14.1-2
- Fix pkg-config files
2020-11-20 11:35:13 +00:00
* Wed Nov 04 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.14.1-1
- Release 3.14.1
2020-09-04 10:55:10 +00:00
* Fri Sep 04 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.13.5-1
- Release 3.13.5
* Thu Aug 13 2020 Iñaki Úcar <iucar@fedoraproject.org> - 3.13.4-2
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
2020-08-02 13:33:53 +00:00
* Sun Aug 02 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.13.4-1
- Release 3.13.4
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2020-07-02 14:16:03 +00:00
* Thu Jul 02 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.13.3-1
- Release 3.13.3
2020-06-25 20:28:00 +00:00
* Thu Jun 25 2020 Orion Poplawski <orion@cora.nwra.com> - 3.13.2-3
- Rebuild for hdf5 1.10.6
* Wed Jun 24 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.13.2-2
- BuildRequires python3-setuptools explicitly
* Fri Jun 05 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.13.2-1
2020-06-03 12:06:40 +00:00
- Release 3.13.2
- Compiled against openblas-threads
2020-06-03 12:06:40 +00:00
2020-05-08 12:11:24 +00:00
* Fri May 08 2020 Björn Esser <besser82@fedoraproject.org> - 3.13.1-2
- Rebuild (cgnslib)
2020-05-03 15:33:26 +00:00
* Sun May 03 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.13.1-1
- Release 3.13.1
2020-04-12 07:28:43 +00:00
* Sun Apr 12 2020 Nicolas Chauvet <kwizart@gmail.com> - 3.13.0-2
- Rebuilt for MUMPS 5.3
2020-04-10 15:49:10 +00:00
* Fri Apr 10 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.13.0-1
- Release 3.13.0
- Fix hdf5/cgns support
- Fix pkgconfig cflags
- Enable superludist
2020-02-21 11:30:37 +00:00
* Fri Feb 21 2020 Sandro Mani <manisandro@gmail.com> - 3.12.4-3
- Rebuild (cgnslib)
2020-02-17 13:46:44 +00:00
* Mon Feb 17 2020 Sandro Mani <manisandro@gmail.com> - 3.12.4-2
- Rebuild (cgnslib)
2020-02-13 20:52:07 +00:00
* Thu Feb 13 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.12.4-1
- Release 3.12.4
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
2020-01-10 21:41:17 +00:00
* Fri Jan 10 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.12.3-1
- Release 3.12.3
2020-01-05 20:56:57 +00:00
* Sun Jan 05 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.12.2-2
- Fix Changelog
- Use mpiblacs on EPEL 7 and Fedora < 32
2019-11-23 12:07:19 +00:00
* Sat Nov 23 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.12.2-1
- Release 3.12.2
2019-10-23 10:50:26 +00:00
* Wed Oct 23 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.12.1-1
- Release 3.12.1
2019-10-20 09:50:49 +00:00
* Sun Oct 20 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.12.0-2
- Patched for hypre-2.18.0
2019-10-18 19:38:36 +00:00
* Fri Oct 18 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.12.0-1
- Release 3.12.0
2019-10-14 02:21:57 +00:00
- Rebuild for hypre 2.18.0
2020-01-05 20:46:00 +00:00
* Tue Oct 01 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.3-10
- New rebuild
* Tue Oct 01 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.3-9
- Explicit required MPICH version (rhbz#1757279)
* Thu Sep 19 2019 Orion Poplawski <orion@nwra.com> - 3.11.3-8
- Rebuild for hypre 2.17.0
* Wed Sep 11 2019 Orion Poplawski <orion@nwra.com> - 3.11.3-7
- Build for python3 only, without dts for EPEL8
2019-08-26 12:59:04 +00:00
* Mon Aug 26 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.3-6
- Rebuilt for MPICH 3.2.1
2019-08-21 13:18:45 +00:00
* Wed Aug 21 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.3-5
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
2019-07-23 08:30:26 +00:00
* Tue Jul 23 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.3-3
- Complete rebuild
2019-07-22 21:25:05 +00:00
* Fri Jul 19 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.3-2
- Rebuild for MUMPS-5.2.1
- Use Python 2 on EPEL
2019-06-27 16:59:46 +00:00
* Thu Jun 27 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.3-1
- Release 3.11.3
2019-05-25 13:05:41 +00:00
* Sat May 25 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.2-1
- Release 3.11.2
2019-05-03 19:56:54 +00:00
* Fri May 03 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.1-2
- Rebuild for OpenMPI-4
* Mon Apr 15 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.11.1-1
- Release 3.11.1
- Switch to Python3
- Use openblas always
2019-03-16 15:00:45 +00:00
* Sat Mar 16 2019 Orion Poplawski <orion@nwra.com> - 3.10.4-2
- Rebuild for hdf5 1.10.5
2019-03-12 18:06:28 +00:00
* Tue Mar 12 2019 Antonio Trande <sagitter@fedoraproject.org> - 3.10.4-1
- Release 3.10.4
2019-03-12 16:03:42 +00:00
* Tue Mar 12 2019 Sandro Mani <manisandro@gmail.com> - 3.10.3-4
- Rebuild (cgnslib)
2019-02-14 13:42:34 +00:00
* Thu Feb 14 2019 Orion Poplawski <orion@nwra.com> - 3.10.3-3
- Rebuild for openmpi 3.1.3
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
2018-12-20 21:23:30 +00:00
* Thu Dec 20 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.10.3-1
- Release 3.10.3
* Thu Nov 29 2018 Orion Poplawski <orion@nwra.com> - 3.10.2-2
- Re-enable OpenMPI tests - fixed with openmpi 2.1.6rc1
* Tue Oct 23 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.10.2-1
2018-10-14 13:53:55 +00:00
- Update to 3.10.2
- Disable check of OpenMPI libraries on x86 temporarely (rhbz#1639646)
* Tue Oct 23 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.9.3-5
- Fix paths inside of the 'rules' config files
2018-10-14 13:53:55 +00:00
2018-08-03 10:05:28 +00:00
* Fri Aug 03 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.9.3-4
- Fix conditional macros for MPI builds
* Thu Aug 02 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.9.3-3
2018-08-03 10:05:28 +00:00
- Exclude OpenMPI build on Fedora 28 s390x
- Patched for using Hypre-2.11.2 on epel7
2018-07-31 13:08:30 +00:00
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 3.9.3-2
- Rebuild with fixed binutils
2018-07-29 10:07:06 +00:00
* Fri Jul 27 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.9.3-1
- Update to 3.9.3
2018-07-19 13:53:34 +00:00
* Thu Jul 19 2018 Sandro Mani <manisandro@gmail.com> - 3.9.0-5
- Rebuild (scotch)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri May 04 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.9.0-3
- Use unversioned directory for installing configuration files
2018-04-26 18:07:32 +00:00
* Thu Apr 26 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.9.0-2
- Set again the MPI builds on Fedora
2018-04-24 19:14:06 +00:00
* Wed Apr 11 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.9.0-1
- Update to 3.9.0
2018-03-31 18:18:33 +00:00
* Fri Mar 30 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.8.4-1
- Update to 3.8.4
- Exclude MPI builds on s390 archirectures if fedora < 28 only
- Patched for using Hypre-2.14.0
2018-07-15 17:56:12 +00:00
* Tue Feb 06 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.8.3-5
- Use unversioned directory for installing configuration files
2018-02-06 18:12:15 +00:00
* Tue Feb 06 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.8.3-4
- Fix pkgconfig request on rhel
2018-02-04 14:31:55 +00:00
* Sun Feb 04 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.8.3-3
- cgns/hdf5 support enabled (bz#1541616)
* Sat Feb 03 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.8.3-2
2018-01-29 13:01:29 +00:00
- Fix PETSC_LIB_DIR variables
2018-02-04 14:31:55 +00:00
- cgns/hdf5 support temporarily disabled (bz#1541616)
2018-01-29 13:01:29 +00:00
2018-01-28 21:38:08 +00:00
* Sun Jan 28 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.8.3-1
- Update to 3.8.3
- Rebuild for sundials-3.1.0
* Thu Dec 14 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.8.1-4
- Not build 64-bit integer libraries on epel6
* Sun Dec 03 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.8.1-3
- Build 64-bit integer libraries on epel7
2017-12-03 15:55:36 +00:00
* Sun Dec 03 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.8.1-2
- Fix Fortran MPI library path on epel
2017-11-22 11:52:18 +00:00
* Wed Nov 22 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.8.1-1
- Update to 3.8.1
- Disable Sundials
- Enable MUMPS on serial build
2017-11-13 19:20:47 +00:00
* Mon Nov 13 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.8.0-5
- Install .mod files (bz#1212557)
2017-11-09 18:31:48 +00:00
* Thu Nov 09 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.8.0-4
- Fix soname version
2017-11-08 21:50:44 +00:00
* Wed Nov 08 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.8.0-3
- Rebuild for hypre-2.13.0
2017-11-09 16:40:45 +00:00
- Disable sundials on MPI builds
2017-11-08 21:50:44 +00:00
* Sun Oct 29 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.8.0-2
- Define openblas arches
2017-10-22 15:06:36 +00:00
* Tue Oct 03 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.8.0-1
- Update to 3.8.0
- with-mpiuni-fortran-binding option deprecated
- Remove obsolete patch2
* Mon Oct 02 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.7-5
- Disable debugging
- Unset default compiler flags when tests are built
2017-10-01 14:55:11 +00:00
* Sun Oct 01 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.7-4
- Rebuild for debugging
2017-10-01 12:29:45 +00:00
* Sun Oct 01 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.7-3
- Exclude MPI builds on s390x
* Sat Sep 30 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.7-2
- Enable mpiuni-fortran-binding on MPI builds
2017-09-27 18:32:30 +00:00
* Tue Sep 26 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.7-1
- Update to 3.7.7
- Move petscvariables/petscrules under a private directory of libdir
* Wed Aug 16 2017 Antonio Trande <sagitterATfedoraproject.org> - 3.7.6-9
- Rebuild for lapack 3.7.1 (moved to 64_ suffix)
* Sun Aug 13 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.6-8
- Option for Fedora < 25 definitively removed
2017-08-13 13:02:16 +00:00
* Sun Aug 13 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.6-7
- Superlu_dist needs parmetis
- Use MPI variables
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.6-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
2017-05-17 17:03:23 +00:00
* Wed May 17 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.6-4
- Fix Requires packages
* Mon May 15 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.6-3
- Move petscvariables/petscrules under private directory of /usr/share
* Fri May 12 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.6-2
- Move petscvariables/petscrules under private directory of /usr/lib
* Fri May 05 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.6-1
- Update to 3.7.6
- Install petscvariables/petscrules
- Install pkgconfig files
2017-04-09 09:07:59 +00:00
* Sun Apr 09 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.5-4
- Exclude aarch64 on fedora < 25
2017-03-25 13:49:59 +00:00
* Sat Mar 25 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.5-3
- Rebuild for MUMPS-5.1.1
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
2017-01-04 11:24:38 +00:00
* Wed Jan 04 2017 Antonio Trande <sagitter@fedoraproject.org> - 3.7.5-1
- Update to 3.7.5
* Fri Dec 02 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-14
- Conditionalize mpich-devel%%{?_isa} (bz#1397192)
2016-11-01 12:59:52 +00:00
* Tue Nov 01 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-13
- New architectures
* Wed Oct 26 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-12
2016-10-26 16:58:59 +00:00
- Fix OpenMPI builds
2016-10-26 16:39:56 +00:00
* Tue Oct 25 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-11
- Fix s390x builds again
2016-10-25 13:05:57 +00:00
* Tue Oct 25 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-10
2016-10-26 16:38:07 +00:00
- Fix s390x builds
2016-10-25 13:05:57 +00:00
2016-10-24 19:12:44 +00:00
* Mon Oct 24 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-9
- Build 64bit-int libs (bz#1382916)
2016-10-24 17:59:33 +00:00
* Sat Oct 22 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-8
- Build 64bit-int libs (bz#1382916)
* Fri Oct 21 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-7
- Install missing header files
* Wed Oct 19 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-6
- Add the -O3 to restore vectorization over the RPM defaults
- Remove gmp support
* Thu Oct 13 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-5
- 64bit-int libs not built (bz#1382916)
- Enable gmp and suitesparse support
* Thu Oct 13 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-4
- superlu and fftw enabled
- Fixed settings of compiler flags
- Disable flags for "hardened" builds
* Mon Oct 10 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-3
- Enabled fftw-mpi support (Fedora > 24)
- Omitted PAPI (obsolete)
- Omitted tetgen support (used with C++)
* Sun Oct 09 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-2
- Default optimization level (-O2)
* Sun Oct 09 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.4-1
- Update to 3.7.4
- PAPI support disabled (upstream advice)
* Sat Oct 08 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.3-8
- Add tcsh as BR package
- Patched for disabling petscnagupgrade.py check
* Fri Oct 07 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.3-7
- Use Make for testing
* Thu Oct 06 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.3-6
- Remove linkage to mpiblacs
- Tests enabled
* Thu Oct 06 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.3-5
- hwloc/metis (needs parmetis) disabled (upstream advice)
- X support enabled
- Libraries detection disabled
* Wed Oct 05 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.3-4
- Fix library paths
* Wed Oct 05 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.3-3
- Fix PTScotch
* Wed Oct 05 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.3-2
- Disabled fftw support
* Wed Sep 28 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.3-1
- Update to 3.7.3
- Remove module files
* Tue Sep 13 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-12
- Fix MAKE_NP option
- Remove --known-endian option
- Use architecture condition for openblas
- Fix unused-direct-shlib-dependency warnings
* Fri Aug 26 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-11
- Use SuperLU on >=f25 only
* Thu Aug 25 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-10
- Some fixes for epel6 builds
- Add -O3 flag
- Headers installed under a private directory
- Use %%{_modulesdir} macro
- Use 'openblas' instead of 'blas'
* Wed Aug 10 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-9
- Fortran modules moved into devel sub-packages
- Some fixes of SPEC file's lines
- Set compiler/linker flags against PAPI-5.1.1 on epel6
* Thu Jul 28 2016 Dave Love <loveshack@fedoraproject.org> - 3.7.2-8
- Support el6
- Add cgnslib support
* Sat Jul 23 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-7
- Rebuild with Hypre support
* Sun Jul 10 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-6
- Packed additional header files
- Tests performed on EPEL7
* Mon Jun 27 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-5
- Perform tests one-by-one
- Packaged all documentation files
* Mon Jun 27 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-4
- Build OpenMPI/MPICH libraries
- Fix known-endian option
* Mon Jun 27 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-3
- Disable additional libraries
- Build a minimal PETSC
* Fri Jun 24 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-2
- Perform test
* Sun Jun 19 2016 Antonio Trande <sagitter@fedoraproject.org> - 3.7.2-1
- New package