protobuf protobuf-python: Upgrade to 3.7.0
CQ-DEPEND=CL:1528691,CL:1531183,CL:1531185,CL:1531336
BUG=chromium:937442
TEST=PreCQ passes, build_packages and build_image work
Change-Id: Ibc7aa899f2ac2ecb892150bff8cb9d864a7e0e73
Reviewed-on: https://chromium-review.googlesource.com/1526361
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Allen Webb <allenwebb@google.com>
Reviewed-by: Allen Webb <allenwebb@google.com>
diff --git a/dev-python/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest
new file mode 100644
index 0000000..566b840
--- /dev/null
+++ b/dev-python/protobuf-python/Manifest
@@ -0,0 +1 @@
+DIST protobuf-3.7.0.tar.gz 4784675 BLAKE2B cb65f3384c7b0f015ab48081764ee9e01ad4bcffdb4903025774d95626f804fb9f72532371cc090de2b2e86c4bb0eb8f618d1cf8ff4d9c54d281c45a43b1cd8b SHA512 c570ece1d42706982dd87f601af6b3dd1d788d1b150b543190d10d2f070c67f0d006726ec4eafd3b9234a679e7ef77ac9d97749414f53f619287a1f23a0b739c
diff --git a/dev-python/protobuf-python/files/protobuf-python-3.7.0-google.protobuf.pyext._message.MessageMeta.patch b/dev-python/protobuf-python/files/protobuf-python-3.7.0-google.protobuf.pyext._message.MessageMeta.patch
new file mode 100644
index 0000000..8e3ad0d
--- /dev/null
+++ b/dev-python/protobuf-python/files/protobuf-python-3.7.0-google.protobuf.pyext._message.MessageMeta.patch
@@ -0,0 +1,26 @@
+diff --git a/python/google/protobuf/pyext/message.cc b/python/google/protobuf/pyext/message.cc
+index 44df9fbc..be207267 100644
+--- a/python/google/protobuf/pyext/message.cc
++++ b/python/google/protobuf/pyext/message.cc
+@@ -399,12 +399,6 @@ static PyObject* GetExtensionsByNumber(CMessageClass *self, void *closure) {
+ return result.release();
+ }
+
+-static PyGetSetDef Getters[] = {
+- {"_extensions_by_name", (getter)GetExtensionsByName, NULL},
+- {"_extensions_by_number", (getter)GetExtensionsByNumber, NULL},
+- {NULL}
+-};
+-
+ // Compute some class attributes on the fly:
+ // - All the _FIELD_NUMBER attributes, for all fields and nested extensions.
+ // Returns a new reference, or NULL with an exception set.
+@@ -479,7 +473,7 @@ static PyTypeObject _CMessageClass_Type = {
+ 0, // tp_iternext
+ 0, // tp_methods
+ 0, // tp_members
+- message_meta::Getters, // tp_getset
++ 0, // tp_getset
+ 0, // tp_base
+ 0, // tp_dict
+ 0, // tp_descr_get
diff --git a/dev-python/protobuf-python/metadata.xml b/dev-python/protobuf-python/metadata.xml
new file mode 100644
index 0000000..0b20fcb
--- /dev/null
+++ b/dev-python/protobuf-python/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arfrever.fta@gmail.com</email>
+ <name>Arfrever Frehtes Taifersar Arahesis</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <slots>
+ <subslots>Soname version number of Protobuf</subslots>
+ </slots>
+ <upstream>
+ <remote-id type="github">protocolbuffers/protobuf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/protobuf-python/protobuf-python-3.7.0-r1.ebuild b/dev-python/protobuf-python/protobuf-python-3.7.0-r1.ebuild
new file mode 120000
index 0000000..dd4f5d1
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-3.7.0-r1.ebuild
@@ -0,0 +1 @@
+protobuf-python-3.7.0.ebuild
\ No newline at end of file
diff --git a/dev-python/protobuf-python/protobuf-python-3.7.0.ebuild b/dev-python/protobuf-python/protobuf-python-3.7.0.ebuild
new file mode 100644
index 0000000..4b5ffd9
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-3.7.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2008-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6,3_7})
+
+inherit distutils-r1
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
+SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/18"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}
+ ~dev-libs/protobuf-${PV}
+ dev-python/namespace-google[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ !<dev-libs/protobuf-3[python(-)]"
+
+S="${WORKDIR}/protobuf-${PV}/python"
+
+python_prepare_all() {
+ eapply -p2 "${FILESDIR}/${PN}-3.7.0-google.protobuf.pyext._message.MessageMeta.patch"
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ mydistutilsargs=(--cpp_implementation)
+}
+
+python_compile() {
+ python_is_python3 || local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ find "${D}" -name "*.pth" -delete || die
+}