summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>2022-01-10 05:00:00 +0000
committerYixun Lan <dlan@gentoo.org>2022-01-29 23:18:08 +0800
commitc9535bfd7ee3e7dc36ceed2084ba681ab574522e (patch)
tree02ed9e0f081f5b4adbcca9f811df8880a6d1ee4a /dev-python/protobuf-python
parentdev-java/protobuf-java: Version bump (3.19.3). (diff)
downloadgentoo-c9535bfd7ee3e7dc36ceed2084ba681ab574522e.tar.gz
gentoo-c9535bfd7ee3e7dc36ceed2084ba681ab574522e.tar.bz2
gentoo-c9535bfd7ee3e7dc36ceed2084ba681ab574522e.zip
dev-python/protobuf-python: Version bump (3.19.3).
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Signed-off-by: Yixun Lan <dlan@gentoo.org>
Diffstat (limited to 'dev-python/protobuf-python')
-rw-r--r--dev-python/protobuf-python/Manifest1
-rw-r--r--dev-python/protobuf-python/files/protobuf-python-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch42
-rw-r--r--dev-python/protobuf-python/protobuf-python-3.19.3.ebuild64
3 files changed, 107 insertions, 0 deletions
diff --git a/dev-python/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest
index ba8df3952e92..a486c4d26a37 100644
--- a/dev-python/protobuf-python/Manifest
+++ b/dev-python/protobuf-python/Manifest
@@ -5,3 +5,4 @@ DIST protobuf-3.17.2.tar.gz 5192779 BLAKE2B 97f9561848e70b8d26ebcc7fc4fa8da51c4b
DIST protobuf-3.17.3.tar.gz 5235236 BLAKE2B 2495e678c8f9436d4e5a30ccee8b6226125d418ac7ecf7df20b078a1a16c221cbccab7d846dcd56a90220c106617fa75c410a21b62612fedec378cd7e8571350 SHA512 b4030b4474cc5fb5a62501200725dd488e6e66e3ced4ed12ab4ee029fcfed305e92ec966adafbdd343afffd186908163849422b95eaa500e7e741ac325d01d12
DIST protobuf-3.18.2.tar.gz 5272935 BLAKE2B f65caa4483d3ff4186f9ea388e2a9ef232ab758cfda846cfb5993df1f991e4574e63a33b175dd00c72f61c0a23ed12d3c62eb658cd397bf43b805c41fb34c47e SHA512 8ca613fdeefcbd93e866fab65effc38aa8508060aa3de0109dbead68f2e27eb22ad0a8aea10c8b4c3e9de181d62185c93b369fb5abf96de02a170f2e5c27e0cd
DIST protobuf-3.19.1.tar.gz 5291573 BLAKE2B a34f1a7cf99ecb6cb8a26bc858de6273bfd26aa9be1e89e48c16cb5df0f1e9576479344c8250017238dbac0d0c4ac33001125b5fc622cb64ed6b91023198b03a SHA512 f1271f5159a7be363a5f60ce4921dfea68a8468d66808330bacaeaa1cb7f652d045ab080b5d82816a6fd4e6d7d7fe79aaa6c8d66d81692721d36ce3bbf619f31
+DIST protobuf-3.19.3.tar.gz 5293258 BLAKE2B c05b70ffca97f7166ea6a511a36907eed125edf1ebf17f908718221d9b851be84dfb2b1b39973f2faf35f6ade630e6ba4f9e8b91b8fbc922c5db97079323ee6e SHA512 1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6
diff --git a/dev-python/protobuf-python/files/protobuf-python-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch b/dev-python/protobuf-python/files/protobuf-python-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch
new file mode 100644
index 000000000000..a9e23feea148
--- /dev/null
+++ b/dev-python/protobuf-python/files/protobuf-python-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch
@@ -0,0 +1,42 @@
+From 387c9e58987c54b72e66c14b34c98297086cd812 Mon Sep 17 00:00:00 2001
+From: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
+Date: Fri, 28 Jan 2022 15:32:43 +0800
+Subject: [PATCH] protobuf-python-3.19.0:
+ google.protobuf.pyext._message.PyUnknownFieldRef
+
+Prevent integer overflow for unknown fields.
+
+https://github.com/protocolbuffers/protobuf/issues/6205
+https://github.com/protocolbuffers/protobuf/pull/7016
+https://github.com/protocolbuffers/protobuf/commit/5100be2b7746391c2724e2793e1428c36b63c98b
+
+Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
+Signed-off-by: Yixun Lan <dlan@gentoo.org>
+---
+ python/google/protobuf/pyext/unknown_fields.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/python/google/protobuf/pyext/unknown_fields.cc b/python/google/protobuf/pyext/unknown_fields.cc
+index 6d919b3..37e6eae 100644
+--- a/python/google/protobuf/pyext/unknown_fields.cc
++++ b/python/google/protobuf/pyext/unknown_fields.cc
+@@ -275,13 +275,13 @@ static PyObject* GetData(PyUnknownFieldRef* self, void *closure) {
+ PyObject* data = NULL;
+ switch (field->type()) {
+ case UnknownField::TYPE_VARINT:
+- data = PyLong_FromLong(field->varint());
++ data = PyLong_FromUnsignedLongLong(field->varint());
+ break;
+ case UnknownField::TYPE_FIXED32:
+- data = PyLong_FromLong(field->fixed32());
++ data = PyLong_FromUnsignedLong(field->fixed32());
+ break;
+ case UnknownField::TYPE_FIXED64:
+- data = PyLong_FromLong(field->fixed64());
++ data = PyLong_FromUnsignedLongLong(field->fixed64());
+ break;
+ case UnknownField::TYPE_LENGTH_DELIMITED:
+ data = PyBytes_FromStringAndSize(field->length_delimited().data(),
+--
+2.34.1
+
diff --git a/dev-python/protobuf-python/protobuf-python-3.19.3.ebuild b/dev-python/protobuf-python/protobuf-python-3.19.3.ebuild
new file mode 100644
index 000000000000..877714b41eff
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-3.19.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2008-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
+ EGIT_SUBMODULES=()
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz"
+fi
+
+LICENSE="BSD"
+SLOT="0/30"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE=""
+
+BDEPEND="${PYTHON_DEPS}
+ ~dev-libs/protobuf-${PV}
+ dev-python/namespace-google[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${PYTHON_DEPS}
+ ~dev-libs/protobuf-${PV}"
+RDEPEND="${BDEPEND}"
+
+S="${WORKDIR}/protobuf-${PV}/python"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
+fi
+
+python_prepare_all() {
+ pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die
+ eapply "${FILESDIR}/${PN}-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch"
+ eapply_user
+ popd > /dev/null || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ mydistutilsargs=(--cpp_implementation)
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ find "${ED}" -name "*.pth" -type f -delete || die
+}