summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/protobuf-python/Manifest1
-rw-r--r--dev-python/protobuf-python/files/protobuf-python-3.19.1-google.protobuf.pyext._message.PyUnknownFieldRef.patch22
-rw-r--r--dev-python/protobuf-python/protobuf-python-3.19.1.ebuild52
3 files changed, 75 insertions, 0 deletions
diff --git a/dev-python/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest
index 87ea4747892e..e4219af26c33 100644
--- a/dev-python/protobuf-python/Manifest
+++ b/dev-python/protobuf-python/Manifest
@@ -4,3 +4,4 @@ DIST protobuf-3.17.0.tar.gz 5185780 BLAKE2B a168619df72cdf097c7ddfd50aca96a2101b
DIST protobuf-3.17.1.tar.gz 5192666 BLAKE2B 7f912db7e0835aaa42628fcf564a5666e2cbfa021bb35638a5eec53c3c457f1e747225dea54f732b7239a1520febca9bc20c824b1938f100796caa3ac2133bc1 SHA512 5a18aa3c1dab040dc6d22310a8503241081106acf7ca89079d7b416533d7c2cdd47719dc9023e6bc26969f0f1c796550260a04034a403c69752f6a3a7a651bb8
DIST protobuf-3.17.2.tar.gz 5192779 BLAKE2B 97f9561848e70b8d26ebcc7fc4fa8da51c4b8267efbe1d2d386c2785308e7ba7edc05f1b3863c274dc8838866d58b58509606d72c51a22b956d1d528584c4c95 SHA512 b3e7ad50ed772668df70a3a20ad1af13a5e82f23b109e4fecd34e6a74947bed300963c9f084907fbfafe28fc18365cde7df1975e2ff9538d2f5a3d2b458bca98
DIST protobuf-3.17.3.tar.gz 5235236 BLAKE2B 2495e678c8f9436d4e5a30ccee8b6226125d418ac7ecf7df20b078a1a16c221cbccab7d846dcd56a90220c106617fa75c410a21b62612fedec378cd7e8571350 SHA512 b4030b4474cc5fb5a62501200725dd488e6e66e3ced4ed12ab4ee029fcfed305e92ec966adafbdd343afffd186908163849422b95eaa500e7e741ac325d01d12
+DIST protobuf-3.19.1.tar.gz 5291573 BLAKE2B a34f1a7cf99ecb6cb8a26bc858de6273bfd26aa9be1e89e48c16cb5df0f1e9576479344c8250017238dbac0d0c4ac33001125b5fc622cb64ed6b91023198b03a SHA512 f1271f5159a7be363a5f60ce4921dfea68a8468d66808330bacaeaa1cb7f652d045ab080b5d82816a6fd4e6d7d7fe79aaa6c8d66d81692721d36ce3bbf619f31
diff --git a/dev-python/protobuf-python/files/protobuf-python-3.19.1-google.protobuf.pyext._message.PyUnknownFieldRef.patch b/dev-python/protobuf-python/files/protobuf-python-3.19.1-google.protobuf.pyext._message.PyUnknownFieldRef.patch
new file mode 100644
index 000000000000..a03ad98b4550
--- /dev/null
+++ b/dev-python/protobuf-python/files/protobuf-python-3.19.1-google.protobuf.pyext._message.PyUnknownFieldRef.patch
@@ -0,0 +1,22 @@
+https://github.com/protocolbuffers/protobuf/issues/6205
+https://github.com/protocolbuffers/protobuf/pull/7016
+
+--- a/google/protobuf/pyext/unknown_fields.cc
++++ b/google/protobuf/pyext/unknown_fields.cc
+@@ -274,13 +274,13 @@
+ 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_FromUnsignedLongLong(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(),
diff --git a/dev-python/protobuf-python/protobuf-python-3.19.1.ebuild b/dev-python/protobuf-python/protobuf-python-3.19.1.ebuild
new file mode 100644
index 000000000000..17947082fe8d
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-3.19.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2008-2021 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_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
+ EGIT_SUBMODULES=()
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz"
+fi
+S="${WORKDIR}/protobuf-${PV}/python"
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
+
+LICENSE="BSD"
+SLOT="0/30"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+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}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.19.1-google.protobuf.pyext._message.PyUnknownFieldRef.patch"
+)
+
+distutils_enable_tests setup.py
+
+python_configure_all() {
+ mydistutilsargs=(
+ --cpp_implementation
+ )
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ find "${ED}" -name "*.pth" -type f -delete || die
+}