File openmpi.spec of Package openmpi
%def_enable static
%def_enable vt
%def_with verbs
%def_without hwlock
%def_without sqlite3
Name: openmpi
Version: 1.8.4
Release: 1
Summary: A powerful implementaion of MPI
License: BSD-3-Clause
Group: Development/Libraries/Parallel
Url: http://www.open-mpi.org
Source0: %url/software/ompi/v1.8/downloads/openmpi-%version.tar.bz2
#Source8: baselibs.conf
Patch1: %name-no_date_and_time.patch
Patch2: %name-no_network_in_build.patch
Patch3: %name-1.8.3-fix-bashisms.patch
Requires: lib%name = %version-%release
#BuildRequires: autoconf automake libtool libtool-ltdl-devel
BuildRequires: gcc-c++ gcc-fortran
BuildRequires: pkg-config
%{?_with_verbs:BuildRequires: libibumad-devel libibverbs-devel}
%{?_with_hwloc:BuildRequires: hwloc-devel}
%{?_with_sqlite3:BuildRequires: sqlite3-devel}
%ifarch x86_64
BuildRequires: numactl
%endif
%ifarch %ix86 x86_64
BuildRequires: infinipath-psm-devel
%endif
BuildRequires: fdupes
%description
Open MPI is a project combining technologies and resources from several other
projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI
library available.
This package contains all the tools necessary to compile, link, and run Open MPI
jobs.
%package -n lib%name
Summary: OpenMPI runtime libraries
Group: System/Libraries
Provides: %name-libs = %version-%release
Obsoletes: %name-libs
%description -n lib%name
Open MPI is a project combining technologies and resources from several other
projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI
library available.
This package contains the OpenMPI shared libraries.
%package devel
Summary: SDK for openMPI
Group: Development/Libraries/Parallel
Provides: lib%name-devel = %version-release
Requires: lib%name = %version-%release
Requires: libstdc++-devel
%{?_with_verbs:Requires: libibumad-devel libibverbs-devel}
%description devel
Open MPI is a project combining technologies and resources from several other
projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI
library available.
This package contains all the wrappers necessary to compile, link, and run
Open MPI jobs.
%package devel-static
Summary: Static openMPI libraries
Group: Development/Libraries/Parallel
Provides: lib%name-devel-static = %version-release
Requires: %name-devel = %version-%release
%description devel-static
This package contains the static library files, which are packaged separately
from the dynamic library and headers.
%prep
%setup -q
%patch1
#patch2
%patch3 -p1
%build
#./autogen.sh
%configure \
%{subst_enable static} \
%{subst_enable vt} \
--enable-builtin-atomics \
%{subst_with sqlite3} \
%{subst_with hwloc} \
%{subst_with verbs} \
%ifarch %ix86 x86_64
--with-psm \
%endif
--with-devel-headers
make %{?_smp_mflags} V=1
%install
%make_install
rm -f %buildroot%_libdir/{,%name/}*.la
%fdupes %buildroot%_mandir
%fdupes %buildroot%_datadir/%name
%fdupes %buildroot%_includedir/%name
%fdupes %buildroot%_pkgconfigdir
%post -n lib%name -p /sbin/ldconfig
%postun -n lib%name -p /sbin/ldconfig
%files
%defattr(-, root, root)
%doc NEWS README AUTHORS LICENSE
%config %_sysconfdir/%name-default-hostfile
%config %_sysconfdir/%name-mca-params.conf
%_datadir/%name/doc
%_datadir/%name/amca-param-sets
%_bindir/mpirun
%_bindir/oshrun
%_bindir/shmemrun
%_bindir/ompi*
%_bindir/orte*
%exclude %_bindir/ortecc
%_bindir/oshmem_info
%_mandir/man1/oshmem_info.*
%_mandir/man1/orte*
%_mandir/man1/mpirun.*
%_mandir/man1/ompi*
%_mandir/man7/*
%dir %_datadir/%name
%_datadir/%name/*.txt
%exclude %_datadir/%name/*-wrapper-data.txt
%_datadir/%name/mca-btl-openib-device-params.ini
%_datadir/%name/mca-coll-ml.config
%files -n lib%name
%defattr(-,root,root)
%_libdir/*.so.*
%dir %_libdir/%name
%_libdir/%name/*.so
%files devel
%defattr(-,root,root)
%doc %_datadir/vampirtrace
%_sysconfdir/openmpi-totalview.tcl
%{?_enable_vt:#_sysconfdir/vtsetup-*}
%_bindir/mpi*
%exclude %_bindir/mpirun
%_bindir/opa*
%_bindir/ortecc
%_bindir/oshcc
%_bindir/oshfort
%_bindir/ot*
%_bindir/shmemcc
%_bindir/shmemfort
%{?_enable_vt:%_bindir/vt*}
%_mandir/man1/mpi*
%exclude %_mandir/man1/mpirun.*
%_mandir/man1/opal*
%_mandir/man3/*
%_datadir/%name/*-wrapper-data.txt
%_datadir/%name/%name-valgrind.supp
%_includedir/*
%_libdir/*.so
%{?_enable_vt:%_libdir/libvt-pomp.a}
%_libdir/*.mod
%_pkgconfigdir/*
%if_enabled static
%files devel-static
%defattr(-, root, root)
%_libdir/*.a
%_libdir/%name/*.a
%{?_enable_vt:%exclude %_libdir/libvt-pomp.a}
%endif
%changelog