[PATCH 0/7] gnu: aws-sdk-cpp: Update to 1.8.148.

  • Done
  • quality assurance status badge
Details
3 participants
  • Greg Hogan
  • Leo Famulari
  • Ludovic Courtès
Owner
unassigned
Submitted by
Greg Hogan
Severity
normal
G
G
Greg Hogan wrote on 24 Feb 2021 00:11
(address . guix-patches@gnu.org)
CA+3U0Z=5tLoO2j=aP_LQ7zM23re5sW+zYx1d9t6MUQM7NNSJ3w@mail.gmail.com
[1/7] gnu: aws-c-common: Update to 0.5.1.
[2/7] gnu: aws-checksums: Update to 0.1.11.
[3/7] gnu: Add aws-c-cal.
[4/7] gnu: Add s2n.
[5/7] gnu: Add aws-c-io.
[6/7] gnu: aws-c-event-stream: Update to 0.2.6.
[7/7] gnu: aws-sdk-cpp: Update to 1.8.148.
Attachment: file
G
G
Greg Hogan wrote on 24 Feb 2021 00:14
[PATCH 1/7] gnu: aws-c-common: Update to 0.5.1.
(address . 46728@debbugs.gnu.org)
CA+3U0ZkqxicMariLvDcpCZUhG_h9ngYRRVC4aVc0riE_1KV+6A@mail.gmail.com
From 0c8d476d598105109396aa86fa1ed063548a0c49 Mon Sep 17 00:00:00 2001
From: Greg Hogan <code@greghogan.com>
Date: Tue, 19 Jan 2021 12:43:48 +0000
Subject: [PATCH 1/7] gnu: aws-c-common: Update to 0.5.1.

* gnu/packages/c.scm (aws-c-common): Update to 0.5.1.
---
gnu/packages/c.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (31 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d9e5e4d7de..34914e9071 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -546,7 +546,7 @@ portability.")
(define-public aws-c-common
(package
(name "aws-c-common")
- (version "0.4.63")
+ (version "0.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -555,7 +555,7 @@ portability.")
(file-name (git-file-name name version))
(sha256
(base32
- "16bc6fn1gq3nqcrzgpi2kjphq7xkkr73aljakrg89ysm6hyzyim9"))))
+ "1k23z4j6bx2kxvahnr59hxsk9pfissjnnygbi958d4cp3zjrh3ci"))))
(build-system cmake-build-system)
(synopsis "Amazon Web Services core C library")
(description
--
2.30.1
Attachment: file
G
G
Greg Hogan wrote on 24 Feb 2021 00:15
[PATCH 2/7] gnu: aws-checksums: Update to 0.1.11.
(address . 46728@debbugs.gnu.org)
CA+3U0Z=e0AF_X=U-Y0zmzXuzjT0tDWeaT6AOLV=zqG+ouSdxaQ@mail.gmail.com
From af885d0a415e2eb0710795bb750ec98fbaf090ce Mon Sep 17 00:00:00 2001
From: Greg Hogan <code@greghogan.com>
Date: Tue, 23 Feb 2021 20:50:09 +0000
Subject: [PATCH 2/7] gnu: aws-checksums: Update to 0.1.11.

* gnu/packages/c.scm (aws-checksums): Update to 0.1.11.
---
gnu/packages/c.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 34914e9071..7230972a68 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -567,7 +567,7 @@ portability.")
(define-public aws-checksums
(package
(name "aws-checksums")
- (version "0.1.10")
+ (version "0.1.11")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -576,7 +576,7 @@ portability.")
(file-name (git-file-name name version))
(sha256
(base32
- "1f9scl5734pgjlsixspwljrrlndzhllwlfygdcr1gx5p0za08zjb"))
+ "1pjs31x3cq9wyw511y00kksz660m8im9zxk30hid8iwlilcbnyvx"))
(patches (search-patches
"aws-checksums-cmake-prefix.patch"))))
(build-system cmake-build-system)
(inputs
--
2.30.1
Attachment: file
G
G
Greg Hogan wrote on 24 Feb 2021 00:16
[PATCH 3/7] gnu: Add aws-c-cal.
(address . 46728@debbugs.gnu.org)
CA+3U0ZkqwyS0N5Sfefq9aFPuo4V-1FwZtmmOda0D1JEpQ7Xw6A@mail.gmail.com
From 1085752d13ead6359e7a59b96bb41edec3986d88 Mon Sep 17 00:00:00 2001
From: Greg Hogan <code@greghogan.com>
Date: Tue, 19 Jan 2021 12:51:36 +0000
Subject: [PATCH 3/7] gnu: Add aws-c-cal.

* gnu/packages/c.scm (aws-c-cal): New variable.
* gnu/packages/patches/aws-c-cal-cmake-prefix.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
gnu/local.mk | 1 +
gnu/packages/c.scm | 27 +++++++++++++++++++
.../patches/aws-c-cal-cmake-prefix.patch | 13 +++++++++
3 files changed, 41 insertions(+)
create mode 100644 gnu/packages/patches/aws-c-cal-cmake-prefix.patch

Toggle diff (78 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index ae5a65cfcf..f16c1ae240 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -830,6 +830,7 @@ dist_patch_DATA = \
%D%/packages/patches/avahi-localstatedir.patch \
%D%/packages/patches/avidemux-install-to-lib.patch \
%D%/packages/patches/awesome-reproducible-png.patch \
+ %D%/packages/patches/aws-c-cal-cmake-prefix.patch \
%D%/packages/patches/aws-c-event-stream-cmake-prefix.patch \
%D%/packages/patches/aws-checksums-cmake-prefix.patch \
%D%/packages/patches/azr3.patch \
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 7230972a68..48230b41c3 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -52,6 +52,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages xml))

(define-public tcc
@@ -614,3 +615,29 @@ event stream encoding, a binary format for
bidirectional client-server
communication.")
(home-page "https://github.com/awslabs/aws-c-event-stream")
(license license:asl2.0)))
+
+(define-public aws-c-cal
+ (package
+ (name "aws-c-cal")
+ (version "0.4.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append "https://github.com/awslabs/"
name))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "04acra1mnzw9q7jycs5966akfbgnx96hkrq90nq0dhw8pvarlyv6"))
+ (patches (search-patches "aws-c-cal-cmake-prefix.patch"))))
+ (build-system cmake-build-system)
+ (propagated-inputs
+ `(("aws-c-common" ,aws-c-common)))
+ (inputs
+ `(("openssl" ,openssl)
+ ("openssl:static" ,openssl "static")))
+ (synopsis "Amazon Web Services Crypto Abstraction Layer")
+ (description "This library provides a C99 wrapper for hash, HMAC, and
ECC
+cryptographic primitives for the @acronym{AWS,Amazon Web Services} SDK.")
+ (home-page "https://github.com/awslabs/aws-c-cal")
+ (license license:asl2.0)))
diff --git a/gnu/packages/patches/aws-c-cal-cmake-prefix.patch
b/gnu/packages/patches/aws-c-cal-cmake-prefix.patch
new file mode 100644
index 0000000000..1ee7aa851d
--- /dev/null
+++ b/gnu/packages/patches/aws-c-cal-cmake-prefix.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,6 +10,10 @@ endif()
+
+ option(BYO_CRYPTO "Set this if you want to provide your own cryptography
implementation. This will cause the defaults to not be compiled." OFF)
+
++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()
--
2.30.1
Attachment: file
G
G
Greg Hogan wrote on 24 Feb 2021 00:17
[PATCH 4/7] gnu: Add s2n.
(address . 46728@debbugs.gnu.org)
CA+3U0ZmcORcU94-WtbL5TEcN0nphpojR_OB8thr2m5uPw7LM4g@mail.gmail.com
From 78e69597f63b22a3249853208e88f8f57cf84054 Mon Sep 17 00:00:00 2001
From: Greg Hogan <code@greghogan.com>
Date: Tue, 19 Jan 2021 12:52:01 +0000
Subject: [PATCH 4/7] gnu: Add s2n.

* gnu/packages/tls.scm (s2n): New variable.
---
gnu/packages/tls.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 775e915534..2048dc5bbe 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -1024,3 +1024,25 @@ relatively simple Bash script.")
derived from Mozilla's collection.")
(home-page "https://certifi.io")
(license license:mpl2.0))))
+
+(define-public s2n
+ (package
+ (name "s2n")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append "https://github.com/awslabs/"
name))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1q6kmgwb8jxmc4ijzk9pkqzz8lsbfsv9hyzqvy944w7306zx1r5h"))))
+ (build-system cmake-build-system)
+ (propagated-inputs
+ `(("openssl" ,openssl)
+ ("openssl:static" ,openssl "static")))
+ (synopsis "SSL/TLS implementation")
+ (description "This library provides a C99 implementation of SSL/TLS.")
+ (home-page "https://github.com/awslabs/s2n")
+ (license license:asl2.0)))
--
2.30.1
Attachment: file
G
G
Greg Hogan wrote on 24 Feb 2021 00:18
[PATCH 5/7] gnu: Add aws-c-io.
(address . 46728@debbugs.gnu.org)
CA+3U0ZnW087cf=0ewLh4FUJg36BAwx9bdutE--FUq8dtkcxd+w@mail.gmail.com
From 822ab358fdf54c3795894d062913abd533d546d9 Mon Sep 17 00:00:00 2001
From: Greg Hogan <code@greghogan.com>
Date: Tue, 19 Jan 2021 12:53:18 +0000
Subject: [PATCH 5/7] gnu: Add aws-c-io.

* gnu/packages/c.scm (aws-c-io): New variable.
* gnu/packages/patches/aws-c-io-cmake-prefix.patch,
gnu/packages/patches/aws-c-io-disable-networking-tests.patch:
New files.
* gnu/local.mk (dist_patch_DATA): Add them.
---
gnu/local.mk | 2 +
gnu/packages/c.scm | 28 +++++++
.../patches/aws-c-io-cmake-prefix.patch | 13 +++
.../aws-c-io-disable-networking-tests.patch | 81 +++++++++++++++++++
4 files changed, 124 insertions(+)
create mode 100644 gnu/packages/patches/aws-c-io-cmake-prefix.patch
create mode 100644
gnu/packages/patches/aws-c-io-disable-networking-tests.patch

Toggle diff (163 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index f16c1ae240..7f176b96f8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -832,6 +832,8 @@ dist_patch_DATA = \
%D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/aws-c-cal-cmake-prefix.patch \
%D%/packages/patches/aws-c-event-stream-cmake-prefix.patch \
+ %D%/packages/patches/aws-c-io-cmake-prefix.patch \
+ %D%/packages/patches/aws-c-io-disable-networking-tests.patch \
%D%/packages/patches/aws-checksums-cmake-prefix.patch \
%D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 48230b41c3..63b9d5dc27 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -616,6 +616,34 @@ communication.")
(home-page "https://github.com/awslabs/aws-c-event-stream")
(license license:asl2.0)))

+(define-public aws-c-io
+ (package
+ (name "aws-c-io")
+ (version "0.9.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append "https://github.com/awslabs/"
name))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0i1i88fb8cazrbx3cy5vn1a09zlx6kdk3rr3m7s7165b6drix8bm"))
+ (patches
+ (search-patches
+ "aws-c-io-cmake-prefix.patch"
+ "aws-c-io-disable-networking-tests.patch"))))
+ (build-system cmake-build-system)
+ (propagated-inputs
+ `(("aws-c-cal" ,aws-c-cal)
+ ("aws-c-common" ,aws-c-common)
+ ("s2n" ,s2n)))
+ (synopsis "Event driven framework for implementing application
protocols")
+ (description "This library provides a C99 framework for constructing
+event-driven, asynchronous network application protocols.")
+ (home-page "https://github.com/awslabs/aws-c-io")
+ (license license:asl2.0)))
+
(define-public aws-c-cal
(package
(name "aws-c-cal")
diff --git a/gnu/packages/patches/aws-c-io-cmake-prefix.patch
b/gnu/packages/patches/aws-c-io-cmake-prefix.patch
new file mode 100644
index 0000000000..da3e4eb4a5
--- /dev/null
+++ b/gnu/packages/patches/aws-c-io-cmake-prefix.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,10 @@ if (POLICY CMP0069)
+ cmake_policy(SET CMP0069 NEW) # Enable LTO/IPO if available in the
compiler, see AwsCFlags
+ endif()
+
++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-c-io-disable-networking-tests.patch
b/gnu/packages/patches/aws-c-io-disable-networking-tests.patch
new file mode 100644
index 0000000000..77f5f658fd
--- /dev/null
+++ b/gnu/packages/patches/aws-c-io-disable-networking-tests.patch
@@ -0,0 +1,81 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -52,8 +52,8 @@ add_test_case(local_socket_communication)
+ add_net_test_case(tcp_socket_communication)
+ add_net_test_case(udp_socket_communication)
+ add_test_case(udp_bind_connect_communication)
+-add_net_test_case(connect_timeout)
+-add_net_test_case(connect_timeout_cancelation)
++#add_net_test_case(connect_timeout)
++#add_net_test_case(connect_timeout_cancelation)
+ if (USE_VSOCK)
+ add_test_case(vsock_loopback_socket_communication)
+ endif ()
+@@ -64,7 +64,7 @@ add_test_case(incoming_tcp_sock_errors)
+ add_test_case(incoming_duplicate_tcp_bind_errors)
+ add_test_case(incoming_udp_sock_errors)
+ add_test_case(wrong_thread_read_write_fails)
+-add_net_test_case(cleanup_before_connect_or_timeout_doesnt_explode)
++#add_net_test_case(cleanup_before_connect_or_timeout_doesnt_explode)
+ add_test_case(cleanup_in_accept_doesnt_explode)
+ add_test_case(cleanup_in_write_cb_doesnt_explode)
+
+@@ -80,21 +80,21 @@ add_test_case(channel_tasks_run)
+ add_test_case(channel_rejects_post_shutdown_tasks)
+ add_test_case(channel_cancels_pending_tasks)
+ add_test_case(channel_duplicate_shutdown)
+-add_net_test_case(channel_connect_some_hosts_timeout)
++#add_net_test_case(channel_connect_some_hosts_timeout)
+
+-add_net_test_case(test_default_with_ipv6_lookup)
++#add_net_test_case(test_default_with_ipv6_lookup)
+ add_test_case(test_resolver_ipv6_address_lookup)
+-add_net_test_case(test_default_with_multiple_lookups)
++#add_net_test_case(test_default_with_multiple_lookups)
+ add_test_case(test_resolver_ipv4_address_lookup)
+-add_net_test_case(test_default_with_ipv4_only_lookup)
++#add_net_test_case(test_default_with_ipv4_only_lookup)
+ add_test_case(test_resolver_ttls)
+ add_test_case(test_resolver_connect_failure_recording)
+ add_test_case(test_resolver_ttl_refreshes_on_resolve)
+
+ add_net_test_case(test_resolver_listener_create_destroy)
+-add_net_test_case(test_resolver_add_listener_before_host)
+-add_net_test_case(test_resolver_add_listener_after_host)
+-add_net_test_case(test_resolver_add_multiple_listeners_fn)
++#add_net_test_case(test_resolver_add_listener_before_host)
++#add_net_test_case(test_resolver_add_listener_after_host)
++#add_net_test_case(test_resolver_add_multiple_listeners_fn)
+ add_net_test_case(test_resolver_listener_host_re_add_fn)
+ add_net_test_case(test_resolver_listener_multiple_results)
+ add_net_test_case(test_resolver_listener_address_expired_fn)
+@@ -116,20 +116,20 @@ add_test_case(socket_handler_echo_and_backpressure)
+ add_test_case(socket_handler_close)
+
+ add_test_case(tls_channel_echo_and_backpressure_test)
+-add_net_test_case(tls_client_channel_negotiation_error_expired)
+-add_net_test_case(tls_client_channel_negotiation_error_wrong_host)
+-add_net_test_case(tls_client_channel_negotiation_error_self_signed)
+-add_net_test_case(tls_client_channel_negotiation_error_untrusted_root)
++#add_net_test_case(tls_client_channel_negotiation_error_expired)
++#add_net_test_case(tls_client_channel_negotiation_error_wrong_host)
++#add_net_test_case(tls_client_channel_negotiation_error_self_signed)
++#add_net_test_case(tls_client_channel_negotiation_error_untrusted_root)
+ #track these down in s2n and find out why that aren't failing.
+ #add_net_test_case(tls_client_channel_negotiation_error_revoked)
+ #add_net_test_case(tls_client_channel_negotiation_error_pinning)
+-add_net_test_case(tls_client_channel_negotiation_error_socket_closed)
+-add_net_test_case(tls_client_channel_negotiation_success)
+-add_net_test_case(tls_client_channel_negotiation_success_ecc256)
+-add_net_test_case(tls_client_channel_negotiation_success_ecc384)
++#add_net_test_case(tls_client_channel_negotiation_error_socket_closed)
++#add_net_test_case(tls_client_channel_negotiation_success)
++#add_net_test_case(tls_client_channel_negotiation_success_ecc256)
++#add_net_test_case(tls_client_channel_negotiation_success_ecc384)
+ add_net_test_case(tls_server_multiple_connections)
+ add_net_test_case(tls_server_hangup_during_negotiation)
+-add_net_test_case(tls_client_channel_no_verify)
++#add_net_test_case(tls_client_channel_no_verify)
+ add_net_test_case(test_tls_negotiation_timeout)
+ add_test_case(tls_destroy_null_context)
+
--
2.30.1
Attachment: file
G
G
Greg Hogan wrote on 24 Feb 2021 00:18
[PATCH 6/7] gnu: aws-c-event-stream: Update to 0.2.6.
(address . 46728@debbugs.gnu.org)
CA+3U0ZnUOhUtB8kMOf3d1pv1tUuyFBx-Ti7MphkU4grk3sad3g@mail.gmail.com
From 0a3b3c02a913bac4f2b2677d902c93584c56a2cc Mon Sep 17 00:00:00 2001
From: Greg Hogan <code@greghogan.com>
Date: Tue, 19 Jan 2021 12:53:50 +0000
Subject: [PATCH 6/7] gnu: aws-c-event-stream: Update to 0.2.6.

* gnu/packages/c.scm (aws-c-event-stream): Update to 0.2.6.
---
gnu/packages/c.scm | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

Toggle diff (37 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 63b9d5dc27..0aca7b0be6 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -592,7 +592,7 @@ with fallback to efficient C99 software
implementations.")
(define-public aws-c-event-stream
(package
(name "aws-c-event-stream")
- (version "0.1.6")
+ (version "0.2.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -601,13 +601,16 @@ with fallback to efficient C99 software
implementations.")
(file-name (git-file-name name version))
(sha256
(base32
- "1vl9ainc4klv0g9gk1iv4833bsllni6jxn6mwb0fnv2dnlz7zv9q"))
+ "1hbri4dv924ph3cxkmwkl4kdca4dvhc9qda60rdzs6355l76k23n"))
(patches (search-patches
"aws-c-event-stream-cmake-prefix.patch"))))
(build-system cmake-build-system)
(propagated-inputs
- `(("aws-c-common" ,aws-c-common)))
+ `(("aws-c-common" ,aws-c-common)
+ ("aws-c-io" ,aws-c-io)
+ ("aws-checksums" ,aws-checksums)))
(inputs
- `(("aws-checksums" ,aws-checksums)))
+ `(("aws-c-cal" ,aws-c-cal)
+ ("s2n" ,s2n)))
(synopsis "Amazon Web Services client-server message format library")
(description
"This library is a C99 implementation for @acronym{AWS,Amazon Web
Services}
--
2.30.1
Attachment: file
G
G
Greg Hogan wrote on 24 Feb 2021 00:19
[PATCH 7/7] gnu: aws-sdk-cpp: Update to 1.8.148.
(address . 46728@debbugs.gnu.org)
CA+3U0Zm3FcJo1dfW=+vbVpwY7qG82QLcXHUrxSR4c4-7NXCkSQ@mail.gmail.com
From 49a281d69aa8b529c730f4163665b712bdd98944 Mon Sep 17 00:00:00 2001
From: Greg Hogan <code@greghogan.com>
Date: Tue, 19 Jan 2021 12:54:39 +0000
Subject: [PATCH 7/7] gnu: aws-sdk-cpp: Update to 1.8.148.

* gnu/packages/cpp.scm (aws-sdk-cpp): Update to 1.8.148.
---
gnu/packages/cpp.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 685dc02fca..5541d507b0 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -813,7 +813,7 @@ of C++14 components that complements @code{std} and
Boost.")
(define-public aws-sdk-cpp
(package
(name "aws-sdk-cpp")
- (version "1.8.102")
+ (version "1.8.148")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -822,7 +822,7 @@ of C++14 components that complements @code{std} and
Boost.")
(file-name (git-file-name name version))
(sha256
(base32
- "1w8x2vakg5ngjyyg08n4g3dqy8wqnz0k3gkrlqrh460s2pvdivba"))))
+ "0dj8bidafx8931yw9c9gk1y4j5pssxva717nxw3iym8vxb9jf9r7"))))
(build-system cmake-build-system)
(arguments
'(;; Tests are run during the build phase.
--
2.30.1
Attachment: file
L
L
Leo Famulari wrote on 24 Feb 2021 17:34
Re: [bug#46728] [PATCH 4/7] gnu: Add s2n.
(name . Greg Hogan)(address . code@greghogan.com)(address . 46728@debbugs.gnu.org)
YDaALVWUyqLbwTdr@jasmine.lan
On Tue, Feb 23, 2021 at 06:17:06PM -0500, Greg Hogan wrote:
Toggle quote (7 lines)
> From 78e69597f63b22a3249853208e88f8f57cf84054 Mon Sep 17 00:00:00 2001
> From: Greg Hogan <code@greghogan.com>
> Date: Tue, 19 Jan 2021 12:52:01 +0000
> Subject: [PATCH 4/7] gnu: Add s2n.
>
> * gnu/packages/tls.scm (s2n): New variable.

Thank you for this patch series!

Toggle quote (4 lines)
> + (propagated-inputs
> + `(("openssl" ,openssl)
> + ("openssl:static" ,openssl "static")))

I'm wondering specifically about the use of static OpenSSL in these
patches. It's a little unusual to use statically-linked outputs in Guix.
Is it required for s2n?
G
G
Greg Hogan wrote on 25 Feb 2021 15:19
(name . Leo Famulari)(address . leo@famulari.name)(address . 46728@debbugs.gnu.org)
CA+3U0Z=v3cOfb=WifVf4_eG=JRQfGHNXkJVxACRzNK_ZM2g-QA@mail.gmail.com
Hi Leo,

The CMake configuration [1] has both shared and static dependencies on
LibCrypto.

The AWS packages (aws-sdk-cpp and dependencies) are currently built as
static libraries. I would like to build both static and shared but could
not find an example or simple method for building both using cmake. Do you
think it would be worthwhile to extend the cmake-build-system to optionally
configure, build, and install static libraries with additional phases? The
gnu-build-system makes it easy to inline a new phase into the package
definition (when the makefile has both 'make' and 'make static' targets)
but with CMake we are forced to duplicate the configure phase, which is 44
lines of code.

Greg

[1]

On Wed, Feb 24, 2021 at 4:34 PM Leo Famulari <leo@famulari.name> wrote:

Toggle quote (18 lines)
> On Tue, Feb 23, 2021 at 06:17:06PM -0500, Greg Hogan wrote:
> > From 78e69597f63b22a3249853208e88f8f57cf84054 Mon Sep 17 00:00:00 2001
> > From: Greg Hogan <code@greghogan.com>
> > Date: Tue, 19 Jan 2021 12:52:01 +0000
> > Subject: [PATCH 4/7] gnu: Add s2n.
> >
> > * gnu/packages/tls.scm (s2n): New variable.
>
> Thank you for this patch series!
>
> > + (propagated-inputs
> > + `(("openssl" ,openssl)
> > + ("openssl:static" ,openssl "static")))
>
> I'm wondering specifically about the use of static OpenSSL in these
> patches. It's a little unusual to use statically-linked outputs in Guix.
> Is it required for s2n?
>
Attachment: file
L
L
Ludovic Courtès wrote on 2 Mar 2021 20:37
Re: bug#46728: [PATCH 0/7] gnu: aws-sdk-cpp: Update to 1.8.148.
(name . Greg Hogan)(address . code@greghogan.com)
878s75uz1n.fsf_-_@gnu.org
Hi,

Greg Hogan <code@greghogan.com> skribis:

Toggle quote (10 lines)
> The AWS packages (aws-sdk-cpp and dependencies) are currently built as
> static libraries. I would like to build both static and shared but could
> not find an example or simple method for building both using cmake. Do you
> think it would be worthwhile to extend the cmake-build-system to optionally
> configure, build, and install static libraries with additional phases? The
> gnu-build-system makes it easy to inline a new phase into the package
> definition (when the makefile has both 'make' and 'make static' targets)
> but with CMake we are forced to duplicate the configure phase, which is 44
> lines of code.

In general, it’s best to build only shared libraries. That allows for
reduced memory usage, fast security updates via grafts, etc. So if you
could make the AWS packages build as shared libraries only, that’d be
great.

It’s OK to optionally add static libraries, preferably in a separate
output or even a separate package, but that’s not what should be used by
default.

Does that make sense?

Thanks,
Ludo’.
G
G
Greg Hogan wrote on 2 Mar 2021 21:13
(name . Ludovic Courtès)(address . ludo@gnu.org)
CA+3U0ZkBiDs10Z-GYSejt8sug+7s2B531i-+5mjU6QZ-B1gkvQ@mail.gmail.com
On Tue, Mar 2, 2021 at 2:37 PM Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (30 lines)
> Hi,
>
> Greg Hogan <code@greghogan.com> skribis:
>
> > The AWS packages (aws-sdk-cpp and dependencies) are currently built as
> > static libraries. I would like to build both static and shared but could
> > not find an example or simple method for building both using cmake. Do
> you
> > think it would be worthwhile to extend the cmake-build-system to
> optionally
> > configure, build, and install static libraries with additional phases?
> The
> > gnu-build-system makes it easy to inline a new phase into the package
> > definition (when the makefile has both 'make' and 'make static' targets)
> > but with CMake we are forced to duplicate the configure phase, which is
> 44
> > lines of code.
>
> In general, it’s best to build only shared libraries. That allows for
> reduced memory usage, fast security updates via grafts, etc. So if you
> could make the AWS packages build as shared libraries only, that’d be
> great.
>
> It’s OK to optionally add static libraries, preferably in a separate
> output or even a separate package, but that’s not what should be used by
> default.
>
> Does that make sense?


Yes, I would prefer to provide shared as the default output and static as a
separate output to the same package. There look to be three options:

1) separate packages (as with boost and boost-static). This is simple but
not as elegant (boost-static is the eighth most relevant package when guix
search'ing for "boost").

2) duplicate CMake phases in the package definition (much more verbose than
with gnu-build-system). This results in considerable duplication of build
system code and is unmaintainable.

3) extend the cmake-build-system to optionally configure, build, and
install static libraries with additional phases. The ideal result but
requires modification of the cmake-build-system.

Thoughts?


Toggle quote (3 lines)
> Thanks,
> Ludo’.
>
Attachment: file
L
L
Ludovic Courtès wrote on 8 Mar 2021 14:49
(name . Greg Hogan)(address . code@greghogan.com)
87h7lleowd.fsf@gnu.org
Hi Greg,

Greg Hogan <code@greghogan.com> skribis:

Toggle quote (2 lines)
> On Tue, Mar 2, 2021 at 2:37 PM Ludovic Courtès <ludo@gnu.org> wrote:

[...]

Toggle quote (15 lines)
>> In general, it’s best to build only shared libraries. That allows for
>> reduced memory usage, fast security updates via grafts, etc. So if you
>> could make the AWS packages build as shared libraries only, that’d be
>> great.
>>
>> It’s OK to optionally add static libraries, preferably in a separate
>> output or even a separate package, but that’s not what should be used by
>> default.
>>
>> Does that make sense?
>
>
> Yes, I would prefer to provide shared as the default output and static as a
> separate output to the same package.

One option is to not provide static libraries at all, at least for now.
They make little sense from a Guix perspective anyway.

Would that be an option for you?

Toggle quote (10 lines)
> There look to be three options:
>
> 1) separate packages (as with boost and boost-static). This is simple but
> not as elegant (boost-static is the eighth most relevant package when guix
> search'ing for "boost").
>
> 2) duplicate CMake phases in the package definition (much more verbose than
> with gnu-build-system). This results in considerable duplication of build
> system code and is unmaintainable.

Can’t CMake build both static and “shared” (-fPIC) libraries in one go?
I think it can do that.

Toggle quote (4 lines)
> 3) extend the cmake-build-system to optionally configure, build, and
> install static libraries with additional phases. The ideal result but
> requires modification of the cmake-build-system.

In the vast majority of cases, we don’t provide static libraries at
all. The only exceptions are when we need statically linked binaries
for bootstrapping purposes or within the initrd.

HTH,
Ludo’.
G
G
Greg Hogan wrote on 11 Mar 2021 22:37
(name . Ludovic Courtès)(address . ludo@gnu.org)
CA+3U0ZmM3n95aafOt3W3S0Tj-MXGhTD49Z4dc4t-y0r2omBfRw@mail.gmail.com
Hi Ludo’,

Switched to build as shared libraries, and bumped versions.

Greg

On Mon, Mar 8, 2021 at 8:49 AM Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (55 lines)
> Hi Greg,
>
> Greg Hogan <code@greghogan.com> skribis:
>
> > On Tue, Mar 2, 2021 at 2:37 PM Ludovic Courtès <ludo@gnu.org> wrote:
>
> [...]
>
> >> In general, it’s best to build only shared libraries. That allows for
> >> reduced memory usage, fast security updates via grafts, etc. So if you
> >> could make the AWS packages build as shared libraries only, that’d be
> >> great.
> >>
> >> It’s OK to optionally add static libraries, preferably in a separate
> >> output or even a separate package, but that’s not what should be used by
> >> default.
> >>
> >> Does that make sense?
> >
> >
> > Yes, I would prefer to provide shared as the default output and static
> as a
> > separate output to the same package.
>
> One option is to not provide static libraries at all, at least for now.
> They make little sense from a Guix perspective anyway.
>
> Would that be an option for you?
>
> > There look to be three options:
> >
> > 1) separate packages (as with boost and boost-static). This is simple but
> > not as elegant (boost-static is the eighth most relevant package when
> guix
> > search'ing for "boost").
> >
> > 2) duplicate CMake phases in the package definition (much more verbose
> than
> > with gnu-build-system). This results in considerable duplication of build
> > system code and is unmaintainable.
>
> Can’t CMake build both static and “shared” (-fPIC) libraries in one go?
> I think it can do that.
>
> > 3) extend the cmake-build-system to optionally configure, build, and
> > install static libraries with additional phases. The ideal result but
> > requires modification of the cmake-build-system.
>
> In the vast majority of cases, we don’t provide static libraries at
> all. The only exceptions are when we need statically linked binaries
> for bootstrapping purposes or within the initrd.
>
> HTH,
> Ludo’.
>
Attachment: file
L
L
Ludovic Courtès wrote on 13 Mar 2021 00:01
(name . Greg Hogan)(address . code@greghogan.com)
874khgq8n0.fsf@gnu.org
Hi Greg,

Greg Hogan <code@greghogan.com> skribis:

Toggle quote (2 lines)
> Switched to build as shared libraries, and bumped versions.

I’ve now pushed all seven patches.

Thanks for taking the time to make these changes!

Ludo’.
Closed
?