From c44123f79f40edf5fe3d4b0d211d6aa68542abd2 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 3 Feb 2024 17:44:31 +0000 Subject: gentoo auto-resync : 03:02:2024 - 17:44:31 --- dev-python/cbor2/Manifest | 3 ++ dev-python/cbor2/cbor2-5.6.1.ebuild | 51 +++++++++++++++++++++++++++ dev-python/cbor2/files/cbor2-5.6.1-cext.patch | 40 +++++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 dev-python/cbor2/cbor2-5.6.1.ebuild create mode 100644 dev-python/cbor2/files/cbor2-5.6.1-cext.patch (limited to 'dev-python/cbor2') diff --git a/dev-python/cbor2/Manifest b/dev-python/cbor2/Manifest index e848b03202af..c513545e3d80 100644 --- a/dev-python/cbor2/Manifest +++ b/dev-python/cbor2/Manifest @@ -1,3 +1,6 @@ +AUX cbor2-5.6.1-cext.patch 1256 BLAKE2B 183cc230018447f40b3bd47183e7079a12f083dec569e6f3e88102b0f1a15aba02ca1034091c685119a2b37cc4cdbd63c31b21382c1527d590b2c5ad19e2ccd4 SHA512 129a8ce4e8e2bddf9180e760002ffdd534f0a6b695027b150c7725aa83f7c40a065e214fa385da9a23faf2256b64e4705deaf49a6fe32e01e83ee9c006b3d394 DIST cbor2-5.5.1.tar.gz 94221 BLAKE2B 651d229c9a4e5fda2ae61302f8bd72a165f15e008333525a301f2fc94dc81259698f4ae9b8c1f3a0b5fadffadd4d55f2ba4bf1445938a10342997bca64ceba31 SHA512 7878b997ae5bdf44cb04b7cef8445a94f11c1722819ea85073bd56f99976cf2c1c1180e72d9ae9cd7dd7d06a6aa55dc1cb3f919a869098a9feede210f8355fb4 +DIST cbor2-5.6.1.tar.gz 99268 BLAKE2B 95a310c6fea00f90ba512d836691ab8fb75ebb9f6b59ca0698b7f97d2c969d2f8809ed2717c48354812f309856a35873c96571194dd86c48a225696b27ec806f SHA512 9ddf2c3690780816ff50ff4ed371435ca45b597b706254c37c9f01d1f1a699892e2c945a72e69b5506a803c41692f399b58b4e32d9409a0197c677e537e656b2 EBUILD cbor2-5.5.1.ebuild 1062 BLAKE2B 13d3865fb6e82044d578bc30b6328672b7636756fc9db0b0f854c4cdac1db3cf74962024b6169d2e197e1e350085afd90f429b5ec83bbaff0c6a364dab964287 SHA512 cb6c47496f474d46934aaa14941a49feef5768a932d6b7e3bb4e353cf0e8db000d55a72d604d2bdb0d819df031daf9bb39aa03b511e0f7275f2c4b8c3fcae8c9 +EBUILD cbor2-5.6.1.ebuild 1170 BLAKE2B b6efaf53c508cdceafc3d4314fffe52e5e550f7f1c9199d22512744b345d8f7c4033946d31956dd8a63fa6b9db24b83a2a0f5869c6534b7e8dd9aa94aefbc339 SHA512 76108ca8ffd7f6f1d52508f5109a57e2586497d69da57b555f819494f1fe4ecdbe8acd8ead2a65f663b4931bb95b301197bc08a5aab444a557855a6665603e7c MISC metadata.xml 1142 BLAKE2B 689bac6d11c7cd4044b2528c5a6bbb183accdada7865efa65ffa6fb52160bf34d4e3629101eb9ceac88e842caae92f4df1e9ce2a5c3ffaa709ece08786267f96 SHA512 82647cdf6d750d791a46784b92cc8ef2f4ead08227f266f6ad782fbaea2e90fea0cfabe5d79848b3c9253a38af1e105b9a279d9e7ca4e1edd3aec79aa5897a1a diff --git a/dev-python/cbor2/cbor2-5.6.1.ebuild b/dev-python/cbor2/cbor2-5.6.1.ebuild new file mode 100644 index 000000000000..34465192386c --- /dev/null +++ b/dev-python/cbor2/cbor2-5.6.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{10..12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Pure Python CBOR (de)serializer with extensive tag support" +HOMEPAGE=" + https://github.com/agronholm/cbor2/ + https://pypi.org/project/cbor2/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+native-extensions" + +BDEPEND=" + >=dev-python/setuptools-61[${PYTHON_USEDEP}] + >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}] + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + local PATCHES=( + # https://github.com/agronholm/cbor2/issues/213 + "${FILESDIR}/${P}-cext.patch" + ) + + # remove pytest-cov dep + sed -i -e "s/--cov//" pyproject.toml || die + distutils-r1_python_prepare_all +} + +python_compile() { + local -x CBOR2_BUILD_C_EXTENSION=1 + # pypy3 not supported upstream + if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then + CBOR2_BUILD_C_EXTENSION=0 + fi + distutils-r1_python_compile +} diff --git a/dev-python/cbor2/files/cbor2-5.6.1-cext.patch b/dev-python/cbor2/files/cbor2-5.6.1-cext.patch new file mode 100644 index 000000000000..1695038e4b42 --- /dev/null +++ b/dev-python/cbor2/files/cbor2-5.6.1-cext.patch @@ -0,0 +1,40 @@ +From 4de6991ba29bf2290d7b9d83525eda7d021873df Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= +Date: Sat, 3 Feb 2024 13:03:38 +0200 +Subject: [PATCH] Check PyObject_Hash() return value for errors + +Fixes #213. +--- + docs/versionhistory.rst | 5 +++++ + source/tags.c | 2 ++ + 2 files changed, 7 insertions(+) + +diff --git a/docs/versionhistory.rst b/docs/versionhistory.rst +index 70948c5..c91cdd0 100644 +--- a/docs/versionhistory.rst ++++ b/docs/versionhistory.rst +@@ -5,6 +5,11 @@ Version history + + This library adheres to `Semantic Versioning `_. + ++**UNRELEASED** ++ ++- Fixed ``__hash__()`` of the C version of the ``CBORTag`` type crashing when there's a recursive ++ reference cycle ++ + **5.6.1** (2024-02-01) + + - Fixed use-after-free in the decoder's C version when prematurely encountering the end of stream +diff --git a/source/tags.c b/source/tags.c +index b718f55..ceb0916 100644 +--- a/source/tags.c ++++ b/source/tags.c +@@ -182,6 +182,8 @@ CBORTag_hash(CBORTagObject *self) + goto exit; + + ret = PyObject_Hash(tmp); ++ if (ret == -1) ++ goto exit; + + // Remove id(self) from thread_locals.running_hashes + if (PySet_Discard(running_hashes, self_id) == -1) { -- cgit v1.2.3