]>
Commit | Line | Data |
---|---|---|
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 | |
11 | Name: qpid-proton | |
12 | Version: 0.31.0 | |
13 | Release: 1 | |
14 | License: Apache v2.0 | |
15 | Group: Libraries | |
16 | Source0: https://downloads.apache.org/qpid/proton/%{version}/%{name}-%{version}.tar.gz | |
17 | # Source0-md5: 568bb8459e54ce94fc216de2b9e2b038 | |
18 | Patch0: %{name}-format.patch | |
19 | URL: http://qpid.apache.org/proton/ | |
20 | BuildRequires: cmake >= 2.8.12 | |
21 | BuildRequires: cyrus-sasl-devel | |
22 | BuildRequires: doxygen | |
23 | %{?with_golang:BuildRequires: golang >= 1.11} | |
24 | BuildRequires: libstdc++-devel | |
25 | BuildRequires: libuuid-devel | |
26 | BuildRequires: openssl-devel | |
27 | BuildRequires: pkgconfig | |
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} | |
33 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
34 | ||
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, | |
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. | |
48 | ||
49 | %package c | |
50 | Summary: C libraries for Qpid Proton | |
51 | Summary(pl.UTF-8): Biblioteki C Qpid Proton | |
52 | Group: Libraries | |
53 | ||
54 | %description c | |
55 | C libraries for Qpid Proton. | |
56 | ||
57 | %description c -l pl.UTF-8 | |
58 | Biblioteki C Qpid Proton. | |
59 | ||
60 | %package c-devel | |
61 | Summary: Development files for Qpid Proton C libraries | |
62 | Summary(pl.UTF-8): Pliki programistyczne bibliotek Qpid Proton dla C | |
63 | Group: Development/Libraries | |
64 | Requires: %{name}-c = %{version}-%{release} | |
65 | ||
66 | %description c-devel | |
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. | |
88 | ||
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 | |
120 | Group: Documentation | |
121 | %if "%{_rpmversion}" >= "4.6" | |
122 | BuildArch: noarch | |
123 | %endif | |
124 | ||
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 | ||
131 | ||
132 | %package -n python-%{name} | |
133 | Summary: Python language bindings for the Qpid Proton messaging framework | |
134 | Summary(pl.UTF-8): Wiązania Pythona do szkieletu komunikacji Qpid Proton | |
135 | Group: Libraries/Python | |
136 | Requires: %{name}-c = %{version}-%{release} | |
137 | ||
138 | %description -n python-%{name} | |
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. | |
143 | ||
144 | %package -n python-%{name}-apidocs | |
145 | Summary: Documentation for the Python language bindings for Qpid Proton | |
146 | Summary(pl.UTF-8): Dokumentacja wiązań Pythona do biblioteki Qpid Proton | |
147 | Group: Documentation | |
148 | Obsoletes: python-qpid-proton-doc < 0.31.0 | |
149 | %if "%{_rpmversion}" >= "4.6" | |
150 | BuildArch: noarch | |
151 | %endif | |
152 | ||
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. | |
171 | ||
172 | %prep | |
173 | %setup -q | |
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 | |
182 | ||
183 | %build | |
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 | |
192 | ||
193 | %{__make} all docs | |
194 | ||
195 | %install | |
196 | rm -rf $RPM_BUILD_ROOT | |
197 | ||
198 | %{__make} -C build install \ | |
199 | DESTDIR=$RPM_BUILD_ROOT | |
200 | ||
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 | ||
209 | %if %{with python} | |
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 | |
214 | %endif | |
215 | ||
216 | %if %{with ruby} | |
217 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/proton/examples/ruby $RPM_BUILD_ROOT%{_examplesdir}/ruby-%{name}-%{version} | |
218 | %endif | |
219 | ||
220 | %clean | |
221 | rm -rf $RPM_BUILD_ROOT | |
222 | ||
223 | %post c -p /sbin/ldconfig | |
224 | %postun c -p /sbin/ldconfig | |
225 | ||
226 | %post cpp -p /sbin/ldconfig | |
227 | %postun cpp -p /sbin/ldconfig | |
228 | ||
229 | %files c | |
230 | %defattr(644,root,root,755) | |
231 | %doc NOTICE.txt README.md | |
232 | %attr(755,root,root) %{_libdir}/libqpid-proton.so.*.*.* | |
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 | |
238 | ||
239 | %files c-devel | |
240 | %defattr(644,root,root,755) | |
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 | |
247 | %{_pkgconfigdir}/libqpid-proton.pc | |
248 | %{_pkgconfigdir}/libqpid-proton-core.pc | |
249 | %{_pkgconfigdir}/libqpid-proton-proactor.pc | |
250 | %{_libdir}/cmake/Proton | |
251 | ||
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 | |
259 | %defattr(644,root,root,755) | |
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} | |
278 | ||
279 | %if %{with python} | |
280 | %files -n python-%{name} | |
281 | %defattr(644,root,root,755) | |
282 | %attr(755,root,root) %{py_sitedir}/_cproton.so | |
283 | %{py_sitedir}/cproton.py[co] | |
284 | %{py_sitedir}/proton | |
285 | ||
286 | %files -n python-%{name}-apidocs | |
287 | %defattr(644,root,root,755) | |
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} | |
322 | %endif |