diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ead52ae --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ucx-1.4.0.tar.gz diff --git a/.ucx.metadata b/.ucx.metadata new file mode 100644 index 0000000..146c352 --- /dev/null +++ b/.ucx.metadata @@ -0,0 +1 @@ +1c009f09d76bad3079fa01b3ba44e327c149248a SOURCES/ucx-1.4.0.tar.gz diff --git a/SPECS/ucx.spec b/SPECS/ucx.spec new file mode 100644 index 0000000..e3aa4fb --- /dev/null +++ b/SPECS/ucx.spec @@ -0,0 +1,90 @@ +%{!?configure_options: %global configure_options %{nil}} + +Name: ucx +Version: 1.4.0 +Release: 3%{?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.4.0/ucx-1.4.0.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. 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 +%{!?_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 +* Thu Aug 16 2018 Andrey Maslennikov 1.3.0-1 +- Explicitly set gcc-c++ as requirements +* Wed Mar 7 2018 Andrey Maslennikov 1.3.0-1 +- See NEWS for details +* Mon Aug 21 2017 Andrey Maslennikov 1.2.1-1 +- Spec file now complies with Fedora guidelines +* Mon Jul 3 2017 Andrey Maslennikov 1.2.0-1 +- Fedora package created