]>
Commit | Line | Data |
---|---|---|
6af9bd58 JB |
1 | # TODO: package go files (where?) |
2 | # | |
3 | # Conditional build: | |
4 | %bcond_with static_libs # static libraries | |
5 | %bcond_with golang # Go binding | |
6 | %bcond_without python # Python binding | |
7 | %bcond_without ruby # Ruby binding | |
8 | ||
9 | Summary: Qpid Proton - AMQP messaging toolkit | |
10 | Summary(pl.UTF-8): Qpid Proton - narzędzia do komunikacji AMQP | |
6d1b46c8 | 11 | Name: qpid-proton |
6af9bd58 JB |
12 | Version: 0.31.0 |
13 | Release: 1 | |
6d1b46c8 ER |
14 | License: Apache v2.0 |
15 | Group: Libraries | |
6af9bd58 JB |
16 | Source0: https://downloads.apache.org/qpid/proton/%{version}/%{name}-%{version}.tar.gz |
17 | # Source0-md5: 568bb8459e54ce94fc216de2b9e2b038 | |
18 | Patch0: %{name}-format.patch | |
6d1b46c8 | 19 | URL: http://qpid.apache.org/proton/ |
6af9bd58 JB |
20 | BuildRequires: cmake >= 2.8.12 |
21 | BuildRequires: cyrus-sasl-devel | |
6d1b46c8 | 22 | BuildRequires: doxygen |
6af9bd58 JB |
23 | %{?with_golang:BuildRequires: golang >= 1.11} |
24 | BuildRequires: libstdc++-devel | |
6d1b46c8 ER |
25 | BuildRequires: libuuid-devel |
26 | BuildRequires: openssl-devel | |
27 | BuildRequires: pkgconfig | |
6af9bd58 JB |
28 | BuildRequires: python >= 2 |
29 | %{?with_python:BuildRequires: python-devel} | |
30 | %{?with_ruby:BuildRequires: ruby-devel} | |
31 | %{?with_python:BuildRequires: swig-python} | |
32 | %{?with_ruby:BuildRequires: swig-ruby} | |
6d1b46c8 ER |
33 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
34 | ||
6d1b46c8 ER |
35 | %description |
36 | Proton is a high performance, lightweight messaging library. It can be | |
37 | used in the widest range of messaging applications including brokers, | |
6af9bd58 JB |
38 | client libraries, routers, bridges, proxies, and more. Proton makes it |
39 | trivial to integrate with the AMQP 1.0 ecosystem from any platform, | |
40 | environment, or language. | |
41 | ||
42 | %description -l pl.UTF-8 | |
43 | Proton to wydajna, lekka biblioteka do komunikacji. Może być używana w | |
44 | szerokiej gamie aplikacji komunikacyjnych, w tym brokerów, bibliotek | |
45 | klienckich, routerów, mostków, proxy itp. Proton powoduje, że | |
46 | integrowanie z ekosystemem AMQP 1.0 z woeolnej platformy, środowiska | |
47 | czy języka staje się trywialne. | |
6d1b46c8 ER |
48 | |
49 | %package c | |
50 | Summary: C libraries for Qpid Proton | |
6af9bd58 | 51 | Summary(pl.UTF-8): Biblioteki C Qpid Proton |
6d1b46c8 ER |
52 | Group: Libraries |
53 | ||
54 | %description c | |
6af9bd58 JB |
55 | C libraries for Qpid Proton. |
56 | ||
57 | %description c -l pl.UTF-8 | |
58 | Biblioteki C Qpid Proton. | |
6d1b46c8 ER |
59 | |
60 | %package c-devel | |
6af9bd58 JB |
61 | Summary: Development files for Qpid Proton C libraries |
62 | Summary(pl.UTF-8): Pliki programistyczne bibliotek Qpid Proton dla C | |
6d1b46c8 | 63 | Group: Development/Libraries |
6af9bd58 | 64 | Requires: %{name}-c = %{version}-%{release} |
6d1b46c8 ER |
65 | |
66 | %description c-devel | |
6af9bd58 JB |
67 | Development files for writing messaging apps with Qpid Proton C |
68 | libraries. | |
69 | ||
70 | %description c-devel -l pl.UTF-8 | |
71 | Pliki programistyczne do tworzenia aplikacji z wykorzystaniem | |
72 | bibliotek C Qpid Proton. | |
73 | ||
74 | %package c-apidocs | |
75 | Summary: Documentation for Qpid Proton C API | |
76 | Summary(pl.UTF-8): Dokumentacja API bibliotek C Qpid Proton | |
77 | Group: Documentation | |
78 | Obsoletes: qpid-proton-c-devel-doc < 0.31.0 | |
79 | %if "%{_rpmversion}" >= "4.6" | |
80 | BuildArch: noarch | |
81 | %endif | |
82 | ||
83 | %description c-apidocs | |
84 | Documentation for Qpid Proton C API. | |
85 | ||
86 | %description c-apidocs -l pl.UTF-8 | |
87 | Dokumentacja API bibliotek C Qpid Proton. | |
6d1b46c8 | 88 | |
6af9bd58 JB |
89 | %package cpp |
90 | Summary: C++ libraries for Qpid Proton | |
91 | Summary(pl.UTF-8): Biblioteki C++ Qpid Proton | |
92 | Group: Libraries | |
93 | Requires: %{name}-c = %{version}-%{release} | |
94 | Requires: libstdc++-devel | |
95 | ||
96 | %description cpp | |
97 | C++ libraries for Qpid Proton. | |
98 | ||
99 | %description cpp -l pl.UTF-8 | |
100 | Biblioteki C++ Qpid Proton. | |
101 | ||
102 | %package cpp-devel | |
103 | Summary: Development files for Qpid Proton C++ library | |
104 | Summary(pl.UTF-8): Pliki programistyczne biblioteki Qpid Proton dla C++ | |
105 | Group: Development/Libraries | |
106 | Requires: %{name}-c-devel = %{version}-%{release} | |
107 | Requires: %{name}-cpp = %{version}-%{release} | |
108 | ||
109 | %description cpp-devel | |
110 | Development files for writing messaging apps with Qpid Proton C++ | |
111 | library. | |
112 | ||
113 | %description cpp-devel -l pl.UTF-8 | |
114 | Pliki programistyczne do tworzenia aplikacji z wykorzystaniem | |
115 | biblioteki C++ Qpid Proton. | |
116 | ||
117 | %package cpp-apidocs | |
118 | Summary: Documentation for Qpid Proton C++ API | |
119 | Summary(pl.UTF-8): Dokumentacja API biblioteki C++ Qpid Proton | |
6d1b46c8 | 120 | Group: Documentation |
6af9bd58 | 121 | %if "%{_rpmversion}" >= "4.6" |
6d1b46c8 ER |
122 | BuildArch: noarch |
123 | %endif | |
124 | ||
6af9bd58 JB |
125 | %description cpp-apidocs |
126 | Documentation for Qpid Proton C++ API. | |
127 | ||
128 | %description c-apidocs -l pl.UTF-8 | |
129 | Dokumentacja API biblioteki C++ Qpid Proton. | |
130 | ||
6d1b46c8 ER |
131 | |
132 | %package -n python-%{name} | |
133 | Summary: Python language bindings for the Qpid Proton messaging framework | |
6af9bd58 | 134 | Summary(pl.UTF-8): Wiązania Pythona do szkieletu komunikacji Qpid Proton |
6d1b46c8 ER |
135 | Group: Libraries/Python |
136 | Requires: %{name}-c = %{version}-%{release} | |
137 | ||
138 | %description -n python-%{name} | |
6af9bd58 JB |
139 | Python language bindings for the Qpid Proton messaging framework. |
140 | ||
141 | %description -n python-%{name} -l pl.UTF-8 | |
142 | Wiązania Pythona do szkieletu komunikacji Qpid Proton. | |
6d1b46c8 | 143 | |
6af9bd58 | 144 | %package -n python-%{name}-apidocs |
6d1b46c8 | 145 | Summary: Documentation for the Python language bindings for Qpid Proton |
6af9bd58 | 146 | Summary(pl.UTF-8): Dokumentacja wiązań Pythona do biblioteki Qpid Proton |
6d1b46c8 | 147 | Group: Documentation |
6af9bd58 JB |
148 | Obsoletes: python-qpid-proton-doc < 0.31.0 |
149 | %if "%{_rpmversion}" >= "4.6" | |
6d1b46c8 ER |
150 | BuildArch: noarch |
151 | %endif | |
152 | ||
6af9bd58 JB |
153 | %description -n python-%{name}-apidocs |
154 | Documentation for the Python language bindings for Qpid Proton. | |
155 | ||
156 | %description -n python-%{name}-apidocs -l pl.UTF-8 | |
157 | Dokumentacja wiązań Pythona do biblioteki Qpid Proton. | |
158 | ||
159 | %package -n ruby-%{name} | |
160 | Summary: Ruby language bindings for the Qpid Proton messaging framework | |
161 | Summary(pl.UTF-8): Wiązania języka Ruby do szkieletu komunikacji Qpid Proton | |
162 | Group: Development/Languages | |
163 | Requires: %{name}-c = %{version}-%{release} | |
164 | Requires: ruby-modules | |
165 | ||
166 | %description -n ruby-%{name} | |
167 | Ruby language bindings for the Qpid Proton messaging framework. | |
168 | ||
169 | %description -n ruby-%{name} -l pl.UTF-8 | |
170 | Wiązania języka Ruby do szkieletu komunikacji Qpid Proton. | |
6d1b46c8 ER |
171 | |
172 | %prep | |
173 | %setup -q | |
6af9bd58 JB |
174 | %patch0 -p1 |
175 | ||
176 | %{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \ | |
177 | c/examples/testme \ | |
178 | cpp/examples/testme | |
179 | ||
180 | %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' \ | |
181 | python/examples/*.py | |
6d1b46c8 ER |
182 | |
183 | %build | |
6af9bd58 JB |
184 | install -d build |
185 | cd build | |
186 | %cmake .. \ | |
187 | -DBUILD_BINDINGS="cpp;go%{?with_python:;python}%{?with_ruby:;ruby}" \ | |
188 | %{?with_golang:-DBUILD_GO=ON} \ | |
189 | %{?with_static_libs:-DBUILD_STATIC_LIBS=ON} \ | |
190 | -DPYTHON_SITEARCH_PACKAGES=%{py_sitedir} \ | |
191 | -DSYSINSTALL_PYTHON=ON | |
6d1b46c8 ER |
192 | |
193 | %{__make} all docs | |
194 | ||
195 | %install | |
196 | rm -rf $RPM_BUILD_ROOT | |
6af9bd58 JB |
197 | |
198 | %{__make} -C build install \ | |
6d1b46c8 ER |
199 | DESTDIR=$RPM_BUILD_ROOT |
200 | ||
6af9bd58 JB |
201 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/proton/{CMakeLists.txt,LICENSE.txt,README.md,examples/README.md,tests} |
202 | ||
203 | install -d $RPM_BUILD_ROOT{%{_examplesdir},%{_docdir}/%{name}} | |
204 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/proton/examples/c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-c-%{version} | |
205 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/proton/examples/cpp $RPM_BUILD_ROOT%{_examplesdir}/%{name}-cpp-%{version} | |
206 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/proton/docs/api-c $RPM_BUILD_ROOT%{_docdir}/%{name} | |
207 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/proton/docs/api-cpp $RPM_BUILD_ROOT%{_docdir}/%{name} | |
208 | ||
6d1b46c8 | 209 | %if %{with python} |
6af9bd58 JB |
210 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/proton/docs/api-py $RPM_BUILD_ROOT%{_docdir}/%{name} |
211 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/proton/examples/python $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version} | |
212 | ||
213 | %py_postclean | |
6d1b46c8 ER |
214 | %endif |
215 | ||
6af9bd58 JB |
216 | %if %{with ruby} |
217 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/proton/examples/ruby $RPM_BUILD_ROOT%{_examplesdir}/ruby-%{name}-%{version} | |
218 | %endif | |
6d1b46c8 ER |
219 | |
220 | %clean | |
221 | rm -rf $RPM_BUILD_ROOT | |
222 | ||
223 | %post c -p /sbin/ldconfig | |
224 | %postun c -p /sbin/ldconfig | |
225 | ||
6af9bd58 JB |
226 | %post cpp -p /sbin/ldconfig |
227 | %postun cpp -p /sbin/ldconfig | |
228 | ||
6d1b46c8 ER |
229 | %files c |
230 | %defattr(644,root,root,755) | |
6af9bd58 | 231 | %doc NOTICE.txt README.md |
6d1b46c8 | 232 | %attr(755,root,root) %{_libdir}/libqpid-proton.so.*.*.* |
6af9bd58 JB |
233 | %attr(755,root,root) %ghost %{_libdir}/libqpid-proton.so.11 |
234 | %attr(755,root,root) %{_libdir}/libqpid-proton-core.so.*.*.* | |
235 | %attr(755,root,root) %ghost %{_libdir}/libqpid-proton-core.so.10 | |
236 | %attr(755,root,root) %{_libdir}/libqpid-proton-proactor.so.*.*.* | |
237 | %attr(755,root,root) %ghost %{_libdir}/libqpid-proton-proactor.so.1 | |
6d1b46c8 ER |
238 | |
239 | %files c-devel | |
240 | %defattr(644,root,root,755) | |
6af9bd58 JB |
241 | %attr(755,root,root) %{_libdir}/libqpid-proton.so |
242 | %attr(755,root,root) %{_libdir}/libqpid-proton-core.so | |
243 | %attr(755,root,root) %{_libdir}/libqpid-proton-proactor.so | |
244 | %dir %{_includedir}/proton | |
245 | %{_includedir}/proton/*.h | |
246 | %{_includedir}/proton/cproton.i | |
6d1b46c8 | 247 | %{_pkgconfigdir}/libqpid-proton.pc |
6af9bd58 JB |
248 | %{_pkgconfigdir}/libqpid-proton-core.pc |
249 | %{_pkgconfigdir}/libqpid-proton-proactor.pc | |
6d1b46c8 | 250 | %{_libdir}/cmake/Proton |
6d1b46c8 | 251 | |
6af9bd58 JB |
252 | %files c-apidocs |
253 | %defattr(644,root,root,755) | |
254 | %dir %{_docdir}/%{name} | |
255 | %{_docdir}/%{name}/api-c | |
256 | %{_examplesdir}/%{name}-c-%{version} | |
257 | ||
258 | %files cpp | |
6d1b46c8 | 259 | %defattr(644,root,root,755) |
6af9bd58 JB |
260 | %attr(755,root,root) %{_libdir}/libqpid-proton-cpp.so.*.*.* |
261 | %attr(755,root,root) %ghost %{_libdir}/libqpid-proton-cpp.so.12 | |
262 | ||
263 | %files cpp-devel | |
264 | %defattr(644,root,root,755) | |
265 | %attr(755,root,root) %{_libdir}/libqpid-proton-cpp.so | |
266 | %{_includedir}/proton/*.hpp | |
267 | %{_includedir}/proton/codec | |
268 | %{_includedir}/proton/internal | |
269 | %{_includedir}/proton/io | |
270 | %{_pkgconfigdir}/libqpid-proton-cpp.pc | |
271 | %{_libdir}/cmake/ProtonCpp | |
272 | ||
273 | %files cpp-apidocs | |
274 | %defattr(644,root,root,755) | |
275 | %dir %{_docdir}/%{name} | |
276 | %{_docdir}/%{name}/api-cpp | |
277 | %{_examplesdir}/%{name}-cpp-%{version} | |
6d1b46c8 ER |
278 | |
279 | %if %{with python} | |
280 | %files -n python-%{name} | |
281 | %defattr(644,root,root,755) | |
6af9bd58 JB |
282 | %attr(755,root,root) %{py_sitedir}/_cproton.so |
283 | %{py_sitedir}/cproton.py[co] | |
284 | %{py_sitedir}/proton | |
6d1b46c8 | 285 | |
6af9bd58 | 286 | %files -n python-%{name}-apidocs |
6d1b46c8 | 287 | %defattr(644,root,root,755) |
6af9bd58 JB |
288 | %dir %{_docdir}/%{name} |
289 | %{_docdir}/%{name}/api-py | |
290 | %{_examplesdir}/python-%{name}-%{version} | |
291 | %endif | |
292 | ||
293 | %if %{with ruby} | |
294 | %files -n ruby-%{name} | |
295 | %defattr(644,root,root,755) | |
296 | %if 0 | |
297 | # cannot use SYSINSTALL_RUBY for now because... | |
298 | %attr(755,root,root) %{ruby_vendorarchdir}/cproton.so | |
299 | %{ruby_vendorarchdir}/qpid_proton.rb | |
300 | # the files below are likely to conflict with other ruby packages | |
301 | %{ruby_vendorarchdir}/codec | |
302 | %{ruby_vendorarchdir}/core | |
303 | %{ruby_vendorarchdir}/handler | |
304 | %{ruby_vendorarchdir}/reactor | |
305 | %{ruby_vendorarchdir}/types | |
306 | %{ruby_vendorarchdir}/util | |
307 | %else | |
308 | # ...so use private install | |
309 | %dir %{_libdir}/proton | |
310 | %dir %{_libdir}/proton/bindings | |
311 | %dir %{_libdir}/proton/bindings/ruby | |
312 | %attr(755,root,root) %{_libdir}/proton/bindings/ruby/cproton.so | |
313 | %{_libdir}/proton/bindings/ruby/qpid_proton.rb | |
314 | %{_libdir}/proton/bindings/ruby/codec | |
315 | %{_libdir}/proton/bindings/ruby/core | |
316 | %{_libdir}/proton/bindings/ruby/handler | |
317 | %{_libdir}/proton/bindings/ruby/reactor | |
318 | %{_libdir}/proton/bindings/ruby/types | |
319 | %{_libdir}/proton/bindings/ruby/util | |
320 | %endif | |
321 | %{_examplesdir}/ruby-%{name}-%{version} | |
6d1b46c8 | 322 | %endif |