diff options
Diffstat (limited to 'dev-python/cattrs/cattrs-26.2.0.ebuild')
| -rw-r--r-- | dev-python/cattrs/cattrs-26.2.0.ebuild | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/dev-python/cattrs/cattrs-26.2.0.ebuild b/dev-python/cattrs/cattrs-26.2.0.ebuild new file mode 100644 index 000000000000..95f5baab225d --- /dev/null +++ b/dev-python/cattrs/cattrs-26.2.0.ebuild @@ -0,0 +1,93 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Composable complex class support for attrs and dataclasses" +HOMEPAGE=" + https://pypi.org/project/cattrs/ + https://github.com/python-attrs/cattrs/ +" +SRC_URI=" + https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test-rust" + +RDEPEND=" + >=dev-python/attrs-25.4.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.14.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + >=dev-python/immutables-0.20[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.0.5[${PYTHON_USEDEP}] + >=dev-python/pymongo-4.4.0[${PYTHON_USEDEP}] + >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.11.8[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.1.0[${PYTHON_USEDEP}] + >=dev-python/ujson-5.10.0[${PYTHON_USEDEP}] + test-rust? ( + $(python_gen_cond_dep ' + >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}] + >=dev-python/orjson-3.11.3[${PYTHON_USEDEP}] + ' 'python*') + ) + ) +" + +# xdist can randomly break tests, depending on job count +# https://bugs.gentoo.org/941429 +EPYTEST_PLUGINS=( hypothesis ) +distutils_enable_tests pytest + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +python_test() { + local EPYTEST_IGNORE=( + # requires msgspec + tests/preconf/test_msgspec_cpython.py + ) + local EPYTEST_DESELECT=( + # these require msgspec + tests/test_preconf.py::test_literal_dicts_msgspec + tests/test_preconf.py::test_msgspec_efficient_enum + tests/test_preconf.py::test_msgspec_json_converter + tests/test_preconf.py::test_msgspec_json_unions + tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides + tests/test_preconf.py::test_msgspec_native_enums + ) + + if ! has_version "dev-python/cbor2[${PYTHON_USEDEP}]"; then + # https://github.com/python-attrs/cattrs/pull/748 + sed -i -e '/cbor2_make_converter/d' tests/test_preconf.py || die + + EPYTEST_DESELECT+=( + tests/test_preconf.py::test_cbor2 + tests/test_preconf.py::test_cbor2_converter + tests/test_preconf.py::test_cbor2_converter_unstruct_collection_overrides + tests/test_preconf.py::test_cbor2_efficient_enum + tests/test_preconf.py::test_cbor2_native_enums + tests/test_preconf.py::test_cbor2_unions + ) + fi + if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/test_preconf.py::test_orjson + tests/test_preconf.py::test_orjson_converter + tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides + ) + fi + + epytest -o addopts= tests +} |
