ucx/ucx.spec
2018-01-15 09:24:20 +00:00

107 lines
3.1 KiB
RPMSpec
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

%{!?configure_options: %global configure_options %{nil}}
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}}
%{!?make_build: %define make_build %{__make} %{?_smp_mflags}}
%{!?make_install: %define make_install %{__make} install DESTDIR=%{?buildroot}}
Name: ucx
Version: 1.2.2
Release: 1%{?dist}
Summary: A communication library implementing high-performance messaging
Group: System Environment/Libraries
License: BSD
URL: http://www.openucx.org
Source: https://github.com/openucx/%{name}/releases/download/v1.2.2/ucx-1.2.2.tar.gz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
# UCX currently supports only the following architectures
ExclusiveArch: aarch64 ppc64le x86_64
BuildRequires: numactl-devel libibverbs-devel
BuildRequires: gcc
Provides: bundled(sglib) = 1.0.4
# UCX doesnt use glibcs malloc because it is modifying ptmalloc library
# to notify UCX about memory map/unmap events
Provides: bundled(ptmalloc) = 2.8.6
%description
UCX stands for Unified Communication X. It requires either RDMA-capable device
(InfiniBand, RoCE, etc), Cray Gemini or Aries, for inter-node communication.
Future versions will support also TCP for inter-node, to lift that hardware
dependency.
In addition, the library can be used for intra-node communication by leveraging
the following shared memory mechanisms: posix, sysv, cma, knem, xpmem.
%package devel
Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: Header files required to develop with UCX
Group: Development/Libraries
# UCX ships both static and dynamic libs to support different use-cases like
# performance benefits.
%package static
Requires: %{name}-devel = %{version}-%{release}
Summary: Static libraries required to develop with UCX
Group: Development/Libraries
%description devel
Provides header files and examples for developing with UCX.
%description static
Provides static libraries required for development with UCX.
%prep
%setup -q
%build
%configure --disable-optimizations \
--disable-logging \
--disable-debug \
--disable-assertions \
--disable-params-check \
--docdir=%{_pkgdocdir} \
CXXFLAGS="%{optflags} -fno-exceptions" \
%{?configure_options}
%make_build V=1
%install
%make_install
rm -f %{buildroot}%{_libdir}/*.la
%files
%{_libdir}/lib*.so.*
%{_bindir}/uc*
%{_pkgdocdir}
%exclude %{_pkgdocdir}/examples
%if "%{?_licensedir}" != ""
%license LICENSE
%exclude %{_pkgdocdir}/LICENSE
%endif
%files devel
%{_includedir}/uc*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/ucx.pc
%{_pkgdocdir}/examples
%files static
%{_libdir}/lib*.a
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%changelog
* Thu Nov 11 2017 Andrey Maslennikov <andreyma@mellanox.com> 1.2.2-1
- Spec file: changes to get approval on Fedora review
* Thu Oct 12 2017 Andrey Maslennikov <andreyma@mellanox.com> 1.2.1-1
- Spec file: new Source link, set default BuildRoot
* Mon Aug 21 2017 Andrey Maslennikov <andreyma@mellanox.com> 1.2.1-1
- Spec file now complies with Fedora guidelines
* Mon Jul 3 2017 Andrey Maslennikov <andreyma@mellanox.com> 1.2.0-1
- Fedora package created