diff options
Diffstat (limited to 'dev-python/pynvim')
-rw-r--r-- | dev-python/pynvim/Manifest | 4 | ||||
-rw-r--r-- | dev-python/pynvim/files/pynvim-0.5.2-py314.patch | 51 | ||||
-rw-r--r-- | dev-python/pynvim/pynvim-0.5.2-r1.ebuild | 56 | ||||
-rw-r--r-- | dev-python/pynvim/pynvim-0.5.2.ebuild | 2 |
4 files changed, 111 insertions, 2 deletions
diff --git a/dev-python/pynvim/Manifest b/dev-python/pynvim/Manifest index 06d2e936eebe..fef0c5276719 100644 --- a/dev-python/pynvim/Manifest +++ b/dev-python/pynvim/Manifest @@ -1,3 +1,5 @@ +AUX pynvim-0.5.2-py314.patch 2115 BLAKE2B cd12dde08b9f993d24067eca267a6e2598d933b8c64621fc5c11b2dca1f54684d2951321f18e431c521660d54258ff4d76b600d43a768b051428515f37b6e6d2 SHA512 ab4ad8e33929fa8d5b755c891ddb75b06050e45293d71e69c47ee7e08ad854d60e9a12ac42bc2c16a2a254b1dc45b5664c917a5b48230eb9c67ecedd5218efee DIST pynvim-0.5.2.gh.tar.gz 61269 BLAKE2B 252c9e38935cfb8558ad0536090942b5dbd582f5164c7172fb85e0fa76ba50f18c6be42831905599e28c6a1c074af7c71d7b35b6a37560a28f7bb8a11fcc7b5b SHA512 3bc07e6e1aec265d9584cb03946a0d72fbd43be498bfcefc35d6b60f23316d1dd0ea812f24d96a0e156bd54918944b3cce6303f9a66b23e61c9a000233aa10eb -EBUILD pynvim-0.5.2.ebuild 1015 BLAKE2B ddad1c0b239180a169d0510f929cf36fd423cc97a826142ef9bac6c345a9aa3f12ddb315226c908943fb94e4da8735792cc6a6f805341efa3a329962ad5f0b54 SHA512 188d23cd3ec3306858e921cffe0d9c46dca847f85375c4fd6e8e73afa046d57d885a796a25146ba4b582cfda8b75c31a377e87f61686e3800be690ecc6cb57cc +EBUILD pynvim-0.5.2-r1.ebuild 1058 BLAKE2B 700b250e04fd0060ef0e57053c9bdd8ea15d71cb7ba0cb04c80d7b8fb31de29200411ae175ef93d1a42c5bd4f5e9ec007b6a85b4a3f7c8c270a62b25b711eb4f SHA512 ab53d9df4f27c0723d7fe01bf18a55d2b0c8d2a356ac6c5e363569cc8fed889dcaea7d9ddce7a97437b34374f1b522c223133328ff0b8a0af44364c4553d04b7 +EBUILD pynvim-0.5.2.ebuild 1009 BLAKE2B 9bef90516dc09e890b743a905e107a940bcdd4543cf40a5032c85ff4d9bca24994d6c703e451a05f46eeffb9b412f5a8e4780df649b7d82fa4b05e022b35b398 SHA512 cfa00cdbda4b62ccd8de3a3ba16a644bbc1b627adf181aee4de3b0433dbc3681fe5ffd7e766ee576ae0c17809f4bbb898c8dd36cdb047637a0645fbf780f218a MISC metadata.xml 497 BLAKE2B 0fb6f83694d47c77d6b370e19a2c681caff4d9a105ce831f54823c65c995cb88949bf1f276a186245c8a03f551374cb6583cc9e0b4143fa048fae289278d4042 SHA512 bbf30f5aa13e28b3a7f810d6660815767e0c21e21de7e01ebfd6b1ca6a22187e3f3aa8278ee26ffb632a6c201e5544ad2b069710dc8cccf6d4bbda962b48437c diff --git a/dev-python/pynvim/files/pynvim-0.5.2-py314.patch b/dev-python/pynvim/files/pynvim-0.5.2-py314.patch new file mode 100644 index 000000000000..1bd0d1d90e72 --- /dev/null +++ b/dev-python/pynvim/files/pynvim-0.5.2-py314.patch @@ -0,0 +1,51 @@ +https://github.com/neovim/pynvim/commit/e2a3ead549f91bc5f5a157660be7a29e0bc9f728 + +From e2a3ead549f91bc5f5a157660be7a29e0bc9f728 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider <asn@cryptomilk.org> +Date: Mon, 13 Jan 2025 09:43:32 +0100 +Subject: [PATCH] fix: asyncio.get_child_watcher() was removed in Python 3.14 + #584 + +Fixes #583 +--- + pynvim/msgpack_rpc/event_loop/asyncio.py | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +diff --git a/pynvim/msgpack_rpc/event_loop/asyncio.py b/pynvim/msgpack_rpc/event_loop/asyncio.py +index cb17f321..d4ad1413 100644 +--- a/pynvim/msgpack_rpc/event_loop/asyncio.py ++++ b/pynvim/msgpack_rpc/event_loop/asyncio.py +@@ -188,10 +188,20 @@ async def connect_stdout(): + + @override + def _connect_child(self, argv: List[str]) -> None: ++ def get_child_watcher(): ++ try: ++ return asyncio.get_child_watcher() ++ except AttributeError: # Python 3.14 ++ return None ++ ++ return None ++ + if os.name != 'nt': + # see #238, #241 +- self._child_watcher = asyncio.get_child_watcher() +- self._child_watcher.attach_loop(self._loop) ++ watcher = get_child_watcher() ++ if watcher is not None: ++ watcher.attach_loop(self._loop) ++ self._child_watcher = watcher + + async def create_subprocess(): + transport: asyncio.SubprocessTransport # type: ignore +@@ -250,7 +260,8 @@ def _close_transport(transport): + # Windows: for ProactorBasePipeTransport, close() doesn't take in + # effect immediately (closing happens asynchronously inside the + # event loop), need to wait a bit for completing graceful shutdown. +- if os.name == 'nt' and hasattr(transport, '_sock'): ++ if (sys.version_info < (3, 13) and ++ os.name == 'nt' and hasattr(transport, '_sock')): + async def wait_until_closed(): + # pylint: disable-next=protected-access + while transport._sock is not None: + diff --git a/dev-python/pynvim/pynvim-0.5.2-r1.ebuild b/dev-python/pynvim/pynvim-0.5.2-r1.ebuild new file mode 100644 index 000000000000..0bdde465d0b2 --- /dev/null +++ b/dev-python/pynvim/pynvim-0.5.2-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) + +inherit distutils-r1 + +DESCRIPTION="Python client for Neovim" +HOMEPAGE=" + https://github.com/neovim/pynvim/ + https://pypi.org/project/pynvim/ +" +SRC_URI=" + https://github.com/neovim/pynvim/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + dev-python/msgpack[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/greenlet-3.0[${PYTHON_USEDEP}] + ' 'python*') + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}] + ' 3.11) +" +BDEPEND=" + test? ( + app-editors/neovim + dev-python/pytest-timeout[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.5.2-py314.patch +) + +: ${EPYTEST_TIMEOUT:=5} +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # hangs + test/test_events.py::test_broadcast + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/pynvim/pynvim-0.5.2.ebuild b/dev-python/pynvim/pynvim-0.5.2.ebuild index 14b58fdb3941..adb5d1958451 100644 --- a/dev-python/pynvim/pynvim-0.5.2.ebuild +++ b/dev-python/pynvim/pynvim-0.5.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 ) +PYTHON_COMPAT=( python3_{11..13} pypy3_11 ) inherit distutils-r1 |