diff options
author | Greg Hogan <code@greghogan.com> | 2021-04-30 14:06:34 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-10-16 00:01:59 +0200 |
commit | 5ed42eb9a01e63c25d6c0836b6a1b15e8d5fbd74 (patch) | |
tree | ac52dca1fbb85e34cd2745a06bd57a5b073203a3 | |
parent | 2a0fcc31f723e20fd81eb3c6263c1bdad56f797f (diff) |
gnu: Add aws-crt-cpp.
* gnu/packages/cpp.scm (aws-crt-cpp): New variable.
* gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch,
gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/local.mk | 2 | ||||
-rw-r--r-- | gnu/packages/cpp.scm | 39 | ||||
-rw-r--r-- | gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch | 13 | ||||
-rw-r--r-- | gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch | 47 |
4 files changed, 101 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 508d5ac86c..0a71599e68 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -882,6 +882,8 @@ dist_patch_DATA = \ %D%/packages/patches/aws-c-s3-cmake-prefix.patch \ %D%/packages/patches/aws-c-s3-disable-networking-tests.patch \ %D%/packages/patches/aws-checksums-cmake-prefix.patch \ + %D%/packages/patches/aws-crt-cpp-cmake-prefix.patch \ + %D%/packages/patches/aws-crt-cpp-disable-networking-tests.patch \ %D%/packages/patches/azr3.patch \ %D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \ %D%/packages/patches/bash-completion-directories.patch \ diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 469af4a338..383c9843ca 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -881,6 +881,45 @@ of C++14 components that complements @code{std} and Boost.") (supported-systems '("aarch64-linux" "x86_64-linux")) (license license:asl2.0))) +(define-public aws-crt-cpp + (let* ((commit "c2d6ffa5597825111cc76ad71ffc6aef664d0f25") + (revision "1")) + (package + (name "aws-crt-cpp") + (version (git-version "0.14.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/awslabs/aws-crt-cpp") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0l7iwynk2rgzjnr1hi1raazghmk4m7pj47vdq2kf2cfz0b6v9jf5")) + (patches + (search-patches + "aws-crt-cpp-cmake-prefix.patch" + "aws-crt-cpp-disable-networking-tests.patch")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags + '("-DBUILD_SHARED_LIBS=ON" + "-DBUILD_DEPS=OFF"))) + (propagated-inputs + `(("aws-c-auth" ,aws-c-auth) + ("aws-c-cal" ,aws-c-cal) + ("aws-c-event-stream" ,aws-c-event-stream) + ("aws-c-http" ,aws-c-http) + ("aws-c-mqtt" ,aws-c-mqtt) + ("aws-c-s3" ,aws-c-s3))) + (synopsis "C++ wrapper for Amazon Web Services C libraries") + (description "The AWS Common Runtime (CRT) library provides a C++ wrapper +implementation for the following @acronym{AWS,Amazon Web Services} C libraries: +aws-c-auth, aws-c-cal, aws-c-common, aws-c-compression, aws-c-event-stream, +aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.") + (home-page "https://github.com/awslabs/aws-crt-cpp") + (license license:asl2.0)))) + (define-public aws-sdk-cpp (package (name "aws-sdk-cpp") diff --git a/gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch b/gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch new file mode 100644 index 0000000000..b45818875f --- /dev/null +++ b/gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch @@ -0,0 +1,13 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,6 +39,10 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + include(AwsCheckHeadersCxx) + include(CTest) + ++if (DEFINED ENV{CMAKE_PREFIX_PATH}) ++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH}) ++endif() ++ + if (DEFINED CMAKE_PREFIX_PATH) + file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH) + endif() diff --git a/gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch b/gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch new file mode 100644 index 0000000000..4c1be7d028 --- /dev/null +++ b/gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch @@ -0,0 +1,47 @@ +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -13,9 +13,9 @@ add_test_case(ApiMultiDefaultCreateDestroy) + add_test_case(EventLoopResourceSafety) + add_test_case(ClientBootstrapResourceSafety) + if (NOT BYO_CRYPTO) +- add_net_test_case(MqttClientResourceSafety) ++ #add_net_test_case(MqttClientResourceSafety) + add_net_test_case(MqttClientNewConnectionUninitializedTlsContext) +- add_net_test_case(TLSContextResourceSafety) ++ #add_net_test_case(TLSContextResourceSafety) + add_net_test_case(TLSContextUninitializedNewConnectionOptions) + endif () + add_test_case(Base64RoundTrip) +@@ -29,15 +29,15 @@ add_test_case(SHA256ResourceSafety) + add_test_case(MD5ResourceSafety) + add_test_case(SHA256HMACResourceSafety) + if (NOT BYO_CRYPTO) +- add_net_test_case(HttpDownloadNoBackPressureHTTP1_1) +- add_net_test_case(HttpDownloadNoBackPressureHTTP2) +- add_net_test_case(HttpStreamUnActivated) ++ #add_net_test_case(HttpDownloadNoBackPressureHTTP1_1) ++ #add_net_test_case(HttpDownloadNoBackPressureHTTP2) ++ #add_net_test_case(HttpStreamUnActivated) + add_net_test_case(HttpCreateConnectionInvalidTlsConnectionOptions) + add_net_test_case(IotPublishSubscribe) +- add_net_test_case(HttpClientConnectionManagerResourceSafety) ++ #add_net_test_case(HttpClientConnectionManagerResourceSafety) + add_net_test_case(HttpClientConnectionManagerInvalidTlsConnectionOptions) +- add_net_test_case(HttpClientConnectionWithPendingAcquisitions) +- add_net_test_case(HttpClientConnectionWithPendingAcquisitionsAndClosedConnections) ++ #add_net_test_case(HttpClientConnectionWithPendingAcquisitions) ++ #add_net_test_case(HttpClientConnectionWithPendingAcquisitionsAndClosedConnections) + endif () + add_test_case(DefaultResolution) + add_test_case(OptionalCopySafety) +@@ -55,8 +55,8 @@ add_test_case(TestProviderEnvironmentGet) + add_test_case(TestProviderProfileGet) + add_test_case(TestProviderImdsGet) + if (NOT BYO_CRYPTO) +- add_net_test_case(TestProviderDefaultChainGet) +- add_net_test_case(TestProviderDefaultChainManualTlsContextGet) ++ #add_net_test_case(TestProviderDefaultChainGet) ++ #add_net_test_case(TestProviderDefaultChainManualTlsContextGet) + endif () + add_test_case(TestProviderDelegateGet) + add_test_case(HttpRequestTestCreateDestroy) |