107 lines
3.1 KiB
RPMSpec
107 lines
3.1 KiB
RPMSpec
|
%{!?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 doesn’t use glibc’s 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
|