Name: Protocol Buffers
Short Name: protobuf
URL: https://github.com/google/protobuf
License: BSD
License File: LICENSE
Version: 3.5.2
Revision: cf242503ec157a7dda8a6eda48712dd26c81d2e6
Security Critical: yes

Steps used to create the current version:
1. Pull the release from https://github.com/google/protobuf/releases
2. Add build files (BUILD.gn, proto_library.gni).

   Be sure to update the list of source files, as additional .cc files and
   headers might have been added -- you need to find the transitive closure of
   include files required by targets.

   Other things to care about are defines required by protobuf on various
   platforms, warnings generated by compilers, and new dependencies introduced.
3. Add DEPS and OWNERS.
4. Add mirclient.cc and mirclient.map.
5. Get open-source library six.py from https://pypi.python.org/pypi/six/ and add
   it to protobuf/third_party/six/six.py.
6. Apply patches in patches/ (see the description below):

   $ for patch in patches/*; do patch -s -p1 < $patch; done

   For future releases, it will be worth looking into which patches still need
   to be applied. In case of conflict, update those patches accordingly and save
   them back in place (i.e. in patches directory).
7. Generate well_known_types_embed.cc and descriptor_pb2.py using the script
   "gen_extra_chromium_files" in the same directory as this file.

8. Add an __init__.py to protobuf/ that adds third_party/six/ to Python path.
9. Update README.chromium.

Note about libmirclient:

On Ubuntu, Chromium has an indirect dependency on the system
libprotobuf-lite through libmirclient (through GTK).  The symbols in
the system library conflict with Chromium's libprotobuf-lite used on
component builds.

mirclient.* are added to stub out libmirclient.so.9 to prevent loading
the system libprotobuf-lite.  Chromium's replacement libmirclient will
get loaded, but its symbols will never be used directly or indirectly.

Description of the patches:

- 0003-remove-static-initializers.patch

  This patch removes all static initializers from Chromium. The change in Status
  class is not completely compatible with upstream, but it's compatible enough
  to work in Chromium, which doesn't use this functionality yet. The work on
  upstreaming the removal of static initializers is in progress:
  https://github.com/google/protobuf/issues/1404

- 0004-fix-integer-types-and-shared-library-exports.patch

  This patch makes protobuf int64 to be int64_t (as opposed to long long in
  upstream), and similarly for other integer types. It also allows exporting
  protobuf symbols in Linux .so libraries, so that protobuf can be built as a
  component (see http://crrev.com/179806).

- 0008-uninline_get_empty_string.patch
- 0009-uninline-arenastring.patch
- 0010-uninline-generated-code.patch

  These patches uninline some functions, resulting in a significant reduction
  (somewhere between 500 KB and 1 MB) of binary size.

- 0012-fixes-for-js-embed-cc.patch

  Fixed in https://github.com/google/protobuf/pull/1549

- 0015-fixes-forcing-value-to-bool.patch

  Fixes an MSVC error that forbids conversion from int to bool.  Needs
  to be upstreamed.

- 0020-Add-support-for-libc-on-Windows.patch

  Cherry-picks upstream https://github.com/google/protobuf/commit/3ba21cd5f

- 0021-Fix-protobuf-s-library-.gitinore-file.patch

  Un-ignores python/google/protobuf/descriptor_pb2.py

- 0022-proto_writer_render_bytes_override.patch

  Corrects override in proto_writer.h.
  https://github.com/google/protobuf/pull/4707

- 0024-add_wire_format_lite_inl_include.patch

  Fix components build on Windows.
  https://github.com/protocolbuffers/protobuf/pull/5316

- 0025-once-only.patch

  Fixed Protobuf once only sigleton initialation to use static method globals
  which originally froze when protobuf tool was run after compiling with
  CL.EXE. This allows MSVC based builds to be re-enabled. The next official
  release of protobuf should no longer need this patch as the code around
  singletons has been rewritten to no longer have this issue present in this
  release of protobuf.
