commit: c421f554bc6cc4ecac03a7cbf26cc4c42112b2c8 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Wed Oct 15 06:40:56 2025 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Wed Oct 15 07:04:25 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c421f554
dev-python/pydantic: Bump to 2.12.2 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-python/pydantic/Manifest | 3 + dev-python/pydantic/pydantic-2.12.2.ebuild | 231 +++++++++++++++++++++++++++++ 2 files changed, 234 insertions(+) diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest index 77db1e12d2c8..27055320576c 100644 --- a/dev-python/pydantic/Manifest +++ b/dev-python/pydantic/Manifest @@ -52,8 +52,11 @@ DIST pydantic-2.11.9.tar.gz 788495 BLAKE2B d22e4aef09d65c30829dfb31d161c82511cc8 DIST pydantic-2.12.0.tar.gz 814760 BLAKE2B e827366bb224d20dd0a527793f0679caf81c4b0553bebe6163107f1157eeefc768066f03551d857fb934d4dc0949d2841b875af2cd71b73cc8fbd4c569c38637 SHA512 f3694cdd347af6d436dd85f27d00faf4459188d2825a2c6b7b31d15ba7fef0b37fd681f8b070ec648b1b5eb5eedc52245741902aecdc5d297202ef009ec26a91 DIST pydantic-2.12.1.tar.gz 815997 BLAKE2B 09e9a2cfe5dbc712007161d53544a2334ee8b13676a5b75319d42ce814f3705ffe0a40c2f7c206c9cc284de5e624cbd5fca52afb6c5c45ddb2804e40201fe100 SHA512 13fd00df72b9b23e5fad277fbe05fcaf4acc42ef2736a568569e7a15889bbf69fe6865f4849c5ff746b890cf0417cf5e483c5ec987e9290e4e0f27d89e6a273b DIST pydantic-2.12.1.tar.gz.provenance 9008 BLAKE2B b833f79eef6ed015ccba9311f8821f22c4eb325e9db83f96003fc9051f18bdd951ceb5ecc9f80c2b937e2210723bcd17aa0143e6a22f0395b01a82b23a49df7f SHA512 ad4fbe39df30dd65186a0798f0f23492b98f0eddbb8cdcddc2bf9d5c65d217ed410e022daaa96b704d6a260a2590485554b107f261f844c8e3d786e6688488ce +DIST pydantic-2.12.2.tar.gz 816358 BLAKE2B 8b4efd9d6880deade3b4366d449d2a1c39c3fffeb300e56c213ab8aec80060aa23c305fe031efb0726a32b55568a1712594b3194dbc6d9aa1fc770331fe64a7d SHA512 2f36aef5400c6907a98c63d9fda0036a690899ac18f22a69906c952990ba30ad62ceb6a8779c57bbeb436a3b275e7ee023bd7433fa4a4153f90931dce84931d5 +DIST pydantic-2.12.2.tar.gz.provenance 9345 BLAKE2B bddbc886197130418681489fe021a55baf0ffc98e3c99c04590eaee6b669e5db7c00df30201a894640ee609f9f62c3bf728a5d1ba89926e803fb2f2786b09c5f SHA512 88bc8061c72bb119ab3da508fa0ce60f3cc141e987f02c4f65348e169a54b049f017b39ba813d08dfec5b00620c0c391b2e832a7e53d2a7d88b24a85ee565cb4 DIST pydantic_core-2.41.1.tar.gz 454870 BLAKE2B 8f02136a593a1b7613ed417d7e4edae1dc56d8ee06c1e92b336ade41d66a977668c2603360d85a7e36b273ae3215e878c3bda0c7d400cf4b528f5862a898fd75 SHA512 63d2d3cdfc2be673b6e60d677e3415f5b8718dbe857560110d22d7da31c5f4184fc7bcabafd24fb46d9763fbc9c64256c0d0f5de58ee915cb1b3cf32e9a65c1e DIST pydantic_core-2.41.3.tar.gz 457489 BLAKE2B 77a19a5f3e7f6cd9c8e68c7b177cdf4d8b5add3af5b781c423e8cf92f35c7e92984f9130bec5f7a4e069512dfde97e122d62d44418edc0fe007284ff12bcb240 SHA512 5c5fe5c69278a448f39678dd1c44b3588fc2996215873dbdf94071c743b4f976c2ec7e5dea66b6261729cd78b8694f57c79191a2a7e7533a3c035d734a7bcc73 +DIST pydantic_core-2.41.4.tar.gz 457557 BLAKE2B ebff295fe3a735fe29fd1c2384eb54c44f783413e849848392eff23e317f3e6650567211a284c2f5df5318827e447ff4ab457f7d63984e3a618698f3b9bfc243 SHA512 aced59b149d48956220407ff42001167c7fa98f3ae7539bab0b16011bf9a38d9c1e8994770db7bb0426114d3322316cb3ce12cb1961d54f6a4798d8b00d1ee85 DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194 DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ffdd08da01d2161dc66b08995c20cc859422f9f84077c545e5a0580182910aeb9dbba97838915148a82b86948d1cca3c8722 SHA512 a982d0a0baa4af58c2cef7c0c4b2671e3f559ca7f30586eda9fbd05e842efa2bfea0089ddbc729225b848871f6a25f85e86576e1dff519192ba289cd92c6aa8b DIST pyo3-ffi-0.26.0.crate 78247 BLAKE2B 65f1c399bc763bf8afc36ccac27d28242ebcccebd08ab8d9b3165ca5c9abb10f76e76fe5a250aa1e0cdc1d1e8a613160660f07bc0dbc2812675acb9dfc8e89c2 SHA512 91c2ae828e997dee5e48d839794727e94576228e9329c358a3bc77a59f8f37fa0ae6c2579229782b3f46ab90725844ce9194b9de4d3849d824adf1d40743bf7e diff --git a/dev-python/pydantic/pydantic-2.12.2.ebuild b/dev-python/pydantic/pydantic-2.12.2.ebuild new file mode 100644 index 000000000000..61df43df1b17 --- /dev/null +++ b/dev-python/pydantic/pydantic-2.12.2.ebuild @@ -0,0 +1,231 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=hatchling +# no provenance for pydantic-core: +# https://github.com/pydantic/pydantic-core/issues/1842 +PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic +PYTHON_COMPAT=( pypy3_11 python3_{11..13} ) + +PYDANTIC_CORE_PV=2.41.4 +RUST_MIN_VER="1.75.0" +CRATES=" + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected]+wasi-0.2.4 + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Data parsing and validation using Python type hints" +HOMEPAGE=" + https://github.com/pydantic/pydantic/ + https://pypi.org/project/pydantic/ +" +# pydantic-core & pydantic have a perfect circular test dep now +SRC_URI+=" + $(pypi_sdist_url pydantic_core "${PYDANTIC_CORE_PV}") + ${CARGO_CRATE_URIS} +" +PYDANTIC_CORE_S=${WORKDIR}/pydantic_core-${PYDANTIC_CORE_PV} + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.14.1[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}] + dev-python/tzdata[${PYTHON_USEDEP}] + !dev-python/pydantic-core +" +BDEPEND=" + >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] + dev-util/maturin[${PYTHON_USEDEP}] + test? ( + $(python_gen_cond_dep ' + dev-python/cloudpickle[${PYTHON_USEDEP}] + ' 'python3*') + 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/jsonschema-4.23.0[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" +# pydantic-core +BDEPEND+=" + test? ( + >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] + >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( hypothesis pytest-mock ) +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" + +src_unpack() { + pypi_src_unpack + cargo_src_unpack +} + +src_prepare() { + sed -i -e '/benchmark/d' {.,"${PYDANTIC_CORE_S}"}/pyproject.toml || die + sed -i -e '/^strip/d' "${PYDANTIC_CORE_S}"/Cargo.toml || die + distutils-r1_src_prepare +} + +python_compile() { + distutils-r1_python_compile + + local DISTUTILS_USE_PEP517=maturin + local DISTUTILS_UPSTREAM_PEP517=maturin + cd "${PYDANTIC_CORE_S}" || die + distutils-r1_python_compile + cd - >/dev/null || die +} + +python_test() { + local EPYTEST_DESELECT=( + # == pydantic == + # -Werror, sigh + tests/test_types_typeddict.py::test_readonly_qualifier_warning + + # == pydantic-core == + # TODO: recursion till segfault + tests/serializers/test_functions.py::test_recursive_call + ) + local EPYTEST_IGNORE=( + # require pytest-examples (pydantic) + tests/test_docs.py + # benchmarks (both) + tests/benchmarks + ) + + if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + # (pydantic) + tests/test_pickle.py + ) + fi + + cd "${PYDANTIC_CORE_S}" || die + rm -rf pydantic_core || die + # tests link to libpython, so they fail to link on pypy3 + [[ ${EPYTHON} != pypy3* ]] && cargo_src_test + epytest -o xfail_strict=False -o addopts= + cd - 2>/dev/null || die + + epytest +}
