diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2022-01-10 05:00:00 +0000 |
---|---|---|
committer | Yixun Lan <dlan@gentoo.org> | 2022-01-29 23:18:08 +0800 |
commit | c9535bfd7ee3e7dc36ceed2084ba681ab574522e (patch) | |
tree | 02ed9e0f081f5b4adbcca9f811df8880a6d1ee4a /dev-python/protobuf-python | |
parent | dev-java/protobuf-java: Version bump (3.19.3). (diff) | |
download | gentoo-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')
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 +} |