Hello community,

here is the log from the commit of package petsc for openSUSE:Factory checked 
in at 2017-10-24 22:23:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/petsc (Old)
 and      /work/SRC/openSUSE:Factory/.petsc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "petsc"

Tue Oct 24 22:23:36 2017 rev:1 rq:536010 version:3.7.6

Changes:
--------
New Changes file:

--- /dev/null   2017-10-14 16:26:57.428140955 +0200
+++ /work/SRC/openSUSE:Factory/.petsc.new/petsc.changes 2017-10-24 
22:23:37.679712455 +0200
@@ -0,0 +1,178 @@
+-------------------------------------------------------------------
+Sun Oct 22 19:29:23 UTC 2017 - [email protected]
+
+- Disable non-HPC openmpi flavor due to missing dependencies.
+
+-------------------------------------------------------------------
+Fri Sep  8 19:13:36 UTC 2017 - [email protected]
+
+- Convert to multibuild.
+- Add HPC build using environment modules
+  (FATE#321718).
+- Generate baselib.conf dynamically and only for the non-HPC
+  builds: this avoids issues with the source validator.
+- Updated to 3.7.6 (in sync with OpenHPC)
+  Changelog at: http://www.mcs.anl.gov/petsc/documentation/changes/37.html
+
+-------------------------------------------------------------------
+Thu Mar  9 15:40:18 UTC 2017 - [email protected]
+
+- recreate petsc package with version 3.7.5
+  previously existing petsc package was deleted for unknown reasons.
+  package in science repository is just a broken link.
+  previous changelog salvaged from installed rpm is below.
+- upstream version changelogs available at
+  https://www.mcs.anl.gov/petsc/petsc-as/documentation/changes/index.html
+
+-------------------------------------------------------------------
+Mon Sep 28 15:44:21 UTC 2015 - [email protected]
+
+- Refix blacs dependency, since blacs is now merged in scalapack
+
+-------------------------------------------------------------------
+Tue Jul 28 10:41:48 UTC 2015 - [email protected]
+
+- Fix blacs dependency ambiguity
+
+-------------------------------------------------------------------
+Wed Jul 15 09:21:49 UTC 2015 - [email protected]
+
+- Fix building on ppc64 and ppc64le
+
+-------------------------------------------------------------------
+Sat Apr  5 16:04:56 UTC 2014 - [email protected]
+
+- update files list of mvapich2 package and then fix build on SLE
+
+-------------------------------------------------------------------
+Thu Jan  9 14:27:31 UTC 2014 - [email protected]
+
+- update to version 3.4.3
+  * changelog at
+    
http://www.mcs.anl.gov/research/projects/petsc/petsc-as/documentation/changes/34.html
+- modified patches:
+  * petsc-3.3-fix-error-detection-in-makefile.patch
+  * petsc-3.3-p2-dont-check-for-option-mistakes.patch
+  * petsc-3.3-p2-fix-shared-libs-sonames.patch
+  * petsc-3.3-p2-no-rpath.patch
+-------------------------------------------------------------------
+Wed May 22 20:11:36 UTC 2013 - [email protected]
+
+- update ot latest patch level p7
+  * No changelog available for a patch level upgrade
+
+-------------------------------------------------------------------
+Sun Feb 24 14:59:13 UTC 2013 - [email protected]
+
+- updated to patch level p6
+  * No changelog available for a patch level upgrade
+
+-------------------------------------------------------------------
+Mon Feb  4 20:28:03 UTC 2013 - [email protected]
+
+- updated to patch level p5
+  * No changelog available for a patch level upgrade
+
+-------------------------------------------------------------------
+Mon Sep 17 21:27:12 UTC 2012 - [email protected]
+
+- fix module file for parallel version
+
+-------------------------------------------------------------------
+Sun Sep 16 20:30:11 UTC 2012 - [email protected]
+
+- add modules files
+- add version number in the petsc directory to allow multiple
+  versions to be installed at the same time
+- update to patch level p3
+
+-------------------------------------------------------------------
+Sun Sep  2 10:47:04 UTC 2012 - [email protected]
+
+- add suitesparce-devel in the requirements list of devel packages
+
+-------------------------------------------------------------------
+Thu Aug 30 21:18:42 UTC 2012 - [email protected]
+
+- add requirments in devel packages
+- fix license
+
+-------------------------------------------------------------------
+Thu Aug 23 19:07:07 UTC 2012 - [email protected]
+
+- enable umfpack and cholmod
+- enable blacs and scalapack for parallel version
+
+-------------------------------------------------------------------
+Sat Aug 11 10:56:14 UTC 2012 - [email protected]
+
+- fix typo in spec file making install failure on x86_64
+
+-------------------------------------------------------------------
+Sat Aug 11 10:18:29 UTC 2012 - [email protected]
+
+- add missing %%_petsc_arch to %%_prefix path
+
+-------------------------------------------------------------------
+Sat Aug 11 09:49:39 UTC 2012 - [email protected]
+
+- add PETSC_ARCH in the subdirectory path
+
+-------------------------------------------------------------------
+Thu Aug  9 13:42:04 UTC 2012 - [email protected]
+
+- add symlink petsc_dir/include to %%_includedir
+
+-------------------------------------------------------------------
+Sat Aug  4 20:35:26 UTC 2012 - [email protected]
+
+- version 3.3
+  * see http://www.mcs.anl.gov/petsc/documentation/changes/33.html
+    for a list of changes
+
+-------------------------------------------------------------------
+Fri Aug  3 20:27:15 UTC 2012 - [email protected]
+
+- mvapich2 build for SLE 11
+- update baselibs.conf
+
+-------------------------------------------------------------------
+Tue Jul 31 20:46:24 UTC 2012 - [email protected]
+
+- compress source tarball with xz
+
+-------------------------------------------------------------------
+Tue Jul 31 17:26:00 UTC 2012 - [email protected]
+
+- enable hypre support for openmpi build
+
+-------------------------------------------------------------------
+Fri Jul 27 20:54:50 UTC 2012 - [email protected]
+
+- enable fortran interface and c++ support
+
+-------------------------------------------------------------------
+Thu Jul 26 22:10:50 UTC 2012 - [email protected]
+
+- fix library dirs in petsc conf files
+
+-------------------------------------------------------------------
+Thu Jul 26 21:30:35 UTC 2012 - [email protected]
+
+- put all petsc file in a dedicated dir
+
+-------------------------------------------------------------------
+Tue Jul 24 22:27:11 UTC 2012 - [email protected]
+
+- add openmpi package
+- fix libs dependencies
+
+-------------------------------------------------------------------
+Thu Jun  7 18:27:19 UTC 2012 - [email protected]
+
+- add baselibs.conf
+
+-------------------------------------------------------------------
+Sat May 19 15:14:53 UTC 2012 - [email protected]
+
+- first package base on spec file from Fabrice Bellet for fedora

New:
----
  _multibuild
  petsc-3.3-fix-error-detection-in-makefile.patch
  petsc-3.3-p2-dont-check-for-option-mistakes.patch
  petsc-3.3-p2-fix-shared-libs-sonames.patch
  petsc-3.3-p2-no-rpath.patch
  petsc-3.7-fix-pastix-detection.patch
  petsc-3.7.6.tar.gz
  petsc.changes
  petsc.spec

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ petsc.spec ++++++
#
# spec file for package petsc
#
# Copyright (c) 2017 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

%global flavor @BUILD_FLAVOR@%{nil}

%define pname petsc
%define vers 3.7.6
%define _vers 3_7_6
%define so_ver 3

%if "%flavor" == ""
%dfine package_name %pname
ExclusiveArch:  do_not_build
%endif

%if "%flavor" == "serial"
%{bcond_with hpc}
%endif

%if "%flavor" == "openmpi"
%define mpi_family openmpi
%{bcond_with hpc}
%endif

%if "%flavor" == "mvapich2"
%define mpi_family mvapich2
%{bcond_with hpc}
%endif

%if "%flavor" == "gnu-openmpi-hpc"
%define mpi_family openmpi
%define compiler_family gnu
%undefine c_f_ver
%define mpi_vers 1
%{bcond_without hpc}
%endif

%if "%flavor" == "gnu-mvapich2-hpc"
%define mpi_family mvapich2
%define compiler_family gnu
%undefine c_f_ver
%{bcond_without hpc}
%endif

%if "%flavor" == "gnu6-openmpi-hpc"
%define mpi_family openmpi
%define compiler_family gnu
%define c_f_ver 6
%define mpi_vers 1
%{bcond_without hpc}
%endif

%if "%flavor" == "gnu6-mvapich2-hpc"
%define mpi_family mvapich2
%define compiler_family gnu
%define c_f_ver 6
%{bcond_without hpc}
%endif

%if %{without hpc}
%if 0%{!?package_name:1}
%define package_name() %{pname}%{?with_mpi:-%{mpi_family}}
%endif
%define libname() lib%{pname}%{so_ver}%{?with_mpi:-%{mpi_family}}
%else
%{hpc_init -c %compiler_family -m %mpi_family %{?c_f_ver:-v %{c_f_ver}} 
%{?mpi_ver:-V %{mpi_ver}} %{?ext:-e %{ext}}}

%define package_name() %{hpc_package_name %_vers}
%define libname() lib%{pname}%{expand:%%{hpc_package_name_tail %{**}}}
%endif

%if 0%{?mpi_family:1}
%{bcond_without mpi}
%else
%{bcond_with mpi}
%endif

%if %{without hpc}
 %if %{without mpi}
%define p_base %{_prefix}/
 %else
%{!?mpi_family:%global mpi_family openmpi}
%define p_base %{_libdir}/mpi/gcc/%{mpi_family}/
%define n_pref %{?with_mpi:%{mpi_family}-}
 %endif # mpi
%define p_prefix %{p_libdir}/petsc/%{version}/%petsc_arch
%else # hpc
%define p_base %{hpc_prefix}/
%define p_prefix %{hpc_prefix}
%endif

%define p_libdir %{p_base}%_lib
%define p_include %{p_base}include


%define petsc_arch linux-gnu-c-opt

Name:           %{package_name}
Summary:        Portable Extensible Toolkit for Scientific Computation
License:        BSD-2-Clause
Group:          Development/Libraries/C and C++
Version:        %vers
Release:        0

Source:         
ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-%{version}.tar.gz
Patch0:         petsc-3.3-p2-fix-shared-libs-sonames.patch
Patch1:         petsc-3.3-p2-no-rpath.patch
Patch2:         petsc-3.3-p2-dont-check-for-option-mistakes.patch
Patch3:         petsc-3.3-fix-error-detection-in-makefile.patch 
Patch4:         petsc-3.7-fix-pastix-detection.patch
Url:            http://www.mcs.anl.gov/petsc/
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  pkg-config
BuildRequires:  python
BuildRequires:  fdupes
%if 0%{?suse_version} >= 1315
BuildRequires:  hwloc-devel
%endif

%if %{without hpc}
BuildRequires:  Modules
BuildRequires:  blas-devel
BuildRequires:  gcc-c++
BuildRequires:  gcc-fortran
BuildRequires:  lapack-devel
BuildRequires:  metis-devel
BuildRequires:  suitesparse-devel

 %if %{with mpi}
BuildRequires:  blacs-%{mpi_family}-devel
BuildRequires:  hdf5-%{mpi_family}-devel
BuildRequires:  hypre-%{mpi_family}-devel
BuildRequires:  %{mpi_family}-devel
BuildRequires:  scalapack-%{mpi_family}-devel
BuildRequires:  pastix-%{mpi_family}-devel
BuildRequires:  libptscotch-%{mpi_family}-devel
BuildRequires:  libptscotch-parmetis-%{mpi_family}-devel
 %endif
%else
BuildRequires:  %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
BuildRequires:  
%{mpi_family}%{?mpi_vers}-%{compiler_family}%{?c_f_ver}-hpc-macros-devel
BuildRequires:  libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel
BuildRequires:  
libscalapack2%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-%{mpi_family}%{?mpi_vers}-hpc-devel
BuildRequires:  
hdf5%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-%{mpi_family}%{?mpi_vers}-hpc-devel
BuildRequires:  lua-lmod
BuildRequires:  suse-hpc
%endif

BuildRequires:  valgrind
BuildRequires:  xz
BuildRequires:  zlib-devel

%description
PETSc is a suite of data structures and routines for the scalable
(parallel) solution of scientific applications modeled by partial 
differential equations.

%package -n %{libname %_vers}
Summary:        Devel files for petsc
Group:          System/Libraries
%{?with_hpc:%{hpc_requires}}

%description -n %{libname %_vers}
PETSc is a suite of data structures and routines for the scalable
(parallel) solution of scientific applications modeled by partial 
differential equations.

%{?with_hpc:%{hpc_master_package -n %{libname} -l -L}}

%package %{?n_pre}devel
Summary:        Devel files for petsc
Group:          Development/Libraries/%{!?with_mpi:C and 
C++}%{?with_mpi:Parallel}
Requires:       Modules
Requires:       %{libname} = %{version}
Requires:       suitesparse-devel
%if %{without hpc}
 %if %{without mpi}
Requires:       metis-devel
 %else
Requires:       blacs-%{mpi_family}-devel
Requires:       hdf5-%{mpi_family}-devel
Requires:       hypre-%{mpi_family}-devel
Requires:       libptscotch-%{mpi_family}-devel
Requires:       libptscotch-parmetis-%{mpi_family}-devel
Requires:       scalapack-%{mpi_family}-devel
Requires:       %{libname %_vers} = %{version}
 %endif
%else # with hpc
Requires:       libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel
Requires:       
libscalapack2%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-%{mpi_family}%{?mpi_vers}-hpc-devel
Requires:       
hdf5%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-%{mpi_family}%{?mpi_vers}-hpc-devel
Requires:       lua-lmod
Requires:       %{libname %_vers} = %{version}
%hpc_requires_devel
%endif

%description %{?n_pre}devel
PETSc is a suite of data structures and routines for the scalable
(parallel) solution of scientific applications modeled by partial 
differential equations.

%{?with_hpc:%{hpc_master_package -a devel}}

%package doc
Summary:        Documentation for petsc
Group:          Documentation/HTML

%description doc
This package contains the documentation for petsc.

%prep
%setup -q -n petsc-%{version}
%patch0 -p1 -b .soname
%patch1 -p1 -b .rpath
%patch2 -p1 -b .option-mistakes
%patch3 -p1 -b .error-detect
%patch4 -p1 -b .pastix-detect
%if %{without hpc}
cat > %{_sourcedir}/baselibs.conf  <<EOF
%{libname %_vers}
%{name}-devel
  requires -blas-<targettype>
  requires -lapack-<targettype>
  requires " %{libname %_vers}-<targettype> = <version>"
EOF
%endif

%build

%if %{without hpc}
export PETSC_DIR=${RPM_BUILD_DIR}/petsc-%{version}
export PETSC_ARCH=%petsc_arch
%{?with_mpi:export LD_LIBRARY_PATH=%{p_libdir}}
%else
%hpc_setup
module load phdf5 scalapack openblas
%endif

./config/configure.py \
        --CFLAGS="$RPM_OPT_FLAGS" \
        --FFLAGS="$RPM_OPT_FLAGS" \
        --CXXFLAGS="$RPM_OPT_FLAGS" \
        --prefix=%{p_prefix} \
        --with-clanguage=C++ \
        --with-c-support \
        --with-fortran-interfaces=1 \
        --with-debugging=no \
        --with-shared-libraries \
        --with-batch=0 \
%if %{without hpc}
        --PETSC_DIR=$PETSC_DIR \
        --with-suitesparse=1 \
        
--with-suitesparse-lib=[%{_libdir}/libklu.so,%{_libdir}/libumfpack.so,%{_libdir}/libcholmod.so,%{_libdir}/libcolamd.so,%{_libdir}/libccolamd.so,%{_libdir}/libcamd.so,%{_libdir}/libamd.so,%{_libdir}/libsuitesparseconfig.so,%{_libdir}/librt.so]
 \
        --with-suitesparse-include=%{_includedir}/suitesparse \
 %if %{without mpi}
        --with-mpi=0 \
 %else
        --with-mpi=1 \
        --with-mpi-dir=%{p_base}\
        --with-blacs=1 \
        --with-blacs-include=%{p_include} \
        --with-blacs-lib=[%{p_libdir}/libblacs.so] \
        --with-pastix=1 \
        --with-pastix-pkg-config=%{p_libdir}/pkgconfig \
        --with-ptscotch=1 \
        --with-ptscotch-include=%{p_include} \
        
--with-ptscotch-lib=[%{p_libdir}/libptscotch.so,%{p_libdir}/libptscotcherr.so,%{p_libdir}/libptscotcherrexit.so,%{p_libdir}/libptscotchparmetis.so]
 \
        --with-scalapack=1 \
        --with-scalapack-include=%{p_include} \
        --with-scalapack-lib=[%{p_libdir}/libscalapack.so] \
        --with-hypre=1 \
        --with-hypre-include=%{p_include}/hypre \
        --with-hypre-lib=%{p_libdir}/libHYPRE.so \
        --with-hdf5=1 \
        --with-hdf5-lib=%{p_libdir}/libhdf5.so \
        --with-hdf5-include=%{p_include}
 %endif
%else # with hpc
        --with-blas-lapack-lib=$OPENBLAS_LIB/libopenblas.so \
        --with-scalapack-dir=$SCALAPACK_DIR \
        --with-hdf5=1 \
        --with-hdf5-lib=$HDF5_LIB/libhdf5.so \
        --with-hdf5-include=$HDF5_INC
%endif

make 

%install

%if %{without hpc}
export PETSC_DIR=${RPM_BUILD_DIR}/petsc-%{version}
export PETSC_ARCH=%petsc_arch
%endif

make install DESTDIR=%{buildroot}%p_prefix

pushd %{buildroot}%{p_prefix}/lib
ln -sf libpetsc.so.%{version} libpetsc.so
popd

%if %{without hpc}

rm -rf %{buildroot}%{p_prefix}/lib/petsc/conf/*.log
rm -rf %{buildroot}%{p_prefix}/lib/petsc/conf/*.init
rm -rf %{buildroot}%{p_prefix}/lib/petsc/conf/*.py
rm -rf %{buildroot}%{p_prefix}/lib/petsc/conf/modules

# move include dirs outside ptesc dir
mv %{buildroot}%{p_prefix}/include %{buildroot}%{p_base}/
ln -s %{p_include} %{buildroot}%{p_prefix}/include

# create symlink for libs between %%libdir and petscdir
pushd %{buildroot}%{p_libdir}
for f in petsc/%{version}/%petsc_arch/lib/*.so*; do
   ln -s $f .
done
popd

# Module files 
mkdir -p %{buildroot}/usr/share/modules/%{name}-%{petsc_arch}
cat << EOF > 
%{buildroot}/usr/share/modules/%{name}-%{petsc_arch}/%version%{?with_mpi:-%{mpi_family}}
#%%Module
proc ModulesHelp { } {
        global dotversion
        puts stderr "\tLoads the %{name}-%{petsc_arch} %version Environment"
}

module-whatis  "Loads the %{name}-%{petsc_arch} %version Environment."
conflict %{name}-%{petsc_arch}
setenv PETSC_ARCH %{petsc_arch}
setenv PETSC_DIR  %{p_libdir}/petsc/%{version}/%{petsc_arch}
prepend-path LD_LIBRARY_PATH %{p_libdir}/petsc/%{version}/%{petsc_arch}/lib

EOF
%else # with hpc

if [ ! -d %{buildroot}%{p_libdir} -a -d %{buildroot}%{p_base}/lib ]
then
    mkdir -p %{buildroot}%{p_libdir}
    mv  %{buildroot}%{p_base}/lib/lib*.so %{buildroot}%{p_base}/lib/lib*.so.* 
%{buildroot}%{p_libdir}
    mv  %{buildroot}%{p_base}/lib/pkgconfig  %{buildroot}%{p_libdir}
fi

%hpc_write_modules_files
#%%Module1.0#####################################################################

proc ModulesHelp { } {

puts stderr " "
puts stderr "This module loads the PETSc library built with the 
%{compiler_family} compiler"
puts stderr "toolchain and the %{mpi_family} MPI stack."
puts stderr " "

puts stderr "\nVersion %{version}\n"

}
module-whatis "Name: %{pname} built with %{compiler_family} compiler and 
%{mpi_family} MPI"
module-whatis "Version: %{version}"
module-whatis "Category: runtime library"
module-whatis "Description: %{summary}"
module-whatis "%{url}"

set     version                     %{version}

# Require phdf5 (and scalapack for gnu compiler families)

if [ expr [ module-info mode load ] || [module-info mode display ] ] {
    if {  ![is-loaded phdf5]  } {
        module load phdf5
    }
    if { ![is-loaded openblas]  } {
        module load openblas
    }
    if { ![is-loaded scalapack]  } {
        module load scalapack
    }
}

prepend-path    PATH                %{hpc_bindir}
prepend-path    LD_LIBRARY_PATH     %{hpc_libdir}

setenv          %{upcase %pname}_DIR        %{hpc_prefix}
setenv          %{upcase %pname}_BIN        %{hpc_bidnir}

if {[file isdirectory  %{hpc_includedir}]} {
prepend-path    LIBRARY_PATH        %{hpc_libdir}
prepend-path    CPATH               %{hpc_includedir}
prepend-path    C_INCLUDE_PATH      %{hpc_includedir}
prepend-path    CPLUS_INCLUDE_PATH  %{hpc_includedir}
prepend-path    INCLUDE                         %{hpc_includedir}
%hpc_modulefile_add_pkgconfig_path

setenv          %{upcase %pname}_INC        %{hpc_includedir}
setenv          %{upcase %pname}_LIB        %{hpc_libdir}
}
EOF
%endif  # with hpc

# clean up non-include files
find %{buildroot}%{p_include} -name \*.html  -exec rm {} \;
find %{buildroot}%{p_include} -name makefile -exec rm {} \;

sed -i \
        -e 's!^\(#define PETSC_LIB_DIR\).*$!\1 "'%{p_prefix}/lib'"!' \
        -e 's!^\(#define PETSC_DIR\).*$!\1 "'%{p_prefix}'"!' \
        %{buildroot}%{p_include}/petscconf.h

# remove buildroot
find %{buildroot}%{p_prefix}/lib/petsc/conf/ %{buildroot}%{p_prefix}/bin/ -type 
f -print0 | \
while IFS= read -r -d $'\0' line ; do
  if file -e soft $line | grep -q "text" ; then
    sed -i -e 's!%{buildroot}!!g' $line
  fi
done

for i in $(find  %{buildroot}%{p_prefix}/share -perm /a+x -and -type f)
do
    head -1 $i | grep -q "#!" || chmod a-x $i
done

%fdupes %{buildroot}%{p_include}

##
%post -n %{libname %_vers} -p /sbin/ldconfig

%postun -n %{libname %_vers} 
/sbin/ldconfig
%{?with_hpc:%{hpc_module_delete_if_default}}

%files -n %{libname %_vers}
%defattr(-,root,root,-)
%doc docs/manual.pdf
%if %{without hpc}
%dir %{p_libdir}/petsc
%dir %{p_libdir}/petsc/%{version}
%else
%hpc_dirs
%hpc_modules_files
%endif # with hpc
%dir %{p_prefix}
%dir %{p_prefix}/lib
%{p_libdir}/*.so.*
%{!?with_hpc:%{p_prefix}/lib/*.so.*}
%{p_prefix}/share

%files %{?n_pre}devel
%defattr(-,root,root,-)
%{p_prefix}/bin
%{p_prefix}/include
%{p_prefix}/lib/petsc
%{p_prefix}/%{!?with_hpc:lib}%{?with_hpc:%_lib}/pkgconfig
%{p_include}/*
%{p_libdir}/*.so
%if %{without hpc}
%{p_prefix}/lib/*.so
%dir %{_datadir}/modules/%{name}-%{petsc_arch}
%{_datadir}/modules/%{name}-%{petsc_arch}/%version%{?with_mpi:-%{mpi_family}}
%endif

%if %{without mpi}
%files doc
%defattr(-,root,root,-)
%doc docs/*
%endif

%changelog
++++++ _multibuild ++++++
<multibuild>
  <package>serial</package>
  <!-- <package>openmpi</package> -->
  <package>gnu-openmpi-hpc</package>
  <package>gnu-mvapich2-hpc</package>
</multibuild>
++++++ petsc-3.3-fix-error-detection-in-makefile.patch ++++++
---
 makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/makefile
+++ b/makefile
@@ -32,7 +32,7 @@ all: chk_makej
           ${OMAKE} PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} 
all-legacy-local 2>&1 | tee -a ${PETSC_ARCH}/lib/petsc/conf/make.log \
                 | ${GREP} -v "has no symbols"; \
         fi
-       @egrep -i "( error | error: |no such file or directory)" 
${PETSC_ARCH}/lib/petsc/conf/make.log | tee 
${PETSC_ARCH}/lib/petsc/conf/error.log > /dev/null
+       @egrep -i "( error |: error: |no such file or directory)" 
${PETSC_ARCH}/lib/petsc/conf/make.log | tee 
${PETSC_ARCH}/lib/petsc/conf/error.log > /dev/null
        @if test -s ${PETSC_ARCH}/lib/petsc/conf/error.log; then \
            printf 
${PETSC_TEXT_HILIGHT}"**************************ERROR*************************************\n"
 2>&1 | tee -a ${PETSC_ARCH}/lib/petsc/conf/make.log; \
            echo "  Error during compile, check 
${PETSC_ARCH}/lib/petsc/conf/make.log" 2>&1 | tee -a 
${PETSC_ARCH}/lib/petsc/conf/make.log; \
++++++ petsc-3.3-p2-dont-check-for-option-mistakes.patch ++++++
---
 config/configure.py |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/config/configure.py
+++ b/config/configure.py
@@ -356,7 +356,7 @@ def petsc_configure(configure_options):
   try:
     # Command line arguments take precedence (but don't destroy argv[0])
     sys.argv = sys.argv[:1] + configure_options + sys.argv[1:]
-    check_for_option_mistakes(sys.argv)
+    #check_for_option_mistakes(sys.argv)
     check_for_option_changed(sys.argv)
   except (TypeError, ValueError), e:
     emsg = str(e)
++++++ petsc-3.3-p2-fix-shared-libs-sonames.patch ++++++
---
 config/PETSc/Configure.py |    2 ++
 1 file changed, 2 insertions(+)

--- a/config/PETSc/Configure.py
+++ b/config/PETSc/Configure.py
@@ -322,6 +322,7 @@ prepend-path PATH %s
       self.addDefine('SLSUFFIX','""')
     else:
       self.addMakeMacro('SL_LINKER_SUFFIX', self.setCompilers.sharedLibraryExt)
+      self.addMakeMacro('SL_LINKER_SUFFIX', 
self.setCompilers.sharedLibraryExt+'.3')
       self.addDefine('SLSUFFIX','"'+self.setCompilers.sharedLibraryExt+'"')
 
     self.addMakeMacro('SL_LINKER_LIBS','${PETSC_EXTERNAL_LIB_BASIC}')
++++++ petsc-3.3-p2-no-rpath.patch ++++++
---
 config/BuildSystem/config/setCompilers.py |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/config/BuildSystem/config/setCompilers.py
+++ b/config/BuildSystem/config/setCompilers.py
@@ -1384,9 +1384,9 @@ class Configure(config.base.Configure):
       self.pushLanguage(language)
       # test '-R' before '-rpath' as sun compilers [c,fortran] don't give 
proper errors with wrong options.
       if not Configure.isDarwin(self.log):
-        testFlags = ['-Wl,-rpath,', '-R','-rpath ' , '-Wl,-R,']
+        testFlags = []
       else:
-        testFlags = ['-Wl,-rpath,']
+        testFlags = []
       # test '-R' before '-Wl,-rpath' for SUN compilers [as cc on linux 
accepts -Wl,-rpath, but  f90 & CC do not.
       if self.isSun(self.framework.getCompiler(), self.log):
         testFlags.insert(0,'-R')
++++++ petsc-3.7-fix-pastix-detection.patch ++++++
From: Kshitij Kulshreshtha <[email protected]>

The pastix package contains a pkgconfig file in all lower case
so check for the name here in all lower case too.

---
 config/BuildSystem/config/package.py |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/config/BuildSystem/config/package.py
+++ b/config/BuildSystem/config/package.py
@@ -139,7 +139,10 @@ class Package(config.base.Configure):
     self.PACKAGE          = self.name.upper()
     self.package          = self.name.lower()
     self.downloadname     = self.name
-    self.pkgname          = self.name
+    if self.name == 'PaStiX':
+      self.pkgname = self.name.lower()
+    else:
+      self.pkgname          = self.name
     self.downloaddirnames = [self.downloadname];
     return
 

Reply via email to