diff options
Diffstat (limited to 'pkgs/development/python-modules/pydantic/default.nix')
-rw-r--r-- | pkgs/development/python-modules/pydantic/default.nix | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix index aac95982ceaef..25a5d54d529e0 100644 --- a/pkgs/development/python-modules/pydantic/default.nix +++ b/pkgs/development/python-modules/pydantic/default.nix @@ -2,18 +2,30 @@ , buildPythonPackage , cython , devtools -, email_validator +, email-validator , fetchFromGitHub , pytest-mock , pytestCheckHook , python-dotenv , pythonOlder , typing-extensions +# dependencies for building documentation. +, ansi2html +, markdown-include +, mkdocs +, mkdocs-exclude +, mkdocs-material +, mdx-truly-sane-lists +, sqlalchemy +, ujson +, orjson +, hypothesis }: buildPythonPackage rec { pname = "pydantic"; version = "1.9.0"; + outputs = [ "out" "doc" ]; disabled = pythonOlder "3.7"; src = fetchFromGitHub { @@ -23,13 +35,29 @@ buildPythonPackage rec { sha256 = "sha256-C4WP8tiMRFmkDkQRrvP3yOSM2zN8pHJmX9cdANIckpM="; }; + postPatch = '' + sed -i '/flake8/ d' Makefile + ''; + nativeBuildInputs = [ cython + + # dependencies for building documentation + ansi2html + markdown-include + mdx-truly-sane-lists + mkdocs + mkdocs-exclude + mkdocs-material + sqlalchemy + ujson + orjson + hypothesis ]; propagatedBuildInputs = [ devtools - email_validator + email-validator python-dotenv typing-extensions ]; @@ -43,6 +71,18 @@ buildPythonPackage rec { export HOME=$(mktemp -d) ''; + # Must include current directory into PYTHONPATH, since documentation + # building process expects "import pydantic" to work. + preBuild = '' + PYTHONPATH=$PWD:$PYTHONPATH make docs + ''; + + # Layout documentation in same way as "sphinxHook" does. + postInstall = '' + mkdir -p $out/share/doc/$name + mv ./site $out/share/doc/$name/html + ''; + enableParallelBuilding = true; pythonImportsCheck = [ "pydantic" ]; |