mirror of
https://github.com/thead-yocto-mirror/meta-openembedded
synced 2026-09-04 05:04:39 +02:00
cpprest: update to new 2.10.3 release, simplify recipe now that it has a cmake file in the root location
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
committed by
Khem Raj
parent
19b47730e0
commit
47d2bfaff1
25
meta-oe/recipes-support/cpprest/cpprest-2.10.3/732.patch
Normal file
25
meta-oe/recipes-support/cpprest/cpprest-2.10.3/732.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
From 3d8caad3f459d8b2136c5bc9be7fdec53e5d777d Mon Sep 17 00:00:00 2001
|
||||
From: Wu Yongwei <wuyongwei@gmail.com>
|
||||
Date: Tue, 10 Apr 2018 11:29:12 +0800
|
||||
Subject: [PATCH] Fix a build problem on Clang.
|
||||
|
||||
AND_CAPTURE_MEMBER_FUNCTION_POINTERS workaround had a check for GCC,
|
||||
but did not exclude Clang. Clang has a fake GCC version of 4.2, thus
|
||||
caused problems.
|
||||
---
|
||||
Release/src/http/client/http_client_asio.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Release/src/http/client/http_client_asio.cpp b/Release/src/http/client/http_client_asio.cpp
|
||||
index 4ba3e085..fca4bb5b 100644
|
||||
--- a/Release/src/http/client/http_client_asio.cpp
|
||||
+++ b/Release/src/http/client/http_client_asio.cpp
|
||||
@@ -47,7 +47,7 @@
|
||||
#include <unordered_set>
|
||||
#include <memory>
|
||||
|
||||
-#if defined(__GNUC__)
|
||||
+#if defined(__GNUC__) && !defined(__clang__)
|
||||
|
||||
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
|
||||
#define AND_CAPTURE_MEMBER_FUNCTION_POINTERS
|
||||
12
meta-oe/recipes-support/cpprest/cpprest-2.10.3/747.patch
Normal file
12
meta-oe/recipes-support/cpprest/cpprest-2.10.3/747.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
Description: fix for upstream issue 747, clang 6 build error
|
||||
From: rozhuk-im
|
||||
--- a/Release/include/pplx/pplxlinux.h 2018-04-29 16:22:39.927675000 +0300
|
||||
+++ b/Release/include/pplx/pplxlinux.h 2018-04-29 16:22:57.809537000 +0300
|
||||
@@ -240,6 +240,7 @@
|
||||
{
|
||||
public:
|
||||
_PPLXIMP virtual void schedule( TaskProc_t proc, _In_ void* param);
|
||||
+ virtual ~linux_scheduler() {}
|
||||
};
|
||||
|
||||
} // namespace details
|
||||
@@ -0,0 +1,25 @@
|
||||
Description: new toolchain might have increased the float precision
|
||||
Author: Gianfranco Costamagna <locutusofborg@debian.org>
|
||||
Last-Update: 2017-10-28
|
||||
Forwarded: https://github.com/Microsoft/cpprestsdk/issues/576
|
||||
|
||||
--- casablanca-2.10.0.orig/Release/tests/functional/streams/istream_tests.cpp
|
||||
+++ casablanca-2.10.0/Release/tests/functional/streams/istream_tests.cpp
|
||||
@@ -1302,7 +1302,7 @@ void compare_float(float expected, float
|
||||
{
|
||||
compare_floating(expected, actual, FLT_EPSILON);
|
||||
}
|
||||
-
|
||||
+/*
|
||||
TEST(extract_floating_point)
|
||||
{
|
||||
std::string test_string;
|
||||
@@ -1349,7 +1349,7 @@ TEST(extract_floating_point)
|
||||
VERIFY_ARE_EQUAL(1 / expected, 1 / actual);
|
||||
} while (!std_istream.eof());
|
||||
}
|
||||
-
|
||||
+*/
|
||||
TEST(extract_floating_point_with_exceptions)
|
||||
{
|
||||
std::vector<std::pair<std::string, std::string>> tests;
|
||||
@@ -0,0 +1,142 @@
|
||||
Description: Debian forbids calls to external websites.
|
||||
|
||||
Author: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
Origin: Debian
|
||||
Forwarded: not-needed
|
||||
Reviewed-By: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
|
||||
Last-Update: 2015-11-25
|
||||
|
||||
Index: casablanca/Release/tests/functional/http/client/CMakeLists.txt
|
||||
===================================================================
|
||||
--- casablanca.orig/Release/tests/functional/http/client/CMakeLists.txt
|
||||
+++ casablanca/Release/tests/functional/http/client/CMakeLists.txt
|
||||
@@ -9,7 +9,6 @@
|
||||
multiple_requests.cpp
|
||||
oauth1_tests.cpp
|
||||
oauth2_tests.cpp
|
||||
- outside_tests.cpp
|
||||
pipeline_stage_tests.cpp
|
||||
progress_handler_tests.cpp
|
||||
proxy_tests.cpp
|
||||
Index: casablanca/Release/tests/functional/http/client/authentication_tests.cpp
|
||||
===================================================================
|
||||
--- casablanca.orig/Release/tests/functional/http/client/authentication_tests.cpp
|
||||
+++ casablanca/Release/tests/functional/http/client/authentication_tests.cpp
|
||||
@@ -663,15 +663,19 @@
|
||||
VERIFY_ARE_EQUAL(return_code, response.status_code());
|
||||
}
|
||||
|
||||
+/*
|
||||
TEST(auth_no_data)
|
||||
{
|
||||
auth_test_impl(false);
|
||||
}
|
||||
+*/
|
||||
|
||||
+/*
|
||||
TEST(unsuccessful_auth_with_basic_cred)
|
||||
{
|
||||
auth_test_impl(true);
|
||||
}
|
||||
+*/
|
||||
|
||||
TEST_FIXTURE(uri_address, set_user_options_asio_http)
|
||||
{
|
||||
@@ -692,7 +696,7 @@
|
||||
auto response = client.request(methods::GET).get();
|
||||
VERIFY_ARE_EQUAL(200, response.status_code());
|
||||
}
|
||||
-
|
||||
+/*
|
||||
TEST_FIXTURE(uri_address, set_user_options_asio_https)
|
||||
{
|
||||
handle_timeout([]
|
||||
@@ -714,7 +718,7 @@
|
||||
VERIFY_IS_FALSE(v.empty());
|
||||
});
|
||||
}
|
||||
-
|
||||
+*/
|
||||
#endif
|
||||
|
||||
} // SUITE(authentication_tests)
|
||||
Index: casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp
|
||||
===================================================================
|
||||
--- casablanca.orig/Release/tests/functional/websockets/client/authentication_tests.cpp
|
||||
+++ casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp
|
||||
@@ -86,7 +86,7 @@
|
||||
}
|
||||
return false;
|
||||
}
|
||||
-
|
||||
+/*
|
||||
TEST(ssl_test)
|
||||
{
|
||||
websocket_client client;
|
||||
@@ -122,7 +122,7 @@
|
||||
throw;
|
||||
}
|
||||
}
|
||||
-
|
||||
+*/
|
||||
// These tests are specific to our websocketpp based implementation.
|
||||
#if !defined(__cplusplus_winrt)
|
||||
|
||||
@@ -153,14 +153,15 @@
|
||||
throw;
|
||||
}
|
||||
}
|
||||
-
|
||||
+/*
|
||||
// Test specifically for server SignalR team hit interesting cases with.
|
||||
TEST(sni_with_older_server_test)
|
||||
{
|
||||
websocket_client client;
|
||||
sni_test_impl(client);
|
||||
}
|
||||
-
|
||||
+*/
|
||||
+/*
|
||||
// WinRT doesn't expose option for disabling.
|
||||
// No stable server is available to reliably test this.
|
||||
// The configuration below relies on a timeout in the success case.
|
||||
@@ -188,7 +189,8 @@
|
||||
throw;
|
||||
}
|
||||
}
|
||||
-
|
||||
+*/
|
||||
+/*
|
||||
// Winrt doesn't allow explicitly setting server host for SNI.
|
||||
TEST(sni_explicit_hostname)
|
||||
{
|
||||
@@ -199,7 +201,7 @@
|
||||
websocket_client client(config);
|
||||
sni_test_impl(client);
|
||||
}
|
||||
-
|
||||
+*/
|
||||
void handshake_error_test_impl(const ::utility::string_t &host)
|
||||
{
|
||||
websocket_client client;
|
||||
Index: casablanca/Release/tests/functional/http/client/connections_and_errors.cpp
|
||||
===================================================================
|
||||
--- casablanca.orig/Release/tests/functional/http/client/connections_and_errors.cpp
|
||||
+++ casablanca/Release/tests/functional/http/client/connections_and_errors.cpp
|
||||
@@ -415,6 +415,7 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
+/*
|
||||
// Try to connect to a server on a closed port and cancel the operation.
|
||||
TEST_FIXTURE(uri_address, cancel_bad_port)
|
||||
{
|
||||
@@ -446,7 +447,7 @@
|
||||
|
||||
VERIFY_THROWS_HTTP_ERROR_CODE(t.get(), std::errc::operation_canceled);
|
||||
}
|
||||
-
|
||||
+*/
|
||||
} // SUITE(connections_and_errors)
|
||||
|
||||
}}}}
|
||||
@@ -0,0 +1,103 @@
|
||||
Description: Some tests takes too long on slow architectures and timeouts
|
||||
We can safely disable them.
|
||||
e.g.
|
||||
Release/tests/functional/http/client/connections_and_errors.cpp:142: error: Failure in request_timeout_microsecond: Test case timed out and is hung. Aborting all remaining test cases. Expected under 180000ms. FAILED
|
||||
|
||||
Index: casablanca/Release/tests/functional/http/client/connections_and_errors.cpp
|
||||
===================================================================
|
||||
--- casablanca.orig/Release/tests/functional/http/client/connections_and_errors.cpp
|
||||
+++ casablanca/Release/tests/functional/http/client/connections_and_errors.cpp
|
||||
@@ -127,7 +127,7 @@
|
||||
// Try sending another request.
|
||||
VERIFY_THROWS(client.request(methods::GET).wait(), web::http::http_exception);
|
||||
}
|
||||
-
|
||||
+/*
|
||||
TEST_FIXTURE(uri_address, request_timeout)
|
||||
{
|
||||
test_http_server::scoped_server scoped(m_uri);
|
||||
@@ -146,7 +146,8 @@
|
||||
#endif
|
||||
t.get();
|
||||
}
|
||||
-
|
||||
+*/
|
||||
+/*
|
||||
TEST_FIXTURE(uri_address, request_timeout_microsecond)
|
||||
{
|
||||
pplx::task<test_request*> t;
|
||||
@@ -168,7 +169,7 @@
|
||||
try { t.get(); }
|
||||
catch (...) {}
|
||||
}
|
||||
-
|
||||
+*/
|
||||
TEST_FIXTURE(uri_address, invalid_method)
|
||||
{
|
||||
web::http::uri uri(U("http://www.bing.com/"));
|
||||
Index: casablanca/Release/tests/functional/http/listener/requests_tests.cpp
|
||||
===================================================================
|
||||
--- casablanca.orig/Release/tests/functional/http/listener/requests_tests.cpp
|
||||
+++ casablanca/Release/tests/functional/http/listener/requests_tests.cpp
|
||||
@@ -173,7 +173,7 @@
|
||||
|
||||
listener.close().wait();
|
||||
}
|
||||
-
|
||||
+/*
|
||||
TEST_FIXTURE(uri_address, response_order)
|
||||
{
|
||||
http_listener listener(m_uri);
|
||||
@@ -217,7 +217,7 @@
|
||||
|
||||
listener.close().wait();
|
||||
}
|
||||
-
|
||||
+*/
|
||||
TEST_FIXTURE(uri_address, uri_encoding, "Ignore", "Codeplex 201")
|
||||
{
|
||||
http_listener listener(m_uri);
|
||||
Index: casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp
|
||||
===================================================================
|
||||
--- casablanca.orig/Release/tests/functional/websockets/client/authentication_tests.cpp
|
||||
+++ casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp
|
||||
@@ -221,7 +221,7 @@
|
||||
VERIFY_ARE_EQUAL("TLS handshake failed", e.error_code().message());
|
||||
}
|
||||
}
|
||||
-
|
||||
+/*
|
||||
TEST(self_signed_cert)
|
||||
{
|
||||
handshake_error_test_impl(U("wss://self-signed.badssl.com/"));
|
||||
@@ -236,7 +236,7 @@
|
||||
{
|
||||
handshake_error_test_impl(U("wss://expired.badssl.com/"));
|
||||
}
|
||||
-
|
||||
+*/
|
||||
#endif
|
||||
|
||||
} // SUITE(authentication_tests)
|
||||
Index: casablanca/Release/tests/functional/websockets/client/client_construction.cpp
|
||||
===================================================================
|
||||
--- casablanca.orig/Release/tests/functional/websockets/client/client_construction.cpp
|
||||
+++ casablanca/Release/tests/functional/websockets/client/client_construction.cpp
|
||||
@@ -81,7 +81,7 @@
|
||||
VERIFY_ARE_EQUAL(config2.credentials().username(), cred.username());
|
||||
}
|
||||
|
||||
-
|
||||
+/*
|
||||
// Verify that we can get the baseuri from websocket_client connect.
|
||||
TEST_FIXTURE(uri_address, uri_test)
|
||||
{
|
||||
@@ -101,7 +101,7 @@
|
||||
VERIFY_ARE_EQUAL(client2.uri(), m_uri);
|
||||
client2.close().wait();
|
||||
}
|
||||
-
|
||||
+*/
|
||||
TEST_FIXTURE(uri_address, move_operations)
|
||||
{
|
||||
std::string body("hello");
|
||||
@@ -0,0 +1,59 @@
|
||||
Description: install cmake files into /usr/lib/cmake/cpprestsdk
|
||||
Author: Gianfranco Costamagna <locutusofborg@debian.org>
|
||||
Upstream-Status: https://github.com/Microsoft/cpprestsdk/pull/737
|
||||
Forwarded: https://github.com/Microsoft/cpprestsdk/pull/737
|
||||
Last-Update: 2018-04-19
|
||||
|
||||
Index: cpprest/Release/CMakeLists.txt
|
||||
===================================================================
|
||||
--- cpprest.orig/Release/CMakeLists.txt
|
||||
+++ cpprest/Release/CMakeLists.txt
|
||||
@@ -18,7 +18,6 @@
|
||||
set(WERROR ON CACHE BOOL "Treat Warnings as Errors.")
|
||||
set(CPPREST_EXCLUDE_WEBSOCKETS OFF CACHE BOOL "Exclude websockets functionality.")
|
||||
set(CPPREST_EXCLUDE_COMPRESSION OFF CACHE BOOL "Exclude compression functionality.")
|
||||
-set(CPPREST_EXPORT_DIR lib/cpprestsdk CACHE STRING "Directory to install CMake config files.")
|
||||
set(CPPREST_INSTALL_HEADERS ON CACHE BOOL "Install header files.")
|
||||
set(CPPREST_INSTALL ON CACHE BOOL "Add install commands.")
|
||||
|
||||
@@ -63,6 +62,9 @@
|
||||
include(cmake/cpprest_find_openssl.cmake)
|
||||
include(cmake/cpprest_find_websocketpp.cmake)
|
||||
include(CheckIncludeFiles)
|
||||
+if(UNIX)
|
||||
+include(GNUInstallDirs)
|
||||
+endif(UNIX)
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
if(THREADS_HAVE_PTHREAD_ARG)
|
||||
Index: cpprest/Release/src/CMakeLists.txt
|
||||
===================================================================
|
||||
--- cpprest.orig/Release/src/CMakeLists.txt
|
||||
+++ cpprest/Release/src/CMakeLists.txt
|
||||
@@ -253,21 +253,21 @@
|
||||
install(
|
||||
TARGETS ${CPPREST_TARGETS}
|
||||
EXPORT cpprestsdk-targets
|
||||
- RUNTIME DESTINATION bin
|
||||
- LIBRARY DESTINATION lib
|
||||
- ARCHIVE DESTINATION lib
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
|
||||
configure_file(../cmake/cpprestsdk-config.in.cmake "${CMAKE_CURRENT_BINARY_DIR}/cpprestsdk-config.cmake" @ONLY)
|
||||
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/cpprestsdk-config.cmake"
|
||||
- DESTINATION ${CPPREST_EXPORT_DIR}
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake
|
||||
)
|
||||
install(
|
||||
EXPORT cpprestsdk-targets
|
||||
FILE cpprestsdk-targets.cmake
|
||||
NAMESPACE cpprestsdk::
|
||||
- DESTINATION ${CPPREST_EXPORT_DIR}
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake
|
||||
)
|
||||
endif()
|
||||
Reference in New Issue
Block a user