Subject: [PATCH 0/15] Fix aws-lc checksum and use with aws-sdk-cpp.
From: Greg Hogan <[email-masked]>
To: [email-masked]
Date: Thu, 28 Apr 2022 11:59:00 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

I happened to notice the broken build for aws-lc when exploring the
dashboard at ci.guix.gnu.org. In my last patchset I had updated aws-lc to
the proper version but failed to update the checksum since it was not built
as a dependency of aws-sdk-cpp.

These patches replace openssl with aws-lc as the default dependency of s2n,
making aws-lc a transitive dependency of aws-sdk-cpp. I have tested with
the following builds:
  ./pre-inst-env guix build aws-sdk-cpp
  ./pre-inst-env guix build --with-input=aws-lc=libressl aws-sdk-cpp
  ./pre-inst-env guix build --with-input=aws-lc=[email-masked] aws-sdk-cpp

aws-c-common is now marked as supported only for i686-linux and
x86_64-linux, and s2n as supported only for x86_64-linux, as various tests
are failing or timing out on other systems.

Greg
From fede0e49e1ecc7b26605507610955dfde376397d Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:18:32 +0000
Subject: [PATCH 03/15] gnu: aws-c-event-stream: Fix comment formatting.

* gnu/packages/c.scm (aws-c-event-stream): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index cfe707d5ad..c1a028b653 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -639,7 +639,7 @@ (define-public aws-checksums
 (define-public aws-c-event-stream
   (package
     (name "aws-c-event-stream")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.2.7")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From 4050b0bb6f98aef8280a508d00119046713a4e2f Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:19:23 +0000
Subject: [PATCH 05/15] gnu: aws-c-cal: Fix comment formatting.

* gnu/packages/c.scm (aws-c-cal): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 8e51af0346..e2e445d3f4 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -700,7 +700,7 @@ (define-public aws-c-io
 (define-public aws-c-cal
   (package
     (name "aws-c-cal")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.5.17")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From 3ccf58ea2800e2bea20aa8704289ea76329707c8 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:18:02 +0000
Subject: [PATCH 02/15] gnu: aws-checksums: Fix comment formatting.

* gnu/packages/c.scm (aws-checksums): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 499ffa8a5e..cfe707d5ad 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -610,7 +610,7 @@ (define-public aws-c-common
 (define-public aws-checksums
   (package
     (name "aws-checksums")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.1.12")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From 840cc08ae3f2955b4869a065541b7c80d5665882 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:17:27 +0000
Subject: [PATCH 01/15] gnu: aws-c-common: Only support i686 and x86_64.

* gnu/packages/c.scm (aws-c-common):
[supported-systems]: Only support i686-linux and x86_64-linux.
---
 gnu/packages/c.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 3450037c74..499ffa8a5e 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -584,7 +584,7 @@ (define-public unifdef
 (define-public aws-c-common
   (package
     (name "aws-c-common")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.6.20")
     (source (origin
               (method git-fetch)
@@ -600,6 +600,7 @@ (define-public aws-c-common
      '(#:configure-flags
        '("-DBUILD_SHARED_LIBS=ON")))
     (synopsis "Amazon Web Services core C library")
+    (supported-systems '("i686-linux" "x86_64-linux"))
     (description
      "This library provides common C99 primitives, configuration, data
  structures, and error handling for the @acronym{AWS,Amazon Web Services} SDK.")
-- 
2.36.0

From 9a15e7ebc43b363d45c8c4833d2e483b82503ee7 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:18:59 +0000
Subject: [PATCH 04/15] gnu: aws-c-io: Fix comment formatting.

* gnu/packages/c.scm (aws-c-io): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index c1a028b653..8e51af0346 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -671,7 +671,7 @@ (define-public aws-c-event-stream
 (define-public aws-c-io
   (package
     (name "aws-c-io")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.10.20")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From 7577bb5f3af5a5405a04996a15d99f4704eea771 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:19:45 +0000
Subject: [PATCH 06/15] gnu: aws-c-sdkutils: Fix comment formatting.

* gnu/packages/c.scm (aws-c-sdkutils): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index e2e445d3f4..3beb1dc2ec 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -731,7 +731,7 @@ (define-public aws-c-cal
 (define-public aws-c-sdkutils
   (package
     (name "aws-c-sdkutils")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.1.2")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From 1d79f726a8387366c0c8a99d5264d5a5ec335866 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:20:36 +0000
Subject: [PATCH 08/15] gnu: aws-c-compression: Fix comment formatting.

* gnu/packages/c.scm (aws-c-compression): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 341fb61218..91f4b95960 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -808,7 +808,7 @@ (define-public aws-c-http
 (define-public aws-c-compression
   (package
     (name "aws-c-compression")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.2.14")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From dd282feb101ddef606f34f1d98c61964163c9013 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:20:56 +0000
Subject: [PATCH 09/15] gnu: aws-c-auth: Fix comment formatting.

* gnu/packages/c.scm (aws-c-auth): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 91f4b95960..ba269440f2 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -837,7 +837,7 @@ (define-public aws-c-compression
 (define-public aws-c-auth
   (package
     (name "aws-c-auth")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.6.11")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From 287a3dbc30fbac4dc5388b1cd70a282093fbb0d7 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:20:11 +0000
Subject: [PATCH 07/15] gnu: aws-c-http: Fix comment formatting.

* gnu/packages/c.scm (aws-c-http): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 3beb1dc2ec..341fb61218 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -778,7 +778,7 @@ (define-public pcl
 (define-public aws-c-http
   (package
     (name "aws-c-http")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.6.13")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From 374588e4483ea36e965e4cb6628a3b806541f8c9 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:21:18 +0000
Subject: [PATCH 10/15] gnu: aws-c-s3: Fix comment formatting.

* gnu/packages/c.scm (aws-c-s3): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index ba269440f2..405b1dcba1 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -870,7 +870,7 @@ (define-public aws-c-auth
 (define-public aws-c-s3
   (package
     (name "aws-c-s3")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.1.38")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From a529805c789ddd10485397b5a757a9babeb77ca5 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:22:01 +0000
Subject: [PATCH 12/15] gnu: aws-crt-cpp: Fix comment formatting.

* gnu/packages/cpp.scm (aws-crt-cpp): Fix comment formatting.
---
 gnu/packages/cpp.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 645fa8e47c..ea19f2fd8e 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1164,9 +1164,9 @@ (define-public poco
 (define-public aws-crt-cpp
   (package
     (name "aws-crt-cpp")
-    ; Update only when updating aws-sdk-cpp, and when updating also update
-    ; versions of library dependencies linked from from
-    ; https://github.com/awslabs/aws-crt-cpp/tree/{aws-crt-cpp commit}/crt
+    ;; Update only when updating aws-sdk-cpp, and when updating also update
+    ;; versions of library dependencies linked from from
+    ;; https://github.com/awslabs/aws-crt-cpp/tree/{aws-crt-cpp commit}/crt
     (version "0.17.27")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From 0670062fd9cebb8dcd2163c61362039c98cc26f7 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:21:39 +0000
Subject: [PATCH 11/15] gnu: aws-c-mqtt: Fix comment formatting.

* gnu/packages/c.scm (aws-c-mqtt): Fix comment formatting.
---
 gnu/packages/c.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 405b1dcba1..fff7b166f6 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -900,7 +900,7 @@ (define-public aws-c-s3
 (define-public aws-c-mqtt
   (package
     (name "aws-c-mqtt")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "0.7.10")
     (source (origin
               (method git-fetch)
-- 
2.36.0

From 866dd21dc337a5474d5bb69986a3c1318543e7ce Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:28:04 +0000
Subject: [PATCH 13/15] gnu: aws-lc: Fix checksum and enable tests.

* gnu/packages/tls.scm (aws-lc):
[source]: Fix checksum.
[arguments]: Enable tests.
---
 gnu/packages/tls.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 1a19f51ccc..54921fdc86 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2021 Maxime Devos <[email-masked]>
 ;;; Copyright © 2021 Matthew James Kraai <[email-masked]>
 ;;; Copyright © 2021 John Kehayias <[email-masked]>
+;;; Copyright © 2022 Greg Hogan <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1192,7 +1193,7 @@ (define-public wolfssl
 (define-public aws-lc
   (package
     (name "aws-lc")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "1.0.2")
     (source (origin
               (method git-fetch)
@@ -1202,10 +1203,10 @@ (define-public aws-lc
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "14dhdddlph36nshdkh0v43718hxjx5vxqxmkw7707393q0qrgipw"))))
+                "16y4iy2rqrmb7b1c394wyq7a5vbjb41599524my6b6q1vk1pi307"))))
     (build-system cmake-build-system)
     (arguments
-     '(#:tests? #f ; re-enable but with go and perl dependencies
+     '(#:test-target "run_minimal_tests"
        #:configure-flags
        '("-DBUILD_SHARED_LIBS=ON")))
     (synopsis "General purpose cryptographic library")
-- 
2.36.0

From 454502d087661333292b31f17462e374a7af7fbf Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 19:38:53 +0000
Subject: [PATCH 15/15] gnu: aws-sdk-cpp: Remove openssl input.

* gnu/packages/cpp.scm (aws-sdk-cpp):
[inputs]: Remove openssl.
---
 gnu/packages/cpp.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index ea19f2fd8e..fafa55c3cd 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1227,7 +1227,7 @@ (define-public aws-sdk-cpp
     (propagated-inputs
      (list aws-crt-cpp))
     (inputs
-     (list curl openssl pulseaudio zlib))
+     (list curl pulseaudio zlib))
     (synopsis "Amazon Web Services SDK for C++")
     (description
      "The AWS SDK for C++ provides a C++11 interface to the @acronym{AWS,Amazon
-- 
2.36.0

From ba8787cbad254edb933bd40d2d23a0175921555c Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Fri, 22 Apr 2022 17:28:17 +0000
Subject: [PATCH 14/15] gnu: s2n: Link to aws-lc as libcrypto dependency.

* gnu/packages/tls.scm (s2n):
[arguments]: Fix for openssl as replacement input for aws-lc.
[propagated-inputs]: Add aws-lc and remove openssl.
[supported-systems]: Only support x86_64-linux.
---
 gnu/packages/tls.scm | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 54921fdc86..84ed0caa5d 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -1130,7 +1130,7 @@ (define-public go-github-com-certifi-gocertifi
 (define-public s2n
   (package
     (name "s2n")
-    ; Update only when updating aws-crt-cpp.
+    ;; Update only when updating aws-crt-cpp.
     (version "1.3.10")
     (source (origin
               (method git-fetch)
@@ -1144,10 +1144,13 @@ (define-public s2n
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
-       '("-DBUILD_SHARED_LIBS=ON")))
-    (propagated-inputs
-     `(("openssl" ,openssl)
-       ("openssl:static" ,openssl "static")))
+       '("-DBUILD_SHARED_LIBS=ON"
+         ;; Remove in next update; see https://github.com/aws/s2n-tls/pull/3108
+         ;; Building with 'Werror' results in compilation error (even building
+         ;; with gcc) when replacing the aws-lc input with openssl.
+         "-DUNSAFE_TREAT_WARNINGS_AS_ERRORS=OFF")))
+    (propagated-inputs (list aws-lc))
+    (supported-systems '("x86_64-linux"))
     (synopsis "SSL/TLS implementation in C99")
     (description
      "This library provides a C99 implementation of SSL/TLS.  It is designed to
-- 
2.36.0