diff --git a/pkgs/development/python-modules/stone/default.nix b/pkgs/development/python-modules/stone/default.nix new file mode 100644 index 000000000000..21c92fcee7e9 --- /dev/null +++ b/pkgs/development/python-modules/stone/default.nix @@ -0,0 +1,51 @@ +{ lib, buildPythonPackage, fetchPypi +, coverage +, mock +, ply +, pytestrunner +, pytestCheckHook +, six +}: + +buildPythonPackage rec { + pname = "stone"; + version = "3.2.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "0xby5mpsms7b2rv8j6mvxzmzz5i9ii01brb9ylxz6kiv2i08piwv"; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace "pytest-runner == 5.2.0" "pytest-runner" \ + --replace "pytest < 5" "pytest" + substituteInPlace test/requirements.txt \ + --replace "coverage==5.3" "coverage" + ''; + + nativeBuildInputs = [ pytestrunner ]; + + propagatedBuildInputs = [ ply six ]; + + checkInputs = [ pytestCheckHook coverage mock ]; + + # try to import from `test` directory, which is exported by the python interpreter + # and cannot be overriden without removing some py3 to py2 support + disabledTestPaths = [ + "test/test_tsd_types.py" + "test/test_js_client.py" + ]; + disabledTests = [ + "test_type_name_with_module" + ]; + + pythonImportsCheck = [ "stone" ]; + + meta = with lib; { + description = "Official Api Spec Language for Dropbox"; + homepage = "https://github.com/dropbox/stone"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7e904a609124..d276a3999c1c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7597,6 +7597,8 @@ in { stm32loader = callPackage ../development/python-modules/stm32loader { }; + stone = callPackage ../development/python-modules/stone { }; + strategies = callPackage ../development/python-modules/strategies { }; stravalib = callPackage ../development/python-modules/stravalib { };