commit: 9a43563250b0a3cb6443ae063f2d9f4308869503
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 26 06:08:12 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 26 06:34:59 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a435632
dev-python/cattrs: Bump to 24.1.3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/cattrs/Manifest | 1 +
dev-python/cattrs/cattrs-24.1.3.ebuild | 107 +++++++++++++++++++++++++++++++++
2 files changed, 108 insertions(+)
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index f8a7c0532ad1..d8df307bf9b3 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1 +1,2 @@
DIST cattrs-24.1.2.gh.tar.gz 428615 BLAKE2B
d6874493083c4a082b319a12bead71d8a147a35019f3b08a7f16c4c982c061b98db71d6e1027215df53efc66c93688cbd6d5cfaaa9a46f9bd1a39893bbbc21ee
SHA512
00316c062343a91cb71ba297af7d74798000cd44afca6eb6286278b3340efc27621486336c095e21a0e1701105494d60b72991aa00b8ab9bacf30a47eee877ce
+DIST cattrs-24.1.3.gh.tar.gz 428852 BLAKE2B
3c4e7842886229c56f29d6e98f0a19a374aaeacd97015b729cf8ebc677ffcb0fb7e51efd329200ead1fd1bec16e4f86b18effa17fac2511d008e8d34dfdfdd84
SHA512
1fe1de70c4ab8a5e4da7ab534833f22f02b23b01a14b68186185aa5af9b5260606e5f20365fe103901368602d4a9e3560733a85ec06f601227f1cab3c191b1e4
diff --git a/dev-python/cattrs/cattrs-24.1.3.ebuild
b/dev-python/cattrs/cattrs-24.1.3.ebuild
new file mode 100644
index 000000000000..938354e5eecf
--- /dev/null
+++ b/dev-python/cattrs/cattrs-24.1.3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+
+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-23.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.1.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.79.4[${PYTHON_USEDEP}]
+ >=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/ujson-5.7.0[${PYTHON_USEDEP}]
+ test-rust? (
+ $(python_gen_cond_dep '
+ >=dev-python/orjson-3.9.2[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ )
+"
+
+# xdist can randomly break tests, depending on job count
+# https://bugs.gentoo.org/941429
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-attrs/cattrs/pull/543
+ "${FILESDIR}/${PN}-23.2.4_pre20240627-py313.patch"
+)
+
+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_msgspec_json_unstruct_collection_overrides
+ tests/test_preconf.py::test_msgspec_json_unions
+ tests/test_preconf.py::test_msgspec_json_converter
+
+ # tests need updating for attrs-24*
+ # https://github.com/python-attrs/cattrs/issues/575
+ tests/test_baseconverter.py
+ tests/test_converter.py
+ tests/test_gen_dict.py::test_individual_overrides
+ tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+
tests/test_structure_attrs.py::test_structure_simple_from_dict_default
+ )
+
+ 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
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/preconf/test_pyyaml.py::test_pyyaml
+
tests/preconf/test_pyyaml.py::test_pyyaml_converter
+ tests/test_converter.py::test_simple_roundtrip
+
tests/test_gen_dict.py::test_unmodified_generated_structuring
+
tests/test_generics.py::test_unstructure_deeply_nested_generics_list
+
tests/test_unstructure_collections.py::test_collection_unstructure_override_mapping
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= tests
+}