diff --git a/pkgs/development/python-modules/deal/default.nix b/pkgs/development/python-modules/deal/default.nix index b9addc5c7d55..bc660a1567a9 100644 --- a/pkgs/development/python-modules/deal/default.nix +++ b/pkgs/development/python-modules/deal/default.nix @@ -30,6 +30,11 @@ buildPythonPackage rec { hash = "sha256-nLZ06Xfa9Q+Saf8qPXG1Xo6y6oO6kifhfK/gryZ6q90="; }; + patches = [ + # docstring-parser 0.18 no longer ships its tests, which this test reads. + ./skip-missing-docstring-parser-tests.patch + ]; + build-system = [ flit-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/deal/skip-missing-docstring-parser-tests.patch b/pkgs/development/python-modules/deal/skip-missing-docstring-parser-tests.patch new file mode 100644 index 000000000000..501a100f95de --- /dev/null +++ b/pkgs/development/python-modules/deal/skip-missing-docstring-parser-tests.patch @@ -0,0 +1,16 @@ +docstring_parser 0.18 excludes its tests from built wheels, so +`docstring_parser.__path__[0] / 'tests'` does not exist and test +collection fails with FileNotFoundError. Skip generating the cross-check +test cases when the directory is unavailable. + +--- a/tests/test_linter/test_extractors/test_exceptions.py ++++ b/tests/test_linter/test_extractors/test_exceptions.py +@@ -293,6 +293,8 @@ def get_docstring_parser_tests(): + tests_found = 0 + if astroid is None: + return ++ if not root.is_dir(): ++ return + for path in root.iterdir(): + if path.suffix != '.py': + continue