diff --git a/pkgs/development/python-modules/markdown-it-py/default.nix b/pkgs/development/python-modules/markdown-it-py/default.nix index c1c5da228f0f..50b984f69d7a 100644 --- a/pkgs/development/python-modules/markdown-it-py/default.nix +++ b/pkgs/development/python-modules/markdown-it-py/default.nix @@ -1,20 +1,24 @@ { lib , attrs , buildPythonPackage +, commonmark , fetchFromGitHub , flit-core , linkify-it-py +, markdown , mdurl -, psutil -, py -, pytest-benchmark +, mistletoe +, mistune +, myst-parser +, panflute +, pyyaml +, sphinx +, sphinx-book-theme +, sphinx-copybutton +, sphinx-design , pytest-regressions , pytestCheckHook , pythonOlder -, typing-extensions -# allow disabling tests for the nixos manual build. -# the test suite closure is just too large. -, disableTests ? false }: buildPythonPackage rec { @@ -36,30 +40,29 @@ buildPythonPackage rec { ]; propagatedBuildInputs = [ - attrs - linkify-it-py mdurl - ] ++ lib.optionals (pythonOlder "3.8") [ - typing-extensions ]; nativeCheckInputs = [ - psutil - py - ] ++ lib.optionals (! disableTests) [ - pytest-benchmark pytest-regressions pytestCheckHook - ]; + ] ++ passthru.optional-dependencies.linkify; - pytestFlagsArray = [ - "--benchmark-skip" - ]; + # disable and remove benchmark tests + preCheck = '' + rm -r benchmarking + ''; pythonImportsCheck = [ "markdown_it" ]; + passthru.optional-dependencies = { + compare = [ commonmark markdown mistletoe mistune panflute ]; + linkify = [ linkify-it-py ]; + rtd = [ attrs myst-parser pyyaml sphinx sphinx-copybutton sphinx-design sphinx-book-theme ]; + }; + meta = with lib; { description = "Markdown parser in Python"; homepage = "https://markdown-it-py.readthedocs.io/"; diff --git a/pkgs/development/python-modules/mdit-py-plugins/default.nix b/pkgs/development/python-modules/mdit-py-plugins/default.nix index f93751ca71d5..291ea54c56bc 100644 --- a/pkgs/development/python-modules/mdit-py-plugins/default.nix +++ b/pkgs/development/python-modules/mdit-py-plugins/default.nix @@ -6,9 +6,6 @@ , markdown-it-py , pytest-regressions , pytestCheckHook -# allow disabling tests for the nixos manual build. -# the test suite closure is just too large. -, disableTests ? false }: buildPythonPackage rec { @@ -33,7 +30,7 @@ buildPythonPackage rec { markdown-it-py ]; - nativeCheckInputs = lib.optionals (!disableTests) [ + nativeCheckInputs = [ pytestCheckHook pytest-regressions ]; diff --git a/pkgs/development/python-modules/myst-parser/default.nix b/pkgs/development/python-modules/myst-parser/default.nix index 4437c9edcb75..c2b1f0bdb667 100644 --- a/pkgs/development/python-modules/myst-parser/default.nix +++ b/pkgs/development/python-modules/myst-parser/default.nix @@ -57,7 +57,7 @@ buildPythonPackage rec { pytest-regressions sphinx-pytest pytestCheckHook - ]; + ] ++ markdown-it-py.optional-dependencies.linkify; disabledTests = [ # AssertionError due to different files diff --git a/pkgs/tools/nix/nixos-render-docs/default.nix b/pkgs/tools/nix/nixos-render-docs/default.nix index 065404f36c20..d2b8f1a0614b 100644 --- a/pkgs/tools/nix/nixos-render-docs/default.nix +++ b/pkgs/tools/nix/nixos-render-docs/default.nix @@ -12,27 +12,16 @@ let python = ((if stdenv.isDarwin then python3 else python3Minimal).override { self = python; includeSiteCustomize = true; - }); - - # TODO add our own small test suite, maybe add tests for these deps to channels? - markdown-it-py-no-tests = python.pkgs.markdown-it-py.override { - disableTests = true; + }).override { + packageOverrides = final: prev: { + markdown-it-py = prev.markdown-it-py.overridePythonAttrs (_: { + doCheck = false; + }); + mdit-py-plugins = prev.mdit-py-plugins.overridePythonAttrs (_: { + doCheck = false; + }); + }; }; - mdit-py-plugins-no-tests = python.pkgs.mdit-py-plugins.override { - markdown-it-py = markdown-it-py-no-tests; - disableTests = true; - }; - - makeDeps = pkgs: small: - if small - then [ - markdown-it-py-no-tests - mdit-py-plugins-no-tests - ] - else [ - pkgs.markdown-it-py - pkgs.mdit-py-plugins - ]; in python.pkgs.buildPythonApplication rec { @@ -54,12 +43,15 @@ python.pkgs.buildPythonApplication rec { src = ./src; }; - nativeBuildInputs = [ - python.pkgs.setuptools - python.pkgs.pytestCheckHook + nativeBuildInputs = with python.pkgs; [ + setuptools + pytestCheckHook ]; - propagatedBuildInputs = makeDeps python.pkgs true; + propagatedBuildInputs = with python.pkgs; [ + markdown-it-py + mdit-py-plugins + ]; pytestFlagsArray = [ "-vvrP" "tests/" ]; @@ -67,7 +59,7 @@ python.pkgs.buildPythonApplication rec { # build closures small. mypy has an unreasonably large build closure for docs builds. passthru.tests.typing = runCommand "${pname}-mypy" { nativeBuildInputs = [ - (python3.withPackages (p: [ p.mypy p.pytest ] ++ makeDeps p false)) + (python3.withPackages (ps: with ps; [ mypy pytest markdown-it-py mdit-py-plugins ])) ]; } '' mypy --strict ${src}