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 URL: http://libcollage.net/
17 BuildRequires: Lunchbox-devel >= 1.16.0
18 BuildRequires: Eyescale-CMake >= 2017.05
19 BuildRequires: Pression-devel >= 2.0.0
20 BuildRequires: Servus-devel >= 1.5.1
21 BuildRequires: boost-devel >= 1.41.0
22 BuildRequires: cmake >= 3.1
23 %{?with_apidocs:BuildRequires: doxygen}
24 BuildRequires: libibverbs-devel
25 BuildRequires: librdmacm-devel
26 BuildRequires: libstdc++-devel
27 BuildRequires: pkgconfig
28 BuildRequires: udt-devel
29 Requires: Lunchbox >= 1.16.0
30 Requires: Pression >= 2.0.0
31 Requires: Servus >= 1.5.1
32 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35 Collage is a cross-platform C++ library for building heterogenous,
36 distributed applications. Among other things, it is the cluster
37 backend for the Equalizer parallel rendering framework. Collage
38 provides an abstraction of different network connections, peer-to-peer
39 messaging, node discovery, synchronization and high-performance,
40 object-oriented, versioned data distribution. Collage is designed for
41 low-overhead multi-threaded execution which allows applications to
42 easily exploit multi-core architectures.
44 %description -l pl.UTF-8
45 Collage to wieloplatformowa biblioteka C++ do tworzenia
46 heterogenicznych, rozproszonych aplikacji. Jest to między innymi
47 backend klastrowy dla szkieletu równoległego renderowania Equalizer.
48 Zapewnia abstrakcję różnych połączeń sieciowych, przesyłania
49 komunikatów między węzłami, wykrywanie węzłów, synchronizację oraz
50 wydajne, zorientowane obiektowo i wersjonowane rozproszenie danych.
51 Collage został zaprojektowany pod kątem lekkiej wielowątkowości, co
52 pozwala aplikacjom łatwo wykorzystywać architektury wielordzeniowe.
55 Summary: Header files for Collage library
56 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Collage
57 Group: Development/Libraries
58 Requires: %{name} = %{version}-%{release}
59 Requires: Lunchbox-devel >= 1.16.0
60 Requires: Pression-devel >= 2.0.0
61 Requires: Servus-devel >= 1.5.1
62 Requires: boost-devel >= 1.41.0
65 Header files for Collage library.
67 %description devel -l pl.UTF-8
68 Pliki nagłówkowe biblioteki Collage.
71 Summary: Collage API documentation
72 Summary(pl.UTF-8): Dokumentacja API biblioteki Collage
74 %if "%{_rpmversion}" >= "5"
79 API documentation for Collage library.
81 %description apidocs -l pl.UTF-8
82 Dokumentacja API biblioteki Collage.
89 ln -s %{_datadir}/Eyescale-CMake CMake/common
95 -DBUILDYARD_DISABLED=ON
103 rm -rf $RPM_BUILD_ROOT
105 %{__make} -C build install \
106 DESTDIR=$RPM_BUILD_ROOT
108 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/Collage/{doc,tests}
111 rm -rf $RPM_BUILD_ROOT
113 %post -p /sbin/ldconfig
114 %postun -p /sbin/ldconfig
117 %defattr(644,root,root,755)
118 %doc LICENSE.txt README.md doc/{README.IB,README.udt} doc/Changelog.md
119 %attr(755,root,root) %{_bindir}/coNetperf
120 %attr(755,root,root) %{_bindir}/coNodeperf
121 %attr(755,root,root) %{_bindir}/coObjectperf
122 %attr(755,root,root) %{_libdir}/libCollage.so.*.*.*
123 %attr(755,root,root) %ghost %{_libdir}/libCollage.so.7
126 %defattr(644,root,root,755)
127 %attr(755,root,root) %{_libdir}/libCollage.so
129 %dir %{_datadir}/Collage
130 %{_datadir}/Collage/CMake
134 %defattr(644,root,root,755)
135 %doc build/doc/html/*