summaryrefslogtreecommitdiffstats
path: root/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/cpprest/cpprest')
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch142
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch103
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch38
5 files changed, 334 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch
new file mode 100644
index 000000000..3ae46a115
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch
@@ -0,0 +1,26 @@
+Origin: upstream
+Bug: https://github.com/Microsoft/cpprestsdk/issues/950
+Last-Update: 2018-11-04
+
+Index: cpprest/Release/src/utilities/asyncrt_utils.cpp
+===================================================================
+--- cpprest.orig/Release/src/utilities/asyncrt_utils.cpp
++++ cpprest/Release/src/utilities/asyncrt_utils.cpp
+@@ -356,7 +356,7 @@
+ inline size_t count_utf8_to_utf16(const std::string& s)
+ {
+ const size_t sSize = s.size();
+- auto sData = reinterpret_cast<const UtilCharInternal_t* const>(s.data());
++ auto const sData = reinterpret_cast<const UtilCharInternal_t*>(s.data());
+ size_t result{ sSize };
+
+ for (size_t index = 0; index < sSize;)
+@@ -441,7 +441,7 @@
+ {
+ // Save repeated heap allocations, use the length of resulting sequence.
+ const size_t srcSize = s.size();
+- auto srcData = reinterpret_cast<const UtilCharInternal_t* const>(s.data());
++ auto const srcData = reinterpret_cast<const UtilCharInternal_t*>(s.data());
+ utf16string dest(count_utf8_to_utf16(s), L'\0');
+ utf16string::value_type* const destData = &dest[0];
+ size_t destIndex = 0;
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch
new file mode 100644
index 000000000..75f74ec65
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/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-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
new file mode 100644
index 000000000..2dff0d97c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
@@ -0,0 +1,142 @@
+Description: Debian forbids calls to external websites.
+
+Author: Gianfranco Costamagna <locutus@debian.org>
+Origin: Debian
+Forwarded: not-needed
+Reviewed-By: Gianfranco Costamagna <locutusofborg@debian.org>
+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
+@@ -12,7 +12,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-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch
new file mode 100644
index 000000000..93c3e8a26
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/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-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch
new file mode 100644
index 000000000..e6f64772d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch
@@ -0,0 +1,38 @@
+Description: Find system brotli
+Author: Gianfranco Costamagna <locutusofborg@debian.org>
+Forwarded: https://github.com/Microsoft/cpprestsdk/pull/952
+Last-Update: 2018-11-05
+
+--- cpprest-2.10.7.orig/Release/cmake/cpprest_find_brotli.cmake
++++ cpprest-2.10.7/Release/cmake/cpprest_find_brotli.cmake
+@@ -3,8 +3,17 @@ function(cpprest_find_brotli)
+ return()
+ endif()
+
+- find_package(unofficial-brotli REQUIRED)
+
+- add_library(cpprestsdk_brotli_internal INTERFACE)
+- target_link_libraries(cpprestsdk_brotli_internal INTERFACE unofficial::brotli::brotlienc unofficial::brotli::brotlidec unofficial::brotli::brotlicommon)
++ find_package(PkgConfig)
++ pkg_check_modules(BROTLIENC libbrotlienc)
++ pkg_check_modules(BROTLIDEC libbrotlidec)
++ if(BROTLIDEC_FOUND AND BROTLIENC_FOUND)
++ target_link_libraries(cpprest PRIVATE ${BROTLIDEC_LDFLAGS} ${BROTLIENC_LDFLAGS})
++ else(BROTLIDEC_FOUND AND BROTLIENC_FOUND)
++ find_package(unofficial-brotli REQUIRED)
++ add_library(cpprestsdk_brotli_internal INTERFACE)
++ target_link_libraries(cpprestsdk_brotli_internal INTERFACE unofficial::brotli::brotlienc unofficial::brotli::brotlidec unofficial::brotli::brotlicommon)
++ target_link_libraries(cpprest PRIVATE cpprestsdk_brotli_internal)
++ endif(BROTLIDEC_FOUND AND BROTLIENC_FOUND)
++
+ endfunction()
+--- cpprest-2.10.7.orig/Release/src/CMakeLists.txt
++++ cpprest-2.10.7/Release/src/CMakeLists.txt
+@@ -84,7 +84,6 @@ else()
+ target_compile_definitions(cpprest PRIVATE -DCPPREST_EXCLUDE_BROTLI=1)
+ else()
+ cpprest_find_brotli()
+- target_link_libraries(cpprest PRIVATE cpprestsdk_brotli_internal)
+ endif()
+ endif()
+
OpenPOWER on IntegriCloud