diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix index 41af2ad8e3ef..eafad1a9ab09 100644 --- a/pkgs/development/python-modules/python-lsp-server/default.nix +++ b/pkgs/development/python-modules/python-lsp-server/default.nix @@ -23,6 +23,7 @@ , setuptools-scm , stdenv , ujson +, whatthepatch , yapf , withAutopep8 ? true , withFlake8 ? true @@ -50,7 +51,7 @@ buildPythonPackage rec { }; postPatch = '' - substituteInPlace setup.cfg \ + substituteInPlace pyproject.toml \ --replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \ --replace "--cov pylsp --cov test" "" \ --replace "mccabe>=0.6.0,<0.7.0" "mccabe" @@ -75,7 +76,7 @@ buildPythonPackage rec { ++ lib.optional withPyflakes pyflakes ++ lib.optional withPylint pylint ++ lib.optional withRope rope - ++ lib.optional withYapf yapf; + ++ lib.optionals withYapf [ whatthepatch yapf ]; checkInputs = [ flaky @@ -87,7 +88,9 @@ buildPythonPackage rec { # pyqt5 is broken on aarch64-darwin ++ lib.optionals (!stdenv.isDarwin || !stdenv.isAarch64) [ pyqt5 ]; - disabledTests = lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config" + disabledTests = [ + "test_numpy_completions" # https://github.com/python-lsp/python-lsp-server/issues/243 + ] ++ lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config" # pyqt5 is broken on aarch64-darwin ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "test_pyqt_completion"; diff --git a/pkgs/development/python-modules/whatthepatch/default.nix b/pkgs/development/python-modules/whatthepatch/default.nix new file mode 100644 index 000000000000..9244e26520cd --- /dev/null +++ b/pkgs/development/python-modules/whatthepatch/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "whatthepatch"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "cscorley"; + repo = pname; + rev = version; + hash = "sha256-0l/Ebq7Js9sKFJ/RzkQ1aWEDCxt+COVd2qVnLSWwFx0="; + }; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "whatthepatch" ]; + + meta = with lib; { + description = "Python library for both parsing and applying patch files"; + homepage = "https://github.com/cscorley/whatthepatch"; + license = licenses.mit; + maintainers = with maintainers; [ jyooru ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d2cb3b326d1d..850006795bca 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11369,6 +11369,8 @@ in { wget = callPackage ../development/python-modules/wget { }; + whatthepatch = callPackage ../development/python-modules/whatthepatch { }; + wheel = callPackage ../development/python-modules/wheel { }; wheel-filename = callPackage ../development/python-modules/wheel-filename { };