From 0f558761aa2dee1017b4751e4017205e015a9560 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 29 Jun 2022 12:04:12 +0100 Subject: gentoo resync : 29.12.2022 --- dev-python/cached-property/Manifest | 3 +- .../cached-property-1.5.2-r1.ebuild | 30 +++++ .../cached-property/cached-property-1.5.2.ebuild | 32 ----- .../files/cached-property-1.5.2-python311.patch | 142 +++++++++++++++++++++ 4 files changed, 174 insertions(+), 33 deletions(-) create mode 100644 dev-python/cached-property/cached-property-1.5.2-r1.ebuild delete mode 100644 dev-python/cached-property/cached-property-1.5.2.ebuild create mode 100644 dev-python/cached-property/files/cached-property-1.5.2-python311.patch (limited to 'dev-python/cached-property') diff --git a/dev-python/cached-property/Manifest b/dev-python/cached-property/Manifest index 763e9f568172..e1397e98a9b4 100644 --- a/dev-python/cached-property/Manifest +++ b/dev-python/cached-property/Manifest @@ -1,4 +1,5 @@ AUX cached-property-1.5.1-test-failure.patch 366 BLAKE2B 1df343e43fb74df2913c222d2a1f37e703de34480e325df68feee7575682005be6d0f41f34e553c3ec2cde11c6907b1d79a73e67ac88c5691e366b7bc64d6970 SHA512 bf005bbb986140dab7949e015ee9453081b72a9c377b6f330f8ffac10f73d7ec0e2a2e20c9d65879c3c18b3c4b2735b3329b30f48e1e4bd01ece475833f2a58c +AUX cached-property-1.5.2-python311.patch 4479 BLAKE2B 8ca6e2240a63b1681e2eb4e900628db952270d7ce40065a52fd6cd590ce5ae16cd3895554d85d82749d31535057cb25885c8df88db04f89e87ea5cd7c365ca19 SHA512 f4539bc2fa26cbee77beb62bc517ef454f538660e9c1e15bcd9fbaa4deaf97c1d2a357f060e3bb0d7d772f8db3f05d8501188c5d3dc2ebbbeb737f9d44305c9c DIST cached-property-1.5.2.tar.gz 12244 BLAKE2B 26981dcfa51925741962c60ad8659a165af6d7f242f4abd392932aac20e966ad6c1763a25184bbabdeb5bd75f8063a430c41f0241afdee8013ffcb437b3ff7da SHA512 626d98a8891a70d858269859cf4e49416464c836d073c1331c21033a4cd9e0e47dc89b53bf393375439992f4993972517dc3cdcbb2cc6f8286f282d3c973e600 -EBUILD cached-property-1.5.2.ebuild 747 BLAKE2B 0940af2530973886eba2778518abf76de8a537a6e8bc6d6af8dfcdde317a63338415914593ceaa37e94620fd1db06bb767310fdd53c763f16cbe91ae758d2730 SHA512 db6e5cf1871f609fb3357846417d1206afdae1e9a7b35d07bbf012229b909d4a53b9e0ce3aac8de9c2153d98549635617d69b4020878a6e3fb9825aedea7d23a +EBUILD cached-property-1.5.2-r1.ebuild 753 BLAKE2B dc60a3a1949b5c8709c0667e42001deda8c93aef5642bd7b45e69446a4227bebc005f2d6348e61ba3e427ef64e8d715c399b8d881ec62f7a002929cfcb49bca5 SHA512 e24e4b177d3656ea66024f1e99d086880de5812b0e9227b1e39de0fc6dfdd14e4ba9a2f1d82d00fac0576d73704a570c6a0c72a6acab8a4bfe7347f909a6dcae MISC metadata.xml 406 BLAKE2B 4c2879c4bc8a511a8646c11d560414dc55421e0e8761b0b1b40138ac19a5e4f6d1e13f96962eed8333791c53a09d611a959be7c8485561e030af43020abd6c2f SHA512 00f4ca0fd3ae8c2b6b7ee3f1b35f5b5a9d690d86ad2753f971c6d37c98fb95d66fbf3680a64cef44dca262e962cf5f53d2a34c44dc789f2ee6bad193280614e3 diff --git a/dev-python/cached-property/cached-property-1.5.2-r1.ebuild b/dev-python/cached-property/cached-property-1.5.2-r1.ebuild new file mode 100644 index 000000000000..7fa864416e1c --- /dev/null +++ b/dev-python/cached-property/cached-property-1.5.2-r1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} pypy3 ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 + +DESCRIPTION="A cached-property for decorating methods in classes" +HOMEPAGE="https://github.com/pydanny/cached-property" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 arm64 ppc64 ~riscv x86" + +BDEPEND="test? ( dev-python/freezegun[${PYTHON_USEDEP}] )" + +distutils_enable_tests pytest + +DOCS=( README.rst HISTORY.rst CONTRIBUTING.rst AUTHORS.rst ) + +PATCHES=( + # bug 638250 + "${FILESDIR}"/${PN}-1.5.1-test-failure.patch + # @asyncio.coroutine removed in py3.11 + "${FILESDIR}"/${PN}-1.5.2-python311.patch +) diff --git a/dev-python/cached-property/cached-property-1.5.2.ebuild b/dev-python/cached-property/cached-property-1.5.2.ebuild deleted file mode 100644 index 8a772ac7a3ed..000000000000 --- a/dev-python/cached-property/cached-property-1.5.2.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} pypy3 ) - -inherit distutils-r1 - -DESCRIPTION="A cached-property for decorating methods in classes" -HOMEPAGE="https://github.com/pydanny/cached-property" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64 ~riscv x86" - -DEPEND="test? ( dev-python/freezegun[${PYTHON_USEDEP}] )" - -distutils_enable_tests pytest - -python_prepare_all() { - # bug 638250 - eapply "${FILESDIR}"/${PN}-1.5.1-test-failure.patch - - distutils-r1_python_prepare_all -} - -python_install_all() { - dodoc README.rst HISTORY.rst CONTRIBUTING.rst AUTHORS.rst - distutils-r1_python_install_all -} diff --git a/dev-python/cached-property/files/cached-property-1.5.2-python311.patch b/dev-python/cached-property/files/cached-property-1.5.2-python311.patch new file mode 100644 index 000000000000..989033f20036 --- /dev/null +++ b/dev-python/cached-property/files/cached-property-1.5.2-python311.patch @@ -0,0 +1,142 @@ +From 297031687679762849dedeaf24aa3a19116f095b Mon Sep 17 00:00:00 2001 +From: Petr Viktorin +Date: Thu, 2 Dec 2021 11:26:20 +0100 +Subject: [PATCH 1/2] Don't use asyncio.coroutinefunction if it's not available + +Python 3.11 drops the deprecated @asyncio.coroutine and +asyncio.iscoroutinefunction. + +Using a wrapper with @asyncio.coroutine in __get__ wasn't +necessary (the future from asyncio.ensure_future is awaitable, +and the wrapper doesn't do anything asynchronous), so the +logic can be simplified to just call asyncio.ensure_future +(to schedule the task and store the result when it's +available). + +Tests for @asyncio.coroutine are skipped on 3.11+. + +An unnecessary call to asyncio.coroutine in tests is +removed: it's not necessary to call this for `async def` +functions. +--- + cached_property.py | 24 +++++++++++------------- + conftest.py | 6 +++++- + tests/test_async_cached_property.py | 3 +-- + 3 files changed, 17 insertions(+), 16 deletions(-) + +diff --git a/cached_property.py b/cached_property.py +index 3135871..254739c 100644 +--- a/cached_property.py ++++ b/cached_property.py +@@ -13,6 +13,12 @@ + import asyncio + except (ImportError, SyntaxError): + asyncio = None ++try: ++ iscoroutinefunction = asyncio.iscoroutinefunction ++except AttributeError: ++ # Python 3.11: @asyncio.coroutine was removed ++ from inspect import iscoroutinefunction ++ + + + class cached_property(object): +@@ -30,22 +36,14 @@ def __get__(self, obj, cls): + if obj is None: + return self + +- if asyncio and asyncio.iscoroutinefunction(self.func): +- return self._wrap_in_coroutine(obj) ++ if asyncio and iscoroutinefunction(self.func): ++ value = asyncio.ensure_future(self.func(obj)) ++ else: ++ value = self.func(obj) + +- value = obj.__dict__[self.func.__name__] = self.func(obj) ++ obj.__dict__[self.func.__name__] = value + return value + +- def _wrap_in_coroutine(self, obj): +- @wraps(obj) +- @asyncio.coroutine +- def wrapper(): +- future = asyncio.ensure_future(self.func(obj)) +- obj.__dict__[self.func.__name__] = future +- return future +- +- return wrapper() +- + + class threaded_cached_property(object): + """ +diff --git a/conftest.py b/conftest.py +index 0563f64..1c4b618 100644 +--- a/conftest.py ++++ b/conftest.py +@@ -7,13 +7,17 @@ + # Whether the async and await keywords work + has_async_await = sys.version_info[0] == 3 and sys.version_info[1] >= 5 + ++# Whether "from asyncio import coroutine" *fails* ++version_info = sys.version_info ++dropped_asyncio_coroutine = version_info[0] == 3 and version_info[1] >= 11 ++ + + print("conftest.py", has_asyncio, has_async_await) + + + collect_ignore = [] + +-if not has_asyncio: ++if not has_asyncio or dropped_asyncio_coroutine: + collect_ignore.append("tests/test_coroutine_cached_property.py") + + if not has_async_await: +diff --git a/tests/test_async_cached_property.py b/tests/test_async_cached_property.py +index 4ba84f3..d61cc28 100644 +--- a/tests/test_async_cached_property.py ++++ b/tests/test_async_cached_property.py +@@ -9,8 +9,7 @@ + + def unittest_run_loop(f): + def wrapper(*args, **kwargs): +- coro = asyncio.coroutine(f) +- future = coro(*args, **kwargs) ++ future = f(*args, **kwargs) + loop = asyncio.get_event_loop() + loop.run_until_complete(future) + + +From 9b210d12fa73c91743378ba4a966417846e7ea9a Mon Sep 17 00:00:00 2001 +From: Petr Viktorin +Date: Thu, 2 Dec 2021 11:44:18 +0100 +Subject: [PATCH 2/2] Restore compatibility with python 2.7 + +This is still necessary according to the Contributing Guidelines. +--- + cached_property.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/cached_property.py b/cached_property.py +index 254739c..944e2f5 100644 +--- a/cached_property.py ++++ b/cached_property.py +@@ -13,12 +13,12 @@ + import asyncio + except (ImportError, SyntaxError): + asyncio = None +-try: +- iscoroutinefunction = asyncio.iscoroutinefunction +-except AttributeError: +- # Python 3.11: @asyncio.coroutine was removed +- from inspect import iscoroutinefunction +- ++if asyncio: ++ try: ++ iscoroutinefunction = asyncio.iscoroutinefunction ++ except AttributeError: ++ # Python 3.11: @asyncio.coroutine was removed ++ from inspect import iscoroutinefunction + + + class cached_property(object): -- cgit v1.2.3