aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-02-23 03:36:35 -0800
committerRobert Schumacher <roschuma@microsoft.com>2018-02-23 04:16:00 -0800
commitcd6aa2a5ab579d8cfec7d503fc555714508ff248 (patch)
tree7478e7120cb09b8311d7beac3965e0fb57532d02
parent43172e23188cc8014ac1b73bca8b24f664ff3324 (diff)
downloadvcpkg-cd6aa2a5ab579d8cfec7d503fc555714508ff248.tar.gz
vcpkg-cd6aa2a5ab579d8cfec7d503fc555714508ff248.zip
[wt] Upgrade
-rw-r--r--ports/wt/0001-boost-1.66.patch370
-rw-r--r--ports/wt/0002-link-glew.patch23
-rw-r--r--ports/wt/0003-disable-boost-autolink.patch22
-rw-r--r--ports/wt/CONTROL4
-rw-r--r--ports/wt/add-disable-boost-autolink-option.patch26
-rw-r--r--ports/wt/boost-1.66.patch123
-rw-r--r--ports/wt/guard-NO_ERROR.patch19
-rw-r--r--ports/wt/portfile.cmake17
8 files changed, 427 insertions, 177 deletions
diff --git a/ports/wt/0001-boost-1.66.patch b/ports/wt/0001-boost-1.66.patch
new file mode 100644
index 000000000..b11ffdb05
--- /dev/null
+++ b/ports/wt/0001-boost-1.66.patch
@@ -0,0 +1,370 @@
+From a0fd67d85947c835cd55078edacf3c2ac84ca53f Mon Sep 17 00:00:00 2001
+From: Robert Schumacher <roschuma@microsoft.com>
+Date: Fri, 23 Feb 2018 03:12:00 -0800
+Subject: [PATCH 1/3] boost 1.66
+
+
+diff --git a/src/Wt/Http/Client.C b/src/Wt/Http/Client.C
+index 85230d1..a2c893e 100644
+--- a/src/Wt/Http/Client.C
++++ b/src/Wt/Http/Client.C
+@@ -642,7 +642,7 @@ private:
+
+ protected:
+ asio::io_service& ioService_;
+- asio::strand strand_;
++ asio::io_context::strand strand_;
+ tcp::resolver resolver_;
+ asio::streambuf requestBuf_;
+ asio::streambuf responseBuf_;
+diff --git a/src/Wt/Http/Client.h b/src/Wt/Http/Client.h
+index f3c7169..0f638e8 100644
+--- a/src/Wt/Http/Client.h
++++ b/src/Wt/Http/Client.h
+@@ -21,11 +21,7 @@
+ #include <string>
+
+ #ifdef WT_ASIO_IS_BOOST_ASIO
+-namespace boost {
+- namespace asio {
+- class io_service;
+- }
+-}
++#include <boost/asio/io_service.hpp>
+ #else // WT_ASIO_IS_STANDALONE_ASIO
+ namespace asio {
+ class io_service;
+diff --git a/src/http/Connection.C b/src/http/Connection.C
+index cab7708..cca4e0a 100644
+--- a/src/http/Connection.C
++++ b/src/http/Connection.C
+@@ -78,7 +78,7 @@ void Connection::scheduleStop()
+
+ void Connection::start()
+ {
+- LOG_DEBUG(socket().native() << ": start()");
++ LOG_DEBUG(socket().native_handle() << ": start()");
+
+ request_parser_.reset();
+ request_.reset();
+@@ -106,7 +106,7 @@ void Connection::stop()
+ void Connection::setReadTimeout(int seconds)
+ {
+ if (seconds != 0) {
+- LOG_DEBUG(socket().native() << " setting read timeout (ws: "
++ LOG_DEBUG(socket().native_handle() << " setting read timeout (ws: "
+ << request_.webSocketVersion << ")");
+ state_ |= Reading;
+
+@@ -118,7 +118,7 @@ void Connection::setReadTimeout(int seconds)
+
+ void Connection::setWriteTimeout(int seconds)
+ {
+- LOG_DEBUG(socket().native() << " setting write timeout (ws: "
++ LOG_DEBUG(socket().native_handle() << " setting write timeout (ws: "
+ << request_.webSocketVersion << ")");
+ state_ |= Writing;
+
+@@ -129,7 +129,7 @@ void Connection::setWriteTimeout(int seconds)
+
+ void Connection::cancelReadTimer()
+ {
+- LOG_DEBUG(socket().native() << " cancel read timeout");
++ LOG_DEBUG(socket().native_handle() << " cancel read timeout");
+ state_.clear(Reading);
+
+ readTimer_.cancel();
+@@ -137,7 +137,7 @@ void Connection::cancelReadTimer()
+
+ void Connection::cancelWriteTimer()
+ {
+- LOG_DEBUG(socket().native() << " cancel write timeout");
++ LOG_DEBUG(socket().native_handle() << " cancel write timeout");
+ state_.clear(Writing);
+
+ writeTimer_.cancel();
+@@ -163,7 +163,7 @@ void Connection::handleReadRequest0()
+
+ #ifdef DEBUG
+ try {
+- LOG_DEBUG(socket().native() << "incoming request: "
++ LOG_DEBUG(socket().native_handle() << "incoming request: "
+ << socket().remote_endpoint().port() << " (avail= "
+ << (rcv_buffer_size_ - (rcv_remaining_ - buffer.data())) << "): "
+ << std::string(rcv_remaining_,
+@@ -189,7 +189,7 @@ void Connection::handleReadRequest0()
+ if (doWebSockets)
+ request_.enableWebSocket();
+
+- LOG_DEBUG(socket().native() << "request: " << status);
++ LOG_DEBUG(socket().native_handle() << "request: " << status);
+
+ if (status >= 300)
+ sendStockReply(status);
+@@ -242,7 +242,7 @@ void Connection::sendStockReply(StockReply::status_type status)
+ void Connection::handleReadRequest(const Wt::AsioWrapper::error_code& e,
+ std::size_t bytes_transferred)
+ {
+- LOG_DEBUG(socket().native() << ": handleReadRequest(): " << e.message());
++ LOG_DEBUG(socket().native_handle() << ": handleReadRequest(): " << e.message());
+
+ cancelReadTimer();
+
+@@ -261,7 +261,7 @@ void Connection::close()
+ cancelReadTimer();
+ cancelWriteTimer();
+
+- LOG_DEBUG(socket().native() << ": close()");
++ LOG_DEBUG(socket().native_handle() << ": close()");
+
+ ConnectionManager_.stop(shared_from_this());
+ }
+@@ -274,7 +274,7 @@ bool Connection::closed() const
+
+ void Connection::handleError(const Wt::AsioWrapper::error_code& e)
+ {
+- LOG_DEBUG(socket().native() << ": error: " << e.message());
++ LOG_DEBUG(socket().native_handle() << ": error: " << e.message());
+
+ close();
+ }
+@@ -349,7 +349,7 @@ void Connection::handleReadBody0(ReplyPtr reply,
+ const Wt::AsioWrapper::error_code& e,
+ std::size_t bytes_transferred)
+ {
+- LOG_DEBUG(socket().native() << ": handleReadBody0(): " << e.message());
++ LOG_DEBUG(socket().native_handle() << ": handleReadBody0(): " << e.message());
+
+ if (disconnectCallback_) {
+ if (e && e != asio::error::operation_aborted) {
+@@ -357,7 +357,7 @@ void Connection::handleReadBody0(ReplyPtr reply,
+ disconnectCallback_ = boost::function<void()>();
+ f();
+ } else if (!e) {
+- LOG_ERROR(socket().native()
++ LOG_ERROR(socket().native_handle()
+ << ": handleReadBody(): while waiting for disconnect, "
+ "received unexpected data, closing");
+ close();
+@@ -403,14 +403,14 @@ void Connection::startWriteResponse(ReplyPtr reply)
+ int size = asio::buffer_size(buffers[i]);
+ s += size;
+ #ifdef DEBUG_DUMP
+- char *data = (char *)asio::detail::buffer_cast_helper(buffers[i]);
++ char *data = asio::buffer_cast<char*>(buffers[i]);
+ for (int j = 0; j < size; ++j)
+ std::cerr << data[j];
+ #endif
+ }
+ #endif
+
+- LOG_DEBUG(socket().native() << " sending: " << s << "(buffers: "
++ LOG_DEBUG(socket().native_handle() << " sending: " << s << "(buffers: "
+ << buffers.size() << ")");
+
+ if (!buffers.empty()) {
+@@ -423,7 +423,7 @@ void Connection::startWriteResponse(ReplyPtr reply)
+
+ void Connection::handleWriteResponse(ReplyPtr reply)
+ {
+- LOG_DEBUG(socket().native() << ": handleWriteResponse() " <<
++ LOG_DEBUG(socket().native_handle() << ": handleWriteResponse() " <<
+ haveResponse_ << " " << responseDone_);
+ if (haveResponse_)
+ startWriteResponse(reply);
+@@ -458,7 +458,7 @@ void Connection::handleWriteResponse0(ReplyPtr reply,
+ const Wt::AsioWrapper::error_code& e,
+ std::size_t bytes_transferred)
+ {
+- LOG_DEBUG(socket().native() << ": handleWriteResponse0(): "
++ LOG_DEBUG(socket().native_handle() << ": handleWriteResponse0(): "
+ << bytes_transferred << " ; " << e.message());
+
+ cancelWriteTimer();
+diff --git a/src/http/Connection.h b/src/http/Connection.h
+index b0b71a3..bc0b6ed 100644
+--- a/src/http/Connection.h
++++ b/src/http/Connection.h
+@@ -61,7 +61,7 @@ public:
+ virtual ~Connection();
+
+ Server *server() const { return server_; }
+- asio::strand& strand() { return strand_; }
++ asio::io_context::strand& strand() { return strand_; }
+
+ /// Stop all asynchronous operations associated with the connection.
+ void scheduleStop();
+@@ -104,7 +104,7 @@ protected:
+ /// The manager for this connection.
+ ConnectionManager& ConnectionManager_;
+
+- asio::strand strand_;
++ asio::io_context::strand strand_;
+
+ void finishReply();
+
+diff --git a/src/http/Reply.C b/src/http/Reply.C
+index 0d79e39..5e6c615 100644
+--- a/src/http/Reply.C
++++ b/src/http/Reply.C
+@@ -596,7 +596,7 @@ bool Reply::encodeNextContentBuffer(
+ originalSize += bs;
+
+ gzipStrm_.avail_in = bs;
+- gzipStrm_.next_in = (unsigned char *)asio::detail::buffer_cast_helper(b);
++ gzipStrm_.next_in = (unsigned char *)b.data();
+
+ unsigned char out[16*1024];
+ do {
+diff --git a/src/http/Server.h b/src/http/Server.h
+index 3d3229a..373073f 100644
+--- a/src/http/Server.h
++++ b/src/http/Server.h
+@@ -129,7 +129,7 @@ private:
+ Wt::WLogger accessLogger_;
+
+ /// The strand for handleTcpAccept(), handleSslAccept() and handleStop()
+- asio::strand accept_strand_;
++ asio::io_context::strand accept_strand_;
+
+ /// Acceptors used to listen for incoming http connections.
+ std::vector<TcpListener> tcp_listeners_;
+diff --git a/src/http/SessionProcess.C b/src/http/SessionProcess.C
+index 72d9a88..92320b0 100644
+--- a/src/http/SessionProcess.C
++++ b/src/http/SessionProcess.C
+@@ -80,7 +80,7 @@ void SessionProcess::asyncExec(const Configuration &config,
+ if (!ec)
+ acceptor_->listen(0, ec);
+ #ifndef WT_WIN32
+- fcntl(acceptor_->native(), F_SETFD, FD_CLOEXEC);
++ fcntl(acceptor_->native_handle(), F_SETFD, FD_CLOEXEC);
+ #endif // !WT_WIN32
+ if (ec) {
+ LOG_ERROR("Couldn't create listening socket: " << ec.message());
+diff --git a/src/http/SslConnection.C b/src/http/SslConnection.C
+index 74c8642..2c34b53 100644
+--- a/src/http/SslConnection.C
++++ b/src/http/SslConnection.C
+@@ -81,9 +81,9 @@ void SslConnection::handleHandshake(const Wt::AsioWrapper::error_code& error)
+
+ void SslConnection::stop()
+ {
+- LOG_DEBUG(socket().native() << ": stop()");
++ LOG_DEBUG(socket().native_handle() << ": stop()");
+ finishReply();
+- LOG_DEBUG(socket().native() << ": SSL shutdown");
++ LOG_DEBUG(socket().native_handle() << ": SSL shutdown");
+
+ Connection::stop();
+
+@@ -108,20 +108,20 @@ void SslConnection::stopNextLayer(const Wt::AsioWrapper::error_code& ec)
+ // In case of timeout, we will get here twice.
+ sslShutdownTimer_.cancel();
+ if (ec) {
+- LOG_DEBUG(socket().native() << ": ssl_shutdown failed:"
++ LOG_DEBUG(socket().native_handle() << ": ssl_shutdown failed:"
+ << ec.message());
+ }
+ try {
+ if (socket().is_open()) {
+ Wt::AsioWrapper::error_code ignored_ec;
+- LOG_DEBUG(socket().native() << ": socket shutdown");
++ LOG_DEBUG(socket().native_handle() << ": socket shutdown");
+ socket().shutdown(asio::ip::tcp::socket::shutdown_both,
+ ignored_ec);
+- LOG_DEBUG(socket().native() << "closing socket");
++ LOG_DEBUG(socket().native_handle() << "closing socket");
+ socket().close();
+ }
+ } catch (Wt::AsioWrapper::system_error& e) {
+- LOG_DEBUG(socket().native() << ": error " << e.what());
++ LOG_DEBUG(socket().native_handle() << ": error " << e.what());
+ }
+ }
+
+@@ -161,7 +161,7 @@ void SslConnection::startAsyncReadBody(ReplyPtr reply,
+ Buffer& buffer, int timeout)
+ {
+ if (state_ & Reading) {
+- LOG_DEBUG(socket().native() << ": state_ = "
++ LOG_DEBUG(socket().native_handle() << ": state_ = "
+ << (state_ & Reading ? "reading " : "")
+ << (state_ & Writing ? "writing " : ""));
+ stop();
+@@ -198,7 +198,7 @@ void SslConnection
+ int timeout)
+ {
+ if (state_ & Writing) {
+- LOG_DEBUG(socket().native() << ": state_ = "
++ LOG_DEBUG(socket().native_handle() << ": state_ = "
+ << (state_ & Reading ? "reading " : "")
+ << (state_ & Writing ? "writing " : ""));
+ stop();
+diff --git a/src/http/TcpConnection.C b/src/http/TcpConnection.C
+index ad73164..4eaf83b 100644
+--- a/src/http/TcpConnection.C
++++ b/src/http/TcpConnection.C
+@@ -38,17 +38,17 @@ asio::ip::tcp::socket& TcpConnection::socket()
+
+ void TcpConnection::stop()
+ {
+- LOG_DEBUG(socket().native() << ": stop()");
++ LOG_DEBUG(socket().native_handle() << ": stop()");
+
+ finishReply();
+
+ try {
+ Wt::AsioWrapper::error_code ignored_ec;
+ socket_.shutdown(asio::ip::tcp::socket::shutdown_both, ignored_ec);
+- LOG_DEBUG(socket().native() << ": closing socket");
++ LOG_DEBUG(socket().native_handle() << ": closing socket");
+ socket_.close();
+ } catch (Wt::AsioWrapper::system_error& e) {
+- LOG_DEBUG(socket().native() << ": error " << e.what());
++ LOG_DEBUG(socket().native_handle() << ": error " << e.what());
+ }
+
+ Connection::stop();
+@@ -56,10 +56,10 @@ void TcpConnection::stop()
+
+ void TcpConnection::startAsyncReadRequest(Buffer& buffer, int timeout)
+ {
+- LOG_DEBUG(socket().native() << ": startAsyncReadRequest");
++ LOG_DEBUG(socket().native_handle() << ": startAsyncReadRequest");
+
+ if (state_ & Reading) {
+- LOG_DEBUG(socket().native() << ": state_ = "
++ LOG_DEBUG(socket().native_handle() << ": state_ = "
+ << (state_ & Reading ? "reading " : "")
+ << (state_ & Writing ? "writing " : ""));
+ stop();
+@@ -81,10 +81,10 @@ void TcpConnection::startAsyncReadRequest(Buffer& buffer, int timeout)
+ void TcpConnection::startAsyncReadBody(ReplyPtr reply,
+ Buffer& buffer, int timeout)
+ {
+- LOG_DEBUG(socket().native() << ": startAsyncReadBody");
++ LOG_DEBUG(socket().native_handle() << ": startAsyncReadBody");
+
+ if (state_ & Reading) {
+- LOG_DEBUG(socket().native() << ": state_ = "
++ LOG_DEBUG(socket().native_handle() << ": state_ = "
+ << (state_ & Reading ? "reading " : "")
+ << (state_ & Writing ? "writing " : ""));
+ stop();
+@@ -109,10 +109,10 @@ void TcpConnection::startAsyncWriteResponse
+ const std::vector<asio::const_buffer>& buffers,
+ int timeout)
+ {
+- LOG_DEBUG(socket().native() << ": startAsyncWriteResponse");
++ LOG_DEBUG(socket().native_handle() << ": startAsyncWriteResponse");
+
+ if (state_ & Writing) {
+- LOG_DEBUG(socket().native() << ": state_ = "
++ LOG_DEBUG(socket().native_handle() << ": state_ = "
+ << (state_ & Reading ? "reading " : "")
+ << (state_ & Writing ? "writing " : ""));
+ stop();
+--
+2.16.2.windows.1
+
diff --git a/ports/wt/0002-link-glew.patch b/ports/wt/0002-link-glew.patch
new file mode 100644
index 000000000..af441e81f
--- /dev/null
+++ b/ports/wt/0002-link-glew.patch
@@ -0,0 +1,23 @@
+From 6301c4ccaf8d3b6982898fed84e691ab8ddd7a4f Mon Sep 17 00:00:00 2001
+From: Robert Schumacher <roschuma@microsoft.com>
+Date: Fri, 23 Feb 2018 03:12:45 -0800
+Subject: [PATCH 2/3] link glew
+
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 80734fb..70e755b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -556,7 +556,8 @@ ENDIF("${WT_WRASTERIMAGE_IMPLEMENTATION}" STREQUAL "GraphicsMagick")
+ IF(HAVE_GL)
+ INCLUDE_DIRECTORIES(${GL_INCLUDE_DIRS})
+ IF(USE_SYSTEM_GLEW)
+- TARGET_LINK_LIBRARIES(wt PRIVATE GLEW)
++ find_package(glew REQUIRED)
++ TARGET_LINK_LIBRARIES(wt PRIVATE GLEW::GLEW)
+ ENDIF(USE_SYSTEM_GLEW)
+ TARGET_LINK_LIBRARIES(wt PRIVATE ${GL_LIBRARIES})
+ ELSE(HAVE_GL)
+--
+2.16.2.windows.1
+
diff --git a/ports/wt/0003-disable-boost-autolink.patch b/ports/wt/0003-disable-boost-autolink.patch
new file mode 100644
index 000000000..910fbf800
--- /dev/null
+++ b/ports/wt/0003-disable-boost-autolink.patch
@@ -0,0 +1,22 @@
+From 21dd691c8ac8d60f49cd051193402187f6912f92 Mon Sep 17 00:00:00 2001
+From: Robert Schumacher <roschuma@microsoft.com>
+Date: Fri, 23 Feb 2018 03:29:09 -0800
+Subject: [PATCH 3/3] disable boost autolink
+
+
+diff --git a/cmake/WtFindBoost-cmake.txt b/cmake/WtFindBoost-cmake.txt
+index b708803..b0c2846 100644
+--- a/cmake/WtFindBoost-cmake.txt
++++ b/cmake/WtFindBoost-cmake.txt
+@@ -89,7 +89,7 @@ IF (Boost_FOUND)
+ SET(BOOST_WTHTTP_MT_FOUND TRUE)
+ SET(BOOST_WTHTTP_FOUND TRUE)
+
+- IF(MSVC)
++ IF(MSVC AND 0)
+ # use autolink
+ SET(BOOST_WT_LIBRARIES "")
+ SET(BOOST_WTHTTP_LIBRARIES "")
+--
+2.16.2.windows.1
+
diff --git a/ports/wt/CONTROL b/ports/wt/CONTROL
index 448d76f60..8b9b98aa3 100644
--- a/ports/wt/CONTROL
+++ b/ports/wt/CONTROL
@@ -1,4 +1,4 @@
Source: wt
-Version: 3.3.7-4
+Version: 4.0.2
Description: Wt is a C++ library for developing web applications
-Build-Depends: openssl, sqlite3, libpq, pango, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic
+Build-Depends: openssl, sqlite3, libpq, pango, glew, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic
diff --git a/ports/wt/add-disable-boost-autolink-option.patch b/ports/wt/add-disable-boost-autolink-option.patch
deleted file mode 100644
index 57cb3ed99..000000000
--- a/ports/wt/add-disable-boost-autolink-option.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/cmake/WtFindBoost-cmake.txt b/cmake/WtFindBoost-cmake.txt
-index b66741f..377cede 100644
---- a/cmake/WtFindBoost-cmake.txt
-+++ b/cmake/WtFindBoost-cmake.txt
-@@ -99,7 +99,7 @@ IF (Boost_FOUND)
- SET(BOOST_WTHTTP_MT_FOUND TRUE)
- SET(BOOST_WTHTTP_FOUND TRUE)
-
-- IF(MSVC)
-+ IF(MSVC AND NOT DISABLE_BOOST_AUTOLINK)
- # use autolink
- SET(BOOST_WT_LIBRARIES "")
- SET(BOOST_WTHTTP_LIBRARIES "")
-diff --git a/src/wt/Dbo/CMakeLists.txt b/src/wt/Dbo/CMakeLists.txt
-index 64d3af2..f9c31e0 100644
---- a/src/wt/Dbo/CMakeLists.txt
-+++ b/src/wt/Dbo/CMakeLists.txt
-@@ -31,7 +31,7 @@ IF(ENABLE_LIBWTDBO)
- StringStream.C
- )
-
-- IF(MSVC)
-+ IF(MSVC AND NOT DISABLE_BOOST_AUTOLINK)
- #win32 links automatically against boost libs; specifying too much causes
- #trouble
- IF(MULTI_THREADED_BUILD)
diff --git a/ports/wt/boost-1.66.patch b/ports/wt/boost-1.66.patch
deleted file mode 100644
index d8268f6ba..000000000
--- a/ports/wt/boost-1.66.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-diff --git a/src/http/Connection.C b/src/http/Connection.C
-index 70ecfd5..b24c817 100644
---- a/src/http/Connection.C
-+++ b/src/http/Connection.C
-@@ -339,7 +339,7 @@ void Connection::handleReadBody(ReplyPtr reply,
- const asio_error_code& e,
- std::size_t bytes_transferred)
- {
-- LOG_DEBUG(socket().native() << ": handleReadBody(): " << e.message());
-+ LOG_DEBUG(socket().native_handle() << ": handleReadBody(): " << e.message());
-
- if (disconnectCallback_) {
- rcv_body_buffer_ = false;
-@@ -350,7 +350,7 @@ void Connection::handleReadBody(ReplyPtr reply,
- disconnectCallback_ = boost::function<void()>();
- f();
- } else if (!e) {
-- LOG_ERROR(socket().native()
-+ LOG_ERROR(socket().native_handle()
- << ": handleReadBody(): while waiting for disconnect, "
- "received unexpected data, closing");
- close();
-@@ -471,3 +471,4 @@ void Connection::handleWriteResponse(ReplyPtr reply,
-
- } // namespace server
- } // namespace http
-+
-diff --git a/src/http/Connection.h b/src/http/Connection.h
-index 712f736..dabba21 100644
---- a/src/http/Connection.h
-+++ b/src/http/Connection.h
-@@ -72,7 +72,7 @@ public:
- virtual ~Connection();
-
- Server *server() const { return server_; }
-- asio::strand& strand() { return strand_; }
-+ asio::io_service::strand& strand() { return strand_; }
-
- /// Stop all asynchronous operations associated with the connection.
- void scheduleStop();
-@@ -113,7 +113,7 @@ protected:
- /// The manager for this connection.
- ConnectionManager& ConnectionManager_;
-
-- asio::strand strand_;
-+ asio::io_service::strand strand_;
-
- void finishReply();
-
-@@ -204,3 +204,4 @@ typedef boost::shared_ptr<Connection> ConnectionPtr;
- } // namespace http
-
- #endif // HTTP_CONNECTION_HPP
-+
-diff --git a/src/http/Reply.C b/src/http/Reply.C
-index f7fe2aa..603b9ea 100644
---- a/src/http/Reply.C
-+++ b/src/http/Reply.C
-@@ -593,7 +593,7 @@ bool Reply::encodeNextContentBuffer(
- originalSize += bs;
-
- gzipStrm_.avail_in = bs;
-- gzipStrm_.next_in = (unsigned char *)asio::detail::buffer_cast_helper(b);
-+ gzipStrm_.next_in = (unsigned char *)b.data();
-
- unsigned char out[16*1024];
- do {
-@@ -642,3 +642,4 @@ bool Reply::encodeNextContentBuffer(
-
- } // namespace server
- } // namespace http
-+
-diff --git a/src/http/Server.h b/src/http/Server.h
-index 3260a23..c924ed2 100644
---- a/src/http/Server.h
-+++ b/src/http/Server.h
-@@ -120,7 +120,7 @@ private:
- Wt::WLogger accessLogger_;
-
- /// The strand for handleTcpAccept(), handleSslAccept() and handleStop()
-- asio::strand accept_strand_;
-+ asio::io_service::strand accept_strand_;
-
- /// Acceptor used to listen for incoming http connections.
- asio::ip::tcp::acceptor tcp_acceptor_;
-@@ -164,3 +164,4 @@ void handleTimeout(asio_timer *timer,
- } // namespace http
-
- #endif // HTTP_SERVER_HPP
-+
-diff --git a/src/wt/WServerGLWidget.C b/src/wt/WServerGLWidget.C
-index a1fb5ee..7e1d31e 100644
---- a/src/wt/WServerGLWidget.C
-+++ b/src/wt/WServerGLWidget.C
-@@ -36,8 +36,9 @@ typedef GLXContext (*glXCreateContextAttribsARBProc)(Display*, GLXFBConfig, GLXC
- #endif
-
- #ifdef WIN32_GL
--#include <GL/wglew.h>
-+#define WIN32_LEAN_AND_MEAN
- #include <Windows.h>
-+#include <GL/wglew.h>
- #endif
-
- #ifdef APPLE_GL
-diff --git a/src/wt/http/Client.C b/src/wt/http/Client.C
-index 2c4e07d..ca793d4 100644
---- a/src/wt/http/Client.C
-+++ b/src/wt/http/Client.C
-@@ -605,7 +605,7 @@ private:
-
- protected:
- WIOService& ioService_;
-- boost::asio::strand strand_;
-+ boost::asio::io_service::strand strand_;
- tcp::resolver resolver_;
- boost::asio::streambuf requestBuf_;
- boost::asio::streambuf responseBuf_;
-@@ -1060,3 +1060,4 @@ bool Client::parseUrl(const std::string &url, URL &parsedUrl)
-
- }
- }
-+
diff --git a/ports/wt/guard-NO_ERROR.patch b/ports/wt/guard-NO_ERROR.patch
deleted file mode 100644
index b91a19a20..000000000
--- a/ports/wt/guard-NO_ERROR.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/src/wt/WGLWidget b/src/wt/WGLWidget
-index dd39701..94634f7 100644
---- a/src/wt/WGLWidget
-+++ b/src/wt/WGLWidget
-@@ -798,7 +798,14 @@ public:
- SAMPLE_COVERAGE = 0x80A0,
-
- /* ErrorCode */
-+#ifdef _WIN32
-+#pragma push_macro ("NO_ERROR")
-+#undef NO_ERROR
-+#endif
- NO_ERROR = 0x0,
-+#ifdef _WIN32
-+#pragma pop_macro ("NO_ERROR")
-+#endif
- INVALID_ENUM = 0x0500,
- INVALID_VALUE = 0x0501,
- INVALID_OPERATION = 0x0502,
diff --git a/ports/wt/portfile.cmake b/ports/wt/portfile.cmake
index ede65c8df..b3081b8a3 100644
--- a/ports/wt/portfile.cmake
+++ b/ports/wt/portfile.cmake
@@ -3,23 +3,24 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO emweb/wt
- REF 3.3.7
- SHA512 f179b42eedcfd2e61f26ef92c6aad40c55c76c9a688269c4d5bd55dd48381073d6269d9c2ab305f15ef455616d48183a3fc0ba08c740a8e18318a2ad2fb13826
+ REF 4.0.2
+ SHA512 85e35374bec662c314b20d0699656895364386ee2e51ca99d131702f02ea5a4defeb357fdda3cf068049f077daaa7a3af1dc3d239fb73b3cf13b574778e5609c
HEAD_REF master
)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/add-disable-boost-autolink-option.patch
- ${CMAKE_CURRENT_LIST_DIR}/guard-NO_ERROR.patch
- ${CMAKE_CURRENT_LIST_DIR}/boost-1.66.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0001-boost-1.66.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002-link-glew.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0003-disable-boost-autolink.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIBS)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DSHARED_LIBS=${SHARED_LIBS}
-DBOOST_DYNAMIC=ON
@@ -38,12 +39,14 @@ vcpkg_configure_cmake(
-DENABLE_OPENGL=ON
-DUSE_SYSTEM_SQLITE3=ON
+ -DUSE_SYSTEM_GLEW=ON
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/wt)
+
# There is no way to suppress installation of the headers and resource files in debug build.
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wt RENAME copyright)
vcpkg_copy_pdbs()