]> git.pld-linux.org Git - packages/protobuf.git/blame - protobuf.spec
- fix protobuf-lite.so symlink
[packages/protobuf.git] / protobuf.spec
CommitLineData
f132b5a5 1# TODO:
d7b23517 2# - add bindings for java
99dd6ddb 3# - tests fail: 2 of 5 tests failed
d7b23517
ER
4#
5# Conditional build:
6#
7%bcond_without python # Python bindings
99dd6ddb 8%bcond_with tests # build with tests
b475afd2 9
f132b5a5
JR
10Summary: Protocol Buffers - Google's data interchange format
11Summary(pl.UTF-8): Protocol Buffers - format wymiany danych Google
12Name: protobuf
1355660c 13Version: 2.4.1
55d381f3 14Release: 3
f132b5a5
JR
15License: BSD
16Group: Libraries
17Source0: http://protobuf.googlecode.com/files/%{name}-%{version}.tar.bz2
caac0c24 18# Source0-md5: ed436802019c9e1f40cc750eaf78f318
8e6a7c84 19Source1: ftdetect-proto.vim
0759da77 20Patch0: system-gtest.patch
f132b5a5 21URL: http://code.google.com/p/protobuf/
b475afd2
ER
22BuildRequires: autoconf
23BuildRequires: automake
99dd6ddb 24%{?with_tests:BuildRequires: gtest-devel}
e2ad8a47 25BuildRequires: libstdc++-devel
b475afd2 26BuildRequires: pkgconfig
0759da77 27BuildRequires: rpmbuild(macros) >= 1.219
b475afd2 28BuildRequires: zlib-devel
d7b23517 29%if %{with python}
71f28181 30BuildRequires: python-setuptools
d7b23517
ER
31BuildRequires: rpm-pythonprov
32%endif
f132b5a5
JR
33Requires: %{name}-libs = %{version}-%{release}
34BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35
8e6a7c84
ER
36%define _vimdatadir %{_datadir}/vim
37
f132b5a5 38%description
b475afd2
ER
39Protocol Buffers are a way of encoding structured data in an efficient
40yet extensible format. Google uses Protocol Buffers for almost all of
41its internal RPC protocols and file formats.
42
43Protocol buffers are a flexible, efficient, automated mechanism for
44serializing structured data – think XML, but smaller, faster, and
45simpler. You define how you want your data to be structured once, then
46you can use special generated source code to easily write and read
47your structured data to and from a variety of data streams and using a
48variety of languages. You can even update your data structure without
49breaking deployed programs that are compiled against the "old" format.
50
51This package contains Protocol Buffers compiler for all programming
52languages
f132b5a5 53
c7c7fabc
JB
54%description -l pl.UTF-8
55Bufory protokołowe to elastyczny, wydajny i zautomatyzowany sposób
56serializacji danych strukturalnych - podobny do XML-a, ale mniejszy,
57szybszy i prostszy. Definiuje się raz, jaką strukturę mają mieć dane,
58a następnie używa specjalnie wygenerowanego kodu źródłowego do łatwego
59zapisu i odczytu danych strukturalnych do i z różnych strumieni
60danych, z poziomu różnych języków. Można nawet uaktualniać strukturę
61danych bez psucia programów skompilowanych w oparciu o "stary" format.
62
63Google używa buforów protokołowych (Protocol Buffers) do prawie
64wszystkich wewnętrznych protokołów RPC i formatów plików.
f132b5a5
JR
65
66%package libs
67Summary: protobuf libraries
68Summary(pl.UTF-8): Biblioteki protobuf
69Group: Libraries
70
71%description libs
72protobuf libraries.
73
74%description libs -l pl.UTF-8
75Biblioteki protobuf.
76
b475afd2
ER
77%package lite
78Summary: Protocol Buffers LITE_RUNTIME libraries
79Group: Development/Libraries
80
81%description lite
82Protocol Buffers built with optimize_for = LITE_RUNTIME.
83
84The "optimize_for = LITE_RUNTIME" option causes the compiler to
85generate code which only depends libprotobuf-lite, which is much
86smaller than libprotobuf but lacks descriptors, reflection, and some
87other features.
88
f132b5a5 89%package devel
b475afd2 90Summary: Protocol Buffers C++ headers and libraries
f132b5a5
JR
91Summary(pl.UTF-8): Pliki nagłówkowe bibliotek protobuf
92Group: Development/Libraries
b475afd2 93Requires: %{name} = %{version}-%{release}
f132b5a5 94Requires: %{name}-libs = %{version}-%{release}
55d381f3 95Requires: %{name}-lite = %{version}-%{release}
e2ad8a47 96Requires: libstdc++-devel
f132b5a5
JR
97
98%description devel
b475afd2
ER
99This package contains Protocol Buffers compiler for all languages and
100C++ headers and libraries
f132b5a5
JR
101
102%description devel -l pl.UTF-8
103Pliki nagłówkowe bibliotek protobuf.
104
105%package static
b475afd2 106Summary: Static development files for protobuf
f132b5a5
JR
107Summary(pl.UTF-8): Statyczne biblioteki protobuf
108Group: Development/Libraries
109Requires: %{name}-devel = %{version}-%{release}
110
111%description static
b475afd2 112Static libraries for Protocol Buffers
f132b5a5
JR
113
114%description static -l pl.UTF-8
115Statyczne biblioteki protobuf.
116
d7b23517
ER
117%package -n python-protobuf
118Summary: Python bindings for Google Protocol Buffers
119Group: Development/Languages
120# does not use C++ library at this time
121Conflicts: %{name} < %{version}
122Conflicts: %{name} > %{version}
123
124%description -n python-protobuf
125This package contains Python libraries for Google Protocol Buffers
126
8e6a7c84
ER
127%package -n vim-syntax-protobuf
128Summary: Vim syntax highlighting for Google Protocol Buffers descriptions
129Group: Development/Libraries
130Requires: vim-rt >= 4:7.2.170
131
132%description -n vim-syntax-protobuf
133This package contains syntax highlighting for Google Protocol Buffers
134descriptions in Vim editor
135
f132b5a5
JR
136%prep
137%setup -q
0759da77
ER
138%patch0 -p1
139%{__rm} -r gtest
f132b5a5
JR
140
141%build
0759da77
ER
142%{__aclocal} -I m4
143%{__autoconf}
0759da77 144%{__automake}
f132b5a5
JR
145%configure
146%{__make}
147
d7b23517
ER
148%if %{with python}
149cd python
150%{__python} setup.py build
151%{__sed} -i -e 1d build/lib/google/protobuf/descriptor_pb2.py
152cd ..
153%endif
154
99dd6ddb
ER
155%if %{with tests}
156%{__make} check
157%endif
158
f132b5a5
JR
159%install
160rm -rf $RPM_BUILD_ROOT
161install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
162
163%{__make} install \
b475afd2
ER
164 STRIPBINARIES=no \
165 INSTALL="install -p" \
166 CPPROG="cp -p" \
f132b5a5
JR
167 DESTDIR=$RPM_BUILD_ROOT
168
8e6a7c84
ER
169install -d $RPM_BUILD_ROOT%{_vimdatadir}/{syntax,ftdetect}
170cp -p editors/proto.vim $RPM_BUILD_ROOT%{_vimdatadir}/syntax/proto.vim
171cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_vimdatadir}/ftdetect/proto.vim
172
d7b23517
ER
173%if %{with python}
174cd python
175%{__python} setup.py install \
176 --root=$RPM_BUILD_ROOT \
177 --single-version-externally-managed \
178 --optimize=2
179%py_postclean
180cd ..
181%endif
182
b475afd2 183cp -p examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
f132b5a5
JR
184
185%clean
186rm -rf $RPM_BUILD_ROOT
187
b475afd2
ER
188%post -p /sbin/ldconfig
189%postun -p /sbin/ldconfig
190
f132b5a5
JR
191%post libs -p /sbin/ldconfig
192%postun libs -p /sbin/ldconfig
193
b475afd2
ER
194%post lite -p /sbin/ldconfig
195%postun lite -p /sbin/ldconfig
196
f132b5a5
JR
197%files
198%defattr(644,root,root,755)
199%doc CHANGES.txt CONTRIBUTORS.txt README.txt
200%attr(755,root,root) %{_bindir}/protoc
b475afd2
ER
201%attr(755,root,root) %{_libdir}/libprotoc.so.*.*.*
202%attr(755,root,root) %ghost %{_libdir}/libprotoc.so.7
f132b5a5
JR
203
204%files libs
205%defattr(644,root,root,755)
e5c615f2 206%attr(755,root,root) %{_libdir}/libprotobuf.so.*.*.*
483143ee 207%attr(755,root,root) %ghost %{_libdir}/libprotobuf.so.7
b475afd2
ER
208
209%files lite
210%defattr(644,root,root,755)
211%attr(755,root,root) %{_libdir}/libprotobuf-lite.so.*.*.*
212%attr(755,root,root) %ghost %{_libdir}/libprotobuf-lite.so.7
f132b5a5
JR
213
214%files devel
215%defattr(644,root,root,755)
2d1bc323 216%attr(755,root,root) %{_libdir}/libprotobuf-lite.so
e5c615f2
JB
217%attr(755,root,root) %{_libdir}/libprotobuf.so
218%attr(755,root,root) %{_libdir}/libprotoc.so
2d1bc323 219%{_libdir}/libprotobuf-lite.la
e5c615f2
JB
220%{_libdir}/libprotobuf.la
221%{_libdir}/libprotoc.la
f132b5a5 222%{_includedir}/google
f132b5a5 223%{_examplesdir}/%{name}-%{version}
2d1bc323 224%{_pkgconfigdir}/protobuf-lite.pc
225%{_pkgconfigdir}/protobuf.pc
f132b5a5
JR
226
227%files static
228%defattr(644,root,root,755)
2d1bc323 229%{_libdir}/libprotobuf-lite.a
e5c615f2
JB
230%{_libdir}/libprotobuf.a
231%{_libdir}/libprotoc.a
8e6a7c84 232
d7b23517
ER
233%if %{with python}
234%files -n python-protobuf
235%defattr(644,root,root,755)
236%doc python/README.txt
237%dir %{py_sitescriptdir}/google
238%{py_sitescriptdir}/google/protobuf
239%{py_sitescriptdir}/protobuf-%{version}-py*.egg-info
240%{py_sitescriptdir}/protobuf-%{version}-py*-nspkg.pth
241%endif
242
8e6a7c84
ER
243%files -n vim-syntax-protobuf
244%defattr(644,root,root,755)
245%{_datadir}/vim/ftdetect/proto.vim
246%{_datadir}/vim/syntax/proto.vim
This page took 0.089363 seconds and 4 git commands to generate.