]>
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 |
df65f790 | 9 | Release: 6 |
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 |
262ad267 | 17 | URL: http://libcollage.net/ |
44e57821 JB |
18 | BuildRequires: Lunchbox-devel >= 1.16.0 |
19 | BuildRequires: Eyescale-CMake >= 2017.05 | |
20 | BuildRequires: Pression-devel >= 2.0.0 | |
21 | BuildRequires: Servus-devel >= 1.5.1 | |
262ad267 | 22 | BuildRequires: boost-devel >= 1.41.0 |
44e57821 | 23 | BuildRequires: cmake >= 3.1 |
262ad267 JB |
24 | %{?with_apidocs:BuildRequires: doxygen} |
25 | BuildRequires: libibverbs-devel | |
26 | BuildRequires: librdmacm-devel | |
27 | BuildRequires: libstdc++-devel | |
28 | BuildRequires: pkgconfig | |
54e13fd9 | 29 | BuildRequires: rpm-build >= 4.6 |
93cca369 | 30 | BuildRequires: rpmbuild(macros) >= 1.605 |
262ad267 | 31 | BuildRequires: udt-devel |
44e57821 JB |
32 | Requires: Lunchbox >= 1.16.0 |
33 | Requires: Pression >= 2.0.0 | |
34 | Requires: Servus >= 1.5.1 | |
262ad267 JB |
35 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
36 | ||
37 | %description | |
38 | Collage is a cross-platform C++ library for building heterogenous, | |
39 | distributed applications. Among other things, it is the cluster | |
40 | backend for the Equalizer parallel rendering framework. Collage | |
41 | provides an abstraction of different network connections, peer-to-peer | |
42 | messaging, node discovery, synchronization and high-performance, | |
43 | object-oriented, versioned data distribution. Collage is designed for | |
44 | low-overhead multi-threaded execution which allows applications to | |
45 | easily exploit multi-core architectures. | |
46 | ||
47 | %description -l pl.UTF-8 | |
48 | Collage to wieloplatformowa biblioteka C++ do tworzenia | |
49 | heterogenicznych, rozproszonych aplikacji. Jest to między innymi | |
50 | backend klastrowy dla szkieletu równoległego renderowania Equalizer. | |
51 | Zapewnia abstrakcję różnych połączeń sieciowych, przesyłania | |
52 | komunikatów między węzłami, wykrywanie węzłów, synchronizację oraz | |
53 | wydajne, zorientowane obiektowo i wersjonowane rozproszenie danych. | |
54 | Collage został zaprojektowany pod kątem lekkiej wielowątkowości, co | |
55 | pozwala aplikacjom łatwo wykorzystywać architektury wielordzeniowe. | |
56 | ||
57 | %package devel | |
58 | Summary: Header files for Collage library | |
59 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Collage | |
60 | Group: Development/Libraries | |
61 | Requires: %{name} = %{version}-%{release} | |
44e57821 JB |
62 | Requires: Lunchbox-devel >= 1.16.0 |
63 | Requires: Pression-devel >= 2.0.0 | |
64 | Requires: Servus-devel >= 1.5.1 | |
65 | Requires: boost-devel >= 1.41.0 | |
262ad267 JB |
66 | |
67 | %description devel | |
68 | Header files for Collage library. | |
69 | ||
70 | %description devel -l pl.UTF-8 | |
71 | Pliki nagłówkowe biblioteki Collage. | |
72 | ||
73 | %package apidocs | |
74 | Summary: Collage API documentation | |
75 | Summary(pl.UTF-8): Dokumentacja API biblioteki Collage | |
76 | Group: Documentation | |
59a55be8 | 77 | BuildArch: noarch |
262ad267 JB |
78 | |
79 | %description apidocs | |
80 | API documentation for Collage library. | |
81 | ||
82 | %description apidocs -l pl.UTF-8 | |
83 | Dokumentacja API biblioteki Collage. | |
84 | ||
85 | %prep | |
ced5b5c1 JR |
86 | %setup -q |
87 | %patch0 -p1 | |
61f14322 | 88 | %patch1 -p1 |
262ad267 | 89 | |
44e57821 | 90 | rmdir CMake/common |
ced5b5c1 | 91 | ln -s %{_datadir}/Eyescale-CMake CMake/common |
262ad267 JB |
92 | |
93 | %build | |
94 | install -d build | |
95 | cd build | |
96 | %cmake .. \ | |
0f6053fd JP |
97 | -DBUILDYARD_DISABLED=ON \ |
98 | -DCOMMON_DISABLE_WERROR=ON | |
262ad267 JB |
99 | %{__make} |
100 | ||
101 | %if %{with apidocs} | |
102 | doxygen doc/Doxyfile | |
103 | %endif | |
104 | ||
105 | %install | |
106 | rm -rf $RPM_BUILD_ROOT | |
107 | ||
108 | %{__make} -C build install \ | |
109 | DESTDIR=$RPM_BUILD_ROOT | |
110 | ||
111 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/Collage/{doc,tests} | |
112 | ||
113 | %clean | |
114 | rm -rf $RPM_BUILD_ROOT | |
115 | ||
116 | %post -p /sbin/ldconfig | |
117 | %postun -p /sbin/ldconfig | |
118 | ||
119 | %files | |
120 | %defattr(644,root,root,755) | |
ced5b5c1 | 121 | %doc LICENSE.txt README.md doc/{README.IB,README.udt} doc/Changelog.md |
262ad267 JB |
122 | %attr(755,root,root) %{_bindir}/coNetperf |
123 | %attr(755,root,root) %{_bindir}/coNodeperf | |
124 | %attr(755,root,root) %{_bindir}/coObjectperf | |
125 | %attr(755,root,root) %{_libdir}/libCollage.so.*.*.* | |
44e57821 | 126 | %attr(755,root,root) %ghost %{_libdir}/libCollage.so.7 |
262ad267 JB |
127 | |
128 | %files devel | |
129 | %defattr(644,root,root,755) | |
130 | %attr(755,root,root) %{_libdir}/libCollage.so | |
131 | %{_includedir}/co | |
262ad267 JB |
132 | %dir %{_datadir}/Collage |
133 | %{_datadir}/Collage/CMake | |
134 | ||
135 | %if %{with apidocs} | |
136 | %files apidocs | |
137 | %defattr(644,root,root,755) | |
138 | %doc build/doc/html/* | |
139 | %endif |