diff options
Diffstat (limited to 'meta-oe/recipes-support/cpprest/cpprest-2.10.3')
6 files changed, 366 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.3/732.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/732.patch new file mode 100644 index 0000000000..9fcffbfed2 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/732.patch @@ -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 diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.3/747.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/747.patch new file mode 100644 index 0000000000..94bb005989 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/747.patch @@ -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 diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-float-tests.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-float-tests.patch new file mode 100644 index 0000000000..75f74ec658 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-float-tests.patch @@ -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; diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-outside-tests.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-outside-tests.patch new file mode 100644 index 0000000000..b9b3591c3a --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-outside-tests.patch @@ -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) + + }}}} diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-test-timeouts.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-test-timeouts.patch new file mode 100644 index 0000000000..93c3e8a269 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-test-timeouts.patch @@ -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"); diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.3/fix-cmake-install.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/fix-cmake-install.patch new file mode 100644 index 0000000000..4d03e6d282 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.3/fix-cmake-install.patch @@ -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() |