1{
2 buildPythonPackage,
3 lib,
4 fetchPypi,
5 isPy27,
6 mock,
7 pytest,
8 pytest-runner,
9 sh,
10 coverage,
11 docopt,
12 requests,
13 urllib3,
14 git,
15 isPy3k,
16}:
17
18buildPythonPackage rec {
19 pname = "coveralls";
20 version = "3.3.1";
21 format = "setuptools";
22 disabled = isPy27;
23
24 # wanted by tests
25 src = fetchPypi {
26 inherit pname version;
27 sha256 = "b32a8bb5d2df585207c119d6c01567b81fba690c9c10a753bfe27a335bfc43ea";
28 };
29
30 nativeCheckInputs = [
31 mock
32 sh
33 pytest
34 git
35 ];
36
37 buildInputs = [ pytest-runner ];
38
39 postPatch = ''
40 sed -i "s/'coverage>=\([^,]\+\),.*',$/'coverage>=\1',/" setup.py
41 '';
42
43 # FIXME: tests requires .git directory to be present
44 doCheck = false;
45
46 checkPhase = ''
47 python setup.py test
48 '';
49
50 propagatedBuildInputs = [
51 coverage
52 docopt
53 requests
54 ] ++ lib.optional (!isPy3k) urllib3;
55
56 meta = {
57 description = "Show coverage stats online via coveralls.io";
58 mainProgram = "coveralls";
59 homepage = "https://github.com/coveralls-clients/coveralls-python";
60 license = lib.licenses.mit;
61 };
62}