diff --git a/ports/rmqcpp/new-boost.patch b/ports/rmqcpp/new-boost.patch new file mode 100644 index 00000000000000..464847302547f0 --- /dev/null +++ b/ports/rmqcpp/new-boost.patch @@ -0,0 +1,115 @@ +diff --git a/src/rmq/rmqio/rmqio_asioconnection.cpp b/src/rmq/rmqio/rmqio_asioconnection.cpp +index bdd0e97..ce874ec 100644 +--- a/src/rmq/rmqio/rmqio_asioconnection.cpp ++++ b/src/rmq/rmqio/rmqio_asioconnection.cpp +@@ -444,21 +444,16 @@ bool AsioConnection::doRead(bsl::size_t bytes_transferred) + bsl::size_t bytes_decoded = 0; + boost::asio::streambuf::const_buffers_type bufs = d_inbound->data(); + bsl::vector readFrames; +- for (boost::asio::streambuf::const_buffers_type::const_iterator i = +- bufs.begin(); +- i != bufs.end(); +- ++i) { +- boost::asio::const_buffer buf(*i); +- Decoder::ReturnCode rcode = +- d_frameDecoder->appendBytes(&readFrames, buf.data(), buf.size()); +- if (rcode != Decoder::OK) { +- BALL_LOG_WARN << "Bad rcode from decoder: " << rcode; +- // Fail but we still want to process frames we were able to decode +- success = false; +- break; +- }; +- bytes_decoded += buf.size(); +- } ++ ++ boost::asio::const_buffer buf(bufs); ++ Decoder::ReturnCode rcode = ++ d_frameDecoder->appendBytes(&readFrames, buf.data(), buf.size()); ++ if (rcode != Decoder::OK) { ++ BALL_LOG_WARN << "Bad rcode from decoder: " << rcode; ++ // Fail but we still want to process frames we were able to decode ++ success = false; ++ }; ++ bytes_decoded += buf.size(); + + if (bytes_decoded != bytes_transferred) { + BALL_LOG_WARN << "bytes_decoded (" << bytes_decoded +diff --git a/src/rmq/rmqio/rmqio_asioeventloop.cpp b/src/rmq/rmqio/rmqio_asioeventloop.cpp +index ed8f176..307fd20 100644 +--- a/src/rmq/rmqio/rmqio_asioeventloop.cpp ++++ b/src/rmq/rmqio/rmqio_asioeventloop.cpp +@@ -108,8 +108,8 @@ void AsioEventLoop::onThreadStarted() + d_condition.broadcast(); + } + +-void AsioEventLoop::postImpl(const Item& item) { d_context.post(item); } +-void AsioEventLoop::dispatchImpl(const Item& item) { d_context.dispatch(item); } ++void AsioEventLoop::postImpl(const Item& item) { boost::asio::post(d_context, item); } ++void AsioEventLoop::dispatchImpl(const Item& item) { boost::asio::dispatch(d_context, item); } + + bsl::shared_ptr + AsioEventLoop::resolver(bool shuffleConnectionEndpoints) +diff --git a/src/tests/rmqamqp/rmqamqp_connection.t.cpp b/src/tests/rmqamqp/rmqamqp_connection.t.cpp +index 2c99b0b..97621f5 100644 +--- a/src/tests/rmqamqp/rmqamqp_connection.t.cpp ++++ b/src/tests/rmqamqp/rmqamqp_connection.t.cpp +@@ -147,7 +147,8 @@ class MockConnection : public rmqio::Connection { + + BSLS_ASSERT_OPT(rc == Frame::OK); + +- d_eventLoop.post( ++ boost::asio::post( ++ d_eventLoop, + bdlf::BindUtil::bind(d_connectionCallbacks.onRead, decoded)); + } + } +@@ -156,7 +157,8 @@ class MockConnection : public rmqio::Connection { + { + BALL_LOG_TRACE << "MockConnection close"; + +- d_eventLoop.post(bdlf::BindUtil::bind(cb, GRACEFUL_DISCONNECT)); ++ boost::asio::post(d_eventLoop, ++ bdlf::BindUtil::bind(cb, GRACEFUL_DISCONNECT)); + } + + void asyncWriteImpl( +@@ -175,7 +177,7 @@ class MockConnection : public rmqio::Connection { + rmqamqpt::Method( + rmqamqpt::ConnectionMethod(rmqamqpt::ConnectionCloseOk()))); + +- d_eventLoop.post(callback); ++ boost::asio::post(d_eventLoop, callback); + + if (!closeOk) { + feedNextFrame(); +@@ -301,7 +303,7 @@ ACTION_P3(ConnectMockConnection, mockConnectPtrPtr, replayFrame, eventLoop) + + ON_CALL(**mockConnectPtrPtr, isConnected()).WillByDefault(Return(true)); + +- eventLoop.get().post(arg4); ++ boost::asio::post(eventLoop.get(), arg4); + + return *mockConnectPtrPtr; + } +diff --git a/src/tests/rmqio/rmqio_asioresolver.t.cpp b/src/tests/rmqio/rmqio_asioresolver.t.cpp +index e5c2c7e..ad14d5e 100644 +--- a/src/tests/rmqio/rmqio_asioresolver.t.cpp ++++ b/src/tests/rmqio/rmqio_asioresolver.t.cpp +@@ -98,7 +98,7 @@ TEST_F(ResolverTests, ShufflesResolverResults) + for (int i = 0; i < 5; i++) { + bsl::string ip = bsl::to_string(i) + ".0.0.0"; + entry_type::endpoint_type endpoint( +- boost::asio::ip::address::from_string(std::string(ip)), 1); ++ boost::asio::ip::make_address(std::string(ip)), 1); + entries.push_back(entry_type(endpoint, host, port)); + } + AsioResolver::results_type resolverResults = +@@ -140,7 +140,7 @@ TEST_F(ResolverTests, NoShuffleDoesNotReorderResolverResults) + for (int i = 0; i < 5; i++) { + bsl::string ip = bsl::to_string(i) + ".0.0.0"; + entry_type::endpoint_type endpoint( +- boost::asio::ip::address::from_string(std::string(ip)), 1); ++ boost::asio::ip::make_address(std::string(ip)), 1); + entries.push_back(entry_type(endpoint, host, port)); + } + AsioResolver::results_type resolverResults = diff --git a/ports/rmqcpp/portfile.cmake b/ports/rmqcpp/portfile.cmake index 308aef6e0d21e8..45579637ae5a4b 100644 --- a/ports/rmqcpp/portfile.cmake +++ b/ports/rmqcpp/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( HEAD_REF main PATCHES "disable-tests-and-examples.patch" + new-boost.patch # From https://github.com/bloomberg/rmqcpp/pull/59 ) vcpkg_cmake_configure( diff --git a/ports/rmqcpp/vcpkg.json b/ports/rmqcpp/vcpkg.json index d3ae3ecc62050f..e56deb1558b3f1 100644 --- a/ports/rmqcpp/vcpkg.json +++ b/ports/rmqcpp/vcpkg.json @@ -1,8 +1,10 @@ { "name": "rmqcpp", "version": "1.0.0", - "port-version": 1, + "port-version": 2, "description": "rmqcpp - A C++ library for RabbitMQ.", + "homepage": "https://github.com/bloomberg/rmqcpp", + "license": "Apache-2.0", "dependencies": [ { "name": "bde", diff --git a/versions/baseline.json b/versions/baseline.json index 60c6e5a2a55a16..36f33314692eef 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -8122,7 +8122,7 @@ }, "rmqcpp": { "baseline": "1.0.0", - "port-version": 1 + "port-version": 2 }, "roaring": { "baseline": "4.2.1", diff --git a/versions/r-/rmqcpp.json b/versions/r-/rmqcpp.json index 326fee419f2b08..ed892781077bcd 100644 --- a/versions/r-/rmqcpp.json +++ b/versions/r-/rmqcpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6b29ce9069537472874156ff1b9cfed78f4a2077", + "version": "1.0.0", + "port-version": 2 + }, { "git-tree": "5671a6b2d1b566222dbe12642e6e4fd86c9cc7f5", "version": "1.0.0",