]> git.pld-linux.org Git - packages/Collage.git/blob - Collage.spec
f88dc7291aaf9f5ee6c5a0032a790c1112c1854f
[packages/Collage.git] / Collage.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # do not build and package API docs
4
5 Summary:        Cross-platform C++ network library
6 Summary(pl.UTF-8):      Wieloplatformowa biblioteka sieciowa dla C++
7 Name:           Collage
8 Version:        1.7.0
9 Release:        6
10 License:        LGPL v2.1
11 Group:          Libraries
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 URL:            http://libcollage.net/
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
22 BuildRequires:  boost-devel >= 1.41.0
23 BuildRequires:  cmake >= 3.1
24 %{?with_apidocs:BuildRequires:  doxygen}
25 BuildRequires:  libibverbs-devel
26 BuildRequires:  librdmacm-devel
27 BuildRequires:  libstdc++-devel
28 BuildRequires:  pkgconfig
29 BuildRequires:  udt-devel
30 Requires:       Lunchbox >= 1.16.0
31 Requires:       Pression >= 2.0.0
32 Requires:       Servus >= 1.5.1
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}
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
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
75 BuildArch:      noarch
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
84 %setup -q
85 %patch0 -p1
86 %patch1 -p1
87
88 rmdir CMake/common
89 ln -s %{_datadir}/Eyescale-CMake CMake/common
90
91 %build
92 install -d build
93 cd build
94 %cmake .. \
95         -DBUILDYARD_DISABLED=ON \
96         -DCOMMON_DISABLE_WERROR=ON
97 %{__make}
98
99 %if %{with apidocs}
100 doxygen doc/Doxyfile
101 %endif
102
103 %install
104 rm -rf $RPM_BUILD_ROOT
105
106 %{__make} -C build install \
107         DESTDIR=$RPM_BUILD_ROOT
108
109 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/Collage/{doc,tests}
110
111 %clean
112 rm -rf $RPM_BUILD_ROOT
113
114 %post   -p /sbin/ldconfig
115 %postun -p /sbin/ldconfig
116
117 %files
118 %defattr(644,root,root,755)
119 %doc LICENSE.txt README.md doc/{README.IB,README.udt} doc/Changelog.md
120 %attr(755,root,root) %{_bindir}/coNetperf
121 %attr(755,root,root) %{_bindir}/coNodeperf
122 %attr(755,root,root) %{_bindir}/coObjectperf
123 %attr(755,root,root) %{_libdir}/libCollage.so.*.*.*
124 %attr(755,root,root) %ghost %{_libdir}/libCollage.so.7
125
126 %files devel
127 %defattr(644,root,root,755)
128 %attr(755,root,root) %{_libdir}/libCollage.so
129 %{_includedir}/co
130 %dir %{_datadir}/Collage
131 %{_datadir}/Collage/CMake
132
133 %if %{with apidocs}
134 %files apidocs
135 %defattr(644,root,root,755)
136 %doc build/doc/html/*
137 %endif
This page took 0.560996 seconds and 2 git commands to generate.