diff --git a/pkgs/development/python-modules/sphinx-markdown-builder/default.nix b/pkgs/development/python-modules/sphinx-markdown-builder/default.nix new file mode 100644 index 000000000000..f18be6f09f46 --- /dev/null +++ b/pkgs/development/python-modules/sphinx-markdown-builder/default.nix @@ -0,0 +1,93 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + nix-update-script, + + # build system + setuptools, + wheel, + + # deps + docutils, + sphinx, + tabulate, + + # tests + pytestCheckHook, + + # optional deps + black, + bumpver, + coveralls, + flake8, + isort, + pip-tools, + pylint, + pytest, + pytest-cov, + sphinxcontrib-httpdomain, + sphinxcontrib-plantuml, +}: + +buildPythonPackage rec { + pname = "sphinx-markdown-builder"; + version = "0.6.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "liran-funaro"; + repo = "sphinx-markdown-builder"; + tag = version; + hash = "sha256-dPMOOG3myh9i2ez9uhasqLnlV0BEsE9CHEbZ57VWzAo="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + docutils + sphinx + tabulate + ]; + + optional-dependencies = { + dev = [ + black + bumpver + coveralls + flake8 + isort + pip-tools + pylint + pytest + pytest-cov + sphinx + sphinxcontrib-httpdomain + sphinxcontrib-plantuml + ]; + }; + + pythonImportsCheck = [ + "sphinx_markdown_builder" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + # NOTE: not sure why, but a `Missing dependencies: wheel` error happens when + # `black` is included here, with python3.13 + checkInputs = lib.remove black optional-dependencies.dev; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Sphinx extension to add markdown generation support"; + homepage = "https://github.com/liran-funaro/sphinx-markdown-builder"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ eljamm ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cd113d17b676..d3194c6a8067 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15640,6 +15640,8 @@ self: super: with self; { sphinx-jinja = callPackage ../development/python-modules/sphinx-jinja { }; + sphinx-markdown-builder = callPackage ../development/python-modules/sphinx-markdown-builder { }; + sphinx-markdown-parser = callPackage ../development/python-modules/sphinx-markdown-parser { }; sphinx-markdown-tables = callPackage ../development/python-modules/sphinx-markdown-tables { };