From 47d2bfaff1336ac47ca187bbeade88693a6a79dd Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 6 Aug 2018 10:29:17 +0200 Subject: 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 --- .../cpprest/cpprest-2.10.2/732.patch | 25 ---- .../cpprest/cpprest-2.10.2/747.patch | 12 -- .../cpprest/cpprest-2.10.2/787.patch | 32 ----- .../cpprest/cpprest-2.10.2/boost-fix.patch | 14 -- .../cpprest-2.10.2/disable-float-tests.patch | 25 ---- .../cpprest-2.10.2/disable-outside-tests.patch | 142 --------------------- .../cpprest-2.10.2/disable-test-timeouts.patch | 103 --------------- .../cpprest/cpprest-2.10.2/fix-cmake-install.patch | 59 --------- .../cpprest/cpprest-2.10.3/732.patch | 25 ++++ .../cpprest/cpprest-2.10.3/747.patch | 12 ++ .../cpprest-2.10.3/disable-float-tests.patch | 25 ++++ .../cpprest-2.10.3/disable-outside-tests.patch | 142 +++++++++++++++++++++ .../cpprest-2.10.3/disable-test-timeouts.patch | 103 +++++++++++++++ .../cpprest/cpprest-2.10.3/fix-cmake-install.patch | 59 +++++++++ meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb | 23 ---- meta-oe/recipes-support/cpprest/cpprest_2.10.3.bb | 22 ++++ 16 files changed, 388 insertions(+), 435 deletions(-) delete mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.2/732.patch delete mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.2/747.patch delete mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch delete mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.2/boost-fix.patch delete mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-float-tests.patch delete mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-outside-tests.patch delete mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-test-timeouts.patch delete mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.2/fix-cmake-install.patch create mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.3/732.patch create mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.3/747.patch create mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-float-tests.patch create mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-outside-tests.patch create mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.3/disable-test-timeouts.patch create mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.3/fix-cmake-install.patch delete mode 100644 meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb create mode 100644 meta-oe/recipes-support/cpprest/cpprest_2.10.3.bb diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/732.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/732.patch deleted file mode 100644 index 9fcffbfed2..0000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/732.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 3d8caad3f459d8b2136c5bc9be7fdec53e5d777d Mon Sep 17 00:00:00 2001 -From: Wu Yongwei -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 - #include - --#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.2/747.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/747.patch deleted file mode 100644 index 94bb005989..0000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/747.patch +++ /dev/null @@ -1,12 +0,0 @@ -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.2/787.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch deleted file mode 100644 index 359a3ba526..0000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 212536f9d66400bef4400c55efd05dd01303c035 Mon Sep 17 00:00:00 2001 -From: Andreas Stieger -Date: Sun, 17 Jun 2018 13:00:05 +0200 -Subject: [PATCH] Fix gcc8 error/warning -Werror=format-truncation= - -utilities::datetime::to_string(): datetime_str and buf were oversized -for fitting into output without possible trunctation ---- - Release/src/utilities/asyncrt_utils.cpp | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/Release/src/utilities/asyncrt_utils.cpp b/Release/src/utilities/asyncrt_utils.cpp -index 0e62bdee..be38907c 100644 ---- a/Release/src/utilities/asyncrt_utils.cpp -+++ b/Release/src/utilities/asyncrt_utils.cpp -@@ -691,12 +691,13 @@ utility::string_t datetime::to_string(date_format format) const - { - // Append fractional second, which is a 7-digit value with no trailing zeros - // This way, '1200' becomes '00012' -- char buf[9] = { 0 }; -+ const int max_frac_length = 8; -+ char buf[max_frac_length+1] = { 0 }; - snprintf(buf, sizeof(buf), ".%07ld", (long int)frac_sec); - // trim trailing zeros -- for (int i = 7; buf[i] == '0'; i--) buf[i] = '\0'; -+ for (int i = max_frac_length-1; buf[i] == '0'; i--) buf[i] = '\0'; - // format the datetime into a separate buffer -- char datetime_str[max_dt_length+1] = {0}; -+ char datetime_str[max_dt_length-max_frac_length-1+1] = {0}; - strftime(datetime_str, sizeof(datetime_str), "%Y-%m-%dT%H:%M:%S", &datetime); - // now print this buffer into the output buffer - snprintf(output, sizeof(output), "%s%sZ", datetime_str, buf); diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/boost-fix.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/boost-fix.patch deleted file mode 100644 index 5318a6a103..0000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/boost-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ -Origin: https://github.com/Microsoft/cpprestsdk/issues/813 -Last-Update: 2018-07-23 - ---- cpprest-2.10.2.orig/Release/libs/websocketpp/websocketpp/transport/asio/security/tls.hpp -+++ cpprest-2.10.2/Release/libs/websocketpp/websocketpp/transport/asio/security/tls.hpp -@@ -312,7 +312,7 @@ protected: - return make_error_code(transport::error::tls_short_read); - #else - if (ERR_GET_REASON(ec.value()) == boost::asio::ssl::error::stream_truncated) { -- return make_error_code(boost::asio::ssl::error::stream_truncated); -+ return make_error_code(static_cast(boost::asio::ssl::error::stream_truncated)); - #endif - } else { - // We know it is a TLS related error, but otherwise don't know diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-float-tests.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-float-tests.patch deleted file mode 100644 index 75f74ec658..0000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-float-tests.patch +++ /dev/null @@ -1,25 +0,0 @@ -Description: new toolchain might have increased the float precision -Author: Gianfranco Costamagna -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> tests; diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-outside-tests.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-outside-tests.patch deleted file mode 100644 index b9b3591c3a..0000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-outside-tests.patch +++ /dev/null @@ -1,142 +0,0 @@ -Description: Debian forbids calls to external websites. - -Author: Gianfranco Costamagna -Origin: Debian -Forwarded: not-needed -Reviewed-By: Gianfranco Costamagna -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.2/disable-test-timeouts.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-test-timeouts.patch deleted file mode 100644 index 93c3e8a269..0000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-test-timeouts.patch +++ /dev/null @@ -1,103 +0,0 @@ -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 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.2/fix-cmake-install.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/fix-cmake-install.patch deleted file mode 100644 index ab92276804..0000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/fix-cmake-install.patch +++ /dev/null @@ -1,59 +0,0 @@ -Description: install cmake files into /usr/lib/cmake/cpprestsdk -Author: Gianfranco Costamagna -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 -@@ -250,21 +250,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() 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 +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 + #include + +-#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 +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> 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 +Origin: Debian +Forwarded: not-needed +Reviewed-By: Gianfranco Costamagna +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 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 +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() diff --git a/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb b/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb deleted file mode 100644 index 47183c5766..0000000000 --- a/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design." -SECTION = "libs/network" -HOMEPAGE = "https://github.com/Microsoft/cpprestsdk/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${S}/../license.txt;md5=a2e15b954769218ff912468eecd6a02f" -DEPENDS = "openssl websocketpp zlib boost" - -SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \ - file://disable-outside-tests.patch;patchdir=.. \ - file://disable-test-timeouts.patch;patchdir=.. \ - file://disable-float-tests.patch;patchdir=.. \ - file://fix-cmake-install.patch;patchdir=.. \ - file://747.patch;patchdir=.. \ - file://732.patch;patchdir=.. \ - file://787.patch;patchdir=.. \ - " - -# tag 2.10.2 -SRCREV= "fea848e2a77563cf2a6f28f8eab396fd6e787fbf" - -S = "${WORKDIR}/git/Release" - -inherit cmake diff --git a/meta-oe/recipes-support/cpprest/cpprest_2.10.3.bb b/meta-oe/recipes-support/cpprest/cpprest_2.10.3.bb new file mode 100644 index 0000000000..addacbbd25 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest_2.10.3.bb @@ -0,0 +1,22 @@ +SUMMARY = "Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design." +SECTION = "libs/network" +HOMEPAGE = "https://github.com/Microsoft/cpprestsdk/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${S}/license.txt;md5=a2e15b954769218ff912468eecd6a02f" +DEPENDS = "openssl websocketpp zlib boost" + +SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \ + file://disable-outside-tests.patch \ + file://disable-test-timeouts.patch \ + file://disable-float-tests.patch \ + file://fix-cmake-install.patch \ + file://747.patch \ + file://732.patch \ + " + +# tag 2.10.3 +SRCREV= "e388a2e523f4d0b6aee2bb923637d82d8b969556" + +S = "${WORKDIR}/git" + +inherit cmake -- cgit 1.2.3-korg