[cpp-netlib] Fix usage with boost 1.73 (#13671)

* [cpp-netlib] Fix usage with boost 1.72

* Add dependency port  boost-logic, boost-scope-exit

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com>
This commit is contained in:
ras0219 2020-09-27 17:37:11 -07:00 committed by GitHub
parent 84c22a78b4
commit d0511fbd55
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 11 deletions

View File

@ -1,6 +1,7 @@
Source: cpp-netlib
Version: 0.13.0-3
Version: 0.13.0
Port-Version: 4
Homepage: https://cpp-netlib.org/
Build-Depends: boost
Build-Depends: boost-spirit, boost-smart-ptr, boost-asio, boost-program-options, boost-assign, boost-logic, boost-scope-exit
Description: A collection of network-related routines/implementations geared towards providing a robust cross-platform networking library
Supports: !uwp

View File

@ -5,18 +5,21 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO cpp-netlib/cpp-netlib
REF cpp-netlib-0.13.0-final
SHA512 1839bf1acb7917acd2957f1008a44ed26a38849afb5843bfa0d5c557dde530afab4183d8d273a87d6416aad2b3a59fdecdef5fbb62bc91ed484486c80a1de5eb
REF 31d304cdf52b485f465ada433d8905171b61cbff
SHA512 6d157e6d950dd76a6d16b9c13d4d29f188d9f540eb0b44ab169016e1d7a360995e51d9923b532503a17dd2c8e0e2a38b2f9b531db03b33239e7fb9ca4d047b0c
HEAD_REF master
# Updator's note: cpp-netlib has many templates that are not fully instantiated when not building examples.
# This patch specifically fixes one of those issues
# To test updates, enable building examples below (may also require patching out uses of cxxopts)
PATCHES stream-handler-executor.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DCPP-NETLIB_BUILD_TESTS=off
-DCPP-NETLIB_BUILD_EXAMPLES=off
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DCPP-NETLIB_BUILD_TESTS=OFF
-DCPP-NETLIB_BUILD_EXAMPLES=OFF
)
vcpkg_install_cmake()

View File

@ -0,0 +1,27 @@
diff --git a/boost/network/protocol/stream_handler.hpp b/boost/network/protocol/stream_handler.hpp
index ffb09b8..f3b3e99 100644
--- a/boost/network/protocol/stream_handler.hpp
+++ b/boost/network/protocol/stream_handler.hpp
@@ -41,6 +40,7 @@ typedef boost::asio::ssl::context ssl_context;
struct stream_handler {
public:
+ typedef tcp_socket::executor_type executor_type;
stream_handler(std::shared_ptr<tcp_socket> socket)
: tcp_sock_(std::move(socket)), ssl_enabled(false) {}
@@ -52,12 +52,12 @@ struct stream_handler {
stream_handler(boost::asio::io_service& io,
std::shared_ptr<ssl_context> ctx =
std::shared_ptr<ssl_context>()) {
- tcp_sock_ = std::make_shared<tcp_socket>(boost::ref(io));
+ tcp_sock_ = std::make_shared<tcp_socket>(io.get_executor());
ssl_enabled = false;
if (ctx) {
/// SSL is enabled
ssl_sock_ =
- std::make_shared<ssl_socket>(boost::ref(io), boost::ref(*ctx));
+ std::make_shared<ssl_socket>(io.get_executor(), boost::ref(*ctx));
ssl_enabled = true;
}
}