3 Summary: Protocol Buffers - Google's data interchange format
5 Group: Development/Libraries
8 Source0: protobuf-%{version}.tar.gz
9 Source1001: protobuf.manifest
10 URL: https://github.com/google/protobuf
11 BuildRequires: automake autoconf libtool pkgconfig zlib-devel
14 Protocol Buffers are a way of encoding structured data in an efficient
15 yet extensible format. Google uses Protocol Buffers for almost all of
16 its internal RPC protocols and file formats.
18 Protocol buffers are a flexible, efficient, automated mechanism for
19 serializing structured data – think XML, but smaller, faster, and
20 simpler. You define how you want your data to be structured once, then
21 you can use special generated source code to easily write and read
22 your structured data to and from a variety of data streams and using a
23 variety of languages. You can even update your data structure without
24 breaking deployed programs that are compiled against the "old" format.
27 Summary: Protocol Buffers compiler
28 Group: Development/Libraries
29 Requires: %{name} = %{version}-%{release}
32 This package contains Protocol Buffers compiler for all programming
36 Summary: Protocol Buffers C++ headers and libraries
37 Group: Development/Libraries
38 Requires: %{name} = %{version}-%{release}
39 Requires: %{name}-compiler = %{version}-%{release}
43 This package contains Protocol Buffers compiler for all languages and
44 C++ headers and libraries
47 Summary: Static development files for %{name}
48 Group: Development/Libraries
49 Requires: %{name} = %{version}-%{release}
52 Static libraries for Protocol Buffers
55 Summary: Protocol Buffers LITE_RUNTIME libraries
56 Group: Development/Libraries
59 Protocol Buffers built with optimize_for = LITE_RUNTIME.
61 The "optimize_for = LITE_RUNTIME" option causes the compiler to generate code
62 which only depends libprotobuf-lite, which is much smaller than libprotobuf but
63 lacks descriptors, reflection, and some other features.
66 Summary: Protocol Buffers LITE_RUNTIME development libraries
67 Requires: %{name}-devel = %{version}-%{release}
68 Requires: %{name}-lite = %{version}-%{release}
70 %description lite-devel
71 This package contains development libraries built with
72 optimize_for = LITE_RUNTIME.
74 The "optimize_for = LITE_RUNTIME" option causes the compiler to generate code
75 which only depends libprotobuf-lite, which is much smaller than libprotobuf but
76 lacks descriptors, reflection, and some other features.
79 Summary: Static development files for %{name}-lite
80 Group: Development/Libraries
81 Requires: %{name}-devel = %{version}-%{release}
83 %description lite-static
84 This package contains static development libraries built with
85 optimize_for = LITE_RUNTIME.
87 The "optimize_for = LITE_RUNTIME" option causes the compiler to generate code
88 which only depends libprotobuf-lite, which is much smaller than libprotobuf but
89 lacks descriptors, reflection, and some other features.
92 Summary: Vim syntax highlighting for Google Protocol Buffers descriptions
93 Group: Development/Libraries
94 Requires: vim-enhanced
97 This package contains syntax highlighting for Google Protocol Buffers
98 descriptions in Vim editor
105 #%patch3 -p1 -b .generic-atomics
106 #%patch4 -p1 -b .generic-atomics-makefile
109 iconv -f iso8859-1 -t utf-8 CONTRIBUTORS.txt > CONTRIBUTORS.txt.utf8
110 mv CONTRIBUTORS.txt.utf8 CONTRIBUTORS.txt
111 export PTHREAD_LIBS="-lpthread"
118 #make %{?_smp_mflags} check
122 make %{?_smp_mflags} install DESTDIR=%{buildroot} STRIPBINARIES=no INSTALL="%{__install} -p" CPPROG="cp -p"
123 find %{buildroot} -type f -name "*.la" -exec rm -f {} \;
125 install -p -m 644 -D editors/proto.vim %{buildroot}%{_datadir}/vim/vimfiles/syntax/proto.vim
127 %post -p /sbin/ldconfig
128 %postun -p /sbin/ldconfig
130 %post lite -p /sbin/ldconfig
131 %postun lite -p /sbin/ldconfig
133 %post compiler -p /sbin/ldconfig
134 %postun compiler -p /sbin/ldconfig
137 %manifest protobuf.manifest
138 %defattr(-, root, root, -)
139 %{_libdir}/libprotobuf.so.*
140 %doc CHANGES.txt CONTRIBUTORS.txt README.md
143 %manifest protobuf.manifest
144 %defattr(-, root, root, -)
146 %{_libdir}/libprotoc.so.*
150 %manifest protobuf.manifest
151 %defattr(-, root, root, -)
152 %dir %{_includedir}/google
153 %{_includedir}/google/protobuf/
154 %{_libdir}/libprotobuf.so
155 %{_libdir}/libprotoc.so
156 %{_libdir}/pkgconfig/protobuf.pc
157 %doc examples/add_person.cc examples/addressbook.proto examples/list_people.cc examples/CMakeLists.txt
160 %manifest protobuf.manifest
161 %defattr(-, root, root, -)
162 %{_libdir}/libprotobuf.a
163 %{_libdir}/libprotoc.a
166 %manifest protobuf.manifest
167 %defattr(-, root, root, -)
168 %{_libdir}/libprotobuf-lite.so.*
171 %manifest protobuf.manifest
172 %defattr(-, root, root, -)
173 %{_libdir}/libprotobuf-lite.so
174 %{_libdir}/pkgconfig/protobuf-lite.pc
177 %manifest protobuf.manifest
178 %defattr(-, root, root, -)
179 %{_libdir}/libprotobuf-lite.a
182 %manifest protobuf.manifest
183 %defattr(-, root, root, -)
184 %{_datadir}/vim/vimfiles/syntax/proto.vim