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