aboutsummaryrefslogtreecommitdiff
path: root/ports/websocketpp
diff options
context:
space:
mode:
Diffstat (limited to 'ports/websocketpp')
-rw-r--r--ports/websocketpp/CONTROL4
-rw-r--r--ports/websocketpp/openssl_110.patch19
-rw-r--r--ports/websocketpp/portfile.cmake28
3 files changed, 38 insertions, 13 deletions
diff --git a/ports/websocketpp/CONTROL b/ports/websocketpp/CONTROL
index f812dc565..991e6635c 100644
--- a/ports/websocketpp/CONTROL
+++ b/ports/websocketpp/CONTROL
@@ -1,4 +1,4 @@
Source: websocketpp
-Version: 0.7.0
-Build-Depends: zlib, openssl, boost
+Version: 0.7.0-1
+Build-Depends: zlib, openssl, boost-asio
Description: Library that implements RFC6455 The WebSocket Protocol \ No newline at end of file
diff --git a/ports/websocketpp/openssl_110.patch b/ports/websocketpp/openssl_110.patch
new file mode 100644
index 000000000..93f4302e0
--- /dev/null
+++ b/ports/websocketpp/openssl_110.patch
@@ -0,0 +1,19 @@
+diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
+index 7b32db8..37173b7 100644
+--- a/websocketpp/transport/asio/security/tls.hpp
++++ b/websocketpp/transport/asio/security/tls.hpp
+@@ -355,7 +355,13 @@ protected:
+ template <typename ErrorCodeType>
+ lib::error_code translate_ec(ErrorCodeType ec) {
+ if (ec.category() == lib::asio::error::get_ssl_category()) {
+- if (ERR_GET_REASON(ec.value()) == SSL_R_SHORT_READ) {
++ if (
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++ ERR_GET_REASON(ec.value()) == SSL_R_SHORT_READ
++#else
++ false
++#endif
++ ) {
+ return make_error_code(transport::error::tls_short_read);
+ } else {
+ // We know it is a TLS related error, but otherwise don't know
diff --git a/ports/websocketpp/portfile.cmake b/ports/websocketpp/portfile.cmake
index 98a4d52e6..71711e8c5 100644
--- a/ports/websocketpp/portfile.cmake
+++ b/ports/websocketpp/portfile.cmake
@@ -1,15 +1,21 @@
#header-only library
include(vcpkg_common_functions)
-set(VERSION "0.7.0")
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/websocketpp-${VERSION})
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/zaphoyd/websocketpp/archive/${VERSION}.zip"
- FILENAME "websocketpp-${VERSION}.zip"
- SHA512 0cfbc5ed7034758b3666b5154854287441ebeef8e18c4e5f39b62559d4f0e9dda63d79021243c447f57b9855209e1813aeb1c6c475fc98aa71ff03933fc7ac0c
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO zaphoyd/websocketpp
+ REF 0.7.0
+ SHA512 91a86d4f5120db3f474169bb146f865f82167b1e9eedabec8793b31005e4ce3d22083283bc1b9f9e37fa0da835addcb2b68260a27c753852c06b3b1bb2f3c12e
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/openssl_110.patch
)
-vcpkg_extract_source_archive(${ARCHIVE})
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/websocketpp)
# Put the license file where vcpkg expects it
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/websocketpp/)
@@ -19,6 +25,6 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/share/websocketpp/COPYING ${CURRENT_PACKAGES
file(COPY "${SOURCE_PATH}/websocketpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.hpp")
set(INSTALL_INCLUDE_DIR "\${CMAKE_CURRENT_LIST_DIR}/../../include")
-set(WEBSOCKETPP_VERSION ${VERSION})
-configure_file (${SOURCE_PATH}/websocketpp-config.cmake.in "${CURRENT_PACKAGES_DIR}/share/websocketpp/websocketpp-config.cmake" @ONLY)
-configure_file (${SOURCE_PATH}/websocketpp-configVersion.cmake.in "${CURRENT_PACKAGES_DIR}/share/websocketpp/websocketpp-configVersion.cmake" @ONLY) \ No newline at end of file
+set(WEBSOCKETPP_VERSION 0.7.0)
+configure_file(${SOURCE_PATH}/websocketpp-config.cmake.in "${CURRENT_PACKAGES_DIR}/share/websocketpp/websocketpp-config.cmake" @ONLY)
+configure_file(${SOURCE_PATH}/websocketpp-configVersion.cmake.in "${CURRENT_PACKAGES_DIR}/share/websocketpp/websocketpp-configVersion.cmake" @ONLY)