commit:     08bc3fb5d1041f04c8dcf2a54b663ab7db8f1db5
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Mon Nov  3 19:48:14 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov  4 11:38:32 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08bc3fb5

dev-python/sshtunnel: paramiko-4 compatibility

Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44454
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/sshtunnel-0.4.0-paramiko-4-compat.patch  | 27 ++++++++++++++++
 dev-python/sshtunnel/sshtunnel-0.4.0-r2.ebuild     | 37 ++++++++++++++++++++++
 2 files changed, 64 insertions(+)

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 <[email protected]>
+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
+)

Reply via email to