]> git.pld-linux.org Git - packages/qpid-proton.git/blame_incremental - qpid-proton.spec
- cleanup
[packages/qpid-proton.git] / qpid-proton.spec
... / ...
CommitLineData
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
9Summary: Qpid Proton - AMQP messaging toolkit
10Summary(pl.UTF-8): Qpid Proton - narzędzia do komunikacji AMQP
11Name: qpid-proton
12Version: 0.31.0
13Release: 1
14License: Apache v2.0
15Group: Libraries
16Source0: https://downloads.apache.org/qpid/proton/%{version}/%{name}-%{version}.tar.gz
17# Source0-md5: 568bb8459e54ce94fc216de2b9e2b038
18Patch0: %{name}-format.patch
19URL: http://qpid.apache.org/proton/
20BuildRequires: cmake >= 2.8.12
21BuildRequires: cyrus-sasl-devel
22BuildRequires: doxygen
23%{?with_golang:BuildRequires: golang >= 1.11}
24BuildRequires: libstdc++-devel
25BuildRequires: libuuid-devel
26BuildRequires: openssl-devel
27BuildRequires: pkgconfig
28BuildRequires: 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}
33BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34
35%description
36Proton is a high performance, lightweight messaging library. It can be
37used in the widest range of messaging applications including brokers,
38client libraries, routers, bridges, proxies, and more. Proton makes it
39trivial to integrate with the AMQP 1.0 ecosystem from any platform,
40environment, or language.
41
42%description -l pl.UTF-8
43Proton to wydajna, lekka biblioteka do komunikacji. Może być używana w
44szerokiej gamie aplikacji komunikacyjnych, w tym brokerów, bibliotek
45klienckich, routerów, mostków, proxy itp. Proton powoduje, że
46integrowanie z ekosystemem AMQP 1.0 z woeolnej platformy, środowiska
47czy języka staje się trywialne.
48
49%package c
50Summary: C libraries for Qpid Proton
51Summary(pl.UTF-8): Biblioteki C Qpid Proton
52Group: Libraries
53
54%description c
55C libraries for Qpid Proton.
56
57%description c -l pl.UTF-8
58Biblioteki C Qpid Proton.
59
60%package c-devel
61Summary: Development files for Qpid Proton C libraries
62Summary(pl.UTF-8): Pliki programistyczne bibliotek Qpid Proton dla C
63Group: Development/Libraries
64Requires: %{name}-c = %{version}-%{release}
65
66%description c-devel
67Development files for writing messaging apps with Qpid Proton C
68libraries.
69
70%description c-devel -l pl.UTF-8
71Pliki programistyczne do tworzenia aplikacji z wykorzystaniem
72bibliotek C Qpid Proton.
73
74%package c-apidocs
75Summary: Documentation for Qpid Proton C API
76Summary(pl.UTF-8): Dokumentacja API bibliotek C Qpid Proton
77Group: Documentation
78Obsoletes: qpid-proton-c-devel-doc < 0.31.0
79%if "%{_rpmversion}" >= "4.6"
80BuildArch: noarch
81%endif
82
83%description c-apidocs
84Documentation for Qpid Proton C API.
85
86%description c-apidocs -l pl.UTF-8
87Dokumentacja API bibliotek C Qpid Proton.
88
89%package cpp
90Summary: C++ libraries for Qpid Proton
91Summary(pl.UTF-8): Biblioteki C++ Qpid Proton
92Group: Libraries
93Requires: %{name}-c = %{version}-%{release}
94Requires: libstdc++-devel
95
96%description cpp
97C++ libraries for Qpid Proton.
98
99%description cpp -l pl.UTF-8
100Biblioteki C++ Qpid Proton.
101
102%package cpp-devel
103Summary: Development files for Qpid Proton C++ library
104Summary(pl.UTF-8): Pliki programistyczne biblioteki Qpid Proton dla C++
105Group: Development/Libraries
106Requires: %{name}-c-devel = %{version}-%{release}
107Requires: %{name}-cpp = %{version}-%{release}
108
109%description cpp-devel
110Development files for writing messaging apps with Qpid Proton C++
111library.
112
113%description cpp-devel -l pl.UTF-8
114Pliki programistyczne do tworzenia aplikacji z wykorzystaniem
115biblioteki C++ Qpid Proton.
116
117%package cpp-apidocs
118Summary: Documentation for Qpid Proton C++ API
119Summary(pl.UTF-8): Dokumentacja API biblioteki C++ Qpid Proton
120Group: Documentation
121%if "%{_rpmversion}" >= "4.6"
122BuildArch: noarch
123%endif
124
125%description cpp-apidocs
126Documentation for Qpid Proton C++ API.
127
128%description c-apidocs -l pl.UTF-8
129Dokumentacja API biblioteki C++ Qpid Proton.
130
131
132%package -n python-%{name}
133Summary: Python language bindings for the Qpid Proton messaging framework
134Summary(pl.UTF-8): Wiązania Pythona do szkieletu komunikacji Qpid Proton
135Group: Libraries/Python
136Requires: %{name}-c = %{version}-%{release}
137
138%description -n python-%{name}
139Python language bindings for the Qpid Proton messaging framework.
140
141%description -n python-%{name} -l pl.UTF-8
142Wiązania Pythona do szkieletu komunikacji Qpid Proton.
143
144%package -n python-%{name}-apidocs
145Summary: Documentation for the Python language bindings for Qpid Proton
146Summary(pl.UTF-8): Dokumentacja wiązań Pythona do biblioteki Qpid Proton
147Group: Documentation
148Obsoletes: python-qpid-proton-doc < 0.31.0
149%if "%{_rpmversion}" >= "4.6"
150BuildArch: noarch
151%endif
152
153%description -n python-%{name}-apidocs
154Documentation for the Python language bindings for Qpid Proton.
155
156%description -n python-%{name}-apidocs -l pl.UTF-8
157Dokumentacja wiązań Pythona do biblioteki Qpid Proton.
158
159%package -n ruby-%{name}
160Summary: Ruby language bindings for the Qpid Proton messaging framework
161Summary(pl.UTF-8): Wiązania języka Ruby do szkieletu komunikacji Qpid Proton
162Group: Development/Languages
163Requires: %{name}-c = %{version}-%{release}
164Requires: ruby-modules
165
166%description -n ruby-%{name}
167Ruby language bindings for the Qpid Proton messaging framework.
168
169%description -n ruby-%{name} -l pl.UTF-8
170Wią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
184install -d build
185cd 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
196rm -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
203install -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
221rm -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
This page took 0.036862 seconds and 4 git commands to generate.