-# TODO: separate fortran lib/tools? c++ too?
#
# Conditional build:
%bcond_with blcr # blcr application checkpointing support (no support for recent kernels)
%package devel
Summary: MPICH header files and development tools
Summary(pl.UTF-8): Pliki nagłówkowe oraz narzędzia programistyczne MPICH
-Group: Development
+Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: gcc-fortran
-Requires: libstdc++-devel
Requires: openpa-devel
Provides: mpi-devel
%description static -l pl.UTF-8
Biblioteki statyczne MPICH.
+%package c++
+Summary: MPICH C++ library
+Summary(pl.UTF-8): Biblioteka MPICH dla C++
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Provides: mpi-c++
+
+%description c++
+MPICH C++ library.
+
+%description c++ -l pl.UTF-8
+Biblioteka MPICH dla C++.
+
+%package c++-devel
+Summary: MPICH C++ development package
+Summary(pl.UTF-8): Pakiet programistyczny MPICH dla C++
+Group: Development/Libraries
+Requires: %{name}-c++ = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Requires: libstdc++-devel
+Provides: mpi-c++-devel
+
+%description c++-devel
+MPICH C++ development package.
+
+%description c++-devel -l pl.UTF-8
+Pakiet programistyczny MPICH dla C++.
+
+%package c++-static
+Summary: MPICH C++ static library
+Summary(pl.UTF-8): Biblioteka statyczna MPICH dla C++
+Group: Development/Libraries
+Requires: %{name}-c++-devel = %{version}-%{release}
+Provides: mpi-c++-static
+
+%description c++-static
+MPICH C++ static library.
+
+%description c++-static -l pl.UTF-8
+Biblioteka statyczna MPICH dla C++.
+
+%package fortran
+Summary: MPICH Fortran library
+Summary(pl.UTF-8): Biblioteka MPICH dla Fortranu
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Provides: mpi-fortran
+
+%description fortran
+MPICH Fortran library.
+
+%description fortran -l pl.UTF-8
+Biblioteka MPICH dla Fortranu.
+
+%package fortran-devel
+Summary: MPICH Fortran development package
+Summary(pl.UTF-8): Pakiet programistyczny MPICH dla Fortranu
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-fortran = %{version}-%{release}
+Requires: gcc-fortran
+Provides: mpi-fortran-devel
+
+%description fortran-devel
+MPICH Fortran development package.
+
+%description fortran-devel -l pl.UTF-8
+Pakiet programistyczny MPICH dla Fortranu.
+
+%package fortran-static
+Summary: MPICH Fortran static library
+Summary(pl.UTF-8): Biblioteka statyczna MPICH dla Fortranu
+Group: Development/Libraries
+Requires: %{name}-fortran-devel = %{version}-%{release}
+Provides: mpi-fortran-static
+
+%description fortran-static
+MPICH Fortran static library.
+
+%description fortran-static -l pl.UTF-8
+Biblioteka statyczna MPICH dla Fortranu.
+
%prep
%setup -q
%patch0 -p1
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%post c++ -p /sbin/ldconfig
+%postun c++ -p /sbin/ldconfig
+
+%post fortran -p /sbin/ldconfig
+%postun fortran -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc CHANGES COPYRIGHT README README.envvar RELEASE_NOTES doc/{installguide/install.pdf,logging/logging.pdf,userguide/user.pdf}
%attr(755,root,root) %{_bindir}/parkill
%attr(755,root,root) %{_libdir}/libmpi.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libmpi.so.12
-%attr(755,root,root) %{_libdir}/libmpicxx.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmpicxx.so.12
-%attr(755,root,root) %{_libdir}/libmpifort.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmpifort.so.12
%{_mandir}/man1/hydra_nameserver.1*
%{_mandir}/man1/hydra_persist.1*
%{_mandir}/man1/hydra_pmi_proxy.1*
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/mpic++
%attr(755,root,root) %{_bindir}/mpicc
-%attr(755,root,root) %{_bindir}/mpicxx
-%attr(755,root,root) %{_bindir}/mpif77
-%attr(755,root,root) %{_bindir}/mpif90
-%attr(755,root,root) %{_bindir}/mpifort
%attr(755,root,root) %{_libdir}/libmpi.so
-%attr(755,root,root) %{_libdir}/libmpicxx.so
-%attr(755,root,root) %{_libdir}/libmpifort.so
-%attr(755,root,root) %{_libdir}/libfmpich.so
%attr(755,root,root) %{_libdir}/libmpich.so
-%attr(755,root,root) %{_libdir}/libmpichcxx.so
-%attr(755,root,root) %{_libdir}/libmpichf90.so
%attr(755,root,root) %{_libdir}/libmpl.so
%{_libdir}/libmpi.la
-%{_libdir}/libmpicxx.la
-%{_libdir}/libmpifort.la
-%{_includedir}/mpi*.h
-%{_includedir}/mpi*.mod
+%{_includedir}/mpi.h
+%{_includedir}/mpio.h
%{_pkgconfigdir}/mpich.pc
%{_mandir}/man1/mpicc.1*
-%{_mandir}/man1/mpicxx.1*
-%{_mandir}/man1/mpif77.1*
-%{_mandir}/man1/mpifort.1*
%{_mandir}/man3/MPIX_*.3*
%{_mandir}/man3/MPI_*.3*
%{_examplesdir}/%{name}-%{version}
%files static
%defattr(644,root,root,755)
%{_libdir}/libmpi.a
+
+%files c++
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libmpicxx.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmpicxx.so.12
+
+%files c++-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/mpic++
+%attr(755,root,root) %{_bindir}/mpicxx
+%attr(755,root,root) %{_libdir}/libmpicxx.so
+%attr(755,root,root) %{_libdir}/libmpichcxx.so
+%{_libdir}/libmpicxx.la
+%{_includedir}/mpicxx.h
+%{_mandir}/man1/mpicxx.1*
+
+%files c++-static
+%defattr(644,root,root,755)
%{_libdir}/libmpicxx.a
+
+%files fortran
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libmpifort.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmpifort.so.12
+
+%files fortran-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/mpif77
+%attr(755,root,root) %{_bindir}/mpif90
+%attr(755,root,root) %{_bindir}/mpifort
+%attr(755,root,root) %{_libdir}/libmpifort.so
+%attr(755,root,root) %{_libdir}/libfmpich.so
+%attr(755,root,root) %{_libdir}/libmpichf90.so
+%{_libdir}/libmpifort.la
+%{_includedir}/mpif.h
+%{_includedir}/mpiof.h
+%{_includedir}/mpi*.mod
+%{_mandir}/man1/mpif77.1*
+%{_mandir}/man1/mpifort.1*
+
+%files fortran-static
+%defattr(644,root,root,755)
%{_libdir}/libmpifort.a