summary refs log tree commit diff
path: root/pkgs/development/perl-modules
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-26 15:36:52 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-26 17:35:53 +0200
commit6776882b302dd7a58f14cf3e5451e9bb7d302c47 (patch)
treee9650a2b1f5dcc09b46aca2640af7ad6d1ae2f30 /pkgs/development/perl-modules
parent28f03219d5b7ab52e56fea08933bcd1fc56b0327 (diff)
downloadnixlib-6776882b302dd7a58f14cf3e5451e9bb7d302c47.tar
nixlib-6776882b302dd7a58f14cf3e5451e9bb7d302c47.tar.gz
nixlib-6776882b302dd7a58f14cf3e5451e9bb7d302c47.tar.bz2
nixlib-6776882b302dd7a58f14cf3e5451e9bb7d302c47.tar.lz
nixlib-6776882b302dd7a58f14cf3e5451e9bb7d302c47.tar.xz
nixlib-6776882b302dd7a58f14cf3e5451e9bb7d302c47.tar.zst
nixlib-6776882b302dd7a58f14cf3e5451e9bb7d302c47.zip
Net::Amazon::S3: 0.60 -> 0.80
Diffstat (limited to 'pkgs/development/perl-modules')
-rw-r--r--pkgs/development/perl-modules/net-amazon-s3-credentials-provider.patch291
-rw-r--r--pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch25
2 files changed, 0 insertions, 316 deletions
diff --git a/pkgs/development/perl-modules/net-amazon-s3-credentials-provider.patch b/pkgs/development/perl-modules/net-amazon-s3-credentials-provider.patch
deleted file mode 100644
index e24c44d7e159..000000000000
--- a/pkgs/development/perl-modules/net-amazon-s3-credentials-provider.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-commit 4afa16864ac8ae23a450abf95db023b0c8bea698
-Author: Shea Levy <shea@shealevy.com>
-Date:   Thu Aug 29 07:09:34 2013 -0400
-
-    Use CredentialsProviders à la the Java API
-    
-    Signed-off-by: Shea Levy <shea@shealevy.com>
-
-diff --git a/lib/Net/Amazon/Auth/CredentialsProvider.pm b/lib/Net/Amazon/Auth/CredentialsProvider.pm
-new file mode 100755
-index 0000000..527acae
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/CredentialsProvider.pm
-@@ -0,0 +1,9 @@
-+package Net::Amazon::Auth::CredentialsProvider;
-+
-+use Moose::Role 0.85;
-+
-+requires 'get_credentials';
-+
-+sub refresh { }
-+
-+1;
-diff --git a/lib/Net/Amazon/Auth/CredentialsProviderChain.pm b/lib/Net/Amazon/Auth/CredentialsProviderChain.pm
-new file mode 100755
-index 0000000..85cd8e0
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/CredentialsProviderChain.pm
-@@ -0,0 +1,41 @@
-+package Net::Amazon::Auth::CredentialsProviderChain;
-+
-+use Moose 0.85;
-+use MooseX::StrictConstructor 0.16;
-+use Net::Amazon::Auth::EnvironmentVariableCredentialsProvider;
-+use Net::Amazon::Auth::InstanceProfileCredentialsProvider;
-+
-+with 'Net::Amazon::Auth::CredentialsProvider';
-+
-+has 'providers' => ( is => 'ro', isa => 'ArrayRef[Net::Amazon::Auth::CredentialsProvider]', required => 1 );
-+
-+sub refresh {
-+    my $self = shift;
-+
-+    map { $_->refresh } @{$self->providers};
-+}
-+
-+sub get_credentials {
-+    my $self = shift;
-+
-+    foreach my $provider (@{$self->providers}) {
-+        my $res = $provider->get_credentials;
-+        if (defined $res->{access_key_id}) {
-+            return $res;
-+        }
-+    }
-+
-+    return {};
-+}
-+
-+sub default_chain {
-+    my $class = shift;
-+    return $class->new(providers => [
-+            Net::Amazon::Auth::EnvironmentVariableCredentialsProvider->new,
-+            Net::Amazon::Auth::InstanceProfileCredentialsProvider->new
-+        ]);
-+}
-+
-+__PACKAGE__->meta->make_immutable;
-+
-+1;
-diff --git a/lib/Net/Amazon/Auth/EnvironmentVariableCredentialsProvider.pm b/lib/Net/Amazon/Auth/EnvironmentVariableCredentialsProvider.pm
-new file mode 100755
-index 0000000..ac38a84
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/EnvironmentVariableCredentialsProvider.pm
-@@ -0,0 +1,26 @@
-+package Net::Amazon::Auth::EnvironmentVariableCredentialsProvider;
-+
-+use Moose 0.85;
-+use MooseX::StrictConstructor 0.16;
-+
-+extends 'Net::Amazon::Auth::FixedCredentialsProvider';
-+
-+around BUILDARGS => sub {
-+    my $orig = shift;
-+    my $class = shift;
-+
-+    my %args = (
-+        access_key_id => $ENV{AWS_ACCESS_KEY_ID},
-+        secret_access_key => $ENV{AWS_SECRET_ACCESS_KEY}
-+    );
-+
-+    if (exists $ENV{AWS_SESSION_TOKEN}) {
-+        $args{session_token} = $ENV{AWS_SESSION_TOKEN};
-+    }
-+
-+    return $class->$orig(\%args);
-+};
-+
-+__PACKAGE__->meta->make_immutable;
-+
-+1;
-diff --git a/lib/Net/Amazon/Auth/FixedCredentialsProvider.pm b/lib/Net/Amazon/Auth/FixedCredentialsProvider.pm
-new file mode 100755
-index 0000000..21d56c7
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/FixedCredentialsProvider.pm
-@@ -0,0 +1,23 @@
-+package Net::Amazon::Auth::FixedCredentialsProvider;
-+
-+use Moose 0.85;
-+use MooseX::StrictConstructor 0.16;
-+
-+with 'Net::Amazon::Auth::CredentialsProvider';
-+
-+has 'access_key_id'     => ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
-+has 'secret_access_key' => ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
-+has 'session_token' => ( is => 'ro', isa => 'Maybe[Str]', required => 0 );
-+
-+sub get_credentials {
-+    my $self = shift;
-+    return {
-+        access_key_id => $self->access_key_id,
-+        secret_access_key => $self->secret_access_key,
-+        session_token => $self->session_token
-+    };
-+}
-+
-+__PACKAGE__->meta->make_immutable;
-+
-+1;
-diff --git a/lib/Net/Amazon/Auth/InstanceProfileCredentialsProvider.pm b/lib/Net/Amazon/Auth/InstanceProfileCredentialsProvider.pm
-new file mode 100755
-index 0000000..b9f826a
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/InstanceProfileCredentialsProvider.pm
-@@ -0,0 +1,57 @@
-+package Net::Amazon::Auth::InstanceProfileCredentialsProvider;
-+
-+use Moose 0.85;
-+use MooseX::StrictConstructor 0.16;
-+use HTTP::Date;
-+use JSON;
-+
-+with 'Net::Amazon::Auth::CredentialsProvider';
-+
-+has '_ua' => ( is => 'rw', isa => 'LWP::UserAgent', required => 0 );
-+has '_access_key_id'     => ( is => 'rw', isa => 'Str', required => 0 );
-+has '_secret_access_key' => ( is => 'rw', isa => 'Str', required => 0 );
-+has '_session_token' => ( is => 'rw', isa => 'Str', required => 0 );
-+has '_expiration_date' => ( is => 'rw', isa => 'Int', required => 0, default => 0 );
-+
-+sub BUILD {
-+    my $self = shift;
-+    my $ua = LWP::UserAgent->new;
-+    $ua->timeout(10);
-+    $self->_ua($ua);
-+}
-+
-+sub refresh {
-+    my $self = shift;
-+
-+    my $role_name_response =
-+        $self->_ua->get("http://169.254.169.254/latest/meta-data/iam/security-credentials/");
-+    if ($role_name_response->code == 200) {
-+        my $credentials_response = $self->_ua->get("http://169.254.169.254/latest/meta-data/iam/security-credentials/" . $role_name_response->content);
-+
-+        if ($credentials_response->code == 200) {
-+            my $credentials = decode_json($credentials_response->content);
-+            $self->_expiration_date(str2time($credentials->{Expiration}));
-+            $self->_access_key_id($credentials->{AccessKeyId});
-+            $self->_secret_access_key($credentials->{SecretAccessKey});
-+            $self->_session_token($credentials->{Token});
-+        }
-+    }
-+}
-+
-+sub get_credentials {
-+    my $self = shift;
-+
-+    if (time() - $self->_expiration_date > -5 * 60) { #Credentials available 5 minutes before expiry
-+        $self->refresh;
-+    }
-+
-+    return {
-+        access_key_id => $self->_access_key_id,
-+        secret_access_key => $self->_secret_access_key,
-+        session_token => $self->_session_token
-+    };
-+}
-+
-+__PACKAGE__->meta->make_immutable;
-+
-+1;
-diff --git a/lib/Net/Amazon/S3.pm b/lib/Net/Amazon/S3.pm
-index 907113e..a369e4b 100755
---- a/lib/Net/Amazon/S3.pm
-+++ b/lib/Net/Amazon/S3.pm
-@@ -133,9 +133,10 @@ use LWP::UserAgent::Determined;
- use URI::Escape qw(uri_escape_utf8);
- use XML::LibXML;
- use XML::LibXML::XPathContext;
-+use Net::Amazon::Auth::FixedCredentialsProvider;
-+use Net::Amazon::Auth::CredentialsProviderChain;
- 
--has 'aws_access_key_id'     => ( is => 'ro', isa => 'Str', required => 1 );
--has 'aws_secret_access_key' => ( is => 'ro', isa => 'Str', required => 1 );
-+has 'credentials_provider' => ( is => 'ro', isa => 'Net::Amazon::Auth::CredentialsProvider', required => 0, default => sub { return Net::Amazon::Auth::CredentialsProviderChain->default_chain; } );
- has 'secure' => ( is => 'ro', isa => 'Bool', required => 0, default => 0 );
- has 'timeout' => ( is => 'ro', isa => 'Num',  required => 0, default => 30 );
- has 'retry'   => ( is => 'ro', isa => 'Bool', required => 0, default => 0 );
-@@ -144,7 +145,23 @@ has 'libxml' => ( is => 'rw', isa => 'XML::LibXML',    required => 0 );
- has 'ua'     => ( is => 'rw', isa => 'LWP::UserAgent', required => 0 );
- has 'err'    => ( is => 'rw', isa => 'Maybe[Str]',     required => 0 );
- has 'errstr' => ( is => 'rw', isa => 'Maybe[Str]',     required => 0 );
--has 'aws_session_token' => ( is => 'ro', isa => 'Str', required => 0 );
-+
-+around BUILDARGS => sub {
-+    my $orig = shift;
-+    my $class = shift;
-+
-+    my $args = $class->$orig(@_);
-+
-+    if (exists $args->{aws_access_key_id}) {
-+        $args->{credentials_provider} = Net::Amazon::Auth::FixedCredentialsProvider->new({
-+                access_key_id => $args->{aws_access_key_id},
-+                secret_access_key => $args->{aws_secret_access_key},
-+                session_token => $args->{aws_session_token}
-+            });
-+        delete @{$args}{qw(aws_access_key_id aws_secret_access_key aws_session_token)};
-+    }
-+    return $args;
-+};
- 
- __PACKAGE__->meta->make_immutable;
- 
-@@ -223,6 +240,24 @@ sub BUILD {
- 
-     $self->ua($ua);
-     $self->libxml( XML::LibXML->new );
-+
-+    die "No AWS credentials found!" unless defined $self->credentials_provider->get_credentials->{access_key_id};
-+}
-+
-+# Backwards compatibility
-+sub aws_access_key_id {
-+    my $self = shift;
-+    return $self->credentials_provider->get_credentials->{access_key_id};
-+}
-+
-+sub aws_secret_access_key {
-+    my $self = shift;
-+    return $self->credentials_provider->get_credentials->{secret_access_key};
-+}
-+
-+sub aws_session_token {
-+    my $self = shift;
-+    return $self->credentials_provider->get_credentials->{session_token};
- }
- 
- =head2 buckets
-diff --git a/lib/Net/Amazon/S3/HTTPRequest.pm b/lib/Net/Amazon/S3/HTTPRequest.pm
-index 69c6327..d49e95b 100755
---- a/lib/Net/Amazon/S3/HTTPRequest.pm
-+++ b/lib/Net/Amazon/S3/HTTPRequest.pm
-@@ -63,8 +63,9 @@ sub query_string_authentication_uri {
-     my $path    = $self->path;
-     my $headers = $self->headers;
- 
--    my $aws_access_key_id     = $self->s3->aws_access_key_id;
--    my $aws_secret_access_key = $self->s3->aws_secret_access_key;
-+    my $creds = $self->s3->credentials_provider->get_credentials;
-+    my $aws_access_key_id     = $creds->{access_key_id};
-+    my $aws_secret_access_key = $creds->{secret_access_key};
-     my $canonical_string
-         = $self->_canonical_string( $method, $path, $headers, $expires );
-     my $encoded_canonical
-@@ -86,9 +87,10 @@ sub query_string_authentication_uri {
- 
- sub _add_auth_header {
-     my ( $self, $headers, $method, $path ) = @_;
--    my $aws_access_key_id     = $self->s3->aws_access_key_id;
--    my $aws_secret_access_key = $self->s3->aws_secret_access_key;
--    my $aws_session_token     = $self->s3->aws_session_token;
-+    my $creds = $self->s3->credentials_provider->get_credentials;
-+    my $aws_access_key_id     = $creds->{access_key_id};
-+    my $aws_secret_access_key = $creds->{secret_access_key};
-+    my $aws_session_token     = $creds->{session_token};
- 
-     if ( not $headers->header('Date') ) {
-         $headers->header( Date => time2str(time) );
diff --git a/pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch b/pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch
deleted file mode 100644
index 3ac3f4e2a821..000000000000
--- a/pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://github.com/pfig/net-amazon-s3/pull/42
-
-From 116d73235d8243ec4427e6d7bf1f14f7fb9129aa Mon Sep 17 00:00:00 2001
-From: Jay Hannah <jay.hannah@iinteractive.com>
-Date: Thu, 8 May 2014 02:29:14 +0000
-Subject: [PATCH] Patch for current versions of Moose: "Passing a list of
- values to enum is deprecated. Enum values should be wrapped in an arrayref."
-
----
- lib/Net/Amazon/S3/Client/Object.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/Net/Amazon/S3/Client/Object.pm b/lib/Net/Amazon/S3/Client/Object.pm
-index 08e48c6..106f2fd 100755
---- a/lib/Net/Amazon/S3/Client/Object.pm
-+++ b/lib/Net/Amazon/S3/Client/Object.pm
-@@ -16,7 +16,7 @@ enum 'AclShort' =>
-     [ qw(private public-read public-read-write authenticated-read) ];
- 
- enum 'StorageClass' =>
--    qw(standard reduced_redundancy);
-+    [ qw(standard reduced_redundancy) ];
- 
- has 'client' =>
-     ( is => 'ro', isa => 'Net::Amazon::S3::Client', required => 1 );