Blob Blame History Raw
%{!?configure_options: %global configure_options %{nil}}

Name: ucx
Version: 1.5.2
Release: 1%{?dist}
Summary: UCX is 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.5.2/ucx-1.5.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: automake autoconf libtool gcc-c++

%description
UCX stands for Unified Communication X. UCX provides an optimized communication
layer for Message Passing (MPI), PGAS/OpenSHMEM libraries and RPC/data-centric
applications. UCX utilizes high-speed networks, such as RDMA (InfiniBand, RoCE,
etc), Cray Gemini or Aries, for inter-node communication. If no such network is
available, TCP is used instead. UCX supports efficient transfer of data in
either main memory (RAM) or GPU memory (through CUDA and ROCm libraries).
In addition, UCX provides efficient intra-node communication, by leveraging the
following shared memory mechanisms: posix, sysv, cma, knem, and xpmem.

%package devel
Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: Header files required to develop with UCX
Group: Development/Libraries

%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 \
           %{?configure_options}
make %{?_smp_mflags} V=1

%install
make DESTDIR=%{buildroot} install
rm -f %{buildroot}%{_libdir}/*.la

%files
%{_libdir}/lib*.so.*
%{_bindir}/uc*
%{_datadir}/ucx
%exclude %{_datadir}/ucx/examples
%doc README AUTHORS NEWS
%{!?_licensedir:%global license %%doc}
%license LICENSE

%files devel
%{_includedir}/uc*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/ucx.pc
%{_datadir}/ucx/examples

%files static
%{_libdir}/lib*.a

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%changelog
* Tue Jun 04 2019 Yossi Itigin <yosefe@mellanox.com> 1.5.2-1
- Bump version to 1.5.2
- See NEWS for details
* Sat Mar 23 2019 Yossi Itigin <yosefe@mellanox.com> 1.5.1-1
- Bump version to 1.5.1
- See NEWS for details
* Tue Nov 6 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.5.0-1
- Bump version to 1.5.0
- See NEWS for details
* Tue Oct 30 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.4.0-1
- See NEWS for details
* Mon Aug 20 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.3.1-1
- See NEWS for details
* Thu Aug 16 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.3.0-1
- Explicitly set gcc-c++ as requirements
* Wed Mar 7 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.3.0-1
- See NEWS for details
* 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