diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest index 1a1287b63f29e..5d2e0f2da006b 100644 --- a/dev-python/pydantic-core/Manifest +++ b/dev-python/pydantic-core/Manifest @@ -59,6 +59,7 @@ DIST pydantic_core-2.37.2.tar.gz 443903 BLAKE2B 01aacc0d23a3ae8db396c6bb4bc2b0da DIST pydantic_core-2.38.0.tar.gz 445460 BLAKE2B 1d19f345b12dcc20f5ce6a8970cef950c6e7a571094cbae4c448c9d00548f5e2c378fd2aa9cbafcb1638540a8d3aebe3bf441319a5001aefb719b11a05c7c817 SHA512 6694f7d139a82fac19a599ec0614bcb5c2477a5eda6c2c4db3c7640f9846a36bd1a8383e9922c04e7651bec428f678859d5c9a770b331961b484af6e44e53ebc DIST pydantic_core-2.39.0.tar.gz 446231 BLAKE2B 7160ed010fd8b1f7fe8ae228ea4ecbba06106055e4caee9af62f0ff2bd78ada497de005548bbc993d222c1b7fca3d1c5a2052c28dd5cf53d84f37310bda2dad2 SHA512 de645af17b159d587a63754aff533946211574907a8700e074f1d49754a6a0e3a9bc11ab1fea669c66e439c9985f031b096100d2f32fe63c38f57ebf15b4e5fb DIST pydantic_core-2.40.0.tar.gz 452450 BLAKE2B e73c11654735d13c4a7e3977c267876ec061f26215c5bd7048a88e63d94877b401d7428c74151295ee680b2a0a46f1363ff9a5645234b8fe03a5a782cdb2e17b SHA512 a49e360badf52d10820d6716c78e01683217e35f0c82ec2de13ee4a1834ca226ff0cbe6d2b143e24c181b1ba9ffaaf852a915136f08100858310a54f75e50509 +DIST pydantic_core-2.40.1.tar.gz 452466 BLAKE2B fe52aa03c4ece26b431f27e3f8d4c7420991c6ac68727ed346a4fcb70c66bea0b690c58d9be2d23ec3f1fca5710ccce8d76e08791534e9dbd80fc35532693c3a SHA512 9aaa0aed05e22ff39bcad0dfce2326998f18427b9e08312a6c3c221dc151bd85e3ef57d0921ff7a5b8744f539b5c1f42655eb650ff7d5d426807c93fddcde70b DIST pyo3-0.24.1.crate 1113050 BLAKE2B 5a203f8c845b08b40ed64561d385d2e4134a38916723ef6b0b4be8f44fa9de594c4eca138c318ad83a156f66273b20b55acb19897dca3eba5d479e6333be815e SHA512 6c2a8f9d554a3cf151a796ee20610b596ebdbf9e642d6b2ddc35d0142841d7be51e739ddef4332cfa8c4625c972d9705eae5f694b4d8907882bec4add7c6c6ed DIST pyo3-0.25.1.crate 1121993 BLAKE2B 79a982131fc4c4f9292e97bc8d938d236ee9cefb99bb90646a84703660ad506aee8ae1f1e626d985aa62c695722510f2697544581fa5c3a01f193be2bc2779fe SHA512 9c842c89d274dba0c8a3085a8524736245d65f07e5c05bc13fc89167cfdeb1a4ff2b4a9da9467eee918e45d01777473f39bda11efe0052859969d4fdeac1adc6 DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194 diff --git a/dev-python/pydantic-core/pydantic-core-2.40.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.40.1.ebuild new file mode 100644 index 0000000000000..70a3a679da3b3 --- /dev/null +++ b/dev-python/pydantic-core/pydantic-core-2.40.1.ebuild @@ -0,0 +1,173 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3_11 python3_{11..13} ) + +RUST_MIN_VER="1.75.0" +CRATES=" + ahash@0.8.12 + aho-corasick@1.1.3 + autocfg@1.3.0 + base64@0.22.1 + bitflags@2.9.1 + bitvec@1.0.1 + bumpalo@3.19.0 + cc@1.0.101 + cfg-if@1.0.0 + displaydoc@0.2.5 + enum_dispatch@0.3.13 + form_urlencoded@1.2.1 + funty@2.0.0 + getrandom@0.3.3 + heck@0.5.0 + hex@0.4.3 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@1.1.0 + idna_adapter@1.2.0 + indoc@2.0.5 + itoa@1.0.11 + jiter@0.11.0 + js-sys@0.3.77 + lexical-parse-float@1.0.5 + lexical-parse-integer@1.0.5 + lexical-util@1.0.6 + libc@0.2.155 + litemap@0.7.3 + log@0.4.27 + memchr@2.7.4 + memoffset@0.9.1 + num-bigint@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + once_cell@1.21.3 + percent-encoding@2.3.1 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.26.0 + pyo3-ffi@0.26.0 + pyo3-macros-backend@0.26.0 + pyo3-macros@0.26.0 + pyo3@0.26.0 + python3-dll-a@0.2.14 + quote@1.0.36 + r-efi@5.2.0 + radium@0.7.0 + regex-automata@0.4.11 + regex-syntax@0.8.5 + regex@1.11.3 + rustversion@1.0.17 + ryu@1.0.18 + serde@1.0.228 + serde_core@1.0.228 + serde_derive@1.0.228 + serde_json@1.0.145 + smallvec@1.15.1 + speedate@0.17.0 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strum@0.27.2 + strum_macros@0.27.2 + syn@2.0.82 + synstructure@0.13.1 + tap@1.0.1 + target-lexicon@0.13.2 + tinystr@0.7.6 + unicode-ident@1.0.12 + unindent@0.2.3 + url@2.5.4 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + uuid@1.18.1 + version_check@0.9.5 + wasi@0.14.2+wasi-0.2.4 + wasm-bindgen-backend@0.2.100 + wasm-bindgen-macro-support@0.2.100 + wasm-bindgen-macro@0.2.100 + wasm-bindgen-shared@0.2.100 + wasm-bindgen@0.2.100 + wit-bindgen-rt@0.39.0 + write16@1.0.0 + writeable@0.5.5 + wyz@0.5.1 + yoke-derive@0.7.4 + yoke@0.7.4 + zerocopy-derive@0.8.25 + zerocopy@0.8.25 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Core validation logic for pydantic written in Rust" +HOMEPAGE=" + https://github.com/pydantic/pydantic-core/ + https://pypi.org/project/pydantic_core/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +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/typing-extensions-4.14.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] + >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{mock,timeout} ) +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" + +src_prepare() { + distutils-r1_src_prepare + + sed -i -e '/--benchmark/d' pyproject.toml || die + sed -i -e '/^strip/d' Cargo.toml || die +} + +python_test() { + local EPYTEST_IGNORE=( + tests/benchmarks + ) + local EPYTEST_DESELECT=( + # TODO: recursion till segfault + tests/serializers/test_functions.py::test_recursive_call + ) + + 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= +}