guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

11/12: gnu: Add aws-crt-cpp.


From: guix-commits
Subject: 11/12: gnu: Add aws-crt-cpp.
Date: Fri, 15 Oct 2021 18:02:48 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 5ed42eb9a01e63c25d6c0836b6a1b15e8d5fbd74
Author: Greg Hogan <code@greghogan.com>
AuthorDate: Fri Apr 30 14:06:34 2021 +0000

    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>
---
 gnu/local.mk                                       |  2 +
 gnu/packages/cpp.scm                               | 39 ++++++++++++++++++
 .../patches/aws-crt-cpp-cmake-prefix.patch         | 13 ++++++
 .../aws-crt-cpp-disable-networking-tests.patch     | 47 ++++++++++++++++++++++
 4 files changed, 101 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 508d5ac..0a71599 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 469af4a..383c984 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 0000000..b458188
--- /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 0000000..4c1be7d
--- /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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]