diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest index 4608195e9d4e1..61159e65d4b31 100644 --- a/dev-python/pydantic-core/Manifest +++ b/dev-python/pydantic-core/Manifest @@ -54,6 +54,7 @@ DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6 DIST pydantic_core-2.33.2.tar.gz 435195 BLAKE2B 8ac251da2eb8b9f4e54a55ca79945f18d5a229c76386b6076bc3c7e33f2a18f4e47b430afc952b4b19e48d3d5bb8d7b8ad1aca012a8b0707445c06c00a649a0a SHA512 253609ca32aa0a1f0e15271982494832e02f2b4e072439d9a9372ead3d914edf60d6ab50e38bbeea17c233eb20a938948631e1c704bc31785d7e81442d043893 DIST pydantic_core-2.37.2.tar.gz 443903 BLAKE2B 01aacc0d23a3ae8db396c6bb4bc2b0da02d4df2a2ef498a0a644a427dabd4f2fec5e2a1ff325fe41fc9484182b5b1b22bf2682ca41ff49edcd99e75f6103cb74 SHA512 7fd9a47079d101633d56e781a627d6a99c6a2a362332b89d30fd6e773004776783fd7cf2154206c9df748c94d52747a18b548e2771dd113aeeabf18262cc27bf 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 pyo3-0.24.1.crate 1113050 BLAKE2B 5a203f8c845b08b40ed64561d385d2e4134a38916723ef6b0b4be8f44fa9de594c4eca138c318ad83a156f66273b20b55acb19897dca3eba5d479e6333be815e SHA512 6c2a8f9d554a3cf151a796ee20610b596ebdbf9e642d6b2ddc35d0142841d7be51e739ddef4332cfa8c4625c972d9705eae5f694b4d8907882bec4add7c6c6ed DIST pyo3-0.25.1.crate 1121993 BLAKE2B 79a982131fc4c4f9292e97bc8d938d236ee9cefb99bb90646a84703660ad506aee8ae1f1e626d985aa62c695722510f2697544581fa5c3a01f193be2bc2779fe SHA512 9c842c89d274dba0c8a3085a8524736245d65f07e5c05bc13fc89167cfdeb1a4ff2b4a9da9467eee918e45d01777473f39bda11efe0052859969d4fdeac1adc6 DIST pyo3-build-config-0.24.1.crate 34020 BLAKE2B 34ed5a2385de138fde0308439c5fcd8a92a48b215b41799838d5b3106b0845f70023ccd97d60c39cea4729cd8bd850e1ef4e372ac332a06037dc5dd574b09834 SHA512 6008f6737685882b2fd958fcc5f171c0ddc10520631904ca759f857117241dc0a648d4cf30d9a84483662bfbc435eccc3deed9981f98b88016b12a5944ae3ff7 diff --git a/dev-python/pydantic-core/pydantic-core-2.39.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.39.0.ebuild new file mode 100644 index 0000000000000..8310d575237b3 --- /dev/null +++ b/dev-python/pydantic-core/pydantic-core-2.39.0.ebuild @@ -0,0 +1,171 @@ +# 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} ) + +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.0.3 + idna_adapter@1.2.0 + indoc@2.0.5 + itoa@1.0.11 + jiter@0.10.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.19.0 + percent-encoding@2.3.1 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.25.1 + pyo3-ffi@0.25.1 + pyo3-macros-backend@0.25.1 + pyo3-macros@0.25.1 + pyo3@0.25.1 + python3-dll-a@0.2.14 + quote@1.0.36 + r-efi@5.2.0 + radium@0.7.0 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.1 + rustversion@1.0.17 + ryu@1.0.18 + serde@1.0.219 + serde_derive@1.0.219 + serde_json@1.0.142 + 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.17.0 + 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= +}