diff --git a/pkgs/development/python-modules/pycategories/default.nix b/pkgs/development/python-modules/pycategories/default.nix new file mode 100644 index 000000000000..55f30f9e55a9 --- /dev/null +++ b/pkgs/development/python-modules/pycategories/default.nix @@ -0,0 +1,35 @@ +{ buildPythonPackage +, callPackage +, pytestcov +, fetchPypi +, lib +, pytest +, pythonOlder +, pytestrunner +}: + +buildPythonPackage rec { + pname = "pycategories"; + version = "1.2.0"; + disabled = pythonOlder "3.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "bd70ecb5e94e7659e564ea153f0c7673291dc37c526c246800fc08d6c5378099"; + }; + + nativeBuildInputs = [ pytestrunner ]; + + # Is private because the author states it's unmaintained + # and shouldn't be used in production code + propagatedBuildInputs = [ (callPackage ./infix.nix { }) ]; + + checkInputs = [ pytest pytestcov ]; + + meta = with lib; { + homepage = "https://gitlab.com/danielhones/pycategories"; + description = "Implementation of some concepts from category theory"; + license = licenses.mit; + maintainers = with maintainers; [ dmvianna ]; + }; +} diff --git a/pkgs/development/python-modules/pycategories/infix.nix b/pkgs/development/python-modules/pycategories/infix.nix new file mode 100644 index 000000000000..f3b4d2548181 --- /dev/null +++ b/pkgs/development/python-modules/pycategories/infix.nix @@ -0,0 +1,23 @@ +{ buildPythonPackage +, lib +, fetchPypi +}: + +buildPythonPackage rec { + pname = "infix"; + version = "1.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "a1bfdcf875bc072f41e426d0673f2e3017750743bb90cc725fffb292eb09648c"; + }; + + # No tests + doCheck = false; + + meta = { + homepage = "https://github.com/borntyping/python-infix"; + description = "A decorator that allows functions to be used as infix functions"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c38f1a740442..f331128f0fb0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -682,6 +682,8 @@ in { inherit (pkgs) pkgconfig; }; + pycategories = callPackage ../development/python-modules/pycategories { }; + pycangjie = disabledIf (!isPy3k) (callPackage ../development/python-modules/pycangjie { inherit (pkgs) pkgconfig; });