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