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

Name: ucx
Version: 1.4.0
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/v%{version}/ucx-%{version}.tar.gz

# 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. 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

%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
%license LICENSE

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

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

%ldconfig_scriptlets

%changelog
* Thu Nov 1 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.4.0-1
- Update to 1.4.0

* 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