From 0562be5d4e1fce5a8a2bcc7d594ccf411393c292 Mon Sep 17 00:00:00 2001
From: Greg Hogan <code@greghogan.com>
Date: Thu, 18 Mar 2021 17:53:12 +0000
Subject: [PATCH 10/10] gnu: aws-sdk-cpp: Update to 1.9.25.

* gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch,
gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch,
gnu/packages/patches/aws-sdk-cpp-disable-werror.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/cpp.scm (aws-sdk-cpp): Update to 1.9.25.
[source]: Use patches.
[inputs, propagated-inputs]: Update AWS dependencies to Common Runtime.
---
 gnu/local.mk                                  |  3 ++
 gnu/packages/cpp.scm                          | 15 ++++---
 .../patches/aws-sdk-cpp-cmake-prefix.patch    | 18 ++++++++
 ...aws-sdk-cpp-disable-networking-tests.patch | 44 +++++++++++++++++++
 .../patches/aws-sdk-cpp-disable-werror.patch  | 11 +++++
 5 files changed, 85 insertions(+), 6 deletions(-)
 create mode 100644 gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch
 create mode 100644 gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch
 create mode 100644 gnu/packages/patches/aws-sdk-cpp-disable-werror.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index f64bbd4054..0a2b263676 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -850,6 +850,9 @@ dist_patch_DATA =						\
   %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/aws-sdk-cpp-cmake-prefix.patch		\
+  %D%/packages/patches/aws-sdk-cpp-disable-networking-tests.patch	\
+  %D%/packages/patches/aws-sdk-cpp-disable-werror.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 189f0b5132..f041e9ccc3 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -863,7 +863,7 @@ aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.")
 (define-public aws-sdk-cpp
   (package
     (name "aws-sdk-cpp")
-    (version "1.8.159")
+    (version "1.9.25")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -872,7 +872,12 @@ aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0jpfv9x82nq7hcix9in7qgrc8009dwpg6gr96hlgmcvqrqckd2r9"))))
+                "0gkyfq80sha511gjk9ldr4ip8kspg56nd6nc7dby693pxg68j5jw"))
+              (patches
+               (search-patches
+                "aws-sdk-cpp-cmake-prefix.patch"
+                "aws-sdk-cpp-disable-networking-tests.patch"
+                "aws-sdk-cpp-disable-werror.patch"))))
     (build-system cmake-build-system)
     (arguments
      '(;; Tests are run during the build phase.
@@ -881,11 +886,9 @@ aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.")
        '("-DBUILD_SHARED_LIBS=ON"
          "-DBUILD_DEPS=OFF")))
     (propagated-inputs
-     `(("aws-c-common" ,aws-c-common)
-       ("aws-c-event-stream" ,aws-c-event-stream)))
+     `(("aws-crt-cpp" ,aws-crt-cpp)))
     (inputs
-     `(("aws-checksums" ,aws-checksums)
-       ("curl" ,curl)
+     `(("curl" ,curl)
        ("openssl" ,openssl)
        ("zlib" ,zlib)))
     (synopsis "Amazon Web Services SDK for C++")
diff --git a/gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch b/gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch
new file mode 100644
index 0000000000..efc1218834
--- /dev/null
+++ b/gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch
@@ -0,0 +1,18 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -98,9 +98,13 @@ set(PYTHON_CMD "python")
+ # CMAKE_MODULE_PATH is a CMAKE variable. It contains a list of paths
+ # which could be used to search CMAKE modules by "include()" or "find_package()", but the default value is empty.
+ # Add ${CMAKE_INSTALL_LIBDIR}/cmake and ${CMAKE_PREFIX_PATH}/lib/cmake to search list
++if (DEFINED ENV{CMAKE_PREFIX_PATH})
++    set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
++endif()
++
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
+-set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake")
+-string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
++set(AWS_MODULE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake")
++string(REPLACE ":" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
+ list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH})
+ 
+ # include() will "load and run" cmake script
diff --git a/gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch b/gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch
new file mode 100644
index 0000000000..3b582d9628
--- /dev/null
+++ b/gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch
@@ -0,0 +1,44 @@
+--- a/aws-cpp-sdk-core-tests/http/HttpClientTest.cpp
++++ b/aws-cpp-sdk-core-tests/http/HttpClientTest.cpp
+@@ -92,12 +92,12 @@ TEST(HttpClientTest, TestRandomURLWithNoProxy)
+     makeRandomHttpRequest(httpClient, false);
+ }
+ 
+-TEST(HttpClientTest, TestRandomURLWithProxy)
+-{
+-    ClientConfiguration configuration = makeClientConfigurationWithProxy();
+-    auto httpClient = CreateHttpClient(configuration);
+-    makeRandomHttpRequest(httpClient, true); // we expect it to try to use proxy that is invalid
+-}
++//TEST(HttpClientTest, TestRandomURLWithProxy)
++//{
++//    ClientConfiguration configuration = makeClientConfigurationWithProxy();
++//    auto httpClient = CreateHttpClient(configuration);
++//    makeRandomHttpRequest(httpClient, true); // we expect it to try to use proxy that is invalid
++//}
+ 
+ TEST(HttpClientTest, TestRandomURLWithProxyAndDeclaredAsNonProxyHost)
+ {
+@@ -119,14 +119,14 @@ TEST(HttpClientTest, TestRandomURLWithProxyAndDeclaredParentDomainAsNonProxyHost
+     makeRandomHttpRequest(httpClient, false);
+ }
+ 
+-TEST(HttpClientTest, TestRandomURLWithProxyAndOtherDeclaredAsNonProxyHost)
+-{
+-    ClientConfiguration configuration = makeClientConfigurationWithProxy();
+-    configuration.nonProxyHosts = Aws::Utils::Array<Aws::String>(1);
+-    configuration.nonProxyHosts[0] = "http://test.non.filtered.aws";
+-    auto httpClient = CreateHttpClient(configuration);
+-    makeRandomHttpRequest(httpClient, true);
+-}
++//TEST(HttpClientTest, TestRandomURLWithProxyAndOtherDeclaredAsNonProxyHost)
++//{
++//    ClientConfiguration configuration = makeClientConfigurationWithProxy();
++//    configuration.nonProxyHosts = Aws::Utils::Array<Aws::String>(1);
++//    configuration.nonProxyHosts[0] = "http://test.non.filtered.aws";
++//    auto httpClient = CreateHttpClient(configuration);
++//    makeRandomHttpRequest(httpClient, true);
++//}
+ 
+ // TODO: Pending Fix on Windows.
+ #if ENABLE_CURL_CLIENT
diff --git a/gnu/packages/patches/aws-sdk-cpp-disable-werror.patch b/gnu/packages/patches/aws-sdk-cpp-disable-werror.patch
new file mode 100644
index 0000000000..249c299239
--- /dev/null
+++ b/gnu/packages/patches/aws-sdk-cpp-disable-werror.patch
@@ -0,0 +1,11 @@
+--- a/cmake/compiler_settings.cmake
++++ b/cmake/compiler_settings.cmake
+@@ -53,7 +53,7 @@ macro(set_gcc_flags)
+ endmacro()
+ 
+ macro(set_gcc_warnings)
+-    list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-Werror" "-pedantic" "-Wextra")
++    list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-pedantic" "-Wextra")
+     if(COMPILER_CLANG)
+         if(PLATFORM_ANDROID)
+             # when using clang with libc and API lower than 21 we need to include Android support headers and ignore the gnu-include-next warning.
-- 
2.31.1

