Here is an updated version of my previous abandoned attempt at updating
this google monster: https://marc.info/?t=167689329100001&r=1&w=2

A major annoyance comes from abseil-cpp shipping 20 gazillion components
combined with a misdesign in our pkg-config. The result is that protobuf
detection in configure scripts takes a ridiculous amount of time.
Configuring libphonenumber takes 10 minutes on a fast amd64 box and over
half an hour on a fast sparc64 box. pkgconf is a lot faster.

Remaining fallout: audio/clementine, devel/protobuf-c, games/pokerth

* clementine and cmake make it hard to pass -std=gnu++17 to the various
  components. There are some leads on GH. I haven't tried myself, and
  I won't: https://github.com/clementine-player/Clementine/issues/7272

* pokerth is similarly obtuse. Again this can be fixed by someone else.

* I sent out a diff for protobuf-c earlier today. All its consumers build.

py3-protobuf works for me, the only thing I couldn't figure out is how
to make tests pass when the package is installed.

I have tested this on amd64, arm64 and sparc64. It ran through an amd64
bulk (as 4.23.2, a bulk with 4.23.3 is ongoing). Unless the pkg-config
vs abseil-cpp thing is considered a blocker (I'd argue it will give more
incentive to fix pkg-config which needs to be done anyway), I'd like to
land this modulo tweaks from review.

Index: devel/protobuf/Makefile
===================================================================
RCS file: /cvs/ports/devel/protobuf/Makefile,v
retrieving revision 1.66
diff -u -p -r1.66 Makefile
--- devel/protobuf/Makefile     19 Feb 2023 11:50:53 -0000      1.66
+++ devel/protobuf/Makefile     8 Sep 2023 20:29:49 -0000
@@ -1,35 +1,69 @@
 COMMENT =              c++ protocol buffers
 
-CPPMAJOR =             3
-PROTOBUF_VERSION =     21.12
+CPPMAJOR =             4
+PROTOBUF_VERSION =     24.3
 V =                    ${CPPMAJOR}.${PROTOBUF_VERSION}
 TAG =                  v${PROTOBUF_VERSION:S/rc-/rc/}
-DISTNAME =             protobuf-cpp-${V}
+DISTNAME =             protobuf-${PROTOBUF_VERSION}
 PKGNAME =              protobuf-${V:S/-//g}
-REVISION =             0
+DISTFILES =            protobuf-${PROTOBUF_VERSION}.tar.gz
 
-WRKDIST =              ${WRKDIR}/protobuf-${V}
-
-SHARED_LIBS +=         protobuf-lite   19.0    # 32.12
-SHARED_LIBS +=         protobuf        21.0    # 32.12
-SHARED_LIBS +=         protoc          23.0    # 32.12
+SHARED_LIBS +=         protobuf-lite   20.0
+SHARED_LIBS +=         protobuf        22.0
+SHARED_LIBS +=         protoc          24.0
 
 CATEGORIES =           devel
 
 HOMEPAGE =             https://github.com/protocolbuffers/protobuf/
 
+SITES =        
https://github.com/protocolbuffers/protobuf/releases/download/${TAG}/
+
 # New BSD
 PERMIT_PACKAGE =       Yes
 
-WANTLIB +=             c m pthread ${COMPILER_LIBCXX} z
+WANTLIB += ${COMPILER_LIBCXX} absl_bad_optional_access absl_bad_variant_access
+WANTLIB += absl_base absl_city absl_civil_time absl_cord absl_cord_internal
+WANTLIB += absl_cordz_functions absl_cordz_handle absl_cordz_info
+WANTLIB += absl_crc32c absl_crc_cord_state absl_crc_cpu_detect
+WANTLIB += absl_crc_internal absl_debugging_internal absl_demangle_internal
+WANTLIB += absl_die_if_null absl_examine_stack absl_exponential_biased
+WANTLIB += absl_flags absl_flags_commandlineflag 
absl_flags_commandlineflag_internal
+WANTLIB += absl_flags_config absl_flags_internal absl_flags_marshalling
+WANTLIB += absl_flags_private_handle_accessor absl_flags_program_name
+WANTLIB += absl_flags_reflection absl_graphcycles_internal absl_hash
+WANTLIB += absl_hashtablez_sampler absl_int128 absl_kernel_timeout_internal
+WANTLIB += absl_log_entry absl_log_globals absl_log_initialize
+WANTLIB += absl_log_internal_check_op absl_log_internal_conditions
+WANTLIB += absl_log_internal_format absl_log_internal_globals
+WANTLIB += absl_log_internal_log_sink_set absl_log_internal_message
+WANTLIB += absl_log_internal_nullguard absl_log_internal_proto
+WANTLIB += absl_log_severity absl_log_sink absl_low_level_hash
+WANTLIB += absl_malloc_internal absl_raw_hash_set absl_raw_logging_internal
+WANTLIB += absl_spinlock_wait absl_stacktrace absl_status absl_statusor
+WANTLIB += absl_str_format_internal absl_strerror absl_string_view
+WANTLIB += absl_strings absl_strings_internal absl_symbolize 
absl_synchronization
+WANTLIB += absl_throw_delegate absl_time absl_time_zone c m z
 
-MASTER_SITES =         
https://github.com/protocolbuffers/protobuf/releases/download/${TAG}/
+LIB_DEPENDS +=         devel/abseil-cpp
 
 COMPILER =             base-clang ports-gcc
 
 MODULES =              devel/cmake
 
+CONFIGURE_ARGS +=      -Dprotobuf_ABSL_PROVIDER=package
+CONFIGURE_ARGS +=      -DABSL_ROOT_DIR=${LOCALBASE}/include/absl
 CONFIGURE_ARGS +=      -Dprotobuf_BUILD_SHARED_LIBS=ON
-CONFIGURE_ARGS +=      -Dprotobuf_BUILD_TESTS=OFF
+
+# Tests have been broken for a long time. May want to disable them.
+#CONFIGURE_ARGS +=     -Dprotobuf_BUILD_TESTS=OFF
+
+# Not devel/gtest since the build system expects sources.
+GOOGLETEST_VERSION =   1.14.0
+SITES.gh =             https://github.com/google/googletest/archive/refs/tags/
+DISTFILES.gh =         gtest-{}v${GOOGLETEST_VERSION}.tar.gz
+
+post-extract:
+       rm -rf ${WRKSRC}/third_party/googletest
+       mv ${WRKDIR}/googletest-${GOOGLETEST_VERSION} 
${WRKSRC}/third_party/googletest
 
 .include <bsd.port.mk>
Index: devel/protobuf/distinfo
===================================================================
RCS file: /cvs/ports/devel/protobuf/distinfo,v
retrieving revision 1.40
diff -u -p -r1.40 distinfo
--- devel/protobuf/distinfo     14 Dec 2022 17:22:42 -0000      1.40
+++ devel/protobuf/distinfo     8 Sep 2023 20:16:36 -0000
@@ -1,2 +1,4 @@
-SHA256 (protobuf-cpp-3.21.12.tar.gz) = 
TqubUkqlkTxv/7ILKoq/Xvf5WoC8BwHzptu0xgf3NGA=
-SIZE (protobuf-cpp-3.21.12.tar.gz) = 4842303
+SHA256 (gtest-v1.14.0.tar.gz) = itWYxzrXluDYKAsILOvYKmMNc+c808cAV5OKZQG7pdc=
+SHA256 (protobuf-24.3.tar.gz) = B9aVAuWCSJJ7WMfX50JBNScrpbKFKnU6trZ+YtLSk1U=
+SIZE (gtest-v1.14.0.tar.gz) = 867764
+SIZE (protobuf-24.3.tar.gz) = 5179711
Index: devel/protobuf/patches/patch-src_google_protobuf_port_def_inc
===================================================================
RCS file: 
/cvs/ports/devel/protobuf/patches/patch-src_google_protobuf_port_def_inc,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_google_protobuf_port_def_inc
--- devel/protobuf/patches/patch-src_google_protobuf_port_def_inc       27 Jan 
2023 19:07:54 -0000      1.1
+++ devel/protobuf/patches/patch-src_google_protobuf_port_def_inc       8 Sep 
2023 20:16:36 -0000
@@ -1,12 +1,21 @@
 Index: src/google/protobuf/port_def.inc
 --- src/google/protobuf/port_def.inc.orig
 +++ src/google/protobuf/port_def.inc
-@@ -254,7 +254,7 @@
+@@ -334,7 +334,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
  #ifdef PROTOBUF_TAILCALL
  #error PROTOBUF_TAILCALL was previously defined
  #endif
--#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
+-#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) &&      \
 +#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && 
!defined(__mips64__) && \
-     !defined(_ARCH_PPC) && !defined(__wasm__) &&                 \
-     !(defined(_MSC_VER) && defined(_M_IX86)) &&                  \
+     !defined(_ARCH_PPC) && !defined(__wasm__) &&                      \
+     !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__) && \
      !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)
+@@ -1004,7 +1004,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
+ #undef FALSE
+ #endif  // _WIN32
+ 
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(__OpenBSD__)
+ // Inconvenient macro names from /usr/include/mach/boolean.h in some macOS 
SDKs.
+ #pragma push_macro("TRUE")
+ #undef TRUE
Index: devel/protobuf/pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/protobuf/pkg/PLIST,v
retrieving revision 1.15
diff -u -p -r1.15 PLIST
--- devel/protobuf/pkg/PLIST    19 Feb 2023 11:50:53 -0000      1.15
+++ devel/protobuf/pkg/PLIST    8 Sep 2023 20:16:36 -0000
@@ -1,5 +1,5 @@
 bin/protoc
-@bin bin/protoc-3.21.12.0
+@bin bin/protoc-24.3.0
 include/google/
 include/google/protobuf/
 include/google/protobuf/any.h
@@ -8,48 +8,138 @@ include/google/protobuf/any.proto
 include/google/protobuf/api.pb.h
 include/google/protobuf/api.proto
 include/google/protobuf/arena.h
-include/google/protobuf/arena_impl.h
+include/google/protobuf/arena_align.h
+include/google/protobuf/arena_allocation_policy.h
+include/google/protobuf/arena_cleanup.h
 include/google/protobuf/arenastring.h
 include/google/protobuf/arenaz_sampler.h
 include/google/protobuf/compiler/
+include/google/protobuf/compiler/allowlists/
+include/google/protobuf/compiler/allowlists/allowlist.h
+include/google/protobuf/compiler/allowlists/allowlists.h
 include/google/protobuf/compiler/code_generator.h
 include/google/protobuf/compiler/command_line_interface.h
 include/google/protobuf/compiler/cpp/
-include/google/protobuf/compiler/cpp/cpp_generator.h
+include/google/protobuf/compiler/cpp/enum.h
+include/google/protobuf/compiler/cpp/extension.h
+include/google/protobuf/compiler/cpp/field.h
+include/google/protobuf/compiler/cpp/field_generators/
+include/google/protobuf/compiler/cpp/field_generators/generators.h
 include/google/protobuf/compiler/cpp/file.h
 include/google/protobuf/compiler/cpp/generator.h
 include/google/protobuf/compiler/cpp/helpers.h
+include/google/protobuf/compiler/cpp/message.h
+include/google/protobuf/compiler/cpp/message_layout_helper.h
 include/google/protobuf/compiler/cpp/names.h
+include/google/protobuf/compiler/cpp/options.h
+include/google/protobuf/compiler/cpp/padding_optimizer.h
+include/google/protobuf/compiler/cpp/parse_function_generator.h
+include/google/protobuf/compiler/cpp/service.h
+include/google/protobuf/compiler/cpp/tracker.h
 include/google/protobuf/compiler/csharp/
 include/google/protobuf/compiler/csharp/csharp_doc_comment.h
+include/google/protobuf/compiler/csharp/csharp_enum.h
+include/google/protobuf/compiler/csharp/csharp_enum_field.h
+include/google/protobuf/compiler/csharp/csharp_field_base.h
 include/google/protobuf/compiler/csharp/csharp_generator.h
-include/google/protobuf/compiler/csharp/csharp_names.h
+include/google/protobuf/compiler/csharp/csharp_helpers.h
+include/google/protobuf/compiler/csharp/csharp_map_field.h
+include/google/protobuf/compiler/csharp/csharp_message.h
+include/google/protobuf/compiler/csharp/csharp_message_field.h
 include/google/protobuf/compiler/csharp/csharp_options.h
+include/google/protobuf/compiler/csharp/csharp_primitive_field.h
+include/google/protobuf/compiler/csharp/csharp_reflection_class.h
+include/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h
+include/google/protobuf/compiler/csharp/csharp_repeated_message_field.h
+include/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h
+include/google/protobuf/compiler/csharp/csharp_source_generator_base.h
+include/google/protobuf/compiler/csharp/csharp_wrapper_field.h
+include/google/protobuf/compiler/csharp/names.h
 include/google/protobuf/compiler/importer.h
 include/google/protobuf/compiler/java/
+include/google/protobuf/compiler/java/context.h
+include/google/protobuf/compiler/java/doc_comment.h
+include/google/protobuf/compiler/java/enum.h
+include/google/protobuf/compiler/java/enum_field.h
+include/google/protobuf/compiler/java/enum_field_lite.h
+include/google/protobuf/compiler/java/enum_lite.h
+include/google/protobuf/compiler/java/extension.h
+include/google/protobuf/compiler/java/extension_lite.h
+include/google/protobuf/compiler/java/field.h
+include/google/protobuf/compiler/java/file.h
 include/google/protobuf/compiler/java/generator.h
-include/google/protobuf/compiler/java/java_generator.h
+include/google/protobuf/compiler/java/generator_factory.h
+include/google/protobuf/compiler/java/helpers.h
 include/google/protobuf/compiler/java/kotlin_generator.h
+include/google/protobuf/compiler/java/map_field.h
+include/google/protobuf/compiler/java/map_field_lite.h
+include/google/protobuf/compiler/java/message.h
+include/google/protobuf/compiler/java/message_builder.h
+include/google/protobuf/compiler/java/message_builder_lite.h
+include/google/protobuf/compiler/java/message_field.h
+include/google/protobuf/compiler/java/message_field_lite.h
+include/google/protobuf/compiler/java/message_lite.h
+include/google/protobuf/compiler/java/message_serialization.h
+include/google/protobuf/compiler/java/name_resolver.h
 include/google/protobuf/compiler/java/names.h
+include/google/protobuf/compiler/java/options.h
+include/google/protobuf/compiler/java/primitive_field.h
+include/google/protobuf/compiler/java/primitive_field_lite.h
+include/google/protobuf/compiler/java/service.h
+include/google/protobuf/compiler/java/shared_code_generator.h
+include/google/protobuf/compiler/java/string_field.h
+include/google/protobuf/compiler/java/string_field_lite.h
 include/google/protobuf/compiler/objectivec/
-include/google/protobuf/compiler/objectivec/objectivec_generator.h
-include/google/protobuf/compiler/objectivec/objectivec_helpers.h
+include/google/protobuf/compiler/objectivec/enum.h
+include/google/protobuf/compiler/objectivec/enum_field.h
+include/google/protobuf/compiler/objectivec/extension.h
+include/google/protobuf/compiler/objectivec/field.h
+include/google/protobuf/compiler/objectivec/file.h
+include/google/protobuf/compiler/objectivec/generator.h
+include/google/protobuf/compiler/objectivec/helpers.h
+include/google/protobuf/compiler/objectivec/import_writer.h
+include/google/protobuf/compiler/objectivec/line_consumer.h
+include/google/protobuf/compiler/objectivec/map_field.h
+include/google/protobuf/compiler/objectivec/message.h
+include/google/protobuf/compiler/objectivec/message_field.h
+include/google/protobuf/compiler/objectivec/names.h
+include/google/protobuf/compiler/objectivec/nsobject_methods.h
+include/google/protobuf/compiler/objectivec/oneof.h
+include/google/protobuf/compiler/objectivec/options.h
+include/google/protobuf/compiler/objectivec/primitive_field.h
+include/google/protobuf/compiler/objectivec/text_format_decode_data.h
 include/google/protobuf/compiler/parser.h
 include/google/protobuf/compiler/php/
+include/google/protobuf/compiler/php/names.h
 include/google/protobuf/compiler/php/php_generator.h
 include/google/protobuf/compiler/plugin.h
 include/google/protobuf/compiler/plugin.pb.h
 include/google/protobuf/compiler/plugin.proto
 include/google/protobuf/compiler/python/
 include/google/protobuf/compiler/python/generator.h
+include/google/protobuf/compiler/python/helpers.h
 include/google/protobuf/compiler/python/pyi_generator.h
-include/google/protobuf/compiler/python/python_generator.h
+include/google/protobuf/compiler/retention.h
 include/google/protobuf/compiler/ruby/
 include/google/protobuf/compiler/ruby/ruby_generator.h
+include/google/protobuf/compiler/rust/
+include/google/protobuf/compiler/rust/accessors/
+include/google/protobuf/compiler/rust/accessors/accessors.h
+include/google/protobuf/compiler/rust/context.h
+include/google/protobuf/compiler/rust/generator.h
+include/google/protobuf/compiler/rust/message.h
+include/google/protobuf/compiler/rust/naming.h
+include/google/protobuf/compiler/scc.h
+include/google/protobuf/compiler/subprocess.h
+include/google/protobuf/compiler/zip_writer.h
+include/google/protobuf/cpp_features.pb.h
+include/google/protobuf/cpp_features.proto
 include/google/protobuf/descriptor.h
 include/google/protobuf/descriptor.pb.h
 include/google/protobuf/descriptor.proto
 include/google/protobuf/descriptor_database.h
+include/google/protobuf/descriptor_legacy.h
+include/google/protobuf/descriptor_visitor.h
 include/google/protobuf/duration.pb.h
 include/google/protobuf/duration.proto
 include/google/protobuf/dynamic_message.h
@@ -59,6 +149,7 @@ include/google/protobuf/endian.h
 include/google/protobuf/explicitly_constructed.h
 include/google/protobuf/extension_set.h
 include/google/protobuf/extension_set_inl.h
+include/google/protobuf/feature_resolver.h
 include/google/protobuf/field_access_listener.h
 include/google/protobuf/field_mask.pb.h
 include/google/protobuf/field_mask.proto
@@ -67,11 +158,14 @@ include/google/protobuf/generated_enum_u
 include/google/protobuf/generated_message_bases.h
 include/google/protobuf/generated_message_reflection.h
 include/google/protobuf/generated_message_tctable_decl.h
+include/google/protobuf/generated_message_tctable_gen.h
 include/google/protobuf/generated_message_tctable_impl.h
 include/google/protobuf/generated_message_util.h
 include/google/protobuf/has_bits.h
 include/google/protobuf/implicit_weak_message.h
 include/google/protobuf/inlined_string_field.h
+include/google/protobuf/internal_message_util.h
+include/google/protobuf/internal_visibility.h
 include/google/protobuf/io/
 include/google/protobuf/io/coded_stream.h
 include/google/protobuf/io/gzip_stream.h
@@ -79,9 +173,23 @@ include/google/protobuf/io/io_win32.h
 include/google/protobuf/io/printer.h
 include/google/protobuf/io/strtod.h
 include/google/protobuf/io/tokenizer.h
+include/google/protobuf/io/zero_copy_sink.h
 include/google/protobuf/io/zero_copy_stream.h
 include/google/protobuf/io/zero_copy_stream_impl.h
 include/google/protobuf/io/zero_copy_stream_impl_lite.h
+include/google/protobuf/json/
+include/google/protobuf/json/internal/
+include/google/protobuf/json/internal/descriptor_traits.h
+include/google/protobuf/json/internal/lexer.h
+include/google/protobuf/json/internal/message_path.h
+include/google/protobuf/json/internal/parser.h
+include/google/protobuf/json/internal/parser_traits.h
+include/google/protobuf/json/internal/unparser.h
+include/google/protobuf/json/internal/unparser_traits.h
+include/google/protobuf/json/internal/untyped_message.h
+include/google/protobuf/json/internal/writer.h
+include/google/protobuf/json/internal/zero_copy_buffered_stream.h
+include/google/protobuf/json/json.h
 include/google/protobuf/map.h
 include/google/protobuf/map_entry.h
 include/google/protobuf/map_entry_lite.h
@@ -97,34 +205,28 @@ include/google/protobuf/parse_context.h
 include/google/protobuf/port.h
 include/google/protobuf/port_def.inc
 include/google/protobuf/port_undef.inc
+include/google/protobuf/raw_ptr.h
 include/google/protobuf/reflection.h
+include/google/protobuf/reflection_internal.h
+include/google/protobuf/reflection_mode.h
 include/google/protobuf/reflection_ops.h
 include/google/protobuf/repeated_field.h
 include/google/protobuf/repeated_ptr_field.h
+include/google/protobuf/serial_arena.h
 include/google/protobuf/service.h
 include/google/protobuf/source_context.pb.h
 include/google/protobuf/source_context.proto
+include/google/protobuf/string_block.h
 include/google/protobuf/struct.pb.h
 include/google/protobuf/struct.proto
 include/google/protobuf/stubs/
-include/google/protobuf/stubs/bytestream.h
 include/google/protobuf/stubs/callback.h
-include/google/protobuf/stubs/casts.h
 include/google/protobuf/stubs/common.h
-include/google/protobuf/stubs/hash.h
-include/google/protobuf/stubs/logging.h
-include/google/protobuf/stubs/macros.h
-include/google/protobuf/stubs/map_util.h
-include/google/protobuf/stubs/mutex.h
-include/google/protobuf/stubs/once.h
 include/google/protobuf/stubs/platform_macros.h
 include/google/protobuf/stubs/port.h
-include/google/protobuf/stubs/status.h
-include/google/protobuf/stubs/stl_util.h
-include/google/protobuf/stubs/stringpiece.h
-include/google/protobuf/stubs/strutil.h
-include/google/protobuf/stubs/template_util.h
+include/google/protobuf/stubs/status_macros.h
 include/google/protobuf/text_format.h
+include/google/protobuf/thread_safe_arena.h
 include/google/protobuf/timestamp.pb.h
 include/google/protobuf/timestamp.proto
 include/google/protobuf/type.pb.h
@@ -139,20 +241,31 @@ include/google/protobuf/util/message_dif
 include/google/protobuf/util/time_util.h
 include/google/protobuf/util/type_resolver.h
 include/google/protobuf/util/type_resolver_util.h
+include/google/protobuf/varint_shuffle.h
 include/google/protobuf/wire_format.h
 include/google/protobuf/wire_format_lite.h
 include/google/protobuf/wrappers.pb.h
 include/google/protobuf/wrappers.proto
-lib/cmake/
+include/utf8_range.h
+include/utf8_validity.h
 lib/cmake/protobuf/
 lib/cmake/protobuf/protobuf-config-version.cmake
 lib/cmake/protobuf/protobuf-config.cmake
+lib/cmake/protobuf/protobuf-generate.cmake
 lib/cmake/protobuf/protobuf-module.cmake
 lib/cmake/protobuf/protobuf-options.cmake
 lib/cmake/protobuf/protobuf-targets${MODCMAKE_BUILD_SUFFIX}
 lib/cmake/protobuf/protobuf-targets.cmake
+lib/cmake/utf8_range/
+lib/cmake/utf8_range/utf8_range-config.cmake
+lib/cmake/utf8_range/utf8_range-targets${MODCMAKE_BUILD_SUFFIX}
+lib/cmake/utf8_range/utf8_range-targets.cmake
+@so lib/libgmock.so
 @lib lib/libprotobuf-lite.so.${LIBprotobuf-lite_VERSION}
 @lib lib/libprotobuf.so.${LIBprotobuf_VERSION}
 @lib lib/libprotoc.so.${LIBprotoc_VERSION}
+@static-lib lib/libutf8_range.a
+@static-lib lib/libutf8_validity.a
 lib/pkgconfig/protobuf-lite.pc
 lib/pkgconfig/protobuf.pc
+lib/pkgconfig/utf8_range.pc
Index: devel/py-protobuf/Makefile
===================================================================
RCS file: /cvs/ports/devel/py-protobuf/Makefile,v
retrieving revision 1.40
diff -u -p -r1.40 Makefile
--- devel/py-protobuf/Makefile  14 Dec 2022 17:23:27 -0000      1.40
+++ devel/py-protobuf/Makefile  8 Sep 2023 21:16:35 -0000
@@ -1,18 +1,18 @@
 COMMENT=               Google data interchange format (protocol buffers)
 
 PYMAJOR=               4
-PROTOBUF_VERSION=      21.12
+PROTOBUF_VERSION=      24.3
 
 V=                     ${PYMAJOR}.${PROTOBUF_VERSION}
 MODPY_EGG_VERSION=     ${V:S/-//g}
 TAG=                   v${PROTOBUF_VERSION:S/rc-/rc/}
 
-DISTNAME=              protobuf-python-$V
+DISTNAME=              protobuf-${PROTOBUF_VERSION}
 PKGNAME=               py-protobuf-${MODPY_EGG_VERSION}
 
 FIX_EXTRACT_PERMISSIONS= Yes
 
-WRKDIST=               ${WRKDIR}/protobuf-${PYMAJOR}.${PROTOBUF_VERSION}/python
+WRKDIST=               ${WRKDIR}/protobuf-${PROTOBUF_VERSION}/python
 
 CATEGORIES=            devel
 
@@ -22,11 +22,13 @@ PERMIT_PACKAGE=             Yes
 MODULES=               lang/python
 
 HOMEPAGE=              https://github.com/protocolbuffers/protobuf/
-MASTER_SITES=          
https://github.com/protocolbuffers/protobuf/releases/download/${TAG}/
+SITES=                 
https://github.com/protocolbuffers/protobuf/releases/download/${TAG}/
 
 MODPY_PYBUILD=         setuptools
 
 BUILD_DEPENDS=         devel/protobuf
+
+TEST_DEPENDS=          math/py-numpy${MODPY_FLAVOR}
 
 FLAVORS=               python3
 FLAVOR=                        python3
Index: devel/py-protobuf/distinfo
===================================================================
RCS file: /cvs/ports/devel/py-protobuf/distinfo,v
retrieving revision 1.31
diff -u -p -r1.31 distinfo
--- devel/py-protobuf/distinfo  14 Dec 2022 17:23:27 -0000      1.31
+++ devel/py-protobuf/distinfo  8 Sep 2023 20:31:44 -0000
@@ -1,2 +1,2 @@
-SHA256 (protobuf-python-4.21.12.tar.gz) = 
4rl25n1vz3B495kUOnPypNnPMSbKaKGm8b2jD+XzWFw=
-SIZE (protobuf-python-4.21.12.tar.gz) = 5211420
+SHA256 (protobuf-24.3.tar.gz) = B9aVAuWCSJJ7WMfX50JBNScrpbKFKnU6trZ+YtLSk1U=
+SIZE (protobuf-24.3.tar.gz) = 5179711
Index: devel/py-protobuf/pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/py-protobuf/pkg/PLIST,v
retrieving revision 1.9
diff -u -p -r1.9 PLIST
--- devel/py-protobuf/pkg/PLIST 4 Oct 2022 10:25:06 -0000       1.9
+++ devel/py-protobuf/pkg/PLIST 8 Sep 2023 20:31:44 -0000
@@ -92,6 +92,8 @@ lib/python${MODPY_VERSION}/site-packages
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/${MODPY_PYCACHE}enum_type_wrapper.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/${MODPY_PYCACHE}extension_dict.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/${MODPY_PYCACHE}extension_dict.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/${MODPY_PYCACHE}field_mask.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/${MODPY_PYCACHE}field_mask.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/${MODPY_PYCACHE}message_listener.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/${MODPY_PYCACHE}message_listener.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/${MODPY_PYCACHE}python_message.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -109,7 +111,13 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/encoder.py
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/enum_type_wrapper.py
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/extension_dict.py
+lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/field_mask.py
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/message_listener.py
+lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/numpy/
+lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/numpy/__init__.py
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/numpy/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/numpy/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/numpy/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/python_message.py
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/type_checkers.py
 
lib/python${MODPY_VERSION}/site-packages/google/protobuf/internal/well_known_types.py

Reply via email to