diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix new file mode 100644 index 000000000000..eaab00312055 --- /dev/null +++ b/pkgs/development/python-modules/boto3/default.nix @@ -0,0 +1,50 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, botocore +, jmespath +, s3transfer +, futures +, docutils +, nose +, mock +, isPy3k +}: + +buildPythonPackage rec { + pname = "boto3"; + version = "1.4.8"; + + src = fetchFromGitHub { + owner = "boto"; + repo = "boto3"; + rev = version; + sha256 = "11ysd7a9l5y98q7b7az56phsj2m7w90abf4jabwrknp2c43sq9bi"; + }; + + propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ]; + checkInputs = [ docutils nose mock ]; + + checkPhase = '' + runHook preCheck + # This method is not in mock. It might have appeared in some versions. + sed -i 's/action.assert_called_once()/self.assertEqual(action.call_count, 1)/' \ + tests/unit/resources/test_factory.py + nosetests -d tests/unit --verbose + runHook postCheck + ''; + + # Network access + doCheck = false; + + meta = { + homepage = https://github.com/boto/boto3; + license = lib.licenses.asl20; + description = "AWS SDK for Python"; + longDescription = '' + Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for + Python, which allows Python developers to write software that makes use of + services like Amazon S3 and Amazon EC2. + ''; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 68d4fee2dac0..7366204b9d94 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1979,43 +1979,7 @@ in { }; }; - boto3 = buildPythonPackage rec { - name = "boto3-${version}"; - version = "1.4.8"; - - src = pkgs.fetchFromGitHub { - owner = "boto"; - repo = "boto3"; - rev = version; - sha256 = "11ysd7a9l5y98q7b7az56phsj2m7w90abf4jabwrknp2c43sq9bi"; - }; - - propagatedBuildInputs = [ self.botocore self.jmespath self.s3transfer ] ++ - (if isPy3k then [] else [self.futures]); - buildInputs = [ self.docutils self.nose self.mock ]; - checkPhase = '' - runHook preCheck - # This method is not in mock. It might have appeared in some versions. - sed -i 's/action.assert_called_once()/self.assertEqual(action.call_count, 1)/' \ - tests/unit/resources/test_factory.py - nosetests -d tests/unit --verbose - runHook postCheck - ''; - - # Network access - doCheck = false; - - meta = { - homepage = https://github.com/boto/boto3; - license = stdenv.lib.licenses.asl20; - description = "AWS SDK for Python"; - longDescription = '' - Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for - Python, which allows Python developers to write software that makes use of - services like Amazon S3 and Amazon EC2. - ''; - }; - }; + boto3 = callPackage ../development/python-modules/boto3 { }; botocore = callPackage ../development/python-modules/botocore { };