summaryrefslogtreecommitdiff
path: root/dev-python/paramiko
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/paramiko')
-rw-r--r--dev-python/paramiko/Manifest3
-rw-r--r--dev-python/paramiko/files/paramiko-2.12.0-pytest-relaxed.patch93
-rw-r--r--dev-python/paramiko/paramiko-2.12.0.ebuild61
3 files changed, 157 insertions, 0 deletions
diff --git a/dev-python/paramiko/Manifest b/dev-python/paramiko/Manifest
index 1b0276380214..53f141d4f91a 100644
--- a/dev-python/paramiko/Manifest
+++ b/dev-python/paramiko/Manifest
@@ -1,6 +1,9 @@
AUX paramiko-2.11.0-invoke-tests.patch 1175 BLAKE2B 1ac310c2721b2366db7d5b2bdfa77058ebe820fba7f0c0faeb6a5ceb97621a1d2c1207109053f7b9d5a17b8b2084908afd9a3ab2ef0c6e76fd7bb94d5b439eed SHA512 bb3c7781aaa4b201d9c2f963f54aac0c76d7918c782f48981a108de7173d1db77dc42c24806bdde12b378186887922cad02504a7695b83f3cb25e9ff84ab9cd1
AUX paramiko-2.11.0-pytest-relaxed.patch 3354 BLAKE2B 19326d3dbf4c3870dcdaeff0d9827a09894a44be2941a23f6ca7e3d8c05560b1ffa150d38e44301d9722948135a4b82a76cea16d5cfb8f8e3bcaa41bc842561c SHA512 98d508334f6d0ca3aae94a24bcc95bb9f3cfbf895b0f647896298f85ccb14e0868f948610d5e40a738d17d26fababe26a296d6acd3678c21e9351431ca3d6790
+AUX paramiko-2.12.0-pytest-relaxed.patch 3335 BLAKE2B 3bf61502c164d951e9db3f9cef0d4277a40be1b9ecd1201575c903795bb017b561934b4032312c2642986c892f2cf472565236c4a800f849955504e2d63a71e3 SHA512 a3e2cfdc314c85caef85c0d4877a21b7e7764e7671cd6b912064bd4c473d9d8fc54abb9e4cddc053f6281404c658cd6d2704f25678ffae8df28a569884b2a101
AUX paramiko-2.4.2-disable-server.patch 1596 BLAKE2B 7e2ef1e216f34086c06d985556dde82eccfc08b835a9b336f1e54e81ddf32567872daec9dadc728bfaab8e3c4728439d704d51f9b1df5e04a64b5064f6d79bf5 SHA512 5e2f9285ffa3ece551ce929c6d50691761da6269e906355bbf79b0664a764083f7d55a9e347e2ed236a4c9a7f934d489315b68ebea984694ee9d1714416d34fd
DIST paramiko-2.11.0.tar.gz 350793 BLAKE2B 86358e08407f8a820a9b33a60e771ac3adb8f3e003ccbc4704ba69a52bd427f38a9c49a20e6a07220d07c25dbcc35a472b2091fa9f7bc1447bab0d7a1ce16b35 SHA512 59e439bd54d83938f91d6c9888f2278bafa4ca48582939580bdabc6207dbe6dc856f6006ad26b7ec91b9d39e92ca70dc6270c6b5d4f77a5e1fa0ec8bd084d4b5
+DIST paramiko-2.12.0.gh.tar.gz 351956 BLAKE2B d41668f32f28a5c2c3af1d2b5c85bb4c3d2f5af9028cd5ebcb2b8aa21bc25df2c1ead5ddfe61ff12cfacec4b92913833e267f8a3fef07fa9a794f4b064fdb472 SHA512 1bf325ffd393447cb90009d01dc1104d0d43a6acdd08cc6d28310063a649a333323748800dab119ab5e10833975e68f5f5702044fc247a2e8058122a5327f2c7
EBUILD paramiko-2.11.0.ebuild 1342 BLAKE2B b5b669fcf6f89a3150844be18f16734abd1696bc3b378b4e783c14e4c2b7c07ff00b9cc4e97a5b4a15c554bb5794788e0c1cea91dd6d30afe985e0a2e7f11ccf SHA512 d78e4c7acba80430a0de9b0646fe40c0e26151c706ce647a96e49f619143f544ea2a3d9fb59f2a4c9ed29a1543c6708afb41932d62d31e34148bb9323831e4d2
+EBUILD paramiko-2.12.0.ebuild 1304 BLAKE2B 6a38feca6813295c977c44ba7238e5232d27f1c8bdb586524efa27b38d6bdb9f3f7fbeb133d4e69d53704c8dd9b97ea2e1f4d0dfd08a85d0d3443bb291e9d821 SHA512 ab6a3faa134f1e5179d6b8655e2e6d318b19e799c2a7a3c6432ce34ce4498af6a7f81144a5bd82682926d69600e363cd1f4eaf3b061ad0119429963359c7f869
MISC metadata.xml 1222 BLAKE2B 46fb6385f6779cbc13fa54090dd5dfa0b5a7b5a753f728b133fa79a1e1c779a5652d6b38c5ea11cfcb505178b2ba70d9000dabba6228e38f30f426ecb1c49a3f SHA512 bf07a537ed375a3bf58d219c18ccfc29c810554041943e62819a46b63ce3fbcdd2197085dbeeb7ad36e0e601700edec6121ce5cc83dce1c7435d663473df2583
diff --git a/dev-python/paramiko/files/paramiko-2.12.0-pytest-relaxed.patch b/dev-python/paramiko/files/paramiko-2.12.0-pytest-relaxed.patch
new file mode 100644
index 000000000000..cf34fbfd1c60
--- /dev/null
+++ b/dev-python/paramiko/files/paramiko-2.12.0-pytest-relaxed.patch
@@ -0,0 +1,93 @@
+From 935507cc60b6f0b2b83c9c0e3be3900297b41757 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 | 1 -
+ pytest.ini | 3 ---
+ tests/test_client.py | 19 +++++++++----------
+ 3 files changed, 9 insertions(+), 14 deletions(-)
+
+diff --git a/dev-requirements.txt b/dev-requirements.txt
+index 3ed9eb40..e90f3373 100644
+--- a/dev-requirements.txt
++++ b/dev-requirements.txt
+@@ -2,7 +2,6 @@
+ invoke==1.6.0
+ invocations==2.6.0
+ pytest==4.4.2
+-pytest-relaxed==1.1.5
+ # pytest-xdist for test dir watching and the inv guard task
+ pytest-xdist==1.28.0
+ mock==2.0.0
+diff --git a/pytest.ini b/pytest.ini
+index be207cd8..5a506bcd 100644
+--- a/pytest.ini
++++ b/pytest.ini
+@@ -1,7 +1,4 @@
+ [pytest]
+-# We use pytest-relaxed just for its utils at the moment, so disable it at the
+-# plugin level until we adapt test organization to really use it.
+-addopts = -p no:relaxed
+ # Loop on failure
+ looponfailroots = tests paramiko
+ # Ignore some warnings we cannot easily handle.
+diff --git a/tests/test_client.py b/tests/test_client.py
+index 3eaad4fb..66c41b0b 100644
+--- a/tests/test_client.py
++++ b/tests/test_client.py
+@@ -34,7 +34,6 @@ import weakref
+ from tempfile import mkstemp
+
+ import pytest
+-from pytest_relaxed import raises
+ from mock import patch, Mock
+
+ import paramiko
+@@ -787,11 +786,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):
+@@ -811,15 +810,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.38.1
+
diff --git a/dev-python/paramiko/paramiko-2.12.0.ebuild b/dev-python/paramiko/paramiko-2.12.0.ebuild
new file mode 100644
index 000000000000..856b3dd285da
--- /dev/null
+++ b/dev-python/paramiko/paramiko-2.12.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..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}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-2.12.0-pytest-relaxed.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
+}