ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / development / python-modules / cassandra-driver / default.nix
blob1243aad64cc4ddc145ffbec053985e07d40c927f
1 { stdenv
2 , lib
3 , buildPythonPackage
4 , fetchFromGitHub
5 , pythonOlder
6 , cython
7 , eventlet
8 , futures ? null
9 , iana-etc
10 , geomet
11 , libev
12 , mock
13 , nose
14 , pytestCheckHook
15 , pytz
16 , pyyaml
17 , scales
18 , six
19 , sure
20 , gremlinpython
21 , gevent
22 , twisted
23 , libredirect
26 buildPythonPackage rec {
27   pname = "cassandra-driver";
28   version = "3.25.0";
30   # pypi tarball doesn't include tests
31   src = fetchFromGitHub {
32     owner = "datastax";
33     repo = "python-driver";
34     rev = version;
35     sha256 = "1dn7iiavsrhh6i9hcyw0mk8j95r5ym0gbrvdca998hx2rnz5ark6";
36   };
38   postPatch = ''
39     substituteInPlace setup.py --replace 'geomet>=0.1,<0.3' 'geomet'
40   '';
42   nativeBuildInputs = [ cython ];
43   buildInputs = [ libev ];
44   propagatedBuildInputs = [ six geomet ]
45     ++ lib.optionals (pythonOlder "3.4") [ futures ];
47   # Make /etc/protocols accessible to allow socket.getprotobyname('tcp') in sandbox,
48   # also /etc/resolv.conf is referenced by some tests
49   preCheck = (lib.optionalString stdenv.isLinux ''
50     echo "nameserver 127.0.0.1" > resolv.conf
51     export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/resolv.conf=$(realpath resolv.conf)
52     export LD_PRELOAD=${libredirect}/lib/libredirect.so
53   '') + ''
54     # increase tolerance for time-based test
55     substituteInPlace tests/unit/io/utils.py --replace 'delta=.15' 'delta=.3'
56   '';
57   postCheck = ''
58     unset NIX_REDIRECTS LD_PRELOAD
59   '';
61   checkInputs = [
62     pytestCheckHook
63     eventlet
64     mock
65     nose
66     pytz
67     pyyaml
68     sure
69     scales
70     gremlinpython
71     gevent
72     twisted
73   ];
75   pytestFlagsArray = [
76     "tests/unit"
77   ];
78   disabledTestPaths = [
79     # requires puresasl
80     "tests/unit/advanced/test_auth.py"
81   ];
82   disabledTests = [
83     # doesn't seem to be intended to be run directly
84     "_PoolTests"
85     # attempts to make connection to localhost
86     "test_connection_initialization"
87     # time-sensitive
88     "test_nts_token_performance"
89   ];
91   meta = with lib; {
92     description = "A Python client driver for Apache Cassandra";
93     homepage = "http://datastax.github.io/python-driver";
94     license = licenses.asl20;
95     maintainers = with maintainers; [ turion ris ];
96   };