1 # TODO: separate fortran lib/tools? c++ too?
4 %bcond_with blcr # blcr application checkpointing support (no support for recent kernels)
6 Summary: Portable MPI Model Implementation
7 Summary(pl.UTF-8): Przenośna implementacja standardu MPI
12 Group: Development/Libraries
13 Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz
14 # Source0-md5: 2ab544607986486562e076b83937bba2
15 Patch0: %{name}-sh.patch
16 Patch1: x32-misdetected-as-i386.patch
17 URL: https://www.mpich.org/
18 BuildRequires: autoconf >= 2.63
19 BuildRequires: automake >= 1:1.12.3
20 %{?with_blcr:BuildRequires: blcr-devel}
21 BuildRequires: ftb-devel
22 BuildRequires: gcc-fortran
23 BuildRequires: hwloc-devel >= 1.9.0
24 BuildRequires: libstdc++-devel
25 BuildRequires: libtool >= 2:2
26 BuildRequires: openpa-devel
27 BuildRequires: rpmbuild(macros) >= 1.750
28 Requires: hwloc-libs >= 1.9.0
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 MPICH is a high-performance and widely portable implementation of the
34 MPI-3.0 standard from the Argonne National Laboratory. This release
35 has all MPI 3.0 functions and features required by the standard with
36 the exception of support for the "external32" portable I/O format and
37 user-defined data representations for I/O.
39 This package contains MPICH shared libraries and runtime utilities,
42 %description -l pl.UTF-8
43 MPICH to wysoko wydajna i przenośna implementacja standardu MPI-3.0
44 pochodząca z Argonne National Laboratory. To wydanie zawiera całą
45 funkcjonalność i możliwości MPI 3.0 wymagane przez standard z
46 wyjątkiem obsługi przenośnego formatu we-wy "external32" oraz
47 definiowanych przez użytkownika reprezentacji danych dla we/wy.
49 Ten pakiet zawiera biblioteki współdzielone MPICH oraz narzędzia
50 uruchomieniowe, w tym Hydra PM.
53 Summary: MPICH header files and development tools
54 Summary(pl.UTF-8): Pliki nagłówkowe oraz narzędzia programistyczne MPICH
56 Requires: %{name} = %{version}-%{release}
58 Requires: libstdc++-devel
59 Requires: openpa-devel
63 MPICH header files and development tools.
66 Pliki nagłówkowe oraz narzędzia programistyczne MPICH.
69 Summary: MPICH static libraries
70 Summary(pl.UTF-8): Biblioteki statyczne MPICH
71 Group: Development/Libraries
72 Requires: %{name}-devel = %{version}-%{release}
76 MPICH static libraries.
78 %description static -l pl.UTF-8
79 Biblioteki statyczne MPICH.
88 %{__aclocal} -I confdb
92 %define gfortran_version %(gfortran -dumpversion)
93 %if "%{_ver_ge '%{gfortran_version}' '10.0'}" == "1"
94 FFLAGS="%{rpmcflags} -fallow-argument-mismatch"
95 FCFLAGS="%{rpmcflags} -fallow-argument-mismatch"
98 --disable-silent-rules \
99 %{?with_blcr:--enable-checkpointing} \
100 --with-hwloc-prefix=system \
101 %{!?with_blcr:--with-hydra-ckpointlib=none} \
102 --with-openpa-prefix=system
107 rm -rf $RPM_BUILD_ROOT
110 DESTDIR=$RPM_BUILD_ROOT
112 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
113 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
114 %{__rm} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/{cpi,cpi.o,examples.sln}
117 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libopa.so
119 # PDFs packaged as %doc
120 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/mpich
123 rm -rf $RPM_BUILD_ROOT
125 %post -p /sbin/ldconfig
126 %postun -p /sbin/ldconfig
129 %defattr(644,root,root,755)
130 %doc CHANGES COPYRIGHT README README.envvar RELEASE_NOTES doc/{installguide/install.pdf,logging/logging.pdf,userguide/user.pdf}
131 %attr(755,root,root) %{_bindir}/hydra_nameserver
132 %attr(755,root,root) %{_bindir}/hydra_persist
133 %attr(755,root,root) %{_bindir}/hydra_pmi_proxy
134 %attr(755,root,root) %{_bindir}/mpichversion
135 %attr(755,root,root) %{_bindir}/mpiexec
136 %attr(755,root,root) %{_bindir}/mpiexec.hydra
137 %attr(755,root,root) %{_bindir}/mpirun
138 %attr(755,root,root) %{_bindir}/mpivars
139 %attr(755,root,root) %{_bindir}/parkill
140 %attr(755,root,root) %{_libdir}/libmpi.so.*.*.*
141 %attr(755,root,root) %ghost %{_libdir}/libmpi.so.12
142 %attr(755,root,root) %{_libdir}/libmpicxx.so.*.*.*
143 %attr(755,root,root) %ghost %{_libdir}/libmpicxx.so.12
144 %attr(755,root,root) %{_libdir}/libmpifort.so.*.*.*
145 %attr(755,root,root) %ghost %{_libdir}/libmpifort.so.12
146 %{_mandir}/man1/hydra_nameserver.1*
147 %{_mandir}/man1/hydra_persist.1*
148 %{_mandir}/man1/hydra_pmi_proxy.1*
149 %{_mandir}/man1/mpiexec.1*
152 %defattr(644,root,root,755)
153 %attr(755,root,root) %{_bindir}/mpic++
154 %attr(755,root,root) %{_bindir}/mpicc
155 %attr(755,root,root) %{_bindir}/mpicxx
156 %attr(755,root,root) %{_bindir}/mpif77
157 %attr(755,root,root) %{_bindir}/mpif90
158 %attr(755,root,root) %{_bindir}/mpifort
159 %attr(755,root,root) %{_libdir}/libmpi.so
160 %attr(755,root,root) %{_libdir}/libmpicxx.so
161 %attr(755,root,root) %{_libdir}/libmpifort.so
162 %attr(755,root,root) %{_libdir}/libfmpich.so
163 %attr(755,root,root) %{_libdir}/libmpich.so
164 %attr(755,root,root) %{_libdir}/libmpichcxx.so
165 %attr(755,root,root) %{_libdir}/libmpichf90.so
166 %attr(755,root,root) %{_libdir}/libmpl.so
168 %{_libdir}/libmpicxx.la
169 %{_libdir}/libmpifort.la
170 %{_includedir}/mpi*.h
171 %{_includedir}/mpi*.mod
172 %{_pkgconfigdir}/mpich.pc
173 %{_mandir}/man1/mpicc.1*
174 %{_mandir}/man1/mpicxx.1*
175 %{_mandir}/man1/mpif77.1*
176 %{_mandir}/man1/mpifort.1*
177 %{_mandir}/man3/MPIX_*.3*
178 %{_mandir}/man3/MPI_*.3*
179 %{_examplesdir}/%{name}-%{version}
182 %defattr(644,root,root,755)
184 %{_libdir}/libmpicxx.a
185 %{_libdir}/libmpifort.a