Skip to content

Commit

Permalink
Merge pull request #59888 from joachifm/aws-sams-cli-backport
Browse files Browse the repository at this point in the history
[release-19.03] Backport aws-sam-cli
  • Loading branch information
worldofpeace committed Apr 20, 2019
2 parents 2cef812 + dd1d40b commit b807bc8
Show file tree
Hide file tree
Showing 7 changed files with 184 additions and 15 deletions.
5 changes: 5 additions & 0 deletions maintainers/maintainer-list.nix
Expand Up @@ -1195,6 +1195,11 @@
github = "dgonyeo";
name = "Derek Gonyeo";
};
dhkl = {
email = "david@davidslab.com";
github = "dhl";
name = "David Leung";
};
dipinhora = {
email = "dipinhora+github@gmail.com";
github = "dipinhora";
Expand Down
51 changes: 51 additions & 0 deletions pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -0,0 +1,51 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, six
, pytest
, mock
, parameterized
, isPy35
}:

buildPythonPackage rec {
pname = "aws-lambda-builders";
version = "0.2.1";

# No tests available in PyPI tarball
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-lambda-builders";
rev = "v${version}";
sha256 = "1pbi6572q1nqs2wd7jx9d5vgf3rqdsqlaz4v8fqvl23wfb2c4vpd";
};

# Package is not compatible with Python 3.5
disabled = isPy35;

propagatedBuildInputs = [
six
];

checkInputs = [
pytest
mock
parameterized
];

checkPhase = ''
export PATH=$out/bin:$PATH
pytest tests/functional
'';

meta = with lib; {
homepage = https://github.com/awslabs/aws-lambda-builders;
description = "A tool to compile, build and package AWS Lambda functions";
longDescription = ''
Lambda Builders is a Python library to compile, build and package
AWS Lambda functions for several runtimes & frameworks.
'';
license = licenses.asl20;
maintainers = with maintainers; [ dhkl ];
};
}
Expand Up @@ -10,11 +10,11 @@

buildPythonPackage rec {
pname = "aws-sam-translator";
version = "1.9.1";
version = "1.10.0";

src = fetchPypi {
inherit pname version;
sha256 = "1008d149599d5d629b0c7bdfaa249d59eaab6d194faf5f0f941fa7209e68e6f2";
sha256 = "0axr4598b1h9kyb5mv104cpn5q667s0g1wkkbqzj66vrqsaa07qf";
};

# Tests are not included in the PyPI package
Expand Down
29 changes: 29 additions & 0 deletions pkgs/development/python-modules/chevron/default.nix
@@ -0,0 +1,29 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, python
}:

buildPythonPackage rec {
pname = "chevron";
version = "0.13.1";

# No tests available in the PyPI tarball
src = fetchFromGitHub {
owner = "noahmorrison";
repo = "chevron";
rev = "0.13.1";
sha256 = "0l1ik8dvi6bgyb3ym0w4ii9dh25nzy0x4yawf4zbcyvvcb6af470";
};

checkPhase = ''
${python.interpreter} test_spec.py
'';

meta = with lib; {
homepage = https://github.com/noahmorrison/chevron;
description = "A python implementation of the mustache templating language";
license = licenses.mit;
maintainers = with maintainers; [ dhkl ];
};
}
42 changes: 42 additions & 0 deletions pkgs/development/python-modules/serverlessrepo/default.nix
@@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytest
, boto3
, six
, pyyaml
, mock
}:

buildPythonPackage rec {
pname = "serverlessrepo";
version = "0.1.8";

src = fetchPypi {
inherit pname version;
sha256 = "533389d41a51450e50cc01405ab766550170149c08e1c85b3a1559b0fab4cb25";
};

propagatedBuildInputs = [
six
boto3
pyyaml
];

checkInputs = [ pytest mock ];

checkPhase = ''
pytest tests/unit
'';

meta = with lib; {
homepage = https://github.com/awslabs/aws-serverlessrepo-python;
description = "Helpers for working with the AWS Serverless Application Repository";
longDescription = ''
A Python library with convenience helpers for working with the
AWS Serverless Application Repository.
'';
license = lib.licenses.asl20;
maintainers = with maintainers; [ dhkl ];
};
}
62 changes: 49 additions & 13 deletions pkgs/development/tools/aws-sam-cli/default.nix
Expand Up @@ -2,43 +2,79 @@
, python
}:

with python.pkgs;
let
py = python.override {
packageOverrides = self: super: {
click = super.click.overridePythonAttrs (oldAttrs: rec {
version = "6.7";
src = oldAttrs.src.override {
inherit version;
sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b";
};
});

requests = super.requests.overridePythonAttrs (oldAttrs: rec {
version = "2.20.1";
src = oldAttrs.src.override {
inherit version;
sha256 = "ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263";
};
});

idna = super.idna.overridePythonAttrs (oldAttrs: rec {
version = "2.7";
src = oldAttrs.src.override {
inherit version;
sha256 = "684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16";
};
});

six = super.six.overridePythonAttrs (oldAttrs: rec {
version = "1.11";
src = oldAttrs.src.override {
inherit version;
sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9";
};
});
};
};

in

with py.pkgs;

buildPythonApplication rec {
pname = "aws-sam-cli";
version = "0.5.0";
version = "0.14.2";

src = fetchPypi {
inherit pname version;
sha256 = "2acf9517f467950adb4939746658091e60cf60ee80093ffd0d3d821cb8a1f9fc";
sha256 = "b7f80838d57c1096a9a03ed703a91a8a5775a6ead33df8f31765ecf39b3a956f";
};

# Tests are not included in the PyPI package
doCheck = false;

propagatedBuildInputs = [
aws-lambda-builders
aws-sam-translator
boto3
chevron
click
cookiecutter
dateparser
docker
enum34
flask
python-dateutil
pyyaml
idna
pathlib2
requests
serverlessrepo
six
];

postPatch = ''
substituteInPlace ./requirements/base.txt \
--replace 'aws-sam-translator==1.6.0' 'aws-sam-translator>=1.6.0';
'';

meta = with lib; {
homepage = https://github.com/awslabs/aws-sam-cli;
description = "CLI tool for local development and testing of Serverless applications";
license = licenses.asl20;
maintainers = with maintainers; [ andreabedini ];
maintainers = with maintainers; [ andreabedini dhkl ];
};
}
6 changes: 6 additions & 0 deletions pkgs/top-level/python-packages.nix
Expand Up @@ -1028,6 +1028,8 @@ in {

avro3k = callPackage ../development/python-modules/avro3k {};

aws-lambda-builders = callPackage ../development/python-modules/aws-lambda-builders { };

python-slugify = callPackage ../development/python-modules/python-slugify { };

awesome-slugify = callPackage ../development/python-modules/awesome-slugify {};
Expand Down Expand Up @@ -1133,6 +1135,8 @@ in {

cheroot = callPackage ../development/python-modules/cheroot {};

chevron = callPackage ../development/python-modules/chevron {};

cli-helpers = callPackage ../development/python-modules/cli-helpers {};

cmarkgfm = callPackage ../development/python-modules/cmarkgfm { };
Expand Down Expand Up @@ -4126,6 +4130,8 @@ in {

setuptools_scm = callPackage ../development/python-modules/setuptools_scm { };

serverlessrepo = callPackage ../development/python-modules/serverlessrepo { };

shippai = callPackage ../development/python-modules/shippai {};

simanneal = callPackage ../development/python-modules/simanneal { };
Expand Down

0 comments on commit b807bc8

Please sign in to comment.