dev-python/pydantic: Sync with Gentoo

It's from Gentoo commit 7831a2802f174e8f2bd22fad1c2343f7f952df3e.
This commit is contained in:
Flatcar Buildbot 2023-08-07 07:11:04 +00:00 committed by Krzesimir Nowak
parent cbb9336132
commit 393c9524e4
6 changed files with 104 additions and 98 deletions

View File

@ -1,6 +1,5 @@
DIST pydantic-1.10.11.gh.tar.gz 766203 BLAKE2B 5ab426a805a471baac409c82d5a0cdaa9eae0bc46c0c0643ab653db68ccd5bd6db2c2e6aa12113f513e35d590b291986d463e776515f495991e9818541ab2553 SHA512 494e692781dd8fe3980e06ba975fa0c86ad32e36bffead8c836e1680ff3c43de458ef5a344182950060fc3616208d82ad77fd9098811384208f25a9b72c0fe42
DIST pydantic-1.10.12.gh.tar.gz 766366 BLAKE2B b00885b86ef331f3f8531d1514f4e3e1ef10d009b35453c6d5a6295ecfe2d2b842f66c7ea2a79ca1d235d54fa38b42432e14804163f944c4455f05c06869815a SHA512 413d433decfa3bb7173d6f4e6e06f746cfbf95f6d27c6a17098216ba81d64d7f8bb956cda195d0676559f96278f3800c77be53ecf46496ac009f130120642cc2
DIST pydantic-1.10.9.gh.tar.gz 765868 BLAKE2B 802c542d75b41ff2926215bf4f6bd68a906d581db7b08ed85577f9021d259717f3ef8dbacfe381723aa042aab8720ad182c57fee188f2436b33d21164e24ba23 SHA512 d376a302eac3427cdc8da0ed2fab01c0b5e7a059447777a53c394a60dac5fa0066488be8553022bb5aa89367d5a2e80e5d6e3cb39d9272843718dd07f6acd11e
DIST pydantic-2.0.1.tar.gz 578758 BLAKE2B 1f330806462cfbb60d4c7dac0a682e191fcdb8e4c75b36603ec7acd8115b625123cf2806248b41e1b9ac5395ca412801180db3cea7a64239ea91c59db19c71dd SHA512 cec0ab3fbe1120806e8821296b65e35c3b8711b4bb2b1d45bcf506964678b6087c5f463ad2332b19ab554f0b04ee7b4fc11f9caa6d292442fe40cdc19dfb4053
DIST pydantic-2.0.2.tar.gz 580114 BLAKE2B 2e2f29c104889f1e38d229077b4d51d1c2498d61e92591a2ccec58b04a64464cfd7c018e9514117a820fe4b7403d599127a6ef1c1fbda6a5326af3773abd6ad7 SHA512 af06ecc5cc2fc26e6b251cdeb18ad90e15ed9ec11ce83f4d39b8f7f18adc29e3cec83f25227caa24920a9c54d0e5c4b744087dc5a8359540bba1bef7a95c67d5
DIST pydantic-2.0.3.tar.gz 593215 BLAKE2B eff4de5d45e623e91df43eb89c3d350fdbb22adc1e05417cbb65c0dc3d58475d5e77bad046498d403a1663f7327ca6e5db517fd00f59d554532a53f4f1bbbbb6 SHA512 081f47e8948178a9cc5cf4aa17f0fb1f45d4fab28f5b89e2a56f5812c38a87ab97fb6758236fb64fc44553230807d51a9c7451c2bdbb8b77a9b0fc9083385391
DIST pydantic-2.0.tar.gz 572748 BLAKE2B 611bb31065c1016d18137c0b5bfb0c7730243f727c1ffa3e3264f78fe750f31832d7388c177f59e0a676fa1eca7fc102e425fef59f97dc852c17b400723efc63 SHA512 830f5379f623e128f23f6d0672f0005a8b184b646e162be67fc08008f75dff53012c1576f0530ef9f6723ac664cfd662432de8f35cbcf98963ed8a680d697ce9
DIST pydantic-2.1.1.tar.gz 611057 BLAKE2B b414fa698fdc8aee12427d38d0c410ffdd9a39e271858f939587c4a58cd3f579f9d5406b44c1c27350040a036af3badf58b4e10657b52b2d8a720e37720dcda3 SHA512 02703bb889d517f14a977835e553356ddd4d25abf4c8e30df157d68d8006a7ac9ed95feeda73548560b5705ca0d2305af8c49d683d5f0178e48643bef03761e2

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

@ -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 ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~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="

View File

@ -1,46 +0,0 @@
# 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-2.0.2[${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=()
local EPYTEST_IGNORE=(
# require pytest-examples
tests/test_docs.py
)
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p pytest_mock
}

View File

@ -1,46 +0,0 @@
# 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-2.0.1[${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=()
local EPYTEST_IGNORE=(
# require pytest-examples
tests/test_docs.py
)
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p pytest_mock
}

View File

@ -16,11 +16,11 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~riscv ~x86"
KEYWORDS="~amd64 ~x86"
RDEPEND="
>=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
~dev-python/pydantic-core-2.1.2[${PYTHON_USEDEP}]
~dev-python/pydantic-core-2.4.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
"
BDEPEND="
@ -28,17 +28,25 @@ BDEPEND="
test? (
dev-python/dirty-equals[${PYTHON_USEDEP}]
>=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
>=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
src_prepare() {
sed -i -e '/benchmark/d' pyproject.toml || die
distutils-r1_src_prepare
}
python_test() {
local EPYTEST_DESELECT=()
local EPYTEST_IGNORE=(
# require pytest-examples
tests/test_docs.py
# benchmarks
tests/benchmarks
)
case ${EPYTHON} in
python3.12)