commit:     64deab0c24a6e48353affa91173f1095613b769b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 17 11:37:10 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 17 11:47:17 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64deab0c

dev-python/protobuf: Bump to 6.33.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/protobuf/Manifest               |   2 +
 dev-python/protobuf/protobuf-6.33.0.ebuild | 154 +++++++++++++++++++++++++++++
 2 files changed, 156 insertions(+)

diff --git a/dev-python/protobuf/Manifest b/dev-python/protobuf/Manifest
index 862a682fef99..a408c54b8b3c 100644
--- a/dev-python/protobuf/Manifest
+++ b/dev-python/protobuf/Manifest
@@ -1,5 +1,6 @@
 DIST protobuf-32.0.gh.tar.gz 9692366 BLAKE2B 
37e09bec62a5c35a3ca45d4bd4fd27e719a4f04b95f049b265ca7c231459d8333eafc13cfd1126dda5ccf799ab2e2e9f305fcae5525a64b4b1eb45b1fb3a897b
 SHA512 
89806b219fa2132e46bf01b7a5831c2977ad7ebe06750956d0e17bcdc028498e883704445fca56bb813f4b78e935709f67f8fa1b46b597840c58a843483cdafb
 DIST protobuf-32.1.gh.tar.gz 9694736 BLAKE2B 
37a310799eaa58b14f67c62410f1e150c031b94db5a499ceeda749bd13a1165403a5d4c86ffa45729ae333080697ce0619b29a51d2bc345de012f99a3ce5dd20
 SHA512 
840239f4fb57450ffe61f2cdc73daf5f1f3ea317b1ab1135a90303783e62722cfa410ff27bb2c5c6d3106be39ccdc95cdfbc5bf271ba79f935ab85f9b8ce3075
+DIST protobuf-33.0.gh.tar.gz 6869946 BLAKE2B 
ee9a600d67873f129138cb3ab13b3d5197301e8cfc682f194317c8389f7115d10bab73e410116570f8f0ccfe2dc20f8f629b47c90f7b31a3df54acfacda18506
 SHA512 
365f975f2e982dd2d5588dc0ff435316bf6e50d272e419c01793e4d02f1a9f1e98026fc854ec73f1ee4eb0391701201ae82c7af9b18f3b677d451dd3dd78c468
 DIST protobuf-5.29.4.py.tar.gz 424902 BLAKE2B 
54941b008ff5ebd007076448828564128d98e9a6a4613c87057c359124940d341358fe28107b929e3e842ac7e1b34ed54c30219ed95cbb418826592e2458a01f
 SHA512 
634faf103ed8320762593689796d26e6b988e1b40277b12dc7356983c07d5d1da8cac1530e4f16c0a1494abfb885f26bf9884988029e863515cf535c62d96c77
 DIST protobuf-5.29.5.py.tar.gz 425226 BLAKE2B 
1d7461e94ba8bc097d6f52170678665e3cd97ef44e4757e6c20bcb1bdfbfe673d26cd4a63f8e6972af964e381dfffedeb9a4959ec7a7d5a3a3f87f917c8aa329
 SHA512 
cbb39efe7f6499362b3e4cc9f073df921c8b83d3aafde245a2ca3432f3e744a428e946799c48b2797e08312342e164eced0bf2b8865b8d042b54913855abb1c8
 DIST protobuf-6.30.2.gh.tar.gz 9523913 BLAKE2B 
d3950abfe8b3b61dc2bb61f683b014de29451252c46b670dee75a81eb0b8ed30a3209227aa9483800244af16058469deb281521609d769a3456a798ca8a9a4a3
 SHA512 
f2ee857a36b49f87257a306b3f3c361770d74aaf24c4650b9d00994e1e1a0b09079fb0ce5ffb4d5a4a32d8ca46e3247d6db454918fa0b104fc8d58e8a0546a96
@@ -8,3 +9,4 @@ DIST protobuf-6.31.1.gh.tar.gz 9602805 BLAKE2B 
349a528acaad6bae8c39be2888fcfe855
 DIST protobuf-6.31.1.py.tar.gz 441797 BLAKE2B 
867ee81473a733020098f76c2ccf22161a73b3a1219e08f0f339f202cff871447d874cc6c13d42ef314a0134d65c56631ba4ab6feb806749f3d18443f666f5d9
 SHA512 
595c125a116020344d5706adf444e1a3259eae5bce3ca61b92c1ab4cb63c167f97210c71e5e24b8c49c6489777ca6de95abdd398125ba3925313ad5ebe09cc18
 DIST protobuf-6.32.0.py.tar.gz 440614 BLAKE2B 
615338e96a26c5a9f254b41da41598d9826fa039cff088c94fe3693a1f042631a7b48ac9a3a9bf6de2f6c5d61209796e227df080f4388f46d76afa9fecc94ddd
 SHA512 
c29d1b01984e0cc204bffa5c757e4df4eb8ee696b6f5557414e65310b15956192fc73db5daae176f2b4db03e98c36a46cc74ca8b377df193bc9461142c8269cf
 DIST protobuf-6.32.1.py.tar.gz 440635 BLAKE2B 
4d6c7c398378e04f130ec281234a96ef59fc34511d9c1c3153851a2623b894dc64d559e02bd8f55c9b7f82d98d43e914ca5967481dcf4eb92f7cd22aa47a4e77
 SHA512 
f8aeb9cdbde385e728f3006d16f26c540a5ec46f7046486b34cdf254a22acdcf6a152791517cd852cfa866809b0b79b3233757c4f898e4768d00b0d902c30776
+DIST protobuf-6.33.0.py.tar.gz 443463 BLAKE2B 
32d7a4e03912356836f748a6d255f171778c91f8d45718d9d1cd67c0c1e5123d74dbd2529baef13c09b022cb2555c1a0852490bde9b6aa7aeda320f062278bab
 SHA512 
9173f832a2e285095ab2e479f7b8155e1005f38cbd385f3752ecd3f68281f1b2f530a12cd784d293263a233fdb94f5f6c5dc988e29fe3345d3e721d8d7ba2dcf

diff --git a/dev-python/protobuf/protobuf-6.33.0.ebuild 
b/dev-python/protobuf/protobuf-6.33.0.ebuild
new file mode 100644
index 000000000000..26923e41ea9d
--- /dev/null
+++ b/dev-python/protobuf/protobuf-6.33.0.ebuild
@@ -0,0 +1,154 @@
+# Copyright 2008-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Default implementation currently is upb, which doesn't match 
dev-libs/protobuf
+# 
https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+GH_PV=$(ver_cut 2-3)
+GH_P=${PN}-${GH_PV}
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="
+       https://protobuf.dev/
+       https://pypi.org/project/protobuf/
+"
+# Rename sdist to avoid conflicts with dev-libs/protobuf
+SRC_URI="
+       $(pypi_sdist_url) -> ${P}.py.tar.gz
+       test? (
+               
https://github.com/protocolbuffers/protobuf/archive/v${GH_PV}.tar.gz
+                       -> ${GH_P}.gh.tar.gz
+       )
+"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-3)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# need protobuf compiler
+BDEPEND="
+       test? (
+               dev-libs/protobuf
+               dev-python/absl-py[${PYTHON_USEDEP}]
+               dev-python/numpy[${PYTHON_USEDEP}]
+       )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+       unpack "${P}.py.tar.gz"
+
+       if use test; then
+               mkdir "${WORKDIR}/test" || die
+               cd "${WORKDIR}/test" || die
+               unpack "${GH_P}.gh.tar.gz"
+       fi
+}
+
+src_prepare() {
+       distutils-r1_src_prepare
+
+       # strip old-style namespace
+       rm google/__init__.py || die
+}
+
+python_test() {
+       local EPYTEST_DESELECT=()
+       local EPYTEST_IGNORE=(
+               # TODO: figure out how to build the pybind11 test extension
+               google/protobuf/internal/recursive_message_pybind11_test.py
+       )
+
+       case ${EPYTHON} in
+               python3.11)
+                       EPYTEST_IGNORE+=(
+                               # syntax error...
+                               google/protobuf/internal/json_format_test.py
+                       )
+                       ;;
+               python3.14*)
+                       EPYTEST_DESELECT+=(
+                               # exception message mismatch
+                               
google/protobuf/internal/json_format_test.py::JsonFormatTest::testInvalidTimestamp
+                               
google/protobuf/internal/well_known_types_test.py::TimeUtilTest::testInvalidTimestamp
+                       )
+                       ;;
+       esac
+
+       cp -r "${BUILD_DIR}"/{install,test} || die
+       local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
+       cd "${BUILD_DIR}/test$(python_get_sitedir)" || die
+
+       # copy test files from the source tree
+       cp -r "${WORKDIR}/test/${GH_P}/python/google/protobuf/internal/." \
+               google/protobuf/internal/ || die
+       # link the test data for text_format_test.py
+       # (it traverses directories upwards until to finds src/google...)
+       ln -s "${WORKDIR}/test/${GH_P}/src" ../src || die
+
+       # compile test-related protobufs
+       local test_protos=(
+               # from src
+               any_test.proto
+               map_proto2_unittest.proto
+               map_unittest.proto
+               unittest.proto
+               unittest_custom_options.proto
+               unittest_delimited.proto
+               unittest_delimited_import.proto
+               unittest_features.proto
+               unittest_import.proto
+               unittest_import_option.proto
+               unittest_import_public.proto
+               unittest_legacy_features.proto
+               unittest_mset.proto
+               unittest_mset_wire_format.proto
+               unittest_no_field_presence.proto
+               unittest_no_generic_services.proto
+               unittest_proto3.proto
+               unittest_proto3_arena.proto
+               unittest_proto3_extensions.proto
+               unittest_retention.proto
+               util/json_format.proto
+               util/json_format_proto3.proto
+               # from python
+               internal/descriptor_pool_test1.proto
+               internal/descriptor_pool_test2.proto
+               internal/factory_test1.proto
+               internal/factory_test2.proto
+               internal/file_options_test.proto
+               internal/import_test_package/import_public.proto
+               internal/import_test_package/import_public_nested.proto
+               internal/import_test_package/inner.proto
+               internal/import_test_package/outer.proto
+               internal/message_set_extensions.proto
+               internal/missing_enum_values.proto
+               internal/more_extensions.proto
+               internal/more_messages.proto
+               internal/no_package.proto
+               internal/packed_field_test.proto
+               internal/self_recursive.proto
+               internal/test_bad_identifiers.proto
+               internal/test_proto2.proto
+               internal/test_proto3_optional.proto
+               internal/well_known_types_test.proto
+       )
+       local proto
+       for proto in "${test_protos[@]}"; do
+               protoc --python_out=. -I"${WORKDIR}/test/${GH_P}/src" -I. \
+                       "google/protobuf/${proto}" || die
+       done
+
+       epytest
+}

Reply via email to