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": {