3 %bcond_without apidocs # do not build and package API docs
5 Summary: Cross-platform C++ network library
6 Summary(pl.UTF-8): Wieloplatformowa biblioteka sieciowa dla C++
12 Source0: https://github.com/Eyescale/Collage/archive/%{version}/%{name}-%{version}.tar.gz
13 # Source0-md5: cf9bb83c674aa7c522878f42e4751e2e
14 Patch0: boost-1.61.patch
15 URL: http://libcollage.net/
16 BuildRequires: Lunchbox-devel >= 1.13.0
17 BuildRequires: Eyescale-CMake >= 2016.04
18 BuildRequires: Pression-devel
19 BuildRequires: boost-devel >= 1.41.0
20 BuildRequires: cmake >= 2.8
21 %{?with_apidocs:BuildRequires: doxygen}
22 BuildRequires: libibverbs-devel
23 BuildRequires: librdmacm-devel
24 BuildRequires: libstdc++-devel
25 BuildRequires: pkgconfig
26 BuildRequires: udt-devel
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30 Collage is a cross-platform C++ library for building heterogenous,
31 distributed applications. Among other things, it is the cluster
32 backend for the Equalizer parallel rendering framework. Collage
33 provides an abstraction of different network connections, peer-to-peer
34 messaging, node discovery, synchronization and high-performance,
35 object-oriented, versioned data distribution. Collage is designed for
36 low-overhead multi-threaded execution which allows applications to
37 easily exploit multi-core architectures.
39 %description -l pl.UTF-8
40 Collage to wieloplatformowa biblioteka C++ do tworzenia
41 heterogenicznych, rozproszonych aplikacji. Jest to między innymi
42 backend klastrowy dla szkieletu równoległego renderowania Equalizer.
43 Zapewnia abstrakcję różnych połączeń sieciowych, przesyłania
44 komunikatów między węzłami, wykrywanie węzłów, synchronizację oraz
45 wydajne, zorientowane obiektowo i wersjonowane rozproszenie danych.
46 Collage został zaprojektowany pod kątem lekkiej wielowątkowości, co
47 pozwala aplikacjom łatwo wykorzystywać architektury wielordzeniowe.
50 Summary: Header files for Collage library
51 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Collage
52 Group: Development/Libraries
53 Requires: %{name} = %{version}-%{release}
56 Header files for Collage library.
58 %description devel -l pl.UTF-8
59 Pliki nagłówkowe biblioteki Collage.
62 Summary: Collage API documentation
63 Summary(pl.UTF-8): Dokumentacja API biblioteki Collage
65 %if "%{_rpmversion}" >= "5"
70 API documentation for Collage library.
72 %description apidocs -l pl.UTF-8
73 Dokumentacja API biblioteki Collage.
79 ln -s %{_datadir}/Eyescale-CMake CMake/common
86 -DBUILDYARD_DISABLED=ON
94 rm -rf $RPM_BUILD_ROOT
96 %{__make} -C build install \
97 DESTDIR=$RPM_BUILD_ROOT
99 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/Collage/{doc,tests}
102 rm -rf $RPM_BUILD_ROOT
104 %post -p /sbin/ldconfig
105 %postun -p /sbin/ldconfig
108 %defattr(644,root,root,755)
109 %doc LICENSE.txt README.md doc/{README.IB,README.udt} doc/Changelog.md
110 %attr(755,root,root) %{_bindir}/coNetperf
111 %attr(755,root,root) %{_bindir}/coNodeperf
112 %attr(755,root,root) %{_bindir}/coObjectperf
113 %attr(755,root,root) %{_libdir}/libCollage.so.*.*.*
114 %attr(755,root,root) %ghost %{_libdir}/libCollage.so.6
117 %defattr(644,root,root,755)
118 %attr(755,root,root) %{_libdir}/libCollage.so
120 %dir %{_datadir}/Collage
121 %{_datadir}/Collage/CMake
125 %defattr(644,root,root,755)
126 %doc build/doc/html/*