Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / boto / default.nix
blobb31d6d13c527a6e1a9e155f7103578e42a63f020
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , pythonAtLeast
5 , python
6 , nose
7 , mock
8 , requests
9 , httpretty
12 buildPythonPackage rec {
13   pname = "boto";
14   version = "2.49.0";
15   format = "setuptools";
17   src = fetchPypi {
18     inherit pname version;
19     sha256 = "ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a";
20   };
22   patches = [
23     # fixes hmac tests
24     # https://sources.debian.org/src/python-boto/2.49.0-4/debian/patches/bug-953970_python3.8-compat.patch/
25     ./bug-953970_python3.8-compat.patch
26     # fixes test_startElement_with_name_tagSet_calls_ResultSet
27     # https://sources.debian.org/src/python-boto/2.49.0-4.1/debian/patches/0005-Don-t-mock-list-subclass.patch/
28     ./0005-Don-t-mock-list-subclass.patch
29   ];
31   # boto is deprecated by upstream as of 2021-05-27 (https://github.com/boto/boto/commit/4980ac58764c3d401cb0b9552101f9c61c18f445)
32   # this patch is a bit simpler than https://github.com/boto/boto/pull/3898
33   # as we don't have to take care of pythonOlder "3.3".
34   postPatch = ''
35     substituteInPlace boto/dynamodb/types.py --replace 'from collections import Mapping' 'from collections.abc import Mapping'
36     substituteInPlace boto/mws/connection.py --replace 'import collections' 'import collections.abc as collections'
37   '';
39   checkPhase = ''
40     ${python.interpreter} tests/test.py default
41   '';
43   nativeCheckInputs = [ nose mock ];
44   propagatedBuildInputs = [ requests httpretty ];
46   meta = with lib; {
47     homepage = "https://github.com/boto/boto";
48     license = licenses.mit;
49     description = "Python interface to Amazon Web Services";
50     longDescription = ''
51       The boto module is an integrated interface to current and
52       future infrastructural services offered by Amazon Web
53       Services.  This includes S3, SQS, EC2, among others.
54     '';
55     maintainers = [ ];
56   };