Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.8 kB · 131 lines
Nix
at litex
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132{ lib, stdenv, buildPythonPackage, autoflake, cython, devtools, email-validator, fetchFromGitHub, pytest-mock, pytestCheckHook, python-dotenv, pythonAtLeast, pythonOlder, pyupgrade, typing-extensions# dependencies for building documentation.# docs fail to build in Darwin sandbox: https://github.com/samuelcolvin/pydantic/issues/4245, withDocs ? (stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.isDarwin && pythonAtLeast "3.10"), ansi2html, markdown-include, mike, mkdocs, mkdocs-exclude, mkdocs-material, mdx-truly-sane-lists, sqlalchemy, ujson, orjson, hypothesis, libxcrypt}:
buildPythonPackage rec { pname = "pydantic"; version = "1.10.8"; format = "setuptools";
outputs = [ "out" ] ++ lib.optionals withDocs [ "doc" ];
disabled = pythonOlder "3.7";
src = fetchFromGitHub { owner = "pydantic"; repo = pname; rev = "refs/tags/v${version}"; hash = "sha256-4oJoDlP1grLblF0ppqYM1GYEyNMEM9FssFQjacipmms="; };
postPatch = '' sed -i '/flake8/ d' Makefile '';
buildInputs = lib.optionals (pythonOlder "3.9") [ libxcrypt ];
nativeBuildInputs = [ cython ] ++ lib.optionals withDocs [ # dependencies for building documentation autoflake ansi2html markdown-include mdx-truly-sane-lists mike mkdocs mkdocs-exclude mkdocs-material sqlalchemy ujson orjson hypothesis ];
propagatedBuildInputs = [ devtools pyupgrade typing-extensions ];
passthru.optional-dependencies = { dotenv = [ python-dotenv ]; email = [ email-validator ]; };
nativeCheckInputs = [ pytest-mock pytestCheckHook ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
pytestFlagsArray = [ # https://github.com/pydantic/pydantic/issues/4817 "-W" "ignore::pytest.PytestReturnNotNoneWarning" ];
preCheck = '' export HOME=$(mktemp -d) '';
# Must include current directory into PYTHONPATH, since documentation # building process expects "import pydantic" to work. preBuild = lib.optionalString withDocs '' PYTHONPATH=$PWD:$PYTHONPATH make docs '';
# Layout documentation in same way as "sphinxHook" does. postInstall = lib.optionalString withDocs '' mkdir -p $out/share/doc/$name mv ./site $out/share/doc/$name/html '';
enableParallelBuilding = true;
pythonImportsCheck = [ "pydantic" ];
meta = with lib; { description = "Data validation and settings management using Python type hinting"; homepage = "https://github.com/pydantic/pydantic"; changelog = "https://github.com/pydantic/pydantic/blob/v${version}/HISTORY.md"; license = licenses.mit; maintainers = with maintainers; [ wd15 ]; };}