2 # - add bindings for java
6 %bcond_without python # Python bindings
8 Summary: Protocol Buffers - Google's data interchange format
9 Summary(pl.UTF-8): Protocol Buffers - format wymiany danych Google
15 Source0: http://protobuf.googlecode.com/files/%{name}-%{version}.tar.bz2
16 # Source0-md5: ed436802019c9e1f40cc750eaf78f318
17 Source1: ftdetect-proto.vim
18 URL: http://code.google.com/p/protobuf/
19 BuildRequires: autoconf
20 BuildRequires: rpmbuild(macros) >= 1.219
21 BuildRequires: automake
22 BuildRequires: libstdc++-devel
23 BuildRequires: libtool
24 BuildRequires: pkgconfig
25 BuildRequires: zlib-devel
27 BuildRequires: python-devel
28 BuildRequires: python-setuptools
29 BuildRequires: rpm-pythonprov
31 Requires: %{name}-libs = %{version}-%{release}
32 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 %define _vimdatadir %{_datadir}/vim
37 Protocol Buffers are a way of encoding structured data in an efficient
38 yet extensible format. Google uses Protocol Buffers for almost all of
39 its internal RPC protocols and file formats.
41 Protocol buffers are a flexible, efficient, automated mechanism for
42 serializing structured data – think XML, but smaller, faster, and
43 simpler. You define how you want your data to be structured once, then
44 you can use special generated source code to easily write and read
45 your structured data to and from a variety of data streams and using a
46 variety of languages. You can even update your data structure without
47 breaking deployed programs that are compiled against the "old" format.
49 This package contains Protocol Buffers compiler for all programming
52 %description -l pl.UTF-8
53 Bufory protokołowe to elastyczny, wydajny i zautomatyzowany sposób
54 serializacji danych strukturalnych - podobny do XML-a, ale mniejszy,
55 szybszy i prostszy. Definiuje się raz, jaką strukturę mają mieć dane,
56 a następnie używa specjalnie wygenerowanego kodu źródłowego do łatwego
57 zapisu i odczytu danych strukturalnych do i z różnych strumieni
58 danych, z poziomu różnych języków. Można nawet uaktualniać strukturę
59 danych bez psucia programów skompilowanych w oparciu o "stary" format.
61 Google używa buforów protokołowych (Protocol Buffers) do prawie
62 wszystkich wewnętrznych protokołów RPC i formatów plików.
65 Summary: protobuf libraries
66 Summary(pl.UTF-8): Biblioteki protobuf
72 %description libs -l pl.UTF-8
76 Summary: Protocol Buffers LITE_RUNTIME libraries
77 Group: Development/Libraries
80 Protocol Buffers built with optimize_for = LITE_RUNTIME.
82 The "optimize_for = LITE_RUNTIME" option causes the compiler to
83 generate code which only depends libprotobuf-lite, which is much
84 smaller than libprotobuf but lacks descriptors, reflection, and some
88 Summary: Protocol Buffers C++ headers and libraries
89 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek protobuf
90 Group: Development/Libraries
91 Requires: %{name} = %{version}-%{release}
92 Requires: %{name}-libs = %{version}-%{release}
93 Requires: libstdc++-devel
96 This package contains Protocol Buffers compiler for all languages and
97 C++ headers and libraries
99 %description devel -l pl.UTF-8
100 Pliki nagłówkowe bibliotek protobuf.
103 Summary: Static development files for protobuf
104 Summary(pl.UTF-8): Statyczne biblioteki protobuf
105 Group: Development/Libraries
106 Requires: %{name}-devel = %{version}-%{release}
109 Static libraries for Protocol Buffers
111 %description static -l pl.UTF-8
112 Statyczne biblioteki protobuf.
114 %package -n python-protobuf
115 Summary: Python bindings for Google Protocol Buffers
116 Group: Development/Languages
117 # does not use C++ library at this time
118 Conflicts: %{name} < %{version}
119 Conflicts: %{name} > %{version}
121 %description -n python-protobuf
122 This package contains Python libraries for Google Protocol Buffers
124 %package -n vim-syntax-protobuf
125 Summary: Vim syntax highlighting for Google Protocol Buffers descriptions
126 Group: Development/Libraries
127 Requires: vim-rt >= 4:7.2.170
129 %description -n vim-syntax-protobuf
130 This package contains syntax highlighting for Google Protocol Buffers
131 descriptions in Vim editor
142 %{__python} setup.py build
143 %{__sed} -i -e 1d build/lib/google/protobuf/descriptor_pb2.py
148 rm -rf $RPM_BUILD_ROOT
149 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
153 INSTALL="install -p" \
155 DESTDIR=$RPM_BUILD_ROOT
157 install -d $RPM_BUILD_ROOT%{_vimdatadir}/{syntax,ftdetect}
158 cp -p editors/proto.vim $RPM_BUILD_ROOT%{_vimdatadir}/syntax/proto.vim
159 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_vimdatadir}/ftdetect/proto.vim
163 %{__python} setup.py install \
164 --root=$RPM_BUILD_ROOT \
165 --single-version-externally-managed \
171 cp -p examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
174 rm -rf $RPM_BUILD_ROOT
176 %post -p /sbin/ldconfig
177 %postun -p /sbin/ldconfig
179 %post libs -p /sbin/ldconfig
180 %postun libs -p /sbin/ldconfig
182 %post lite -p /sbin/ldconfig
183 %postun lite -p /sbin/ldconfig
186 %defattr(644,root,root,755)
187 %doc CHANGES.txt CONTRIBUTORS.txt README.txt
188 %attr(755,root,root) %{_bindir}/protoc
189 %attr(755,root,root) %{_libdir}/libprotoc.so.*.*.*
190 %attr(755,root,root) %ghost %{_libdir}/libprotoc.so.7
193 %defattr(644,root,root,755)
194 %attr(755,root,root) %{_libdir}/libprotobuf.so.*.*.*
195 %attr(755,root,root) %ghost %{_libdir}/libprotobuf.so.7
198 %defattr(644,root,root,755)
199 %attr(755,root,root) %{_libdir}/libprotobuf-lite.so.*.*.*
200 %attr(755,root,root) %ghost %{_libdir}/libprotobuf-lite.so.7
203 %defattr(644,root,root,755)
204 %attr(755,root,root) %{_libdir}/libprotobuf-lite.so
205 %attr(755,root,root) %{_libdir}/libprotobuf.so
206 %attr(755,root,root) %{_libdir}/libprotoc.so
207 %{_libdir}/libprotobuf-lite.la
208 %{_libdir}/libprotobuf.la
209 %{_libdir}/libprotoc.la
210 %{_includedir}/google
211 %{_examplesdir}/%{name}-%{version}
212 %{_pkgconfigdir}/protobuf-lite.pc
213 %{_pkgconfigdir}/protobuf.pc
216 %defattr(644,root,root,755)
217 %{_libdir}/libprotobuf-lite.a
218 %{_libdir}/libprotobuf.a
219 %{_libdir}/libprotoc.a
222 %files -n python-protobuf
223 %defattr(644,root,root,755)
224 %doc python/README.txt
225 %dir %{py_sitescriptdir}/google
226 %{py_sitescriptdir}/google/protobuf
227 %{py_sitescriptdir}/protobuf-%{version}-py*.egg-info
228 %{py_sitescriptdir}/protobuf-%{version}-py*-nspkg.pth
231 %files -n vim-syntax-protobuf
232 %defattr(644,root,root,755)
233 %{_datadir}/vim/ftdetect/proto.vim
234 %{_datadir}/vim/syntax/proto.vim