gnu: Add aws-c-s3.

* gnu/packages/c.scm (aws-c-s3): New variable.
* gnu/packages/patches/aws-c-s3-cmake-prefix.patch,
gnu/packages/patches/aws-c-s3-disable-networking-tests.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Greg Hogan 2021-04-30 14:02:11 +00:00 committed by Ludovic Courtès
parent 1f1bb634c3
commit b3c1c37d74
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
4 changed files with 199 additions and 0 deletions

View File

@ -878,6 +878,8 @@ dist_patch_DATA = \
%D%/packages/patches/aws-c-http-disable-networking-tests.patch\
%D%/packages/patches/aws-c-io-cmake-prefix.patch \
%D%/packages/patches/aws-c-io-disable-networking-tests.patch \
%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/azr3.patch \
%D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \

View File

@ -803,3 +803,34 @@ currently limited to Huffman encoding and decoding.")
authentication.")
(home-page "https://github.com/awslabs/aws-c-auth")
(license license:asl2.0)))
(define-public aws-c-s3
(package
(name "aws-c-s3")
(version "0.1.19")
(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
"1vkjd8dh99d8qsl7irnbkcdf9vjmcznx0jz186la0472z4h48wjj"))
(patches
(search-patches
"aws-c-s3-cmake-prefix.patch"
"aws-c-s3-disable-networking-tests.patch"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
'("-DBUILD_SHARED_LIBS=ON")))
(propagated-inputs
`(("aws-c-auth" ,aws-c-auth)
("aws-c-http" ,aws-c-http)))
(synopsis "Amazon Web Services client library for Amazon S3")
(description
"This library provides a C99 client implementation of the Simple Storage
Service (S3) protocol for object storage.")
(home-page "https://github.com/awslabs/aws-c-s3")
(license license:asl2.0)))

View File

@ -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()

View File

@ -0,0 +1,153 @@
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -23,8 +23,8 @@ add_test_case(test_s3_upload_part_message_new)
add_test_case(test_s3_complete_multipart_message_new)
add_test_case(test_s3_abort_multipart_upload_message_new)
-add_net_test_case(test_s3_client_create_destroy)
-add_net_test_case(test_s3_client_max_active_connections_override)
+#add_net_test_case(test_s3_client_create_destroy)
+#add_net_test_case(test_s3_client_max_active_connections_override)
add_test_case(test_s3_client_get_max_active_connections)
add_test_case(test_s3_request_create_destroy)
add_test_case(test_s3_client_queue_requests)
@@ -37,75 +37,75 @@ add_test_case(test_s3_client_update_connections_too_many_conns)
add_test_case(test_s3_client_update_connections_finish_result)
add_test_case(test_s3_client_update_connections_clean_up)
-add_net_test_case(test_s3_vip_create_destroy)
-add_net_test_case(test_s3_client_add_remove_vips)
-add_net_test_case(test_s3_client_resolve_vips)
+#add_net_test_case(test_s3_vip_create_destroy)
+#add_net_test_case(test_s3_client_add_remove_vips)
+#add_net_test_case(test_s3_client_resolve_vips)
add_test_case(test_s3_client_set_vip_connection_warm)
add_test_case(test_s3_client_set_vip_connection_active)
-add_net_test_case(test_s3_client_exceed_retries)
-add_net_test_case(test_s3_client_acquire_connection_fail)
-add_net_test_case(test_s3_meta_request_fail_prepare_request)
-add_net_test_case(test_s3_meta_request_sign_request_fail)
-add_net_test_case(test_s3_meta_request_send_request_finish_fail)
-add_net_test_case(test_s3_auto_range_put_missing_upload_id)
+#add_net_test_case(test_s3_client_exceed_retries)
+#add_net_test_case(test_s3_client_acquire_connection_fail)
+#add_net_test_case(test_s3_meta_request_fail_prepare_request)
+#add_net_test_case(test_s3_meta_request_sign_request_fail)
+#add_net_test_case(test_s3_meta_request_send_request_finish_fail)
+#add_net_test_case(test_s3_auto_range_put_missing_upload_id)
-add_net_test_case(test_s3_cancel_mpu_create_not_sent)
-add_net_test_case(test_s3_cancel_mpu_create_completed)
-add_net_test_case(test_s3_cancel_mpu_one_part_completed)
-add_net_test_case(test_s3_cancel_mpu_all_parts_completed)
-add_net_test_case(test_s3_cancel_mpd_nothing_sent)
-add_net_test_case(test_s3_cancel_mpd_one_part_sent)
-add_net_test_case(test_s3_cancel_mpd_one_part_completed)
-add_net_test_case(test_s3_cancel_mpd_two_parts_completed)
-add_net_test_case(test_s3_cancel_mpd_head_object_sent)
-add_net_test_case(test_s3_cancel_mpd_head_object_completed)
-add_net_test_case(test_s3_cancel_mpd_get_without_range_sent)
-add_net_test_case(test_s3_cancel_mpd_get_without_range_completed)
+#add_net_test_case(test_s3_cancel_mpu_create_not_sent)
+#add_net_test_case(test_s3_cancel_mpu_create_completed)
+#add_net_test_case(test_s3_cancel_mpu_one_part_completed)
+#add_net_test_case(test_s3_cancel_mpu_all_parts_completed)
+#add_net_test_case(test_s3_cancel_mpd_nothing_sent)
+#add_net_test_case(test_s3_cancel_mpd_one_part_sent)
+#add_net_test_case(test_s3_cancel_mpd_one_part_completed)
+#add_net_test_case(test_s3_cancel_mpd_two_parts_completed)
+#add_net_test_case(test_s3_cancel_mpd_head_object_sent)
+#add_net_test_case(test_s3_cancel_mpd_head_object_completed)
+#add_net_test_case(test_s3_cancel_mpd_get_without_range_sent)
+#add_net_test_case(test_s3_cancel_mpd_get_without_range_completed)
-add_net_test_case(test_s3_get_object_tls_disabled)
-add_net_test_case(test_s3_get_object_tls_enabled)
-add_net_test_case(test_s3_get_object_tls_default)
-add_net_test_case(test_s3_get_object_less_than_part_size)
-add_net_test_case(test_s3_get_object_empty_object)
-add_net_test_case(test_s3_get_object_multiple)
-add_net_test_case(test_s3_get_object_sse_kms)
-add_net_test_case(test_s3_get_object_sse_aes256)
-add_net_test_case(test_s3_no_signing)
-add_net_test_case(test_s3_signing_override)
-add_net_test_case(test_s3_put_object_tls_disabled)
-add_net_test_case(test_s3_put_object_tls_enabled)
-add_net_test_case(test_s3_put_object_tls_default)
-add_net_test_case(test_s3_multipart_put_object_with_acl)
-add_net_test_case(test_s3_put_object_multiple)
-add_net_test_case(test_s3_put_object_less_than_part_size)
-add_net_test_case(test_s3_put_object_empty_object)
-add_net_test_case(test_s3_put_object_with_part_remainder)
-add_net_test_case(test_s3_put_object_sse_kms)
-add_net_test_case(test_s3_put_object_sse_kms_multipart)
-add_net_test_case(test_s3_put_object_sse_aes256)
-add_net_test_case(test_s3_put_object_sse_aes256_multipart)
-add_net_test_case(test_s3_put_object_double_slashes)
-add_net_test_case(test_s3_meta_request_default)
-add_net_test_case(test_s3_put_object_fail_headers_callback)
-add_net_test_case(test_s3_put_object_fail_body_callback)
-add_net_test_case(test_s3_get_object_fail_headers_callback)
-add_net_test_case(test_s3_get_object_fail_body_callback)
-add_net_test_case(test_s3_default_fail_headers_callback)
-add_net_test_case(test_s3_default_fail_body_callback)
-add_net_test_case(test_s3_error_missing_file)
-add_net_test_case(test_s3_existing_host_entry)
-add_net_test_case(test_s3_put_fail_object_invalid_request)
-add_net_test_case(test_s3_put_fail_object_inputstream_fail_reading)
-add_net_test_case(test_s3_put_single_part_fail_object_inputstream_fail_reading)
-add_net_test_case(test_s3_bad_endpoint)
-add_net_test_case(test_s3_put_object_clamp_part_size)
-add_net_test_case(test_s3_different_endpoints)
-add_net_test_case(test_s3_auto_ranged_get_sending_user_agent)
-add_net_test_case(test_s3_auto_ranged_put_sending_user_agent)
-add_net_test_case(test_s3_default_sending_meta_request_user_agent)
-add_net_test_case(test_s3_range_requests)
-add_net_test_case(test_s3_not_satisfiable_range)
+#add_net_test_case(test_s3_get_object_tls_disabled)
+#add_net_test_case(test_s3_get_object_tls_enabled)
+#add_net_test_case(test_s3_get_object_tls_default)
+#add_net_test_case(test_s3_get_object_less_than_part_size)
+#add_net_test_case(test_s3_get_object_empty_object)
+#add_net_test_case(test_s3_get_object_multiple)
+#add_net_test_case(test_s3_get_object_sse_kms)
+#add_net_test_case(test_s3_get_object_sse_aes256)
+#add_net_test_case(test_s3_no_signing)
+#add_net_test_case(test_s3_signing_override)
+#add_net_test_case(test_s3_put_object_tls_disabled)
+#add_net_test_case(test_s3_put_object_tls_enabled)
+#add_net_test_case(test_s3_put_object_tls_default)
+#add_net_test_case(test_s3_multipart_put_object_with_acl)
+#add_net_test_case(test_s3_put_object_multiple)
+#add_net_test_case(test_s3_put_object_less_than_part_size)
+#add_net_test_case(test_s3_put_object_empty_object)
+#add_net_test_case(test_s3_put_object_with_part_remainder)
+#add_net_test_case(test_s3_put_object_sse_kms)
+#add_net_test_case(test_s3_put_object_sse_kms_multipart)
+#add_net_test_case(test_s3_put_object_sse_aes256)
+#add_net_test_case(test_s3_put_object_sse_aes256_multipart)
+#add_net_test_case(test_s3_put_object_double_slashes)
+#add_net_test_case(test_s3_meta_request_default)
+#add_net_test_case(test_s3_put_object_fail_headers_callback)
+#add_net_test_case(test_s3_put_object_fail_body_callback)
+#add_net_test_case(test_s3_get_object_fail_headers_callback)
+#add_net_test_case(test_s3_get_object_fail_body_callback)
+#add_net_test_case(test_s3_default_fail_headers_callback)
+#add_net_test_case(test_s3_default_fail_body_callback)
+#add_net_test_case(test_s3_error_missing_file)
+#add_net_test_case(test_s3_existing_host_entry)
+#add_net_test_case(test_s3_put_fail_object_invalid_request)
+#add_net_test_case(test_s3_put_fail_object_inputstream_fail_reading)
+#add_net_test_case(test_s3_put_single_part_fail_object_inputstream_fail_reading)
+#add_net_test_case(test_s3_bad_endpoint)
+#add_net_test_case(test_s3_put_object_clamp_part_size)
+#add_net_test_case(test_s3_different_endpoints)
+#add_net_test_case(test_s3_auto_ranged_get_sending_user_agent)
+#add_net_test_case(test_s3_auto_ranged_put_sending_user_agent)
+#add_net_test_case(test_s3_default_sending_meta_request_user_agent)
+#add_net_test_case(test_s3_range_requests)
+#add_net_test_case(test_s3_not_satisfiable_range)
add_test_case(test_s3_replace_quote_entities)
add_test_case(test_s3_parse_content_range_response_header)