From b3c1c37d743f55c716727a3efe9067654b9687f5 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Fri, 30 Apr 2021 14:02:11 +0000 Subject: gnu: Add aws-c-s3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- gnu/local.mk | 2 + gnu/packages/c.scm | 31 +++++ gnu/packages/patches/aws-c-s3-cmake-prefix.patch | 13 ++ .../aws-c-s3-disable-networking-tests.patch | 153 +++++++++++++++++++++ 4 files changed, 199 insertions(+) create mode 100644 gnu/packages/patches/aws-c-s3-cmake-prefix.patch create mode 100644 gnu/packages/patches/aws-c-s3-disable-networking-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 118b92474f..4226618768 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index f2ea6ccda4..cd31c97285 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -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))) diff --git a/gnu/packages/patches/aws-c-s3-cmake-prefix.patch b/gnu/packages/patches/aws-c-s3-cmake-prefix.patch new file mode 100644 index 0000000000..da3e4eb4a5 --- /dev/null +++ b/gnu/packages/patches/aws-c-s3-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-s3-disable-networking-tests.patch b/gnu/packages/patches/aws-c-s3-disable-networking-tests.patch new file mode 100644 index 0000000000..e8a3d8ed6a --- /dev/null +++ b/gnu/packages/patches/aws-c-s3-disable-networking-tests.patch @@ -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) -- cgit v1.2.3