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 #Source0Download: https://github.com/Eyescale/Collage/releases
13 Source0: https://github.com/Eyescale/Collage/archive/%{version}/%{name}-%{version}.tar.gz
14 # Source0-md5: f0e57c1a2f6196c11ad8ac6029483e56
15 Patch0: boost-1.61.patch
16 Patch1: %{name}-boost.patch
17 Patch2: includes.patch
18 URL: http://libcollage.net/
19 BuildRequires: Lunchbox-devel >= 1.16.0
20 BuildRequires: Eyescale-CMake >= 2017.05
21 BuildRequires: Pression-devel >= 2.0.0
22 BuildRequires: Servus-devel >= 1.5.1
23 BuildRequires: boost-devel >= 1.41.0
24 BuildRequires: cmake >= 3.1
25 %{?with_apidocs:BuildRequires: doxygen}
26 BuildRequires: libibverbs-devel
27 BuildRequires: librdmacm-devel
28 BuildRequires: libstdc++-devel
29 BuildRequires: pkgconfig
30 BuildRequires: rpm-build >= 4.6
31 BuildRequires: rpmbuild(macros) >= 1.605
32 BuildRequires: udt-devel
33 Requires: Lunchbox >= 1.16.0
34 Requires: Pression >= 2.0.0
35 Requires: Servus >= 1.5.1
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 Collage is a cross-platform C++ library for building heterogenous,
40 distributed applications. Among other things, it is the cluster
41 backend for the Equalizer parallel rendering framework. Collage
42 provides an abstraction of different network connections, peer-to-peer
43 messaging, node discovery, synchronization and high-performance,
44 object-oriented, versioned data distribution. Collage is designed for
45 low-overhead multi-threaded execution which allows applications to
46 easily exploit multi-core architectures.
48 %description -l pl.UTF-8
49 Collage to wieloplatformowa biblioteka C++ do tworzenia
50 heterogenicznych, rozproszonych aplikacji. Jest to między innymi
51 backend klastrowy dla szkieletu równoległego renderowania Equalizer.
52 Zapewnia abstrakcję różnych połączeń sieciowych, przesyłania
53 komunikatów między węzłami, wykrywanie węzłów, synchronizację oraz
54 wydajne, zorientowane obiektowo i wersjonowane rozproszenie danych.
55 Collage został zaprojektowany pod kątem lekkiej wielowątkowości, co
56 pozwala aplikacjom łatwo wykorzystywać architektury wielordzeniowe.
59 Summary: Header files for Collage library
60 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Collage
61 Group: Development/Libraries
62 Requires: %{name} = %{version}-%{release}
63 Requires: Lunchbox-devel >= 1.16.0
64 Requires: Pression-devel >= 2.0.0
65 Requires: Servus-devel >= 1.5.1
66 Requires: boost-devel >= 1.41.0
69 Header files for Collage library.
71 %description devel -l pl.UTF-8
72 Pliki nagłówkowe biblioteki Collage.
75 Summary: Collage API documentation
76 Summary(pl.UTF-8): Dokumentacja API biblioteki Collage
81 API documentation for Collage library.
83 %description apidocs -l pl.UTF-8
84 Dokumentacja API biblioteki Collage.
93 ln -s %{_datadir}/Eyescale-CMake CMake/common
99 -DBUILDYARD_DISABLED=ON \
100 -DCOMMON_DISABLE_WERROR=ON
108 rm -rf $RPM_BUILD_ROOT
110 %{__make} -C build install \
111 DESTDIR=$RPM_BUILD_ROOT
113 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/Collage/{doc,tests}
116 rm -rf $RPM_BUILD_ROOT
118 %post -p /sbin/ldconfig
119 %postun -p /sbin/ldconfig
122 %defattr(644,root,root,755)
123 %doc LICENSE.txt README.md doc/{README.IB,README.udt} doc/Changelog.md
124 %attr(755,root,root) %{_bindir}/coNetperf
125 %attr(755,root,root) %{_bindir}/coNodeperf
126 %attr(755,root,root) %{_bindir}/coObjectperf
127 %attr(755,root,root) %{_libdir}/libCollage.so.*.*.*
128 %attr(755,root,root) %ghost %{_libdir}/libCollage.so.7
131 %defattr(644,root,root,755)
132 %attr(755,root,root) %{_libdir}/libCollage.so
134 %dir %{_datadir}/Collage
135 %{_datadir}/Collage/CMake
139 %defattr(644,root,root,755)
140 %doc build/doc/html/*