diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-09-28 11:34:30 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-09-28 11:34:30 +0100 |
commit | a1189835bd14dd95c9e6d6f5736ee4b29835101c (patch) | |
tree | 53a99d40afee1487208ed6bc17e2d09310a9a709 /dev-python/pydantic/pydantic-1.10.13.ebuild | |
parent | e2e0b35b67db51e544167a2ba1941004d04a54fd (diff) |
gentoo auto-resync : 28:09:2023 - 11:34:30
Diffstat (limited to 'dev-python/pydantic/pydantic-1.10.13.ebuild')
-rw-r--r-- | dev-python/pydantic/pydantic-1.10.13.ebuild | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/dev-python/pydantic/pydantic-1.10.13.ebuild b/dev-python/pydantic/pydantic-1.10.13.ebuild new file mode 100644 index 000000000000..742af7f9f99e --- /dev/null +++ b/dev-python/pydantic/pydantic-1.10.13.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{10..12} ) + +inherit distutils-r1 + +MY_P=${P/_beta/b} +DESCRIPTION="Data parsing and validation using Python type hints" +HOMEPAGE=" + https://github.com/pydantic/pydantic/ + https://pypi.org/project/pydantic/ +" +SRC_URI=" + https://github.com/pydantic/pydantic/archive/v${PV/_beta/b}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="native-extensions" + +RDEPEND=" + >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + <dev-python/cython-3[${PYTHON_USEDEP}] + ) + test? ( + >=dev-python/email-validator-1.2.1[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/python-dotenv[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/CFLAGS/d' setup.py || die + distutils-r1_src_prepare +} + +python_compile() { + if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then + # do not build extensions on PyPy to workaround + # https://github.com/cython/cython/issues/4763 + local -x SKIP_CYTHON=1 + fi + distutils-r1_python_compile +} + +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 + # mypy linting causes regressions with new mypy versions + tests/mypy + ) + case ${EPYTHON} in + 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 + ) + ;; + python3.12) + EPYTEST_DESELECT+=( + tests/test_abc.py::test_model_subclassing_abstract_base_classes_without_implementation_raises_exception + tests/test_generics.py::test_partial_specification_name + tests/test_generics.py::test_parse_generic_json + tests/test_types.py::test_secretfield + ) + ;; + esac + rm -rf pydantic || die + epytest +} |