aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos O'Ryan <coryan@users.noreply.github.com>2021-09-22 13:09:55 -0700
committerGitHub <noreply@github.com>2021-09-22 13:09:55 -0700
commitb29f8ef37edb1cedd5c2e403dbcb355443b939f6 (patch)
tree4ccc9c0b3655d54b05c41e88f3e129125eac1800
parent93885afd50ff1a1408e1785dceffb01ff648c7d9 (diff)
downloadvcpkg-b29f8ef37edb1cedd5c2e403dbcb355443b939f6.tar.gz
vcpkg-b29f8ef37edb1cedd5c2e403dbcb355443b939f6.zip
[protobuf] upgrade to latest release (v3.18.0) (#20208)
* [protobuf] upgrade to latest release (v3.18.0) This requires patching OpenCV as it uses a function removed in the latest version of protobuf (FWIW, upstream OpenCV has a similar patch). * The arcus port also needs a patch * The caffe2 port also needs a patch * The brpc port also needs a patch
-rw-r--r--ports/arcus/0001-fix-protobuf-deprecated.patch13
-rw-r--r--ports/arcus/portfile.cmake2
-rw-r--r--ports/arcus/vcpkg.json1
-rw-r--r--ports/brpc/fix-protobuf-deprecated.patch13
-rw-r--r--ports/brpc/portfile.cmake1
-rw-r--r--ports/brpc/vcpkg.json2
-rw-r--r--ports/caffe2/fix-protobuf-deprecated.patch26
-rw-r--r--ports/caffe2/portfile.cmake1
-rw-r--r--ports/caffe2/vcpkg.json2
-rw-r--r--ports/opencv4/0011-fix-caffe-io.patch13
-rw-r--r--ports/opencv4/portfile.cmake1
-rw-r--r--ports/opencv4/vcpkg.json2
-rw-r--r--ports/protobuf/fix-static-build.patch10
-rw-r--r--ports/protobuf/fix-uwp-build.patch13
-rw-r--r--ports/protobuf/port_def.patch14
-rw-r--r--ports/protobuf/portfile.cmake8
-rw-r--r--ports/protobuf/vcpkg.json3
-rw-r--r--versions/a-/arcus.json5
-rw-r--r--versions/b-/brpc.json5
-rw-r--r--versions/baseline.json12
-rw-r--r--versions/c-/caffe2.json5
-rw-r--r--versions/o-/opencv4.json5
-rw-r--r--versions/p-/protobuf.json5
23 files changed, 128 insertions, 34 deletions
diff --git a/ports/arcus/0001-fix-protobuf-deprecated.patch b/ports/arcus/0001-fix-protobuf-deprecated.patch
new file mode 100644
index 000000000..a40da846d
--- /dev/null
+++ b/ports/arcus/0001-fix-protobuf-deprecated.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Socket_p.h b/src/Socket_p.h
+index 9c3c084..9ccabda 100644
+--- a/src/Socket_p.h
++++ b/src/Socket_p.h
+@@ -548,7 +548,7 @@ namespace Arcus
+
+ google::protobuf::io::ArrayInputStream array(wire_message->data, wire_message->size);
+ google::protobuf::io::CodedInputStream stream(&array);
+- stream.SetTotalBytesLimit(message_size_maximum, message_size_warning);
++ stream.SetTotalBytesLimit(message_size_maximum);
+ if(!message->ParseFromCodedStream(&stream))
+ {
+ error(ErrorCode::ParseFailedError, "Failed to parse message:" + std::string(wire_message->data));
diff --git a/ports/arcus/portfile.cmake b/ports/arcus/portfile.cmake
index d22a64d30..d2777742b 100644
--- a/ports/arcus/portfile.cmake
+++ b/ports/arcus/portfile.cmake
@@ -6,6 +6,8 @@ vcpkg_from_github(
REF 617f6f71572090f73cb44592b12f49567b539e5b #v4.10.0
SHA512 cf0954d8b10d9f94165aa5c086d0e58c2925464f9fbe4252535c36d7e6bb12b767d89efb816c9e642f9cd7f0ec0d66d61ca21c5121a05340499d38d5d851f73b
HEAD_REF master
+ PATCHES
+ 0001-fix-protobuf-deprecated.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC)
diff --git a/ports/arcus/vcpkg.json b/ports/arcus/vcpkg.json
index bb3d46b35..bf7b6b4db 100644
--- a/ports/arcus/vcpkg.json
+++ b/ports/arcus/vcpkg.json
@@ -1,6 +1,7 @@
{
"name": "arcus",
"version-semver": "4.10.0",
+ "port-version": 1,
"description": "This library contains C++ bindings for creating a socket in a thread and using this socket to send and receive messages based on the Protocol Buffers library.",
"homepage": "https://github.com/Ultimaker/libArcus",
"supports": "!uwp",
diff --git a/ports/brpc/fix-protobuf-deprecated.patch b/ports/brpc/fix-protobuf-deprecated.patch
new file mode 100644
index 000000000..564724c63
--- /dev/null
+++ b/ports/brpc/fix-protobuf-deprecated.patch
@@ -0,0 +1,13 @@
+diff --git a/src/brpc/protocol.cpp b/src/brpc/protocol.cpp
+index 11297ea..c998edb 100644
+--- a/src/brpc/protocol.cpp
++++ b/src/brpc/protocol.cpp
+@@ -203,7 +203,7 @@ BUTIL_FORCE_INLINE bool ParsePbFromZeroCopyStreamInlined(
+ // According to source code of pb, SetTotalBytesLimit is not a simple set,
+ // avoid calling the function when the limit is definitely unreached.
+ if (PB_TOTAL_BYETS_LIMITS < FLAGS_max_body_size) {
+- decoder.SetTotalBytesLimit(INT_MAX, -1);
++ decoder.SetTotalBytesLimit(INT_MAX);
+ }
+ return msg->ParseFromCodedStream(&decoder) && decoder.ConsumedEntireMessage();
+ }
diff --git a/ports/brpc/portfile.cmake b/ports/brpc/portfile.cmake
index 3a1c1dce7..3547c6423 100644
--- a/ports/brpc/portfile.cmake
+++ b/ports/brpc/portfile.cmake
@@ -9,6 +9,7 @@ vcpkg_from_github(
PATCHES
fix_boost_ptr.patch
fix_thrift.patch
+ fix-protobuf-deprecated.patch
)
vcpkg_configure_cmake(
diff --git a/ports/brpc/vcpkg.json b/ports/brpc/vcpkg.json
index 61c1d27a3..2b2e15689 100644
--- a/ports/brpc/vcpkg.json
+++ b/ports/brpc/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "brpc",
"version-string": "0.9.7",
- "port-version": 1,
+ "port-version": 2,
"description": "Industrial-grade RPC framework used throughout Baidu, with 1,000,000+ instances and thousands kinds of services, called \"baidu-rpc\" inside Baidu.",
"homepage": "https://github.com/apache/incubator-brpc",
"supports": "!windows",
diff --git a/ports/caffe2/fix-protobuf-deprecated.patch b/ports/caffe2/fix-protobuf-deprecated.patch
new file mode 100644
index 000000000..4f594d430
--- /dev/null
+++ b/ports/caffe2/fix-protobuf-deprecated.patch
@@ -0,0 +1,26 @@
+diff --git a/caffe2/utils/proto_utils.cc b/caffe2/utils/proto_utils.cc
+index ab2d756..2c36ec4 100644
+--- a/caffe2/utils/proto_utils.cc
++++ b/caffe2/utils/proto_utils.cc
+@@ -102,10 +102,9 @@ bool ReadProtoFromBinaryFile(const char* filename, MessageLite* proto) {
+ ::google::protobuf::io::CopyingInputStreamAdaptor stream(
+ new IfstreamInputStream(filename));
+ stream.SetOwnsCopyingStream(true);
+- // Total bytes hard limit / warning limit are set to 1GB and 512MB
+- // respectively.
++ // Total bytes hard limit is set to 1GB.
+ ::google::protobuf::io::CodedInputStream coded_stream(&stream);
+- coded_stream.SetTotalBytesLimit(1024LL << 20, 512LL << 20);
++ coded_stream.SetTotalBytesLimit(1024LL << 20);
+ return proto->ParseFromCodedStream(&coded_stream);
+ }
+
+@@ -155,7 +154,7 @@ bool ReadProtoFromBinaryFile(const char* filename, MessageLite* proto) {
+ std::unique_ptr<CodedInputStream> coded_input(
+ new CodedInputStream(raw_input.get()));
+ // A hack to manually allow using very large protocol buffers.
+- coded_input->SetTotalBytesLimit(1073741824, 536870912);
++ coded_input->SetTotalBytesLimit(1073741824);
+ bool success = proto->ParseFromCodedStream(coded_input.get());
+ coded_input.reset();
+ raw_input.reset();
diff --git a/ports/caffe2/portfile.cmake b/ports/caffe2/portfile.cmake
index 0b19b9eb9..d7ec68e6a 100644
--- a/ports/caffe2/portfile.cmake
+++ b/ports/caffe2/portfile.cmake
@@ -13,6 +13,7 @@ vcpkg_from_github(
PATCHES
msvc-fixes.patch
fix-space.patch
+ fix-protobuf-deprecated.patch
)
if(VCPKG_CRT_LINKAGE STREQUAL static)
diff --git a/ports/caffe2/vcpkg.json b/ports/caffe2/vcpkg.json
index 1f4f34d63..eeecad531 100644
--- a/ports/caffe2/vcpkg.json
+++ b/ports/caffe2/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "caffe2",
"version-string": "0.8.1",
- "port-version": 4,
+ "port-version": 5,
"description": "Caffe2 is a lightweight, modular, and scalable deep learning framework.",
"homepage": "https://github.com/caffe2/caffe2",
"supports": "!x86",
diff --git a/ports/opencv4/0011-fix-caffe-io.patch b/ports/opencv4/0011-fix-caffe-io.patch
new file mode 100644
index 000000000..ee33ea63f
--- /dev/null
+++ b/ports/opencv4/0011-fix-caffe-io.patch
@@ -0,0 +1,13 @@
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index 2fc4d84..779d0dd 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -1111,7 +1111,7 @@ static const int kProtoReadBytesLimit = INT_MAX; // Max size of 2 GB minus 1 by
+
+ bool ReadProtoFromBinary(ZeroCopyInputStream* input, Message *proto) {
+ CodedInputStream coded_input(input);
+- coded_input.SetTotalBytesLimit(kProtoReadBytesLimit, 536870912);
++ coded_input.SetTotalBytesLimit(kProtoReadBytesLimit);
+
+ return proto->ParseFromCodedStream(&coded_input);
+ }
diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake
index e965dd2a0..760cfbea7 100644
--- a/ports/opencv4/portfile.cmake
+++ b/ports/opencv4/portfile.cmake
@@ -24,6 +24,7 @@ vcpkg_from_github(
0008-devendor-quirc.patch
0009-fix-protobuf.patch
0010-fix-uwp-tiff-imgcodecs.patch
+ 0011-fix-caffe-io.patch
)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
diff --git a/ports/opencv4/vcpkg.json b/ports/opencv4/vcpkg.json
index dce331bf1..54ae37008 100644
--- a/ports/opencv4/vcpkg.json
+++ b/ports/opencv4/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "opencv4",
"version": "4.5.3",
- "port-version": 1,
+ "port-version": 2,
"description": "computer vision library",
"homepage": "https://github.com/opencv/opencv",
"dependencies": [
diff --git a/ports/protobuf/fix-static-build.patch b/ports/protobuf/fix-static-build.patch
index 0ba4982fe..fec980a93 100644
--- a/ports/protobuf/fix-static-build.patch
+++ b/ports/protobuf/fix-static-build.patch
@@ -1,11 +1,11 @@
diff --git a/cmake/install.cmake b/cmake/install.cmake
-index 4091bc8..9850018 100644
+index ef5bb13..e2d4acb 100644
--- a/cmake/install.cmake
+++ b/cmake/install.cmake
-@@ -31,7 +31,7 @@ endforeach()
- if (protobuf_BUILD_PROTOC_BINARIES)
- install(TARGETS protoc EXPORT protobuf-targets
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc)
+@@ -33,7 +33,7 @@ if (protobuf_BUILD_PROTOC_BINARIES)
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR}
+ COMPONENT protoc)
- if (UNIX AND NOT APPLE)
+ if (UNIX AND NOT APPLE AND NOT protobuf_MSVC_STATIC_RUNTIME)
set_property(TARGET protoc
diff --git a/ports/protobuf/fix-uwp-build.patch b/ports/protobuf/fix-uwp-build.patch
new file mode 100644
index 000000000..ca806ebd1
--- /dev/null
+++ b/ports/protobuf/fix-uwp-build.patch
@@ -0,0 +1,13 @@
+diff --git a/src/google/protobuf/descriptor.cc b/src/google/protobuf/descriptor.cc
+index b6c31fd..8b77c3d 100644
+--- a/src/google/protobuf/descriptor.cc
++++ b/src/google/protobuf/descriptor.cc
+@@ -794,7 +794,7 @@ class TableArena {
+ size = RoundUp(size);
+
+ Block* to_relocate = nullptr;
+- Block* to_use;
++ Block* to_use = nullptr;
+
+ for (size_t i = 0; i < kSmallSizes.size(); ++i) {
+ if (small_size_blocks_[i] != nullptr && size <= kSmallSizes[i]) {
diff --git a/ports/protobuf/port_def.patch b/ports/protobuf/port_def.patch
deleted file mode 100644
index 31d71531d..000000000
--- a/ports/protobuf/port_def.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
-index f7b64a080..3493d9082 100644
---- a/src/google/protobuf/port_def.inc
-+++ b/src/google/protobuf/port_def.inc
-@@ -564,7 +564,8 @@
-
- // Our use of constinit does not yet work with GCC:
- // https://github.com/protocolbuffers/protobuf/issues/8310
--#if defined(__cpp_constinit) && !defined(__GNUC__)
-+// Does not work yet with Visual Studio 2019 Update 16.10
-+#if defined(__cpp_constinit) && !defined(__GNUC__) && !defined(_MSC_VER)
- #define PROTOBUF_CONSTINIT constinit
- #elif defined(__has_cpp_attribute)
- #if __has_cpp_attribute(clang::require_constant_initialization)
diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake
index a645866c9..8395eeae5 100644
--- a/ports/protobuf/portfile.cmake
+++ b/ports/protobuf/portfile.cmake
@@ -1,13 +1,13 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO protocolbuffers/protobuf
- REF 436bd7880e458532901c58f4d9d1ea23fa7edd52 #v3.15.8
- SHA512 88bb9a965bccfe11a07aee2c0c16eb9cc1845ea2d7500ef6def3e1c0a8155ac4eadd0ceef4b12552960dffe95a0fc82549d1abba71ca073ab86ec5de57d9cafb
+ REF v3.18.0
+ SHA512 2c8ff451b54120e4670f7ea8c92c0c7d70f4bb781979f74f59ddcb7c9cc74fe3e8910fc579d2686fb0e1aafa35fb9548ccab667accf2358c71cfd17ba38d7826
HEAD_REF master
PATCHES
fix-static-build.patch
fix-default-proto-file-path.patch
- port_def.patch
+ fix-uwp-build.patch
)
string(COMPARE EQUAL "${TARGET_TRIPLET}" "${HOST_TRIPLET}" protobuf_BUILD_PROTOC_BINARIES)
@@ -79,7 +79,7 @@ if(protobuf_BUILD_PROTOC_BINARIES)
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_copy_tools(TOOL_NAMES protoc AUTO_CLEAN)
else()
- vcpkg_copy_tools(TOOL_NAMES protoc protoc-3.15.8.0 AUTO_CLEAN)
+ vcpkg_copy_tools(TOOL_NAMES protoc protoc-3.18.0.0 AUTO_CLEAN)
endif()
else()
file(COPY ${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
diff --git a/ports/protobuf/vcpkg.json b/ports/protobuf/vcpkg.json
index 40b557dd3..c75206275 100644
--- a/ports/protobuf/vcpkg.json
+++ b/ports/protobuf/vcpkg.json
@@ -1,7 +1,6 @@
{
"name": "protobuf",
- "version-semver": "3.15.8",
- "port-version": 4,
+ "version-semver": "3.18.0",
"description": "Protocol Buffers - Google's data interchange format",
"homepage": "https://github.com/protocolbuffers/protobuf",
"dependencies": [
diff --git a/versions/a-/arcus.json b/versions/a-/arcus.json
index c222d1ef0..47d36bb4d 100644
--- a/versions/a-/arcus.json
+++ b/versions/a-/arcus.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "0aeec8ed7245362e90ef531d8ecaf4ca315e85e5",
+ "version-semver": "4.10.0",
+ "port-version": 1
+ },
+ {
"git-tree": "76f86c7d5993d59f58a0863b9e2ca439db88efba",
"version-semver": "4.10.0",
"port-version": 0
diff --git a/versions/b-/brpc.json b/versions/b-/brpc.json
index 409ee5598..d625bae51 100644
--- a/versions/b-/brpc.json
+++ b/versions/b-/brpc.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "0b89b1bee5f50f8bdb551ae2373feb51b144fbc2",
+ "version-string": "0.9.7",
+ "port-version": 2
+ },
+ {
"git-tree": "8d3ba620eff30244f2ca27af0814f78ce9049308",
"version-string": "0.9.7",
"port-version": 1
diff --git a/versions/baseline.json b/versions/baseline.json
index 9e66a9973..1b5c1145e 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -122,7 +122,7 @@
},
"arcus": {
"baseline": "4.10.0",
- "port-version": 0
+ "port-version": 1
},
"argagg": {
"baseline": "0.4.6",
@@ -1118,7 +1118,7 @@
},
"brpc": {
"baseline": "0.9.7",
- "port-version": 1
+ "port-version": 2
},
"brunocodutra-metal": {
"baseline": "2.1.1",
@@ -1174,7 +1174,7 @@
},
"caffe2": {
"baseline": "0.8.1",
- "port-version": 4
+ "port-version": 5
},
"cairo": {
"baseline": "1.17.4",
@@ -4766,7 +4766,7 @@
},
"opencv4": {
"baseline": "4.5.3",
- "port-version": 1
+ "port-version": 2
},
"opendnp3": {
"baseline": "3.1.0",
@@ -5221,8 +5221,8 @@
"port-version": 0
},
"protobuf": {
- "baseline": "3.15.8",
- "port-version": 4
+ "baseline": "3.18.0",
+ "port-version": 0
},
"protobuf-c": {
"baseline": "1.3.2",
diff --git a/versions/c-/caffe2.json b/versions/c-/caffe2.json
index 60aff5c5b..53fb01084 100644
--- a/versions/c-/caffe2.json
+++ b/versions/c-/caffe2.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "e4ebcedb57e572959c4f8e30c2885cda2367e0a7",
+ "version-string": "0.8.1",
+ "port-version": 5
+ },
+ {
"git-tree": "e50097be149d80e1397e95280aecd5160961d286",
"version-string": "0.8.1",
"port-version": 4
diff --git a/versions/o-/opencv4.json b/versions/o-/opencv4.json
index 2b404d7c4..9493353a5 100644
--- a/versions/o-/opencv4.json
+++ b/versions/o-/opencv4.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "6b5539ab3cd468944f8d46698c610285319bf0f7",
+ "version": "4.5.3",
+ "port-version": 2
+ },
+ {
"git-tree": "9d18da7f0c17619f7912a5d53b0316c7a18d625a",
"version": "4.5.3",
"port-version": 1
diff --git a/versions/p-/protobuf.json b/versions/p-/protobuf.json
index bc2dcdead..a91d6210a 100644
--- a/versions/p-/protobuf.json
+++ b/versions/p-/protobuf.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "19c2bf45c235e6126161bae36aa7ff7e1fcda479",
+ "version-semver": "3.18.0",
+ "port-version": 0
+ },
+ {
"git-tree": "6204194eaf9d8ff0fe78d498f77fee57cd19ce59",
"version-semver": "3.15.8",
"port-version": 4