From 26d2323982da82ee81d2dc552ef0b2b599797397 Mon Sep 17 00:00:00 2001 From: John Chadwick Date: Sat, 31 Jan 2026 12:24:28 -0500 Subject: [PATCH] Update dependencies: absl, protobuf, cel_cpp, re2 This updates: - absl from 20240722.0 to 20260107.0 - protobuf from 29.2 to 32.1 - cel_cpp from 0.11.0 to 0.14.0 - re2 from 2024-04-01 to 2025-11-05 The default standalone CMake C++ version is downgraded to C++17, with C++20 only being used for targets that actually need it. This is due to a bug in protobuf v30+ on MSVC: https://github.com/protocolbuffers/protobuf/issues/21310 It doesn't have any impact in any other situation, and doesn't change anything when protovalidate-cc is used as a subproject. It does enable using protovalidate-cc as a subproject in an otherwise C++-17 project. The cel-cpp patch is reduced, since a lot of my previous patches were upstreamed since the last release. I still don't have a proper solution to the constinit problem, so that's still there. The re2 patch is removed. Google finally actually did resolve the problem with not having an option to control the re2 install targets with CMake. Coincidentally, it uses the same variable name I already used, so no adjustments are needed. All of these dependencies pretty much need to be updated together. They're updated to the latest available versions with the exception of protobuf, since v33 seems to fail to compile for reasons I have not figured out yet. It can't be held behind since v29 can't compile with a newer version of absl, but cel_cpp requires a newer version of absl. re2 has to be updated for the same reason. --- CMakeLists.txt | 4 +- MODULE.bazel | 8 +- MODULE.bazel.tmpl | 2 +- cmake/Deps.cmake | 11 +- cmake/cel-cpp/CMakeLists.txt | 1 + .../0001-Fix-build-on-Windows-MSVC.patch | 313 ++---------------- .../re2/0001-Add-RE2_INSTALL-option.patch | 37 --- deps/shared_deps.json | 21 +- 8 files changed, 43 insertions(+), 354 deletions(-) delete mode 100644 deps/patches/re2/0001-Add-RE2_INSTALL-option.patch diff --git a/CMakeLists.txt b/CMakeLists.txt index 18729eb..88ce0ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) option(PROTOVALIDATE_CC_ENABLE_CONFORMANCE "Build conformance runner" OFF) else() # Only set C++ standard when not being embedded - set(CMAKE_CXX_STANDARD 20) + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Standalone: set appropriate defaults for system-wide installation @@ -73,7 +73,7 @@ set(PROTOVALIDATE_CC_TEST_SOURCES list(FILTER PROTOVALIDATE_CC_TEST_SOURCES INCLUDE REGEX ".*_test\\.cc$") list(FILTER PROTOVALIDATE_CC_CORE_SOURCES EXCLUDE REGEX ".*_test\\.cc$") add_library(protovalidate_cc ${PROTOVALIDATE_CC_CORE_SOURCES} ${PROTOVALIDATE_CC_CORE_HEADERS}) -target_compile_features(protovalidate_cc PUBLIC cxx_std_17) +target_compile_features(protovalidate_cc PUBLIC cxx_std_20) target_link_libraries(protovalidate_cc PUBLIC ${PROTOVALIDATE_LIBS}) target_include_directories(protovalidate_cc PUBLIC $ diff --git a/MODULE.bazel b/MODULE.bazel index 5270b89..24c8774 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -19,9 +19,9 @@ module( version = "0.0.0", ) -bazel_dep(name = "re2", version = "2024-07-02.bcr.1", repo_name = "com_googlesource_code_re2") +bazel_dep(name = "re2", version = "2025-11-05.bcr.1", repo_name = "com_googlesource_code_re2") -bazel_dep(name = "protobuf", version = "29.2", repo_name = "com_google_protobuf") +bazel_dep(name = "protobuf", version = "32.1", repo_name = "com_google_protobuf") bazel_dep(name = "rules_proto", version = "7.1.0") @@ -29,8 +29,8 @@ bazel_dep(name = "rules_buf", version = "0.3.0") bazel_dep(name = "googletest", version = "1.16.0.bcr.1", repo_name = "com_google_googletest") -bazel_dep(name = "abseil-cpp", version = "20240722.0", repo_name = "com_google_absl") +bazel_dep(name = "abseil-cpp", version = "20260107.0", repo_name = "com_google_absl") -bazel_dep(name = "cel-cpp", version = "0.11.0", repo_name = "com_google_cel_cpp") +bazel_dep(name = "cel-cpp", version = "0.14.0", repo_name = "com_google_cel_cpp") bazel_dep(name = "protovalidate", version = "1.0.0", repo_name = "com_github_bufbuild_protovalidate") diff --git a/MODULE.bazel.tmpl b/MODULE.bazel.tmpl index 59ed86c..02f89f0 100644 --- a/MODULE.bazel.tmpl +++ b/MODULE.bazel.tmpl @@ -19,7 +19,7 @@ module( version = "0.0.0", ) -bazel_dep(name = "re2", version = "2024-07-02.bcr.1", repo_name = "com_googlesource_code_re2") +bazel_dep(name = "re2", version = "2025-11-05.bcr.1", repo_name = "com_googlesource_code_re2") bazel_dep(name = "protobuf", version = "{{protobuf.meta.version}}", repo_name = "com_google_protobuf") diff --git a/cmake/Deps.cmake b/cmake/Deps.cmake index 895e6b5..ecb777c 100644 --- a/cmake/Deps.cmake +++ b/cmake/Deps.cmake @@ -218,16 +218,11 @@ else() message(FATAL_ERROR "protovalidate-cc: Installation can not be enabled when using vendored re2. Install re2 system-wide, or disable installation using -DPROTOVALIDATE_CC_ENABLE_INSTALL=OFF.") endif() message(STATUS "protovalidate-cc: Fetching re2") - set(RE2_PATCHES - ${CMAKE_CURRENT_SOURCE_DIR}/deps/patches/re2/0001-Add-RE2_INSTALL-option.patch - ) - MakePatchCommand(RE2_PATCH_COMMAND "${RE2_PATCHES}") FetchContent_Declare( re2 GIT_REPOSITORY "https://github.com/google/re2.git" - GIT_TAG "2024-04-01" + GIT_TAG "2025-11-05" GIT_SHALLOW TRUE - PATCH_COMMAND ${RE2_PATCH_COMMAND} ) set(RE2_INSTALL OFF) FetchContent_MakeAvailable(re2) @@ -284,7 +279,7 @@ FetchContent_Declare(cel_cpp URL_HASH SHA256=${PROTOVALIDATE_CC_CEL_CPP_SHA256} PATCH_COMMAND ${CEL_CPP_PATCH_COMMAND} - # THis stops MakeAvailable from trying to add_subdirectory, so we can do it + # This stops MakeAvailable from trying to add_subdirectory, so we can do it # ourselves after adding the embedded CMakeLists.txt. SOURCE_SUBDIR nonexistant ) @@ -299,7 +294,7 @@ file(COPY_FILE ) message(STATUS "Added ${cel_cpp_SOURCE_DIR}/CMakeLists.txt") add_subdirectory(${cel_cpp_SOURCE_DIR} ${cel_cpp_BINARY_DIR}) -list(APPEND PROTOVALIDATE_CC_EXPORT_TARGETS +list(APPEND PROTOVALIDATE_CC_EXPORT_TARGETS cel_cpp cel_cpp_parser cel_cpp_minimal_descriptor_set diff --git a/cmake/cel-cpp/CMakeLists.txt b/cmake/cel-cpp/CMakeLists.txt index 5072a8f..f0819c8 100644 --- a/cmake/cel-cpp/CMakeLists.txt +++ b/cmake/cel-cpp/CMakeLists.txt @@ -288,6 +288,7 @@ target_include_directories(cel_cpp PUBLIC $ $ ) +target_compile_features(cel_cpp PUBLIC cxx_std_20) target_compile_definitions(cel_cpp PRIVATE ANTLR4CPP_USING_ABSEIL) add_library(cel_cpp::cel_cpp ALIAS cel_cpp) diff --git a/deps/patches/cel_cpp/0001-Fix-build-on-Windows-MSVC.patch b/deps/patches/cel_cpp/0001-Fix-build-on-Windows-MSVC.patch index 1ac170a..f764d29 100644 --- a/deps/patches/cel_cpp/0001-Fix-build-on-Windows-MSVC.patch +++ b/deps/patches/cel_cpp/0001-Fix-build-on-Windows-MSVC.patch @@ -1,147 +1,23 @@ -From cb3a0807e258f86c76ece50a71768056fdff7808 Mon Sep 17 00:00:00 2001 -From: John Chadwick -Date: Fri, 21 Mar 2025 20:16:07 -0400 +From a2672eb2e8fedc20d287b36b89de49541d116366 Mon Sep 17 00:00:00 2001 +From: John Chadwick +Date: Sat, 31 Jan 2026 13:21:42 -0500 Subject: [PATCH] Fix build on Windows/MSVC Some fixes+hacks+workarounds for build issues on MSVC. --- - bazel/cel_cc_embed.cc | 2 +- - common/internal/byte_string.cc | 2 +- - common/internal/byte_string.h | 32 +++++++++++---------- - common/types/list_type.cc | 2 +- - common/types/map_type.cc | 4 +-- - common/types/optional_type.cc | 2 +- - common/values/optional_value.cc | 18 ++++++------ - common/values/struct_value_builder.cc | 7 +++-- - extensions/lists_functions.cc | 5 ++++ - internal/json.cc | 5 ++++ - internal/time.cc | 28 +++++++++++++++++++ - internal/time.h | 40 +++------------------------ - internal/well_known_types.cc | 5 ++++ - 13 files changed, 84 insertions(+), 68 deletions(-) + common/types/list_type.cc | 2 +- + common/types/map_type.cc | 4 ++-- + common/types/optional_type.cc | 2 +- + common/values/optional_value.cc | 18 +++++++++--------- + internal/json.cc | 5 +++++ + internal/well_known_types.cc | 5 +++++ + 6 files changed, 23 insertions(+), 13 deletions(-) -diff --git a/bazel/cel_cc_embed.cc b/bazel/cel_cc_embed.cc -index a9f0aec2..80515457 100644 ---- a/bazel/cel_cc_embed.cc -+++ b/bazel/cel_cc_embed.cc -@@ -34,7 +34,7 @@ namespace { - - std::vector ReadFile(const std::string& path) { - ABSL_CHECK(!path.empty()) << "--in is required"; -- std::ifstream file(path); -+ std::ifstream file(path, std::ifstream::binary); - ABSL_CHECK(file.is_open()) << path; - file.seekg(0, file.end); - ABSL_CHECK(file.good()); -diff --git a/common/internal/byte_string.cc b/common/internal/byte_string.cc -index e01c797f..07cacc3c 100644 ---- a/common/internal/byte_string.cc -+++ b/common/internal/byte_string.cc -@@ -97,7 +97,7 @@ ByteString ByteString::Concat(const ByteString& lhs, const ByteString& rhs, - result.rep_.medium.size = result_size; - result.rep_.medium.owner = - reinterpret_cast(arena) | kMetadataOwnerArenaBit; -- result.rep_.medium.kind = ByteStringKind::kMedium; -+ result.rep_.medium.kind = static_cast(ByteStringKind::kMedium); - } - return result; - } -diff --git a/common/internal/byte_string.h b/common/internal/byte_string.h -index 4a659fdb..6d603876 100644 ---- a/common/internal/byte_string.h -+++ b/common/internal/byte_string.h -@@ -78,17 +78,17 @@ inline std::ostream& operator<<(std::ostream& out, ByteStringKind kind) { - // Representation of small strings in ByteString, which are stored in place. - struct CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI SmallByteStringRep final { - #ifdef _MSC_VER --#pragma push(pack, 1) -+#pragma pack(push, 1) - #endif - struct ABSL_ATTRIBUTE_PACKED CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI { -- ByteStringKind kind : 2; -- size_t size : 6; -+ std::uint8_t kind : 2; -+ std::uint8_t size : 6; - }; -+ char data[23 - sizeof(absl::Nullable)]; -+ absl::Nullable arena; - #ifdef _MSC_VER --#pragma pop(pack) -+#pragma pack(pop) - #endif -- char data[23 - sizeof(google::protobuf::Arena*)]; -- absl::Nullable arena; - }; - - inline constexpr size_t kSmallByteStringCapacity = -@@ -107,14 +107,14 @@ inline constexpr size_t kByteStringViewMaxSize = - // the same semantics as `cel::Owner`. - struct CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI MediumByteStringRep final { - #ifdef _MSC_VER --#pragma push(pack, 1) -+#pragma pack(push, 1) - #endif - struct ABSL_ATTRIBUTE_PACKED CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI { -- ByteStringKind kind : 2; -+ size_t kind : 2; - size_t size : kMediumByteStringSizeBits; - }; - #ifdef _MSC_VER --#pragma pop(pack) -+#pragma pack(pop) - #endif - const char* data; - uintptr_t owner; -@@ -124,14 +124,14 @@ struct CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI MediumByteStringRep final { - // `absl::Cord` and never owned by an arena. - struct CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI LargeByteStringRep final { - #ifdef _MSC_VER --#pragma push(pack, 1) -+#pragma pack(push, 1) - #endif - struct ABSL_ATTRIBUTE_PACKED CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI { -- ByteStringKind kind : 2; -+ size_t kind : 2; - size_t padding : kMediumByteStringSizeBits; - }; - #ifdef _MSC_VER --#pragma pop(pack) -+#pragma pack(pop) - #endif - alignas(absl::Cord) std::byte data[sizeof(absl::Cord)]; - }; -@@ -139,13 +139,13 @@ struct CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI LargeByteStringRep final { - // Representation of ByteString. - union CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI ByteStringRep final { - #ifdef _MSC_VER --#pragma push(pack, 1) -+#pragma pack(push, 1) - #endif - struct ABSL_ATTRIBUTE_PACKED CEL_COMMON_INTERNAL_BYTE_STRING_TRIVIAL_ABI { - ByteStringKind kind : 2; - } header; - #ifdef _MSC_VER --#pragma pop(pack) -+#pragma pack(pop) - #endif - SmallByteStringRep small; - MediumByteStringRep medium; -@@ -350,7 +350,9 @@ ByteString final { - ByteString(absl::Nonnull refcount, - absl::string_view string); - -- constexpr ByteStringKind GetKind() const { return rep_.header.kind; } -+ constexpr ByteStringKind GetKind() const { -+ return rep_.header.kind; -+ } - - absl::string_view GetSmall() const { - ABSL_DCHECK_EQ(GetKind(), ByteStringKind::kSmall); diff --git a/common/types/list_type.cc b/common/types/list_type.cc -index 41a6f2f1..f4dba5e5 100644 +index 118ea15b..a805a383 100644 --- a/common/types/list_type.cc +++ b/common/types/list_type.cc -@@ -28,7 +28,7 @@ namespace common_internal { +@@ -29,7 +29,7 @@ namespace common_internal { namespace { @@ -151,10 +27,10 @@ index 41a6f2f1..f4dba5e5 100644 } // namespace diff --git a/common/types/map_type.cc b/common/types/map_type.cc -index e0c15df5..1df3b52b 100644 +index bd294fc2..9a0305ce 100644 --- a/common/types/map_type.cc +++ b/common/types/map_type.cc -@@ -28,11 +28,11 @@ namespace common_internal { +@@ -29,11 +29,11 @@ namespace common_internal { namespace { @@ -182,7 +58,7 @@ index a37300bb..3ec51ed8 100644 { .name = OptionalType::kName, diff --git a/common/values/optional_value.cc b/common/values/optional_value.cc -index 729a4e7d..8a3e16df 100644 +index ad0a65ef..1e1b6ce5 100644 --- a/common/values/optional_value.cc +++ b/common/values/optional_value.cc @@ -122,7 +122,7 @@ absl::Status OptionalValueEqual( @@ -202,16 +78,16 @@ index 729a4e7d..8a3e16df 100644 +const OptionalValueDispatcher null_optional_value_dispatcher = { { .get_type_id = &OptionalValueGetTypeId, - .get_arena = [](absl::Nonnull, + .get_arena = [](const OpaqueValueDispatcher* absl_nonnull, @@ -171,7 +171,7 @@ ABSL_CONST_INIT const OptionalValueDispatcher null_optional_value_dispatcher = { - absl::Nonnull result) -> void { *result = NullValue(); }, + cel::Value* absl_nonnull result) -> void { *result = NullValue(); }, }; -ABSL_CONST_INIT const OptionalValueDispatcher bool_optional_value_dispatcher = { +const OptionalValueDispatcher bool_optional_value_dispatcher = { { .get_type_id = &OptionalValueGetTypeId, - .get_arena = [](absl::Nonnull, + .get_arena = [](const OpaqueValueDispatcher* absl_nonnull, @@ -195,7 +195,7 @@ ABSL_CONST_INIT const OptionalValueDispatcher bool_optional_value_dispatcher = { }, }; @@ -220,7 +96,7 @@ index 729a4e7d..8a3e16df 100644 +const OptionalValueDispatcher int_optional_value_dispatcher = { { .get_type_id = &OptionalValueGetTypeId, - .get_arena = [](absl::Nonnull, + .get_arena = [](const OpaqueValueDispatcher* absl_nonnull, @@ -219,7 +219,7 @@ ABSL_CONST_INIT const OptionalValueDispatcher int_optional_value_dispatcher = { }, }; @@ -229,7 +105,7 @@ index 729a4e7d..8a3e16df 100644 +const OptionalValueDispatcher uint_optional_value_dispatcher = { { .get_type_id = &OptionalValueGetTypeId, - .get_arena = [](absl::Nonnull, + .get_arena = [](const OpaqueValueDispatcher* absl_nonnull, @@ -243,7 +243,7 @@ ABSL_CONST_INIT const OptionalValueDispatcher uint_optional_value_dispatcher = { }, }; @@ -258,7 +134,7 @@ index 729a4e7d..8a3e16df 100644 { .get_type_id = &OptionalValueGetTypeId, @@ -323,7 +323,7 @@ struct OptionalValueContent { - absl::Nonnull arena; + google::protobuf::Arena* absl_nonnull arena; }; -ABSL_CONST_INIT const OptionalValueDispatcher optional_value_dispatcher = { @@ -266,49 +142,8 @@ index 729a4e7d..8a3e16df 100644 { .get_type_id = &OptionalValueGetTypeId, .get_arena = -diff --git a/common/values/struct_value_builder.cc b/common/values/struct_value_builder.cc -index 9f536973..5d1b05a5 100644 ---- a/common/values/struct_value_builder.cc -+++ b/common/values/struct_value_builder.cc -@@ -931,7 +931,7 @@ class MessageValueBuilderImpl { - reflection_->ClearField(message_, field); - const auto* map_value_field = field->message_type()->map_value(); - absl::optional error_value; -- CEL_RETURN_IF_ERROR(map_value->ForEach( -+ auto status = map_value->ForEach( - [this, field, key_converter, map_value_field, value_converter, - &error_value](const Value& entry_key, - const Value& entry_value) -> absl::StatusOr { -@@ -956,7 +956,10 @@ class MessageValueBuilderImpl { - } - return true; - }, -- descriptor_pool_, message_factory_, arena_)); -+ descriptor_pool_, message_factory_, arena_); -+ if (!status.ok()) { -+ return status; -+ } - return error_value; - } - -diff --git a/extensions/lists_functions.cc b/extensions/lists_functions.cc -index 1877ccdf..80239a60 100644 ---- a/extensions/lists_functions.cc -+++ b/extensions/lists_functions.cc -@@ -45,6 +45,11 @@ - #include "google/protobuf/descriptor.h" - #include "google/protobuf/message.h" - -+#if defined(_MSC_VER) -+#include -+typedef SSIZE_T ssize_t; -+#endif -+ - namespace cel::extensions { - namespace { - diff --git a/internal/json.cc b/internal/json.cc -index bd261ac0..17fc4809 100644 +index 63724cd6..86da9b07 100644 --- a/internal/json.cc +++ b/internal/json.cc @@ -51,6 +51,11 @@ @@ -323,108 +158,8 @@ index bd261ac0..17fc4809 100644 namespace cel::internal { namespace { -diff --git a/internal/time.cc b/internal/time.cc -index fb48dd16..1688e343 100644 ---- a/internal/time.cc -+++ b/internal/time.cc -@@ -24,6 +24,7 @@ - #include "absl/strings/string_view.h" - #include "absl/time/time.h" - #include "internal/status_macros.h" -+#include "google/protobuf/util/time_util.h" - - namespace cel::internal { - -@@ -36,6 +37,33 @@ std::string RawFormatTimestamp(absl::Time timestamp) { - - } // namespace - -+absl::Duration MaxDuration() { -+ // This currently supports a larger range then the current CEL spec. The -+ // intent is to widen the CEL spec to support the larger range and match -+ // google.protobuf.Duration from protocol buffer messages, which this -+ // implementation currently supports. -+ // TODO: revisit -+ return absl::Seconds(google::protobuf::util::TimeUtil::kDurationMaxSeconds) + -+ absl::Nanoseconds(google::protobuf::util::TimeUtil::kDurationMaxNanoseconds); -+} -+absl::Duration MinDuration() { -+ // This currently supports a larger range then the current CEL spec. The -+ // intent is to widen the CEL spec to support the larger range and match -+ // google.protobuf.Duration from protocol buffer messages, which this -+ // implementation currently supports. -+ // TODO: revisit -+ return absl::Seconds(google::protobuf::util::TimeUtil::kDurationMinSeconds) + -+ absl::Nanoseconds(google::protobuf::util::TimeUtil::kDurationMinNanoseconds); -+} -+absl::Time MaxTimestamp() { -+ return absl::UnixEpoch() + absl::Seconds(google::protobuf::util::TimeUtil::kTimestampMaxSeconds) + -+ absl::Nanoseconds(google::protobuf::util::TimeUtil::kTimestampMaxNanoseconds); -+} -+absl::Time MinTimestamp() { -+ return absl::UnixEpoch() + absl::Seconds(google::protobuf::util::TimeUtil::kTimestampMinSeconds) + -+ absl::Nanoseconds(google::protobuf::util::TimeUtil::kTimestampMinNanoseconds); -+} -+ - absl::Status ValidateDuration(absl::Duration duration) { - if (duration < MinDuration()) { - return absl::InvalidArgumentError( -diff --git a/internal/time.h b/internal/time.h -index 9d4b58e7..be131712 100644 ---- a/internal/time.h -+++ b/internal/time.h -@@ -21,45 +21,13 @@ - #include "absl/status/statusor.h" - #include "absl/strings/string_view.h" - #include "absl/time/time.h" --#include "google/protobuf/util/time_util.h" - - namespace cel::internal { - -- inline absl::Duration -- MaxDuration() { -- // This currently supports a larger range then the current CEL spec. The -- // intent is to widen the CEL spec to support the larger range and match -- // google.protobuf.Duration from protocol buffer messages, which this -- // implementation currently supports. -- // TODO: revisit -- return absl::Seconds(google::protobuf::util::TimeUtil::kDurationMaxSeconds) + -- absl::Nanoseconds(google::protobuf::util::TimeUtil::kDurationMaxNanoseconds); --} -- -- inline absl::Duration -- MinDuration() { -- // This currently supports a larger range then the current CEL spec. The -- // intent is to widen the CEL spec to support the larger range and match -- // google.protobuf.Duration from protocol buffer messages, which this -- // implementation currently supports. -- // TODO: revisit -- return absl::Seconds(google::protobuf::util::TimeUtil::kDurationMinSeconds) + -- absl::Nanoseconds(google::protobuf::util::TimeUtil::kDurationMinNanoseconds); --} -- -- inline absl::Time -- MaxTimestamp() { -- return absl::UnixEpoch() + -- absl::Seconds(google::protobuf::util::TimeUtil::kTimestampMaxSeconds) + -- absl::Nanoseconds(google::protobuf::util::TimeUtil::kTimestampMaxNanoseconds); --} -- -- inline absl::Time -- MinTimestamp() { -- return absl::UnixEpoch() + -- absl::Seconds(google::protobuf::util::TimeUtil::kTimestampMinSeconds) + -- absl::Nanoseconds(google::protobuf::util::TimeUtil::kTimestampMinNanoseconds); --} -+absl::Duration MaxDuration(); -+absl::Duration MinDuration(); -+absl::Time MaxTimestamp(); -+absl::Time MinTimestamp(); - - absl::Status ValidateDuration(absl::Duration duration); - diff --git a/internal/well_known_types.cc b/internal/well_known_types.cc -index 6626172e..97b6b4ee 100644 +index f66a9360..cd91ef9f 100644 --- a/internal/well_known_types.cc +++ b/internal/well_known_types.cc @@ -58,6 +58,11 @@ @@ -440,5 +175,5 @@ index 6626172e..97b6b4ee 100644 namespace { -- -2.47.2 +2.51.2 diff --git a/deps/patches/re2/0001-Add-RE2_INSTALL-option.patch b/deps/patches/re2/0001-Add-RE2_INSTALL-option.patch deleted file mode 100644 index 16352ff..0000000 --- a/deps/patches/re2/0001-Add-RE2_INSTALL-option.patch +++ /dev/null @@ -1,37 +0,0 @@ -From a49ab714b98d3ca2327308c2f234d990bc1cd694 Mon Sep 17 00:00:00 2001 -From: John Chadwick -Date: Wed, 5 Mar 2025 15:52:18 -0500 -Subject: [PATCH] Add RE2_INSTALL option - ---- - CMakeLists.txt | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bdac5af..71999f8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -12,6 +12,7 @@ include(GNUInstallDirs) - - option(BUILD_SHARED_LIBS "build shared libraries" OFF) - option(RE2_USE_ICU "build against ICU for full Unicode properties support" OFF) -+option(RE2_INSTALL "install Re2" OFF) - - # For historical reasons, this is just "USEPCRE", not "RE2_USE_PCRE". - option(USEPCRE "build against PCRE for testing and benchmarking" OFF) -@@ -232,6 +233,7 @@ if(RE2_BUILD_TESTING) - endforeach() - endif() - -+if(RE2_INSTALL) - install(TARGETS re2 - EXPORT re2Targets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -261,3 +263,4 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/re2.pc.in - - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -+endif() --- -2.47.2 - diff --git a/deps/shared_deps.json b/deps/shared_deps.json index f812f1b..191162c 100644 --- a/deps/shared_deps.json +++ b/deps/shared_deps.json @@ -1,39 +1,34 @@ { "absl": { "meta": { - "version": "20240722.0" + "version": "20260107.0" }, "source": { - "sha256": "f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3", + "sha256": "4c124408da902be896a2f368042729655709db5e3004ec99f57e3e14439bc1b2", "strip_prefix": "abseil-cpp-{version}", - "urls": [ - "https://github.com/abseil/abseil-cpp/archive/{version}.tar.gz" - ] + "urls": ["https://github.com/abseil/abseil-cpp/archive/{version}.tar.gz"] } }, "protobuf": { "meta": { - "version": "29.2" + "version": "32.1" }, "source": { - "sha256": "63150aba23f7a90fd7d87bdf514e459dd5fe7023fdde01b56ac53335df64d4bd", + "sha256": "d2081ab9528292f7980ef2d88d2be472453eea4222141046ad4f660874d5f24e", "strip_prefix": "protobuf-{version}", "urls": [ - "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v{version}.tar.gz", "https://github.com/protocolbuffers/protobuf/archive/v{version}.tar.gz" ] } }, "cel_cpp": { "meta": { - "version": "0.11.0" + "version": "0.14.0" }, "source": { - "sha256": "777f6780a3cc72264c3cc3279cc92affbaefb2bdc01aaff88463cca5b6167e1d", + "sha256": "0a4f9a1c0bcc83629eb30d1c278883d32dec0f701efcdabd7bebf33fef8dab71", "strip_prefix": "cel-cpp-{version}", - "urls": [ - "https://github.com/google/cel-cpp/archive/v{version}.tar.gz" - ] + "urls": ["https://github.com/google/cel-cpp/archive/v{version}.tar.gz"] } }, "protovalidate": {