Summary: A high-performance implementation of MPI Name: mpich Version: 3.2.1 Release: 10 License: MIT URL: http://www.mpich.org/ Source0: http://www.mpich.org/static/downloads/%{version}/mpich-%{version}.tar.gz Source1: mpich.macros Source2: mpich.pth.py2 Source3: mpich.pth.py3 Patch0: mpich-modules.patch Patch3: 0003-soften-version-check.patch BuildRequires: gcc gcc-c++ gcc-gfortran hwloc-devel >= 1.8 valgrind-devel BuildRequires: python2-devel python3-devel automake Provides: mpi Provides: mpich2 = %{version} Obsoletes: mpich2 < 3.0 Requires: environment(modules) %description MPICH is a high performance and widely portable implementation of the Message Passing Interface (MPI) standard. %package autoload Summary: Load mpich automatically into profile Requires: mpich = %{version}-%{release} Provides: mpich2-autoload = 3.0.1 Obsoletes: mpich2-autoload < 3.0 %description autoload This package contains profile files that make mpich automatically loaded. %package devel Summary: Development files for mpich Requires: mpich = %{version}-%{release} pkgconfig gcc-gfortran Provides: mpich-devel-static = %{version}-%{release} Provides: mpich2-devel = 3.0.1 Obsoletes: mpich2-devel < 3.0 %description devel Contains development headers and libraries for mpich. %package help Summary: Documentations and examples for mpich BuildArch: noarch Requires: mpich-devel = %{version}-%{release} Provides: mpich2-doc = 3.0.1 Provides: mpich-doc = %{version}-%{release} Obsoletes: mpich2-doc < 3.0 Obsoletes: mpich-doc < %{version}-%{release} %description help Contains documentations, examples and man-pages for mpich. %package -n python2-mpich Summary: mpich support for Python 2 %description -n python2-mpich mpich support for Python 2. %package -n python3-mpich Summary: mpich support for Python 3 %description -n python3-mpich mpich support for Python 3. %{!?opt_cc: %global opt_cc gcc} %{!?opt_fc: %global opt_fc gfortran} %{!?opt_f77: %global opt_f77 gfortran} %{!?opt_cc_cflags: %global opt_cc_cflags %{optflags}} %{!?opt_fc_fflags: %global opt_fc_fflags %{optflags}} %{!?opt_f77_fflags: %global opt_f77_fflags %{optflags}} %ifarch aarch64 %global m_option "" %else %global m_option -m64 %endif %global selected_channels ch3:nemesis %global XFLAGS -fPIC %prep %autosetup -p1 %build %configure \ --enable-sharedlibs=gcc \ --enable-shared \ --enable-static=no \ --enable-lib-depend \ --disable-rpath \ --disable-silent-rules \ --enable-fc \ --with-device=%{selected_channels} \ --with-pm=hydra:gforker \ --includedir=%{_includedir}/mpich-%{_arch} \ --bindir=%{_libdir}/mpich/bin \ --libdir=%{_libdir}/mpich/lib \ --datadir=%{_datadir}/mpich \ --mandir=%{_mandir}/mpich-%{_arch} \ --docdir=%{_datadir}/mpich/doc \ --htmldir=%{_datadir}/mpich/doc \ --with-hwloc-prefix=system \ FC=%{opt_fc} \ F77=%{opt_f77} \ CFLAGS="%{m_option} -O2 %{?XFLAGS}" \ CXXFLAGS="%{m_option} -O2 %{?XFLAGS}" \ FCFLAGS="%{m_option} -O2 %{?XFLAGS}" \ FFLAGS="%{m_option} -O2 %{?XFLAGS}" \ LDFLAGS='-Wl,-z,noexecstack' \ MPICHLIB_CFLAGS="%{?opt_cc_cflags}" \ MPICHLIB_CXXFLAGS="%{optflags}" \ MPICHLIB_FCFLAGS="%{?opt_fc_fflags}" \ MPICHLIB_FFLAGS="%{?opt_f77_fflags}" # MPICHLIB_LDFLAGS='-Wl,-z,noexecstack' \ # MPICH_MPICC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \ # MPICH_MPICXX_FLAGS="%{m_option} -O2 %{?XFLAGS}" \ # MPICH_MPIFC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \ # MPICH_MPIF77_FLAGS="%{m_option} -O2 %{?XFLAGS}" # --with-openpa-prefix=embedded \ # FCFLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/mpich %{?XFLAGS}" \ sed -r -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -r -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool sed -i -e 's| -shared | -Wl,--as-needed\0|g' libtool %make_build V=1 %install %make_install mkdir -p %{buildroot}%{_fmoddir}/mpich mv %{buildroot}%{_includedir}/mpich-*/*.mod %{buildroot}%{_fmoddir}/mpich/ sed -r -i 's|^modincdir=.*|modincdir=%{_fmoddir}/mpich|' %{buildroot}%{_libdir}/mpich/bin/mpifort mkdir -p %{buildroot}%{_sysconfdir}/modulefiles/mpi sed -r 's|%{_bindir}|%{_libdir}/mpich/bin|; s|@LIBDIR@|%{_libdir}/mpich|; s|@MPINAME@|mpich|; s|@py2sitearch@|%{python2_sitearch}|; s|@py3sitearch@|%{python3_sitearch}|; s|@ARCH@|%{_arch}|; s|@fortranmoddir@|%{_fmoddir}|; ' \ %{buildroot}%{_sysconfdir}/modulefiles/mpi/mpich-%{_arch} mkdir -p %{buildroot}%{_sysconfdir}/profile.d cat >%{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.sh < - 3.2.1-10 - del rpm-mpi-hooks deps. * Thu Nov 25 2019 openEuler Buildteam - 3.2.1-9 - Package init