2017-12-30 11:24:45 +00:00
|
|
|
{ stdenv, buildPythonPackage, fetchPypi, jinja2, werkzeug, flask
|
2018-05-27 22:16:27 +00:00
|
|
|
, requests, pytz, backports_tempfile, cookies, jsondiff, botocore, aws-xray-sdk, docker, responses
|
2017-12-30 11:24:45 +00:00
|
|
|
, six, boto, httpretty, xmltodict, nose, sure, boto3, freezegun, dateutil, mock, pyaml }:
|
2017-09-15 13:15:54 +00:00
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "moto";
|
2018-05-09 14:48:31 +00:00
|
|
|
version = "1.3.3";
|
2017-12-30 11:24:45 +00:00
|
|
|
|
2017-09-15 13:15:54 +00:00
|
|
|
src = fetchPypi {
|
|
|
|
inherit pname version;
|
2018-05-09 14:48:31 +00:00
|
|
|
sha256 = "45d14aca2b06b0083d5e82cfd770ebca0ba77b5070aec6928670240939a78681";
|
2017-09-15 13:15:54 +00:00
|
|
|
};
|
|
|
|
|
2018-04-07 10:25:04 +00:00
|
|
|
postPatch = ''
|
|
|
|
# dateutil upper bound was just to keep compatibility with Python 2.6
|
|
|
|
# see https://github.com/spulec/moto/pull/1519 and https://github.com/boto/botocore/pull/1402
|
|
|
|
# regarding aws-xray-sdk: https://github.com/spulec/moto/commit/31eac49e1555c5345021a252cb0c95043197ea16
|
|
|
|
substituteInPlace setup.py \
|
|
|
|
--replace "python-dateutil<2.7.0" "python-dateutil<3.0.0" \
|
|
|
|
--replace "aws-xray-sdk<0.96," "aws-xray-sdk"
|
|
|
|
'';
|
|
|
|
|
2017-09-15 13:15:54 +00:00
|
|
|
propagatedBuildInputs = [
|
2017-12-30 11:24:45 +00:00
|
|
|
aws-xray-sdk
|
2017-09-15 13:15:54 +00:00
|
|
|
boto
|
2017-12-30 11:24:45 +00:00
|
|
|
boto3
|
2017-09-15 13:15:54 +00:00
|
|
|
dateutil
|
|
|
|
flask
|
|
|
|
httpretty
|
|
|
|
jinja2
|
|
|
|
pytz
|
|
|
|
werkzeug
|
|
|
|
requests
|
|
|
|
six
|
|
|
|
xmltodict
|
2017-12-30 11:24:45 +00:00
|
|
|
mock
|
|
|
|
pyaml
|
|
|
|
backports_tempfile
|
|
|
|
cookies
|
|
|
|
jsondiff
|
|
|
|
botocore
|
|
|
|
docker
|
2018-05-27 22:16:27 +00:00
|
|
|
responses
|
2017-09-15 13:15:54 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
checkInputs = [ boto3 nose sure freezegun ];
|
|
|
|
|
|
|
|
checkPhase = "nosetests";
|
|
|
|
|
|
|
|
# TODO: make this true; I think lots of the tests want network access but we can probably run the others
|
|
|
|
doCheck = false;
|
|
|
|
}
|