]>
Commit | Line | Data |
---|---|---|
262ad267 JB |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without apidocs # do not build and package API docs | |
59a55be8 | 4 | |
262ad267 JB |
5 | Summary: Cross-platform C++ network library |
6 | Summary(pl.UTF-8): Wieloplatformowa biblioteka sieciowa dla C++ | |
7 | Name: Collage | |
44e57821 | 8 | Version: 1.7.0 |
367897a8 | 9 | Release: 8 |
262ad267 JB |
10 | License: LGPL v2.1 |
11 | Group: Libraries | |
44e57821 | 12 | #Source0Download: https://github.com/Eyescale/Collage/releases |
262ad267 | 13 | Source0: https://github.com/Eyescale/Collage/archive/%{version}/%{name}-%{version}.tar.gz |
44e57821 | 14 | # Source0-md5: f0e57c1a2f6196c11ad8ac6029483e56 |
ced5b5c1 | 15 | Patch0: boost-1.61.patch |
61f14322 | 16 | Patch1: %{name}-boost.patch |
6d279807 | 17 | Patch2: includes.patch |
262ad267 | 18 | URL: http://libcollage.net/ |
44e57821 JB |
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 | |
262ad267 | 23 | BuildRequires: boost-devel >= 1.41.0 |
44e57821 | 24 | BuildRequires: cmake >= 3.1 |
262ad267 JB |
25 | %{?with_apidocs:BuildRequires: doxygen} |
26 | BuildRequires: libibverbs-devel | |
27 | BuildRequires: librdmacm-devel | |
28 | BuildRequires: libstdc++-devel | |
29 | BuildRequires: pkgconfig | |
54e13fd9 | 30 | BuildRequires: rpm-build >= 4.6 |
93cca369 | 31 | BuildRequires: rpmbuild(macros) >= 1.605 |
262ad267 | 32 | BuildRequires: udt-devel |
44e57821 JB |
33 | Requires: Lunchbox >= 1.16.0 |
34 | Requires: Pression >= 2.0.0 | |
35 | Requires: Servus >= 1.5.1 | |
262ad267 JB |
36 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
37 | ||
38 | %description | |
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. | |
47 | ||
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. | |
57 | ||
58 | %package devel | |
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} | |
44e57821 JB |
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 | |
262ad267 JB |
67 | |
68 | %description devel | |
69 | Header files for Collage library. | |
70 | ||
71 | %description devel -l pl.UTF-8 | |
72 | Pliki nagłówkowe biblioteki Collage. | |
73 | ||
74 | %package apidocs | |
75 | Summary: Collage API documentation | |
76 | Summary(pl.UTF-8): Dokumentacja API biblioteki Collage | |
77 | Group: Documentation | |
59a55be8 | 78 | BuildArch: noarch |
262ad267 JB |
79 | |
80 | %description apidocs | |
81 | API documentation for Collage library. | |
82 | ||
83 | %description apidocs -l pl.UTF-8 | |
84 | Dokumentacja API biblioteki Collage. | |
85 | ||
86 | %prep | |
ced5b5c1 JR |
87 | %setup -q |
88 | %patch0 -p1 | |
61f14322 | 89 | %patch1 -p1 |
6d279807 | 90 | %patch2 -p1 |
262ad267 | 91 | |
44e57821 | 92 | rmdir CMake/common |
ced5b5c1 | 93 | ln -s %{_datadir}/Eyescale-CMake CMake/common |
262ad267 JB |
94 | |
95 | %build | |
96 | install -d build | |
97 | cd build | |
98 | %cmake .. \ | |
0f6053fd JP |
99 | -DBUILDYARD_DISABLED=ON \ |
100 | -DCOMMON_DISABLE_WERROR=ON | |
262ad267 JB |
101 | %{__make} |
102 | ||
103 | %if %{with apidocs} | |
104 | doxygen doc/Doxyfile | |
105 | %endif | |
106 | ||
107 | %install | |
108 | rm -rf $RPM_BUILD_ROOT | |
109 | ||
110 | %{__make} -C build install \ | |
111 | DESTDIR=$RPM_BUILD_ROOT | |
112 | ||
113 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/Collage/{doc,tests} | |
114 | ||
115 | %clean | |
116 | rm -rf $RPM_BUILD_ROOT | |
117 | ||
118 | %post -p /sbin/ldconfig | |
119 | %postun -p /sbin/ldconfig | |
120 | ||
121 | %files | |
122 | %defattr(644,root,root,755) | |
ced5b5c1 | 123 | %doc LICENSE.txt README.md doc/{README.IB,README.udt} doc/Changelog.md |
262ad267 JB |
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.*.*.* | |
44e57821 | 128 | %attr(755,root,root) %ghost %{_libdir}/libCollage.so.7 |
262ad267 JB |
129 | |
130 | %files devel | |
131 | %defattr(644,root,root,755) | |
132 | %attr(755,root,root) %{_libdir}/libCollage.so | |
133 | %{_includedir}/co | |
262ad267 JB |
134 | %dir %{_datadir}/Collage |
135 | %{_datadir}/Collage/CMake | |
136 | ||
137 | %if %{with apidocs} | |
138 | %files apidocs | |
139 | %defattr(644,root,root,755) | |
140 | %doc build/doc/html/* | |
141 | %endif |