diff options
Diffstat (limited to 'dev-python/pydantic/pydantic-1.9.0-r2.ebuild')
-rw-r--r-- | dev-python/pydantic/pydantic-1.9.0-r2.ebuild | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/dev-python/pydantic/pydantic-1.9.0-r2.ebuild b/dev-python/pydantic/pydantic-1.9.0-r2.ebuild new file mode 100644 index 000000000000..fa8a4597f362 --- /dev/null +++ b/dev-python/pydantic/pydantic-1.9.0-r2.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( pypy3 python3_{8..10} ) +inherit distutils-r1 + +DESCRIPTION="Data parsing and validation using Python type hints" +HOMEPAGE="https://github.com/samuelcolvin/pydantic" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86" + +RDEPEND=" + dev-python/typing-extensions[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/python-dotenv[${PYTHON_USEDEP}] + <dev-python/python-email-validator-1.2[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/CFLAGS/d' setup.py || die + distutils-r1_src_prepare +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=pytest_mock + + local EPYTEST_DESELECT=( + # flaky test, known upstream + tests/test_hypothesis_plugin.py::test_can_construct_models_with_all_fields + ) + case ${EPYTHON} in + python3.8) + EPYTEST_DESELECT+=( + # Those fail on python 3.8 as None changed typing semantic on >=3.9 + "tests/test_types.py::test_none[value_type3]" + tests/test_typing.py::test_is_none_type + ) + ;; + pypy3) + EPYTEST_DESELECT+=( + tests/test_private_attributes.py::test_private_attribute + tests/test_private_attributes.py::test_private_attribute_annotation + tests/test_private_attributes.py::test_private_attribute_factory + tests/test_private_attributes.py::test_private_attribute_multiple_inheritance + tests/test_private_attributes.py::test_underscore_attrs_are_private + ) + ;; + esac + distutils_install_for_testing + epytest +} |