diff --git a/pkgs/development/python-modules/invocations/default.nix b/pkgs/development/python-modules/invocations/default.nix new file mode 100644 index 00000000000..78ace76b762 --- /dev/null +++ b/pkgs/development/python-modules/invocations/default.nix @@ -0,0 +1,43 @@ +{ buildPythonPackage +, blessings +, fetchFromGitHub +, invoke +, lib +, releases +, semantic-version +, tabulate +, twine +}: + +buildPythonPackage rec { + pname = "invocations"; + version = "2.6.0"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "pyinvoke"; + repo = pname; + rev = version; + hash = "sha256-eyOJKVRfn7elyEkERl7hvRTNFmq7O9Pr03lBS6xp0wE="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace "semantic_version>=2.4,<2.7" "semantic_version" \ + --replace "tabulate==0.7.5" "tabulate" + ''; + + propagatedBuildInputs = [ blessings invoke releases semantic-version tabulate twine ]; + + # There's an error loading the test suite. See https://github.com/pyinvoke/invocations/issues/29. + doCheck = false; + + pythonImportsCheck = [ "invocations" ]; + + meta = with lib; { + description = "Common/best-practice Invoke tasks and collections"; + homepage = "https://invocations.readthedocs.io/"; + license = licenses.bsd2; + maintainers = with maintainers; [ samuela ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 697cbe95d1a..ddd21e4a384 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4084,6 +4084,8 @@ in { intreehooks = callPackage ../development/python-modules/intreehooks { }; + invocations = callPackage ../development/python-modules/invocations { }; + invoke = callPackage ../development/python-modules/invoke { }; iodata = callPackage ../development/python-modules/iodata { };