dev-python/pydantic: Sync with Gentoo

It's from Gentoo commit 96d8051f9a65cd50eef8bebb250e48297e42c76d.
This commit is contained in:
Flatcar Buildbot 2023-06-05 07:12:29 +00:00
parent 4d34676895
commit b35f0dade9
4 changed files with 144 additions and 2 deletions

View File

@ -1 +1,3 @@
DIST pydantic-1.10.7.gh.tar.gz 903379 BLAKE2B b2dd75a640ca54024a2bf141117a1d738a30a4630bed8f4d0169fc5a6a55ded719727d88c7e78b9a2acc3aec68482e9be8c8bf4776fef668fe4acc3e1fd775df SHA512 948a7935b374719773df50243aed708b3c6789243b9aa0ba239cf1502ddd0e0cec4d701e108f1cc78090c088f3cb1c78b840c39f5e7ad0e61739776f552f284d
DIST pydantic-1.10.8.gh.tar.gz 765592 BLAKE2B 0b4cc273ce6fad20baa7c8bd87ef32199cb003f52b8e9aa19eda6359ca0e5c30152c7f25d2bb146ec23027011895cf44d9eb051c6ca609fb00e3d7b5f6089e4e SHA512 3ac41cdf0eb70fb71298131a043966b85387bc953ef2f463ece80728b46251d5d5f66c3f030afc3cdf4527918ae410fcd733a774cbe0c3b7ba9fc806a76378e4
DIST pydantic-2.0b2.tar.gz 527380 BLAKE2B 214c740ecaed3cf4e7ed1e06d75ce17b37028e41c6a7abc4174b201691e31725123f89430c430a514c59973dc327d2b8fcd21c5ef0a47aaa48fafaf7e322d7a1 SHA512 49cc058c91e48638f9809ca77d9c486e3bdfc05e1546b19ca7e419f41e152998f750cfb58927ad8189913859d27fff68de0e5848599baaf816404e0f58fd6646

View File

@ -23,7 +23,7 @@ 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
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="
@ -34,10 +34,10 @@ BDEPEND="
dev-python/cython[${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}]
>=dev-python/python-email-validator-1.2.1[${PYTHON_USEDEP}]
)
"

View File

@ -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
}

View File

@ -0,0 +1,49 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1 pypi
DESCRIPTION="Data parsing and validation using Python type hints"
HOMEPAGE="
https://github.com/pydantic/pydantic/
https://pypi.org/project/pydantic/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
RDEPEND="
>=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-core-0.38.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
"
BDEPEND="
>=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
test? (
dev-python/dirty-equals[${PYTHON_USEDEP}]
>=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# expect -Werror
tests/test_deprecated.py::test_extra_used_as_enum
)
local EPYTEST_IGNORE=(
# require pytest-examples
tests/test_docs.py
)
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p pytest_mock
}