summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/paramiko/Manifest1
-rw-r--r--dev-python/paramiko/files/paramiko-3.0.0-nih-test-deps.patch98
-rw-r--r--dev-python/paramiko/paramiko-3.0.0.ebuild56
3 files changed, 155 insertions, 0 deletions
diff --git a/dev-python/paramiko/Manifest b/dev-python/paramiko/Manifest
index aac53d250edf..f1b32d05ad16 100644
--- a/dev-python/paramiko/Manifest
+++ b/dev-python/paramiko/Manifest
@@ -1 +1,2 @@
DIST paramiko-2.12.0.gh.tar.gz 351956 BLAKE2B d41668f32f28a5c2c3af1d2b5c85bb4c3d2f5af9028cd5ebcb2b8aa21bc25df2c1ead5ddfe61ff12cfacec4b92913833e267f8a3fef07fa9a794f4b064fdb472 SHA512 1bf325ffd393447cb90009d01dc1104d0d43a6acdd08cc6d28310063a649a333323748800dab119ab5e10833975e68f5f5702044fc247a2e8058122a5327f2c7
+DIST paramiko-3.0.0.gh.tar.gz 350348 BLAKE2B ba7211a3f3c7d4f9c0023017d96ed51511039378b4eba1ace13fbbf6902cda40aa09f2cf7b5ce9f7aee666907d9a662e9bf7eccd5d06669685b9aa25fccfa551 SHA512 3754314fcbd64bf3db5fd6a8d55babc13e639675d09e85d796e99f25eecb55b0f987c0b47bce288c3d154a2dbdb586ecc34bbb09d67786bcc13b0a94a78e6654
diff --git a/dev-python/paramiko/files/paramiko-3.0.0-nih-test-deps.patch b/dev-python/paramiko/files/paramiko-3.0.0-nih-test-deps.patch
new file mode 100644
index 000000000000..26b12f0ce154
--- /dev/null
+++ b/dev-python/paramiko/files/paramiko-3.0.0-nih-test-deps.patch
@@ -0,0 +1,98 @@
+From c7d1373554910102846123afb35c8c1a842f2c9a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 17 May 2022 07:26:36 +0200
+Subject: [PATCH] Replace pytest-relaxed with plain pytest.raises
+
+There is really no technical reason to bring pytest-relaxed to call
+@raises as a decorator while plain pytest works just fine. Plus,
+pytest.raises() is used in test_sftp already.
+
+pytest-relaxed causes humongous breakage to other packages
+on the system. It has been banned from Gentoo for this reason.
+---
+ dev-requirements.txt | 6 ++++++
+ pytest.ini | 3 ---
+ tests/test_client.py | 19 +++++++++----------
+ 3 files changed, 15 insertions(+), 13 deletions(-)
+
+diff --git a/tests/test_client.py b/tests/test_client.py
+index dae5b13a..d0e9c434 100644
+--- a/tests/test_client.py
++++ b/tests/test_client.py
+@@ -33,7 +33,6 @@ import weakref
+ from tempfile import mkstemp
+
+ import pytest
+-from pytest_relaxed import raises
+ from unittest.mock import patch, Mock
+
+ import paramiko
+@@ -786,11 +785,11 @@ class PasswordPassphraseTests(ClientTest):
+
+ # TODO: more granular exception pending #387; should be signaling "no auth
+ # methods available" because no key and no password
+- @raises(SSHException)
+ @requires_sha1_signing
+ def test_passphrase_kwarg_not_used_for_password_auth(self):
+- # Using the "right" password in the "wrong" field shouldn't work.
+- self._test_connection(passphrase="pygmalion")
++ with pytest.raises(SSHException):
++ # Using the "right" password in the "wrong" field shouldn't work.
++ self._test_connection(passphrase="pygmalion")
+
+ @requires_sha1_signing
+ def test_passphrase_kwarg_used_for_key_passphrase(self):
+@@ -810,15 +809,15 @@ class PasswordPassphraseTests(ClientTest):
+ password="television",
+ )
+
+- @raises(AuthenticationException) # TODO: more granular
+ @requires_sha1_signing
+ def test_password_kwarg_not_used_for_passphrase_when_passphrase_kwarg_given( # noqa
+ self,
+ ):
+ # Sanity: if we're given both fields, the password field is NOT used as
+ # a passphrase.
+- self._test_connection(
+- key_filename=_support("test_rsa_password.key"),
+- password="television",
+- passphrase="wat? lol no",
+- )
++ with pytest.raises(AuthenticationException):
++ self._test_connection(
++ key_filename=_support("test_rsa_password.key"),
++ password="television",
++ passphrase="wat? lol no",
++ )
+--
+2.39.1
+
+From becd215434a7c01c74b407cbf2cbcb192e138a15 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 21 Jan 2023 06:56:09 +0100
+Subject: [PATCH] Remove icecream dep
+
+---
+ tests/conftest.py | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index b28d2a17..3cecb7e8 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -10,12 +10,6 @@ from .loop import LoopSocket
+ from .stub_sftp import StubServer, StubSFTPServer
+ from .util import _support
+
+-from icecream import ic, install as install_ic
+-
+-
+-install_ic()
+-ic.configureOutput(includeContext=True)
+-
+
+ # Perform logging by default; pytest will capture and thus hide it normally,
+ # presenting it on error/failure. (But also allow turning it off when doing
+--
+2.39.1
+
diff --git a/dev-python/paramiko/paramiko-3.0.0.ebuild b/dev-python/paramiko/paramiko-3.0.0.ebuild
new file mode 100644
index 000000000000..f521b9dc0990
--- /dev/null
+++ b/dev-python/paramiko/paramiko-3.0.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="SSH2 protocol library"
+HOMEPAGE="
+ https://www.paramiko.org/
+ https://github.com/paramiko/paramiko/
+ https://pypi.org/project/paramiko/
+"
+SRC_URI="
+ https://github.com/paramiko/paramiko/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
+IUSE="examples server"
+
+RDEPEND="
+ >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.5[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-3.0.0-nih-test-deps.patch"
+ )
+
+ if ! use server; then
+ PATCHES+=( "${FILESDIR}/${PN}-2.4.2-disable-server.patch" )
+ fi
+ distutils-r1_src_prepare
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc -r demos/*
+ fi
+}