1{
2 lib,
3 buildPythonPackage,
4 blessings,
5 fetchFromGitHub,
6 invoke,
7 pythonOlder,
8 releases,
9 semantic-version,
10 tabulate,
11 tqdm,
12 twine,
13}:
14
15buildPythonPackage rec {
16 pname = "invocations";
17 version = "3.3.0";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.6";
21
22 src = fetchFromGitHub {
23 owner = "pyinvoke";
24 repo = pname;
25 rev = "refs/tags/${version}";
26 hash = "sha256-JnhdcxhBNsYgDMcljtGKjOT1agujlao/66QifGuh6I0=";
27 };
28
29 postPatch = ''
30 substituteInPlace setup.py \
31 --replace "semantic_version>=2.4,<2.7" "semantic_version"
32 '';
33
34 propagatedBuildInputs = [
35 blessings
36 invoke
37 releases
38 semantic-version
39 tabulate
40 tqdm
41 twine
42 ];
43
44 # There's an error loading the test suite. See https://github.com/pyinvoke/invocations/issues/29.
45 doCheck = false;
46
47 pythonImportsCheck = [ "invocations" ];
48
49 meta = with lib; {
50 description = "Common/best-practice Invoke tasks and collections";
51 homepage = "https://invocations.readthedocs.io/";
52 changelog = "https://github.com/pyinvoke/invocations/blob/${version}/docs/changelog.rst";
53 license = licenses.bsd2;
54 maintainers = with maintainers; [ samuela ];
55 };
56}