Release 3.13.0

This commit is contained in:
sagitter 2020-04-10 17:49:10 +02:00
parent f8f0dc1d88
commit 7d2e1c843b
7 changed files with 372 additions and 394 deletions

1
.gitignore vendored
View File

@ -19,3 +19,4 @@
/petsc-3.12.2.tar.gz
/petsc-3.12.3.tar.gz
/petsc-3.12.4.tar.gz
/petsc-3.13.0.tar.gz

View File

@ -0,0 +1,11 @@
--- a/config/BuildSystem/config/packages/MUMPS.orig.py 2020-03-30 05:33:12.000000000 +0200
+++ b/config/BuildSystem/config/packages/MUMPS.py 2020-04-03 17:01:49.237255499 +0200
@@ -14,7 +14,7 @@
['libcmumps.a','libdmumps.a','libsmumps.a','libzmumps.a','libmumps_common.a','libpord.a','libmpiseq.a'],
['libcmumps.a','libdmumps.a','libsmumps.a','libzmumps.a','libmumps_common.a','libpord.a','libpthread.a','libmpiseq.a']]
self.functions = ['dmumps_c']
- self.includes = ['dmumps_c.h']
+ self.includes = ['MUMPS/dmumps_c.h']
#
self.fc = 1
self.precisions = ['single','double']

View File

@ -0,0 +1,22 @@
--- a/config/BuildSystem/config/packages/metis.orig.py 2020-03-29 16:29:06.000000000 +0200
+++ b/config/BuildSystem/config/packages/metis.py 2020-04-03 18:00:37.013851959 +0200
@@ -8,8 +8,8 @@
self.download = ['git://https://bitbucket.org/petsc/pkg-metis.git','https://bitbucket.org/petsc/pkg-metis/get/'+self.gitcommit+'.tar.gz']
self.downloaddirnames = ['petsc-pkg-metis']
self.functions = ['METIS_PartGraphKway']
- self.includes = ['metis.h']
- self.liblist = [['libmetis.a'],['libmetis.a','libexecinfo.a']]
+ self.includes = ['metis64.h']
+ self.liblist = [['libmetis64.a'],['libmetis64.a','libexecinfo.a']]
self.hastests = 1
self.useddirectly = 0
return
@@ -50,7 +50,7 @@
config.package.Package.configureLibrary(self)
oldFlags = self.compilers.CPPFLAGS
self.compilers.CPPFLAGS += ' '+self.headers.toString(self.include)
- if not self.checkCompile('#include "metis.h"', '#if (IDXTYPEWIDTH != '+ str(self.getDefaultIndexSize())+')\n#error incompatible IDXTYPEWIDTH\n#endif'):
+ if not self.checkCompile('#include "metis64.h"', '#if (IDXTYPEWIDTH != '+ str(self.getDefaultIndexSize())+')\n#error incompatible IDXTYPEWIDTH\n#endif'):
if self.defaultIndexSize == 64:
msg= '--with-64-bit-indices option requires a metis build with IDXTYPEWIDTH=64.\n'
else:

View File

@ -0,0 +1,11 @@
--- a/config/PETSc/Configure.orig.py 2020-03-30 05:33:12.000000000 +0200
+++ b/config/PETSc/Configure.py 2020-04-04 22:58:19.770481378 +0200
@@ -147,7 +147,7 @@
if not os.path.exists(os.path.join(self.petscdir.dir,self.arch.arch,'lib','pkgconfig')):
os.makedirs(os.path.join(self.petscdir.dir,self.arch.arch,'lib','pkgconfig'))
fd = open(os.path.join(self.petscdir.dir,self.arch.arch,'lib','pkgconfig','PETSc.pc'),'w')
- cflags_inc = ['-I${includedir}']
+ cflags_inc = ['-I${includedir}/petsc']
if self.framework.argDB['prefix']:
fd.write('prefix='+self.installdir.dir+'\n')
else:

View File

@ -0,0 +1,13 @@
--- a/config/BuildSystem/config/packages/sundials.orig.py 2019-09-30 01:36:08.000000000 +0200
+++ b/config/BuildSystem/config/packages/sundials.py 2020-04-04 16:15:52.074244560 +0200
@@ -3,8 +3,8 @@
class Configure(config.package.GNUPackage):
def __init__(self, framework):
config.package.GNUPackage.__init__(self, framework)
- self.version = '2.5.0'
- self.maxversion = '2.5.100000'
+ self.version = '5.2.0'
+ self.maxversion = '5.2.000000'
self.versionname = 'SUNDIALS_PACKAGE_VERSION'
self.download = ['http://ftp.mcs.anl.gov/pub/petsc/externalpackages/sundials-'+self.version+'p1.tar.gz']
self.functions = ['CVSpgmr']

View File

@ -36,21 +36,32 @@
#
## PETSC looks incompatible with serial MUMPS
%bcond_with mumps_serial
%bcond_without mumps_serial
#
## Sundials needs mpi
## Sundials needs mpi ??
%bcond_with sundials_serial
#
%bcond_without superlu
#
## Suitesparse
## Currently, that's the 5.4.0 on Fedora 32+, this version of PETSc needs at least 5.6.0
%bcond_with suitesparse
%if 0%{?fedora} && 0%{?fedora} >= 32
%bcond_with suitesparse64
%endif
#
## SuperLUDIST needs parmetis
%bcond_with superludist
%bcond_without superludist
%bcond_with superlumt
#
## Metis
%bcond_without metis
#
# hdf5' is required by 'cgns'
# hdf5 needs MPI
%bcond_without cgns
%bcond_without hdf5
@ -67,7 +78,7 @@
%if %{with mpich}
%bcond_without mpi
# PETSC-3.8.* is incompatible with Sundials 3+
# PETSC-3.* is incompatible with Sundials 3+
%bcond_with sundials
%bcond_without scalapack
%bcond_without mumps
@ -75,15 +86,170 @@
%bcond_without hypre
%endif
%global releasever 3.12
%global releasever 3.13
%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" \\\
%else \
CFLAGS="$CFLAGS -O3 -fPIC" CXXFLAGS="$CXXFLAGS -O3 -fPIC" FFLAGS="$FFLAGS -O3 -fPIC" LDFLAGS="$LDFLAGS -fPIC" \\\
COPTFLAGS="$CFLAGS" CXXOPTFLAGS="$CXXFLAGS" FOPTFLAGS="$FFLAGS" \\\
%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 \\\
%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 \
%if %{with metis} \
--with-metis=1 \\\
%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" \\\
%else \
CFLAGS="$CFLAGS -O3 -fPIC" CXXFLAGS="$CXXFLAGS -O3 -fPIC" FFLAGS="$FFLAGS -O3 -fPIC" LDFLAGS="$LDFLAGS -fPIC" \\\
COPTFLAGS="$CFLAGS" CXXOPTFLAGS="$CXXFLAGS" FOPTFLAGS="$FFLAGS" \\\
%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=mpicc \\\
--with-cxx=mpicxx \\\
--with-fc=mpif77 \\\
--with-shared-ld=ld \\\
--with-pic=1 \\\
--with-clib-autodetect=0 \\\
--with-fortranlib-autodetect=0 \\\
%if 0%{?fedora} \
--with-cxxlib-autodetect=0 \\\
%endif \
--with-threadsafety=0 --with-log=1 \\\
%if %{with debug} \
--with-debugging=1 \\\
%else \
--with-debugging=0 \\\
%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 metis} \
--with-metis=1 \\\
%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
Name: petsc
Summary: Portable Extensible Toolkit for Scientific Computation
Version: %{releasever}.4
Release: 3%{?dist}
Version: %{releasever}.0
Release: 1%{?dist}
License: BSD
URL: https://www.mcs.anl.gov/petsc
Source0: http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-%{version}.tar.gz
Source0: https://www.mcs.anl.gov/petsc/mirror/release-snapshots/petsc-%{version}.tar.gz
## Remove rpath flags
Patch0: %{name}-3.11-no-rpath.patch
@ -94,6 +260,11 @@ Patch1: %{name}-lib64.patch
# Reverting patch for Hypre-2.11.2
Patch2: %{name}-3.11-hypre_2.11.2_reverting.patch
Patch3: %{name}-3.13-fix_mumps_includes.patch
Patch4: %{name}-3.13.0-fix_metis64.patch
Patch5: %{name}-3.13.0-fix_sundials_version.patch
Patch6: %{name}-3.13.0-fix_pkgconfig_file.patch
%if %{with superlu}
BuildRequires: SuperLU-devel >= 5.2.0
%endif
@ -101,13 +272,13 @@ BuildRequires: SuperLU-devel >= 5.2.0
BuildRequires: SuperLUMT-devel
%endif
%if %{with mumps_serial}
BuildRequires: MUMPS-devel
BuildRequires: MUMPS-devel >= 5.2.1
%endif
%if %{with sundials_serial}
BuildRequires: sundials-devel
%if %{with metis}
BuildRequires: metis-devel >= 5.1.0
%endif
%if 0%{?with_suitesparse}
BuildRequires: suitesparse-devel
%if %{with suitesparse}
BuildRequires: suitesparse-devel >= 5.6.0
%endif
%if %{with blas}
BuildRequires: openblas-devel, openblas-srpm-macros
@ -126,8 +297,16 @@ BuildRequires: pkgconfig
%else
BuildRequires: pkgconf-pkg-config
%endif
%if %{with hdf5}
BuildRequires: hdf5-devel
%endif
%if %{with cgns}
BuildRequires: cgnslib-devel
BuildRequires: hdf5-devel
%endif
BuildRequires: valgrind-devel
BuildRequires: tcsh
BuildRequires: xorg-x11-server-Xvfb
Requires: gcc-gfortran%{?_isa}
%description
@ -163,6 +342,9 @@ PDF and HTML documentation files.
Summary: Portable Extensible Toolkit for Scientific Computation (64bit INTEGER)
BuildRequires: openblas-serial64 >= 0.2.19-1
BuildRequires: openblas-devel >= 0.2.19-1
%if %{with metis}
BuildRequires: metis64-devel >= 5.1.0
%endif
Requires: gcc-gfortran%{?_isa}
%description -n petsc64
@ -196,7 +378,7 @@ BuildRequires: hdf5-openmpi-devel
%endif
%if %{with cgns}
BuildRequires: cgnslib-devel
BuildRequires: hdf5-devel
BuildRequires: hdf5-openmpi-devel
%endif
%if %{with ptscotch}
BuildRequires: ptscotch-openmpi-devel
@ -208,13 +390,13 @@ BuildRequires: blacs-openmpi-devel
%endif
%endif
%if %{with mumps}
BuildRequires: MUMPS-openmpi-devel
BuildRequires: MUMPS-openmpi-devel >= 5.2.1
%endif
%if %{with sundials}
BuildRequires: sundials-openmpi-devel
%endif
%if %{with superludist}
BuildRequires: superlu_dist-openmpi-devel
BuildRequires: superlu_dist-openmpi-devel >= 6.1.1
%endif
%if %{with fftw}
BuildRequires: fftw-devel
@ -252,7 +434,7 @@ BuildRequires: hdf5-mpich-devel
%endif
%if %{with cgns}
BuildRequires: cgnslib-devel
BuildRequires: hdf5-devel
BuildRequires: hdf5-mpich-devel
%endif
%if %{with ptscotch}
BuildRequires: ptscotch-mpich-devel
@ -264,13 +446,13 @@ BuildRequires: blacs-mpich-devel
%endif
%endif
%if %{with mumps}
BuildRequires: MUMPS-mpich-devel
BuildRequires: MUMPS-mpich-devel >= 5.2.1
%endif
%if %{with sundials}
BuildRequires: sundials-mpich-devel
%endif
%if %{with superludist}
BuildRequires: superlu_dist-mpich-devel
BuildRequires: superlu_dist-mpich-devel >= 6.1.1
%endif
%if %{with hypre}
BuildRequires: hypre-mpich-devel
@ -313,10 +495,10 @@ Portable Extensible Toolkit for Scientific Computation (developer files).
pushd %{name}-%{version}
%if 0%{?fedora} || 0%{?rhel} >= 8
find . -name 'setup.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python3}|'
find . -name 'configure' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python3}|'
find config -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python3}|'
find src/benchmarks/streams -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python3}|'
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}"
%endif
%if 0%{?el7}
@ -328,11 +510,14 @@ popd
cp -a %{name}-%{version} build64
pushd build64
%patch1 -p0
%patch4 -p1 -b .metis64
popd
%endif
pushd %{name}-%{version}
%patch0 -p0
%patch5 -p1
%patch6 -p1
popd
%if %{with openmpi}
@ -342,6 +527,11 @@ cp -a %{name}-%{version} buildopenmpi_dir
cp -a %{name}-%{version} buildmpich_dir
%endif
# Do NOT move up this patch
pushd %{name}-%{version}
%patch3 -p1
popd
%build
pushd %{name}-%{version}
%if 0%{?el7}
@ -350,78 +540,21 @@ pushd %{name}-%{version}
%else
%configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran \
%endif
%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" \
%else
CFLAGS="$CFLAGS -O3 -fPIC" CXXFLAGS="$CXXFLAGS -O3 -fPIC" FFLAGS="$FFLAGS -O3 -fPIC" LDFLAGS="$LDFLAGS -fPIC" \
COPTFLAGS="$CFLAGS" CXXOPTFLAGS="$CXXFLAGS" FOPTFLAGS="$FFLAGS" \
%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 \
%{petsc_build_options} \
--with-64-bit-indices=0 \
--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 \
%if 0%{?fedora}
--with-cxxlib-autodetect=0 \
%endif
%if %{with debug}
--with-debugging=1 \
%else
--with-debugging=0 \
%endif
%if %{with blas}
--with-blas-lapack-lib=-lopenblas \
--known-64-bit-blas-indices=0 \
--with-blas-lapack-lib=-lopenblas --known-64-bit-blas-indices=0 \
%endif
%if %{with superlu}
--with-superlu=1 \
--with-superlu-include=%{_includedir}/SuperLU \
--with-superlu-lib=-lsuperlu \
%if %{with superlu}
--with-superlu=1 \
--with-superlu-include=%{_includedir}/SuperLU \
--with-superlu-lib=-lsuperlu \
%endif
%if %{with mumps_serial}
--with-mumps-serial=1 \
--with-mumps-include=%{_includedir}/MUMPS \
--with-mumps-lib=-ldmumps \
%endif
--with-mpi=0 \
--with-x=1 \
--with-openmp=0 \
--with-metis=0 \
--with-hwloc=0 \
--with-ssl=0 \
%if 0%{?with_suitesparse}
%if %{with suitesparse}
--with-suitesparse=1 \
--with-suitesparse-include=%{_includedir}/suitesparse \
--with-suitesparse-lib="-lumfpack -lklu -lcholmod -lamd" \
--with-suitesparse-lib="-lumfpack -lklu -lcholmod -lamd"
%endif
%if %{with sundials_serial}
--with-sundials=1 \
--with-sundials-include= \
--with-sundials-lib="-lsundials_nvecserial -lsundials_cvode" \
%endif
%if %{with superlu}
--with-superlu=1 \
--with-superlu-include=%{_includedir}/SuperLU \
--with-superlu-lib=-lsuperlu \
%endif
--with-pthread=1 \
--with-valgrind=1
##
RPM_BUILD_NCPUS="`%{_bindir}/getconf _NPROCESSORS_ONLN`"
@ -437,53 +570,17 @@ pushd build64
%else
%configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran \
%endif
%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 -fPIC -I%{_libdir}/gfortran/modules" LDFLAGS="$LDFLAGS -fPIC" \
%else
CFLAGS="$CFLAGS -O3 -fPIC" CXXFLAGS="$CXXFLAGS -O3 -fPIC" FFLAGS="$FFLAGS -O3 -fPIC" LDFLAGS="$LDFLAGS -fPIC" \
COPTFLAGS="$CFLAGS" CXXOPTFLAGS="$CXXFLAGS" FOPTFLAGS="$FFLAGS" \
%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 \
%{petsc_build_options} \
--with-64-bit-indices=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 \
%if 0%{?fedora}
--with-cxxlib-autodetect=0 \
%endif
--with-mpi=0 \
--with-threadsafety=0 --with-log=1 \
%if %{with debug}
--with-debugging=1 \
%else
--with-debugging=0 \
%endif
%if %{with blas64}
--with-blas-lapack-lib=-lopenblas64 \
--known-64-bit-blas-indices=1 \
--with-blas-lapack-lib=-lopenblas64 --known-64-bit-blas-indices=1 \
%endif
--with-x=1 \
--with-openmp=0 \
--with-metis=0 \
--with-hwloc=0 \
--with-ssl=0 \
--with-pthread=1 \
--with-valgrind=1
%if %{with suitesparse64}
--with-suitesparse=1 \
--with-suitesparse-include=%{_includedir}/suitesparse \
--with-suitesparse-lib="-lumfpack64 -lklu64 -lcholmod64 -lamd64"
%endif
##
RPM_BUILD_NCPUS="`%{_bindir}/getconf _NPROCESSORS_ONLN`"
make \
@ -500,100 +597,13 @@ pushd buildopenmpi_dir
%{_openmpi_load}
%configure \
%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 -fPIC -I${MPI_FORTRAN_MOD_DIR}" LDFLAGS="$LDFLAGS -fPIC" \
%else
CFLAGS="$CFLAGS -O3 -fPIC" CXXFLAGS="$CXXFLAGS -O3 -fPIC" FFLAGS="$FFLAGS -O3 -fPIC" LDFLAGS="$LDFLAGS -fPIC" \
COPTFLAGS="$CFLAGS" CXXOPTFLAGS="$CXXFLAGS" FOPTFLAGS="$FFLAGS" \
%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 \
--FC_LINKER_FLAGS="$LDFLAGS -lgfortran -lmpi_mpifh" \
--LIBS=" -lmpi_mpifh" \
%{petsc_mpibuild_options} \
--with-64-bit-indices=0 \
--with-fortran-interfaces=1 \
--with-windows-graphics=0 \
--with-cc=mpicc \
--with-cxx=mpicxx \
--with-fc=mpif77 \
--with-shared-ld=ld \
--with-pic=1 \
--with-clib-autodetect=0 \
--with-fortranlib-autodetect=0 \
%if 0%{?fedora}
--with-cxxlib-autodetect=0 \
%endif
--with-threadsafety=0 --with-log=1 \
%if %{with debug}
--with-debugging=1 \
%else
--with-debugging=0 \
%endif
%if %{with blas}
--with-blas-lapack-lib="-lopenblas" \
--known-64-bit-blas-indices=0 \
--with-blas-lapack-lib=-lopenblas --known-64-bit-blas-indices=0
%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="-L$MPI_LIB -lhdf5 -lcgns" \
%endif
%if %{with hdf5}
--with-hdf5=1 \
--with-hdf5-include= \
--with-hdf5-lib="-L$MPI_LIB -lhdf5" \
%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 \
--with-mumps-include=$MPI_INCLUDE \
--with-mumps-lib="-L$MPI_LIB -ldmumps" \
%endif
%if %{with sundials}
--with-sundials=1 \
--with-sundials-include=$MPI_INCLUDE \
--with-sundials-lib="-L$MPI_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-metis=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
#cat config.log
#exit 1
@ -613,100 +623,13 @@ pushd buildmpich_dir
%{_mpich_load}
%configure \
%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 -fPIC -I${MPI_FORTRAN_MOD_DIR}" LDFLAGS="$LDFLAGS -fPIC" \
%else
CFLAGS="$CFLAGS -O3 -fPIC" CXXFLAGS="$CXXFLAGS -O3 -fPIC" FFLAGS="$FFLAGS -O3 -fPIC" LDFLAGS="$LDFLAGS -fPIC" \
COPTFLAGS="$CFLAGS" CXXOPTFLAGS="$CXXFLAGS" FOPTFLAGS="$FFLAGS" \
%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 \
--FC_LINKER_FLAGS="$LDFLAGS -lgfortran -lmpifort" \
--LIBS=" -lmpifort" \
%{petsc_mpibuild_options} \
--with-64-bit-indices=0 \
--with-fortran-interfaces=1 \
--with-windows-graphics=0 \
--with-cc=mpicc \
--with-cxx=mpicxx \
--with-fc=mpif77 \
--with-shared-ld=ld \
--with-pic=1 \
--with-clib-autodetect=0 \
--with-fortranlib-autodetect=0 \
%if 0%{?fedora}
--with-cxxlib-autodetect=0 \
%endif
--with-threadsafety=0 --with-log=1 \
%if %{with debug}
--with-debugging=1 \
%else
--with-debugging=0 \
%endif
%if %{with blas}
--with-blas-lapack-lib=-lopenblas \
--known-64-bit-blas-indices=0 \
--with-blas-lapack-lib=-lopenblas --known-64-bit-blas-indices=0
%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="-L$MPI_LIB -lhdf5 -lcgns" \
%endif
%if %{with hdf5}
--with-hdf5=1 \
--with-hdf5-include= \
--with-hdf5-lib="-L$MPI_LIB -lhdf5" \
%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 \
--with-mumps-include=$MPI_INCLUDE \
--with-mumps-lib="-L$MPI_LIB -ldmumps" \
%endif
%if %{with sundials}
--with-sundials=1 \
--with-sundials-include=$MPI_INCLUDE \
--with-sundials-lib="-L$MPI_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-metis=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
#cat config.log
#exit 1
@ -731,6 +654,11 @@ install -pm 644 %{_arch}/include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/
install -pm 644 %{_arch}/include/*.mod $RPM_BUILD_ROOT%{_fmoddir}/%{name}/
cp -a include/* $RPM_BUILD_ROOT%{_includedir}/%{name}/
cp -a %{_arch}/lib/pkgconfig $RPM_BUILD_ROOT%{_libdir}/
pushd $RPM_BUILD_ROOT%{_libdir}/pkgconfig
ln -s PETSc.pc petsc.pc
popd
install -pm 644 %{_arch}/lib/petsc/conf/petscrules $RPM_BUILD_ROOT%{_libdir}/%{name}/conf/
install -pm 644 %{_arch}/lib/petsc/conf/petscvariables $RPM_BUILD_ROOT%{_libdir}/%{name}/conf/
install -pm 644 lib/petsc/conf/rules $RPM_BUILD_ROOT%{_libdir}/%{name}/conf/
@ -743,30 +671,12 @@ sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}|g' -i $RPM_BUILD_R
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}|g' -i $RPM_BUILD_ROOT%{_libdir}/%{name}/conf/rules
popd
##Make a .pc file
mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
cat > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/%{name}.pc <<EOF
prefix=%{_prefix}
exec_prefix=%{_prefix}
includedir=%{_prefix}/include
libdir=%{_prefix}/%{_lib}
ccompiler=gcc
fcompiler=gfortran
blaslapacklibs=-lopenblas64
Name: PETSc
Description: Library to solve ODEs and algebraic equations
Version: %{version}
Cflags: -I%{_includedir} -I%{_includedir}/SuperLU -I%{_includedir}/suitesparse -I%{_includedir}/petsc/petsc/mpiuni
Libs: -L%{_libdir} -lpetsc
Libs.private: -lsuperlu -lumfpack -lklu -lcholmod -lamd -lopenblas -lX11 -lpthread -lm -ldl
EOF
%if %{with arch64}
pushd build64
mkdir -p $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_includedir}/%{name}64
mkdir -p $RPM_BUILD_ROOT%{_fmoddir}/%{name}64
mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}64/conf
mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
install -pm 755 %{_arch}/lib/libpetsc64.* $RPM_BUILD_ROOT%{_libdir}
ln -sf libpetsc64.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libpetsc64.so
@ -776,6 +686,11 @@ install -pm 644 %{_arch}/include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}64/
install -pm 644 %{_arch}/include/*.mod $RPM_BUILD_ROOT%{_fmoddir}/%{name}64/
cp -a include/* $RPM_BUILD_ROOT%{_includedir}/%{name}64/
cp -p %{_arch}/lib/pkgconfig/PETSc.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/PETSc64.pc
pushd $RPM_BUILD_ROOT%{_libdir}/pkgconfig
ln -s PETSc64.pc petsc64.pc
popd
install -pm 644 %{_arch}/lib/petsc/conf/petscrules $RPM_BUILD_ROOT%{_libdir}/%{name}64/conf/
install -pm 644 %{_arch}/lib/petsc/conf/petscvariables $RPM_BUILD_ROOT%{_libdir}/%{name}64/conf/
install -pm 644 lib/petsc/conf/rules $RPM_BUILD_ROOT%{_libdir}/%{name}64/conf/
@ -787,25 +702,6 @@ sed -e 's|-I%{_prefix}/%{_arch}/include/|-I%{_includedir}/%{name}64 -I%{_fmoddir
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}|g' -i $RPM_BUILD_ROOT%{_libdir}/%{name}64/conf/variables
sed -e 's|${PETSC_DIR}/${PETSC_ARCH}/lib|${PETSC_DIR}/%{_lib}|g' -i $RPM_BUILD_ROOT%{_libdir}/%{name}64/conf/rules
popd
##Make a .pc file
mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
cat > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/%{name}64.pc <<EOF
prefix=%{_prefix}
exec_prefix=%{_prefix}
includedir=%{_prefix}/include
libdir=%{_prefix}/%{_lib}
ccompiler=gcc
fcompiler=gfortran
blaslapacklibs=-lopenblas64
Name: PETSc
Description: Library to solve ODEs and algebraic equations (64bit interger)
Version: %{version}
Cflags: -I%{_includedir} -I%{_includedir}/petsc/petsc/mpiuni
Libs: -L%{_libdir} -lpetsc64
Libs.private: -lopenblas64 -lX11 -lpthread -lm -ldl
EOF
%endif
%if %{with openmpi}
@ -823,6 +719,14 @@ install -pm 644 %{_arch}/include/*.h $RPM_BUILD_ROOT$MPI_INCLUDE/%{name}/
install -pm 644 %{_arch}/include/*.mod $RPM_BUILD_ROOT$MPI_FORTRAN_MOD_DIR/%{name}/
cp -a include/* $RPM_BUILD_ROOT$MPI_INCLUDE/%{name}/
cp -a %{_arch}/lib/pkgconfig $RPM_BUILD_ROOT$MPI_LIB/
sed -e 's|-I${includedir}/petsc|-I%{_includedir}/openmpi-%{_arch}/petsc|g' -i $RPM_BUILD_ROOT$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|-L${libdir}|-L%{_libdir}/openmpi/lib|g' -i $RPM_BUILD_ROOT$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|ldflag_rpath=-L|ldflag_rpath=-L%{_libdir}/openmpi/lib|g' -i $RPM_BUILD_ROOT$MPI_LIB/pkgconfig/PETSc.pc
pushd $RPM_BUILD_ROOT$MPI_LIB/pkgconfig
ln -s PETSc.pc petsc.pc
popd
install -pm 644 %{_arch}/lib/petsc/conf/petscrules $RPM_BUILD_ROOT$MPI_LIB/%{name}/conf/
install -pm 644 %{_arch}/lib/petsc/conf/petscvariables $RPM_BUILD_ROOT$MPI_LIB/%{name}/conf/
install -pm 644 lib/petsc/conf/rules $RPM_BUILD_ROOT$MPI_LIB/%{name}/conf/
@ -852,6 +756,14 @@ install -pm 644 %{_arch}/include/*.h $RPM_BUILD_ROOT$MPI_INCLUDE/%{name}/
install -pm 644 %{_arch}/include/*.mod $RPM_BUILD_ROOT$MPI_FORTRAN_MOD_DIR/%{name}/
cp -a include/* $RPM_BUILD_ROOT$MPI_INCLUDE/%{name}/
cp -a %{_arch}/lib/pkgconfig $RPM_BUILD_ROOT$MPI_LIB/
sed -e 's|-I${includedir}/petsc|-I%{_includedir}/mpich-%{_arch}/petsc|g' -i $RPM_BUILD_ROOT$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|-L${libdir}|-L%{_libdir}/mpich/lib|g' -i $RPM_BUILD_ROOT$MPI_LIB/pkgconfig/PETSc.pc
sed -e 's|ldflag_rpath=-L|ldflag_rpath=-L%{_libdir}/mpich/lib|g' -i $RPM_BUILD_ROOT$MPI_LIB/pkgconfig/PETSc.pc
pushd $RPM_BUILD_ROOT$MPI_LIB/pkgconfig
ln -s PETSc.pc petsc.pc
popd
install -pm 644 %{_arch}/lib/petsc/conf/petscrules $RPM_BUILD_ROOT$MPI_LIB/%{name}/conf/
install -pm 644 %{_arch}/lib/petsc/conf/petscvariables $RPM_BUILD_ROOT$MPI_LIB/%{name}/conf/
install -pm 644 lib/petsc/conf/rules $RPM_BUILD_ROOT$MPI_LIB/%{name}/conf/
@ -888,40 +800,6 @@ cp -a %{name}-%{version}/docs/* $RPM_BUILD_ROOT%{_pkgdocdir}
%if %{with check}
%check
export LD_LIBRARY_PATH=%{_libdir}:%{_builddir}/%{name}-%{version}/%{name}-%{version}/%{_arch}/lib
export PETSC_DIR=%{_builddir}/%{name}-%{version}/%{name}-%{version}
export PETSC_ARCH=%{_arch}
%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"
make -C %{name}-%{version} test MPIEXEC='%{_builddir}/%{name}-%{version}/%{name}-%{version}/lib/petsc/bin/petscmpiexec -valgrind'
%else
make -C %{name}-%{version} test
%endif
%if %{with arch64}
export LD_LIBRARY_PATH=%{_libdir}:%{_builddir}/%{name}-%{version}/build64/%{_arch}/lib
export PETSC_DIR=%{_builddir}/%{name}-%{version}/build64
export PETSC_ARCH=%{_arch}
## '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
%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"
make -C build64 test MPIEXEC='%{_builddir}/%{name}-%{version}/build64/lib/petsc/bin/petscmpiexec -valgrind'
%else
make -C build64 test
%endif
%endif
%if %{with openmpi}
%{_openmpi_load}
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/buildopenmpi_dir/%{_arch}/lib
@ -933,9 +811,9 @@ export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=
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"
make -C buildopenmpi_dir test MPIEXEC='%{_builddir}/%{name}-%{version}/buildopenmpi_dir/lib/petsc/bin/petscmpiexec -valgrind'
xvfb-run -a make all test -C buildopenmpi_dir V=1 MPIEXEC='%{_builddir}/%{name}-%{version}/buildopenmpi_dir/lib/petsc/bin/petscmpiexec -valgrind'
%else
make -C buildopenmpi_dir test
xvfb-run -a make all test -C buildopenmpi_dir V=1
%endif
%{_openmpi_unload}
%endif
@ -952,13 +830,47 @@ export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=
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"
make -C buildmpich_dir test MPIEXEC='%{_builddir}/%{name}-%{version}/buildmpich_dir/lib/petsc/bin/petscmpiexec -valgrind'
xvfb-run -a make all test -C buildmpich_dir V=1 MPIEXEC='%{_builddir}/%{name}-%{version}/buildmpich_dir/lib/petsc/bin/petscmpiexec -valgrind'
%else
make -C buildmpich_dir test
xvfb-run -a make all test -C buildmpich_dir V=1
%endif
%{_mpich_unload}
%endif
%endif
export LD_LIBRARY_PATH=%{_libdir}:%{_builddir}/%{name}-%{version}/%{name}-%{version}/%{_arch}/lib
export PETSC_DIR=%{_builddir}/%{name}-%{version}/%{name}-%{version}
export PETSC_ARCH=%{_arch}
%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 -valgrind'
%else
xvfb-run -a make all test -C %{name}-%{version} V=1
%endif
%if %{with arch64}
export LD_LIBRARY_PATH=%{_libdir}:%{_builddir}/%{name}-%{version}/build64/%{_arch}/lib
export PETSC_DIR=%{_builddir}/%{name}-%{version}/build64
export PETSC_ARCH=%{_arch}
## '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
%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 -valgrind'
%else
xvfb-run -a make all test -C build64 V=1
%endif
%endif
%endif
%files
@ -966,7 +878,7 @@ make -C buildmpich_dir test
%{_libdir}/libpetsc.so.*
%files devel
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/*.pc
%{_libdir}/%{name}/
%{_libdir}/libpetsc.so
%{_includedir}/%{name}/
@ -982,7 +894,7 @@ make -C buildmpich_dir test
%{_libdir}/libpetsc64.so.*
%files -n petsc64-devel
%{_libdir}/pkgconfig/%{name}64.pc
%{_libdir}/pkgconfig/*.pc
%{_libdir}/%{name}64/
%{_libdir}/libpetsc64.so
%{_includedir}/%{name}64/
@ -997,6 +909,7 @@ make -C buildmpich_dir test
%files openmpi-devel
%{_libdir}/openmpi/lib/libpetsc.so
%{_libdir}/openmpi/lib/%{name}/
%{_libdir}/openmpi/lib/pkgconfig/*.pc
%{_includedir}/openmpi-%{_arch}/%{name}/
%if 0%{?el7}
%{_fmoddir}/openmpi-%{_arch}/%{name}/
@ -1013,6 +926,7 @@ make -C buildmpich_dir test
%files mpich-devel
%{_libdir}/mpich/lib/libpetsc.so
%{_libdir}/mpich/lib/%{name}/
%{_libdir}/mpich/lib/pkgconfig/*.pc
%{_includedir}/mpich-%{_arch}/%{name}/
%if 0%{?el7}
%{_fmoddir}/mpich-%{_arch}/%{name}/
@ -1022,6 +936,12 @@ make -C buildmpich_dir test
%endif
%changelog
* 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
* Fri Feb 21 2020 Sandro Mani <manisandro@gmail.com> - 3.12.4-3
- Rebuild (cgnslib)

View File

@ -1 +1 @@
SHA512 (petsc-3.12.4.tar.gz) = c830894f8b261eb821f7341f56897270aa20c9d778a74e9f1bb9f9b75a9a6ccf9444980910864a4286d7c7f8dd46790ab8e78454e89f1e2dd1b815e2e91a164d
SHA512 (petsc-3.13.0.tar.gz) = 0590bb63d9c6dfd6ac03b1b88e5a8c11d42a0fd014084603d4d085060b126aa4341b4ec3a4d2b12146b971da327ccc7ede370e5633282bf44f269465aea32953