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