diff --git a/dev-python/sshtunnel/files/sshtunnel-0.4.0-paramiko-4-compat.patch b/dev-python/sshtunnel/files/sshtunnel-0.4.0-paramiko-4-compat.patch new file mode 100644 index 000000000000..d015fbb42832 --- /dev/null +++ b/dev-python/sshtunnel/files/sshtunnel-0.4.0-paramiko-4-compat.patch @@ -0,0 +1,27 @@ +https://github.com/pahaz/sshtunnel/issues/302 +https://github.com/pahaz/sshtunnel/pull/300 + +From 7030d0c76c679c2934bdc27adc48ff5a84d1ae9a Mon Sep 17 00:00:00 2001 +From: lglines +Date: Mon, 4 Aug 2025 08:58:11 -0600 +Subject: [PATCH] remove DSSKey, which is no longer supported by paramiko + +--- a/sshtunnel.py ++++ b/sshtunnel.py +@@ -1090,7 +1090,6 @@ def get_keys(logger=None, host_pkey_directories=None, allow_agent=False): + host_pkey_directories = [DEFAULT_SSH_DIRECTORY] + + paramiko_key_types = {'rsa': paramiko.RSAKey, +- 'dsa': paramiko.DSSKey, + 'ecdsa': paramiko.ECDSAKey} + if hasattr(paramiko, 'Ed25519Key'): + # NOQA: new in paramiko>=2.2: http://docs.paramiko.org/en/stable/api/keys.html#module-paramiko.ed25519key +@@ -1295,7 +1294,7 @@ def read_private_key_file(pkey_file, + paramiko.Pkey + """ + ssh_pkey = None +- key_types = (paramiko.RSAKey, paramiko.DSSKey, paramiko.ECDSAKey) ++ key_types = (paramiko.RSAKey, paramiko.ECDSAKey) + if hasattr(paramiko, 'Ed25519Key'): + # NOQA: new in paramiko>=2.2: http://docs.paramiko.org/en/stable/api/keys.html#module-paramiko.ed25519key + key_types += (paramiko.Ed25519Key, ) diff --git a/dev-python/sshtunnel/sshtunnel-0.4.0-r2.ebuild b/dev-python/sshtunnel/sshtunnel-0.4.0-r2.ebuild new file mode 100644 index 000000000000..5a8be972ba9e --- /dev/null +++ b/dev-python/sshtunnel/sshtunnel-0.4.0-r2.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +EPYTEST_XDIST=1 +PYTHON_COMPAT=( python3_{11..14} ) +inherit distutils-r1 pypi + +DESCRIPTION="Pure Python SSH tunnels" +HOMEPAGE="https://pypi.org/project/sshtunnel/" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND="dev-python/paramiko[${PYTHON_USEDEP}]" +BDEPEND=" + test? ( + dev-python/paramiko[server(+),${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}"/sshtunnel-0.4.0-dont-deadlock-tests.patch + "${FILESDIR}"/sshtunnel-0.4.0-paramiko-4-compat.patch +) + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # network-sandbox + tests/test_forwarder.py::SSHClientTest::test_gateway_ip_unresolvable_raises_exception +)