diff options
author | Gianfranco Costamagna <costamagna.gianfranco@gmail.com> | 2018-07-23 18:47:54 +0200 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2018-07-26 20:10:07 -0700 |
commit | cff57daf6507f4b449e62678606d4988555dc6aa (patch) | |
tree | c30229a6ed037a1e7a166a846e6408d806e9f08a /meta-oe/recipes-support/cpprest | |
parent | 4ad49edc90f4ff73a19accda4f12ef33b46effd1 (diff) | |
download | meta-openembedded-cff57daf6507f4b449e62678606d4988555dc6aa.tar.gz |
meta-oe: update cpprest with patches uploaded in Debian, add upstream proposed gcc-8 patch, add boost 1.63 build fix patch
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/cpprest')
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-disable-more-Werror-warnings.patch | 48 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/0002-Define-virtual-destructor.patch | 28 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/732.patch (renamed from meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-Fix-a-build-problem-on-Clang.patch) | 5 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/747.patch | 12 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch | 32 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/boost-fix.patch | 14 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-float-tests.patch | 25 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-outside-tests.patch | 142 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-test-timeouts.patch | 103 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest-2.10.2/fix-cmake-install.patch | 50 | ||||
-rw-r--r-- | meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb | 11 |
11 files changed, 382 insertions, 88 deletions
diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-disable-more-Werror-warnings.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-disable-more-Werror-warnings.patch deleted file mode 100644 index febfd5bc9..000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-disable-more-Werror-warnings.patch +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | From ee92f84a96a507b0a7a3c54929ce190ee28b4ecd Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Moriarty <amoriarty@fetchrobotics.com> | ||
3 | Date: Wed, 6 Jun 2018 10:38:43 -0700 | ||
4 | Subject: [PATCH] disable more -Werror warnings | ||
5 | |||
6 | gcc-8: -Wno-format-truncation | ||
7 | |||
8 | clang-6: -Wdelete-non-virtual-dtor | ||
9 | clang-6: -Wunused-lambda-capture | ||
10 | |||
11 | removed duplicated: -Wno-reorder | ||
12 | |||
13 | This fixes #778 | ||
14 | |||
15 | Upstream-Status: Pending [https://github.com/Microsoft/cpprestsdk/pull/779] | ||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | --- | ||
18 | Release/CMakeLists.txt | 6 +++--- | ||
19 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
20 | |||
21 | diff --git a/Release/CMakeLists.txt b/Release/CMakeLists.txt | ||
22 | index 1267aff1..fb291ccd 100644 | ||
23 | --- a/Release/CMakeLists.txt | ||
24 | +++ b/Release/CMakeLists.txt | ||
25 | @@ -166,12 +166,12 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR IOS) | ||
26 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes -Wno-pointer-arith") | ||
27 | elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") | ||
28 | set(WARNINGS -Wall -Wextra -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls) | ||
29 | - set(LINUX_SUPPRESSIONS -Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-reorder -Wno-unused-local-typedefs) | ||
30 | + set(LINUX_SUPPRESSIONS -Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-unused-local-typedefs -Wno-delete-non-virtual-dtor -Wno-unused-lambda-capture) | ||
31 | set(WARNINGS ${WARNINGS} ${LINUX_SUPPRESSIONS}) | ||
32 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-return-type-c-linkage -Wno-unneeded-internal-declaration") | ||
33 | else() | ||
34 | set(WARNINGS -Wall -Wextra -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls) | ||
35 | - set(OSX_SUPPRESSIONS -Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-reorder -Wno-unused-local-typedefs) | ||
36 | + set(OSX_SUPPRESSIONS -Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-unused-local-typedefs -Wno-delete-non-virtual-dtor -Wno-unused-lambda-capture) | ||
37 | set(WARNINGS ${WARNINGS} ${OSX_SUPPRESSIONS}) | ||
38 | |||
39 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -Wno-return-type-c-linkage -Wno-unneeded-internal-declaration") | ||
40 | @@ -184,7 +184,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR IOS) | ||
41 | elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") | ||
42 | message("-- Setting gcc options") | ||
43 | |||
44 | - set(WARNINGS -Wall -Wextra -Wunused-parameter -Wcast-align -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls -Wunreachable-code) | ||
45 | + set(WARNINGS -Wall -Wextra -Wunused-parameter -Wcast-align -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls -Wunreachable-code -Wno-format-truncation) | ||
46 | set(LD_FLAGS "${LD_FLAGS} -Wl,-z,defs") | ||
47 | |||
48 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-strict-aliasing") | ||
diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0002-Define-virtual-destructor.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0002-Define-virtual-destructor.patch deleted file mode 100644 index 34cbe6697..000000000 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0002-Define-virtual-destructor.patch +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | From 816d183eb0fe9ab4607cb049b4b792f8df84d5fe Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 22 May 2018 22:17:43 -0700 | ||
4 | Subject: [PATCH] Define virtual destructor | ||
5 | |||
6 | Fixes | ||
7 | error: destructor called on non-final 'pplx::details::linux_scheduler' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor] | ||
8 | __data_.second().~_Tp(); | ||
9 | |||
10 | Upstream-Status: Pending [https://github.com/Microsoft/cpprestsdk/issues/747] | ||
11 | |||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | Release/include/pplx/pplxlinux.h | 1 + | ||
15 | 1 file changed, 1 insertion(+) | ||
16 | |||
17 | diff --git a/Release/include/pplx/pplxlinux.h b/Release/include/pplx/pplxlinux.h | ||
18 | index 6aa1ba35..f3f8d70d 100644 | ||
19 | --- a/Release/include/pplx/pplxlinux.h | ||
20 | +++ b/Release/include/pplx/pplxlinux.h | ||
21 | @@ -240,6 +240,7 @@ namespace platform | ||
22 | { | ||
23 | public: | ||
24 | _PPLXIMP virtual void schedule( TaskProc_t proc, _In_ void* param); | ||
25 | + virtual ~linux_scheduler() {} | ||
26 | }; | ||
27 | |||
28 | } // namespace details | ||
diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-Fix-a-build-problem-on-Clang.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/732.patch index dc6b9dfca..9fcffbfed 100644 --- a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-Fix-a-build-problem-on-Clang.patch +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/732.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 0c07931f77aa9df2da065b633ae66faad5a570ec Mon Sep 17 00:00:00 2001 | 1 | From 3d8caad3f459d8b2136c5bc9be7fdec53e5d777d Mon Sep 17 00:00:00 2001 |
2 | From: Wu Yongwei <wuyongwei@gmail.com> | 2 | From: Wu Yongwei <wuyongwei@gmail.com> |
3 | Date: Tue, 10 Apr 2018 11:29:12 +0800 | 3 | Date: Tue, 10 Apr 2018 11:29:12 +0800 |
4 | Subject: [PATCH] Fix a build problem on Clang. | 4 | Subject: [PATCH] Fix a build problem on Clang. |
@@ -6,9 +6,6 @@ Subject: [PATCH] Fix a build problem on Clang. | |||
6 | AND_CAPTURE_MEMBER_FUNCTION_POINTERS workaround had a check for GCC, | 6 | AND_CAPTURE_MEMBER_FUNCTION_POINTERS workaround had a check for GCC, |
7 | but did not exclude Clang. Clang has a fake GCC version of 4.2, thus | 7 | but did not exclude Clang. Clang has a fake GCC version of 4.2, thus |
8 | caused problems. | 8 | caused problems. |
9 | |||
10 | Upstream-Status: Backport [https://github.com/Microsoft/cpprestsdk/pull/732] | ||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | --- | 9 | --- |
13 | Release/src/http/client/http_client_asio.cpp | 2 +- | 10 | Release/src/http/client/http_client_asio.cpp | 2 +- |
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | 11 | 1 file changed, 1 insertion(+), 1 deletion(-) |
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 new file mode 100644 index 000000000..94bb00598 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/747.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | Description: fix for upstream issue 747, clang 6 build error | ||
2 | From: rozhuk-im | ||
3 | --- a/Release/include/pplx/pplxlinux.h 2018-04-29 16:22:39.927675000 +0300 | ||
4 | +++ b/Release/include/pplx/pplxlinux.h 2018-04-29 16:22:57.809537000 +0300 | ||
5 | @@ -240,6 +240,7 @@ | ||
6 | { | ||
7 | public: | ||
8 | _PPLXIMP virtual void schedule( TaskProc_t proc, _In_ void* param); | ||
9 | + virtual ~linux_scheduler() {} | ||
10 | }; | ||
11 | |||
12 | } // 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 new file mode 100644 index 000000000..359a3ba52 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/787.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From 212536f9d66400bef4400c55efd05dd01303c035 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andreas Stieger <astieger@suse.com> | ||
3 | Date: Sun, 17 Jun 2018 13:00:05 +0200 | ||
4 | Subject: [PATCH] Fix gcc8 error/warning -Werror=format-truncation= | ||
5 | |||
6 | utilities::datetime::to_string(): datetime_str and buf were oversized | ||
7 | for fitting into output without possible trunctation | ||
8 | --- | ||
9 | Release/src/utilities/asyncrt_utils.cpp | 7 ++++--- | ||
10 | 1 file changed, 4 insertions(+), 3 deletions(-) | ||
11 | |||
12 | diff --git a/Release/src/utilities/asyncrt_utils.cpp b/Release/src/utilities/asyncrt_utils.cpp | ||
13 | index 0e62bdee..be38907c 100644 | ||
14 | --- a/Release/src/utilities/asyncrt_utils.cpp | ||
15 | +++ b/Release/src/utilities/asyncrt_utils.cpp | ||
16 | @@ -691,12 +691,13 @@ utility::string_t datetime::to_string(date_format format) const | ||
17 | { | ||
18 | // Append fractional second, which is a 7-digit value with no trailing zeros | ||
19 | // This way, '1200' becomes '00012' | ||
20 | - char buf[9] = { 0 }; | ||
21 | + const int max_frac_length = 8; | ||
22 | + char buf[max_frac_length+1] = { 0 }; | ||
23 | snprintf(buf, sizeof(buf), ".%07ld", (long int)frac_sec); | ||
24 | // trim trailing zeros | ||
25 | - for (int i = 7; buf[i] == '0'; i--) buf[i] = '\0'; | ||
26 | + for (int i = max_frac_length-1; buf[i] == '0'; i--) buf[i] = '\0'; | ||
27 | // format the datetime into a separate buffer | ||
28 | - char datetime_str[max_dt_length+1] = {0}; | ||
29 | + char datetime_str[max_dt_length-max_frac_length-1+1] = {0}; | ||
30 | strftime(datetime_str, sizeof(datetime_str), "%Y-%m-%dT%H:%M:%S", &datetime); | ||
31 | // now print this buffer into the output buffer | ||
32 | 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 new file mode 100644 index 000000000..5318a6a10 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/boost-fix.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | Origin: https://github.com/Microsoft/cpprestsdk/issues/813 | ||
2 | Last-Update: 2018-07-23 | ||
3 | |||
4 | --- cpprest-2.10.2.orig/Release/libs/websocketpp/websocketpp/transport/asio/security/tls.hpp | ||
5 | +++ cpprest-2.10.2/Release/libs/websocketpp/websocketpp/transport/asio/security/tls.hpp | ||
6 | @@ -312,7 +312,7 @@ protected: | ||
7 | return make_error_code(transport::error::tls_short_read); | ||
8 | #else | ||
9 | if (ERR_GET_REASON(ec.value()) == boost::asio::ssl::error::stream_truncated) { | ||
10 | - return make_error_code(boost::asio::ssl::error::stream_truncated); | ||
11 | + return make_error_code(static_cast<std::errc>(boost::asio::ssl::error::stream_truncated)); | ||
12 | #endif | ||
13 | } else { | ||
14 | // 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 new file mode 100644 index 000000000..75f74ec65 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-float-tests.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | Description: new toolchain might have increased the float precision | ||
2 | Author: Gianfranco Costamagna <locutusofborg@debian.org> | ||
3 | Last-Update: 2017-10-28 | ||
4 | Forwarded: https://github.com/Microsoft/cpprestsdk/issues/576 | ||
5 | |||
6 | --- casablanca-2.10.0.orig/Release/tests/functional/streams/istream_tests.cpp | ||
7 | +++ casablanca-2.10.0/Release/tests/functional/streams/istream_tests.cpp | ||
8 | @@ -1302,7 +1302,7 @@ void compare_float(float expected, float | ||
9 | { | ||
10 | compare_floating(expected, actual, FLT_EPSILON); | ||
11 | } | ||
12 | - | ||
13 | +/* | ||
14 | TEST(extract_floating_point) | ||
15 | { | ||
16 | std::string test_string; | ||
17 | @@ -1349,7 +1349,7 @@ TEST(extract_floating_point) | ||
18 | VERIFY_ARE_EQUAL(1 / expected, 1 / actual); | ||
19 | } while (!std_istream.eof()); | ||
20 | } | ||
21 | - | ||
22 | +*/ | ||
23 | TEST(extract_floating_point_with_exceptions) | ||
24 | { | ||
25 | std::vector<std::pair<std::string, std::string>> 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 new file mode 100644 index 000000000..b9b3591c3 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-outside-tests.patch | |||
@@ -0,0 +1,142 @@ | |||
1 | Description: Debian forbids calls to external websites. | ||
2 | |||
3 | Author: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> | ||
4 | Origin: Debian | ||
5 | Forwarded: not-needed | ||
6 | Reviewed-By: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> | ||
7 | Last-Update: 2015-11-25 | ||
8 | |||
9 | Index: casablanca/Release/tests/functional/http/client/CMakeLists.txt | ||
10 | =================================================================== | ||
11 | --- casablanca.orig/Release/tests/functional/http/client/CMakeLists.txt | ||
12 | +++ casablanca/Release/tests/functional/http/client/CMakeLists.txt | ||
13 | @@ -9,7 +9,6 @@ | ||
14 | multiple_requests.cpp | ||
15 | oauth1_tests.cpp | ||
16 | oauth2_tests.cpp | ||
17 | - outside_tests.cpp | ||
18 | pipeline_stage_tests.cpp | ||
19 | progress_handler_tests.cpp | ||
20 | proxy_tests.cpp | ||
21 | Index: casablanca/Release/tests/functional/http/client/authentication_tests.cpp | ||
22 | =================================================================== | ||
23 | --- casablanca.orig/Release/tests/functional/http/client/authentication_tests.cpp | ||
24 | +++ casablanca/Release/tests/functional/http/client/authentication_tests.cpp | ||
25 | @@ -663,15 +663,19 @@ | ||
26 | VERIFY_ARE_EQUAL(return_code, response.status_code()); | ||
27 | } | ||
28 | |||
29 | +/* | ||
30 | TEST(auth_no_data) | ||
31 | { | ||
32 | auth_test_impl(false); | ||
33 | } | ||
34 | +*/ | ||
35 | |||
36 | +/* | ||
37 | TEST(unsuccessful_auth_with_basic_cred) | ||
38 | { | ||
39 | auth_test_impl(true); | ||
40 | } | ||
41 | +*/ | ||
42 | |||
43 | TEST_FIXTURE(uri_address, set_user_options_asio_http) | ||
44 | { | ||
45 | @@ -692,7 +696,7 @@ | ||
46 | auto response = client.request(methods::GET).get(); | ||
47 | VERIFY_ARE_EQUAL(200, response.status_code()); | ||
48 | } | ||
49 | - | ||
50 | +/* | ||
51 | TEST_FIXTURE(uri_address, set_user_options_asio_https) | ||
52 | { | ||
53 | handle_timeout([] | ||
54 | @@ -714,7 +718,7 @@ | ||
55 | VERIFY_IS_FALSE(v.empty()); | ||
56 | }); | ||
57 | } | ||
58 | - | ||
59 | +*/ | ||
60 | #endif | ||
61 | |||
62 | } // SUITE(authentication_tests) | ||
63 | Index: casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp | ||
64 | =================================================================== | ||
65 | --- casablanca.orig/Release/tests/functional/websockets/client/authentication_tests.cpp | ||
66 | +++ casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp | ||
67 | @@ -86,7 +86,7 @@ | ||
68 | } | ||
69 | return false; | ||
70 | } | ||
71 | - | ||
72 | +/* | ||
73 | TEST(ssl_test) | ||
74 | { | ||
75 | websocket_client client; | ||
76 | @@ -122,7 +122,7 @@ | ||
77 | throw; | ||
78 | } | ||
79 | } | ||
80 | - | ||
81 | +*/ | ||
82 | // These tests are specific to our websocketpp based implementation. | ||
83 | #if !defined(__cplusplus_winrt) | ||
84 | |||
85 | @@ -153,14 +153,15 @@ | ||
86 | throw; | ||
87 | } | ||
88 | } | ||
89 | - | ||
90 | +/* | ||
91 | // Test specifically for server SignalR team hit interesting cases with. | ||
92 | TEST(sni_with_older_server_test) | ||
93 | { | ||
94 | websocket_client client; | ||
95 | sni_test_impl(client); | ||
96 | } | ||
97 | - | ||
98 | +*/ | ||
99 | +/* | ||
100 | // WinRT doesn't expose option for disabling. | ||
101 | // No stable server is available to reliably test this. | ||
102 | // The configuration below relies on a timeout in the success case. | ||
103 | @@ -188,7 +189,8 @@ | ||
104 | throw; | ||
105 | } | ||
106 | } | ||
107 | - | ||
108 | +*/ | ||
109 | +/* | ||
110 | // Winrt doesn't allow explicitly setting server host for SNI. | ||
111 | TEST(sni_explicit_hostname) | ||
112 | { | ||
113 | @@ -199,7 +201,7 @@ | ||
114 | websocket_client client(config); | ||
115 | sni_test_impl(client); | ||
116 | } | ||
117 | - | ||
118 | +*/ | ||
119 | void handshake_error_test_impl(const ::utility::string_t &host) | ||
120 | { | ||
121 | websocket_client client; | ||
122 | Index: casablanca/Release/tests/functional/http/client/connections_and_errors.cpp | ||
123 | =================================================================== | ||
124 | --- casablanca.orig/Release/tests/functional/http/client/connections_and_errors.cpp | ||
125 | +++ casablanca/Release/tests/functional/http/client/connections_and_errors.cpp | ||
126 | @@ -415,6 +415,7 @@ | ||
127 | } | ||
128 | #endif | ||
129 | |||
130 | +/* | ||
131 | // Try to connect to a server on a closed port and cancel the operation. | ||
132 | TEST_FIXTURE(uri_address, cancel_bad_port) | ||
133 | { | ||
134 | @@ -446,7 +447,7 @@ | ||
135 | |||
136 | VERIFY_THROWS_HTTP_ERROR_CODE(t.get(), std::errc::operation_canceled); | ||
137 | } | ||
138 | - | ||
139 | +*/ | ||
140 | } // SUITE(connections_and_errors) | ||
141 | |||
142 | }}}} | ||
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 new file mode 100644 index 000000000..93c3e8a26 --- /dev/null +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/disable-test-timeouts.patch | |||
@@ -0,0 +1,103 @@ | |||
1 | Description: Some tests takes too long on slow architectures and timeouts | ||
2 | We can safely disable them. | ||
3 | e.g. | ||
4 | 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 | ||
5 | |||
6 | Index: casablanca/Release/tests/functional/http/client/connections_and_errors.cpp | ||
7 | =================================================================== | ||
8 | --- casablanca.orig/Release/tests/functional/http/client/connections_and_errors.cpp | ||
9 | +++ casablanca/Release/tests/functional/http/client/connections_and_errors.cpp | ||
10 | @@ -127,7 +127,7 @@ | ||
11 | // Try sending another request. | ||
12 | VERIFY_THROWS(client.request(methods::GET).wait(), web::http::http_exception); | ||
13 | } | ||
14 | - | ||
15 | +/* | ||
16 | TEST_FIXTURE(uri_address, request_timeout) | ||
17 | { | ||
18 | test_http_server::scoped_server scoped(m_uri); | ||
19 | @@ -146,7 +146,8 @@ | ||
20 | #endif | ||
21 | t.get(); | ||
22 | } | ||
23 | - | ||
24 | +*/ | ||
25 | +/* | ||
26 | TEST_FIXTURE(uri_address, request_timeout_microsecond) | ||
27 | { | ||
28 | pplx::task<test_request*> t; | ||
29 | @@ -168,7 +169,7 @@ | ||
30 | try { t.get(); } | ||
31 | catch (...) {} | ||
32 | } | ||
33 | - | ||
34 | +*/ | ||
35 | TEST_FIXTURE(uri_address, invalid_method) | ||
36 | { | ||
37 | web::http::uri uri(U("http://www.bing.com/")); | ||
38 | Index: casablanca/Release/tests/functional/http/listener/requests_tests.cpp | ||
39 | =================================================================== | ||
40 | --- casablanca.orig/Release/tests/functional/http/listener/requests_tests.cpp | ||
41 | +++ casablanca/Release/tests/functional/http/listener/requests_tests.cpp | ||
42 | @@ -173,7 +173,7 @@ | ||
43 | |||
44 | listener.close().wait(); | ||
45 | } | ||
46 | - | ||
47 | +/* | ||
48 | TEST_FIXTURE(uri_address, response_order) | ||
49 | { | ||
50 | http_listener listener(m_uri); | ||
51 | @@ -217,7 +217,7 @@ | ||
52 | |||
53 | listener.close().wait(); | ||
54 | } | ||
55 | - | ||
56 | +*/ | ||
57 | TEST_FIXTURE(uri_address, uri_encoding, "Ignore", "Codeplex 201") | ||
58 | { | ||
59 | http_listener listener(m_uri); | ||
60 | Index: casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp | ||
61 | =================================================================== | ||
62 | --- casablanca.orig/Release/tests/functional/websockets/client/authentication_tests.cpp | ||
63 | +++ casablanca/Release/tests/functional/websockets/client/authentication_tests.cpp | ||
64 | @@ -221,7 +221,7 @@ | ||
65 | VERIFY_ARE_EQUAL("TLS handshake failed", e.error_code().message()); | ||
66 | } | ||
67 | } | ||
68 | - | ||
69 | +/* | ||
70 | TEST(self_signed_cert) | ||
71 | { | ||
72 | handshake_error_test_impl(U("wss://self-signed.badssl.com/")); | ||
73 | @@ -236,7 +236,7 @@ | ||
74 | { | ||
75 | handshake_error_test_impl(U("wss://expired.badssl.com/")); | ||
76 | } | ||
77 | - | ||
78 | +*/ | ||
79 | #endif | ||
80 | |||
81 | } // SUITE(authentication_tests) | ||
82 | Index: casablanca/Release/tests/functional/websockets/client/client_construction.cpp | ||
83 | =================================================================== | ||
84 | --- casablanca.orig/Release/tests/functional/websockets/client/client_construction.cpp | ||
85 | +++ casablanca/Release/tests/functional/websockets/client/client_construction.cpp | ||
86 | @@ -81,7 +81,7 @@ | ||
87 | VERIFY_ARE_EQUAL(config2.credentials().username(), cred.username()); | ||
88 | } | ||
89 | |||
90 | - | ||
91 | +/* | ||
92 | // Verify that we can get the baseuri from websocket_client connect. | ||
93 | TEST_FIXTURE(uri_address, uri_test) | ||
94 | { | ||
95 | @@ -101,7 +101,7 @@ | ||
96 | VERIFY_ARE_EQUAL(client2.uri(), m_uri); | ||
97 | client2.close().wait(); | ||
98 | } | ||
99 | - | ||
100 | +*/ | ||
101 | TEST_FIXTURE(uri_address, move_operations) | ||
102 | { | ||
103 | 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 index 0feafef5b..ab9227680 100644 --- 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 | |||
@@ -4,14 +4,56 @@ Upstream-Status: https://github.com/Microsoft/cpprestsdk/pull/737 | |||
4 | Forwarded: https://github.com/Microsoft/cpprestsdk/pull/737 | 4 | Forwarded: https://github.com/Microsoft/cpprestsdk/pull/737 |
5 | Last-Update: 2018-04-19 | 5 | Last-Update: 2018-04-19 |
6 | 6 | ||
7 | --- cpprest-2.10.2.orig/CMakeLists.txt | 7 | Index: cpprest/Release/CMakeLists.txt |
8 | +++ cpprest-2.10.2/CMakeLists.txt | 8 | =================================================================== |
9 | @@ -18,7 +18,7 @@ enable_testing() | 9 | --- cpprest.orig/Release/CMakeLists.txt |
10 | +++ cpprest/Release/CMakeLists.txt | ||
11 | @@ -18,7 +18,6 @@ | ||
10 | set(WERROR ON CACHE BOOL "Treat Warnings as Errors.") | 12 | set(WERROR ON CACHE BOOL "Treat Warnings as Errors.") |
11 | set(CPPREST_EXCLUDE_WEBSOCKETS OFF CACHE BOOL "Exclude websockets functionality.") | 13 | set(CPPREST_EXCLUDE_WEBSOCKETS OFF CACHE BOOL "Exclude websockets functionality.") |
12 | set(CPPREST_EXCLUDE_COMPRESSION OFF CACHE BOOL "Exclude compression functionality.") | 14 | set(CPPREST_EXCLUDE_COMPRESSION OFF CACHE BOOL "Exclude compression functionality.") |
13 | -set(CPPREST_EXPORT_DIR lib/cpprestsdk CACHE STRING "Directory to install CMake config files.") | 15 | -set(CPPREST_EXPORT_DIR lib/cpprestsdk CACHE STRING "Directory to install CMake config files.") |
14 | +set(CPPREST_EXPORT_DIR lib/cmake/cpprestsdk CACHE STRING "Directory to install CMake config files.") | ||
15 | set(CPPREST_INSTALL_HEADERS ON CACHE BOOL "Install header files.") | 16 | set(CPPREST_INSTALL_HEADERS ON CACHE BOOL "Install header files.") |
16 | set(CPPREST_INSTALL ON CACHE BOOL "Add install commands.") | 17 | set(CPPREST_INSTALL ON CACHE BOOL "Add install commands.") |
17 | 18 | ||
19 | @@ -63,6 +62,9 @@ | ||
20 | include(cmake/cpprest_find_openssl.cmake) | ||
21 | include(cmake/cpprest_find_websocketpp.cmake) | ||
22 | include(CheckIncludeFiles) | ||
23 | +if(UNIX) | ||
24 | +include(GNUInstallDirs) | ||
25 | +endif(UNIX) | ||
26 | |||
27 | find_package(Threads REQUIRED) | ||
28 | if(THREADS_HAVE_PTHREAD_ARG) | ||
29 | Index: cpprest/Release/src/CMakeLists.txt | ||
30 | =================================================================== | ||
31 | --- cpprest.orig/Release/src/CMakeLists.txt | ||
32 | +++ cpprest/Release/src/CMakeLists.txt | ||
33 | @@ -250,21 +250,21 @@ | ||
34 | install( | ||
35 | TARGETS ${CPPREST_TARGETS} | ||
36 | EXPORT cpprestsdk-targets | ||
37 | - RUNTIME DESTINATION bin | ||
38 | - LIBRARY DESTINATION lib | ||
39 | - ARCHIVE DESTINATION lib | ||
40 | + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} | ||
41 | + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
42 | + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
43 | ) | ||
44 | |||
45 | configure_file(../cmake/cpprestsdk-config.in.cmake "${CMAKE_CURRENT_BINARY_DIR}/cpprestsdk-config.cmake" @ONLY) | ||
46 | |||
47 | install( | ||
48 | FILES "${CMAKE_CURRENT_BINARY_DIR}/cpprestsdk-config.cmake" | ||
49 | - DESTINATION ${CPPREST_EXPORT_DIR} | ||
50 | + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake | ||
51 | ) | ||
52 | install( | ||
53 | EXPORT cpprestsdk-targets | ||
54 | FILE cpprestsdk-targets.cmake | ||
55 | NAMESPACE cpprestsdk:: | ||
56 | - DESTINATION ${CPPREST_EXPORT_DIR} | ||
57 | + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake | ||
58 | ) | ||
59 | 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 index fea5d4b2e..47183c576 100644 --- a/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb +++ b/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb | |||
@@ -6,10 +6,13 @@ LIC_FILES_CHKSUM = "file://${S}/../license.txt;md5=a2e15b954769218ff912468eecd6a | |||
6 | DEPENDS = "openssl websocketpp zlib boost" | 6 | DEPENDS = "openssl websocketpp zlib boost" |
7 | 7 | ||
8 | SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \ | 8 | SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \ |
9 | file://fix-cmake-install.patch \ | 9 | file://disable-outside-tests.patch;patchdir=.. \ |
10 | file://0001-Fix-a-build-problem-on-Clang.patch;patchdir=.. \ | 10 | file://disable-test-timeouts.patch;patchdir=.. \ |
11 | file://0002-Define-virtual-destructor.patch;patchdir=.. \ | 11 | file://disable-float-tests.patch;patchdir=.. \ |
12 | file://0001-disable-more-Werror-warnings.patch;patchdir=.. \ | 12 | file://fix-cmake-install.patch;patchdir=.. \ |
13 | file://747.patch;patchdir=.. \ | ||
14 | file://732.patch;patchdir=.. \ | ||
15 | file://787.patch;patchdir=.. \ | ||
13 | " | 16 | " |
14 | 17 | ||
15 | # tag 2.10.2 | 18 | # tag 2.10.2 |