Accepting request 506223 from home:NMoreyChaisemartin:branches:science:HPC

- Use _multibuild to build the various mvapich2-flavours

OBS-URL: https://build.opensuse.org/request/show/506223
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mvapich2?expand=0&rev=11
This commit is contained in:
Nicolas Morey-Chaisemartin
2017-06-26 10:20:27 +00:00
committed by Git OBS Bridge
parent 56e024e801
commit 7e231e1c32
8 changed files with 38 additions and 1519 deletions

View File

@@ -15,25 +15,23 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%nil
#############################################################################
# #
# NOTE: If you modify this spec file, or the .changes file you MUST run #
# 'bash ./pre_checkin.sh' to create spec and changes for #
# mvapich2-testuite. #
# #
#############################################################################
%if "%{name}" == "mvapich2-psm"
%define alt_pack mvapich2
%if "%{flavor}" == ""
%define pack_suff %{nil}
%else
%define alt_pack mvapich2-psm
%define pack_suff -%{flavor}
%endif
%if "%flavor" == "testsuite"
%define testsuite 1
%endif
%define _prefix /usr/%_lib/mpi/gcc/mvapich2
%define _libexecdir %{_prefix}/%{_lib}
%define _benchmarkdir %{_libexecdir}/osu-micro-benchmarks
Name: mvapich2
Name: mvapich2%{pack_suff}
Summary: OSU MVAPICH2 MPI package
License: BSD-3-Clause
Group: Development/Libraries/Parallel
@@ -42,6 +40,7 @@ Release: 0
Source0: http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-%{version}.tar.gz
Source1: mpivars.sh
Source2: mpivars.csh
Source3: _multibuild
Patch0: mvapich2-s390_get_cycles.patch
Patch1: mvapich2-pthread_yield.patch
Patch2: mvapich2-arm-support.patch
@@ -67,7 +66,7 @@ BuildRequires: mpi-selector
BuildRequires: python-devel
BuildRequires: sysfsutils
BuildRequires: xorg-x11-devel
%if "%{name}" == "mvapich2-psm"
%if "%{flavor}" == "psm"
ExclusiveArch: %ix86 x86_64
BuildRequires: infinipath-psm-devel
%ifarch x86_64
@@ -76,13 +75,15 @@ BuildRequires: libpsm2-devel
%endif
Requires: mpi-selector
Conflicts: %{alt_pack}
# Meta provides to make sure all flavour conflicts
Provides: mvapich2-internal
Conflicts: otherproviders(mvapich2-internal)
%description
This is an MPI-3 implementation which includes all MPI-1 features. It
is based on MPICH2 and MVICH.
%if "%{name}" != "mvapich2-testsuite"
%if 0%{!?testsuite:1}
%package devel
Summary: OSU MVAPICH2 MPI package
@@ -91,13 +92,15 @@ Requires: %{name} = %{version}
Requires: libibumad-devel
Requires: libibverbs-devel
Requires: librdmacm-devel
Conflicts: %{alt_pack}-devel
%if "%{name}" == "mvapich2-psm"
%if "%{flavor}" == "psm"
Requires: infinipath-psm-devel
%ifarch x86_64
Requires: libpsm2-devel
%endif
%endif
# Meta provides to make sure all flavour conflicts
Provides: mvapich2-internal-devel
Conflicts: otherproviders(mvapich2-internal-devel)
%description devel
This is an MPI-2 implementation which includes all MPI-1 features. It
@@ -109,13 +112,15 @@ is based on MPICH2 and MVICH.
Summary: OSU MVAPICH2 MPI package - static libraries
Group: Development/Libraries/Parallel
Requires: %{name}-devel = %{version}
Conflicts: %{alt_pack}-devel-static
# Meta provides to make sure all flavour conflicts
Provides: mvapich2-internal-devel-static
Conflicts: otherproviders(mvapich2-internal-devel-static)
%description devel-static
This is an MPI-3 implementation which includes all MPI-1 and MPI-2 features. It
is based on MPICH2 and MVICH. This package contains the static libraries
%endif
%endif # ! testsuite
%prep
%setup -q -n mvapich2-%{version}%{?rc_ver}
@@ -128,13 +133,13 @@ cp /usr/share/automake*/config.* .
#./autogen.sh
%configure --prefix=%_prefix --libdir=%_libdir --mandir=%_mandir \
--sysconfdir=%_sysconfdir --libexecdir=%{_libexecdir} \
%if "%{name}" == "mvapich2-psm"
%if "%{flavor}" == "psm"
--with-device=ch3:psm \
%endif
--without-mpe
make %{?_smp_mflags} V=1
%if "%{name}" == "mvapich2-testsuite"
%if 0%{?testsuite}
%check
make V=1 check
%endif
@@ -156,13 +161,12 @@ rm -f %{buildroot}%{_libdir}/libfmpich.la \
install -m 0644 COPYRIGHT* %{buildroot}%{_datadir}/doc/mvapich2
install -m 0644 CHANGE* %{buildroot}%{_datadir}/doc/mvapich2
%if "%{name}" == "mvapich2-testsuite"
%if 0%{?testsuite}
# Remove everything from testsuite package
# It is all contained by mvapich2 packages
rm -rf %{buildroot}/*
%endif
%if "%{name}" != "mvapich2-testsuite"
%else
mkdir -p %{buildroot}/usr/share/modules/gnu-mvapich2
cat << EOF > %{buildroot}/usr/share/modules/gnu-mvapich2/%{version}
@@ -209,7 +213,7 @@ EOF
%dir %{_bindir}
%dir %{_datadir}
%dir /usr/share/modules
%if "%{name}" == "mvapich2"
%if "%{flavor}" == ""
%dir %{_includedir}
%endif
%dir %{_mandir}
@@ -236,10 +240,6 @@ EOF
%defattr(-,root,root)
%{_libdir}/*.a
%else # mvapich2-testsuite
# Nothing to package here.
%endif
%endif # !testsuite
%changelog