[PATCH] gnu: Add python-asyncssh and dependencies

  • Done
  • quality assurance status badge
Details
4 participants
  • ???
  • Lars-Dominik Braun
  • Christopher Baines
  • zimoun
Owner
unassigned
Submitted by
Lars-Dominik Braun
Severity
normal
L
L
Lars-Dominik Braun wrote on 8 Jan 2020 10:10
(address . guix-patches@gnu.org)
20200108091001.GA32230@zpidnp36
Attachment: file
Z
Z
zimoun wrote on 9 Jan 2020 15:15
(name . Lars-Dominik Braun)(address . ldb@leibniz-psychology.org)(address . 39028@debbugs.gnu.org)
CAJ3okZ1UwHpJmcvE9LoKXek=iSGFsgL+63TU6UA1CZ8KwMYM1w@mail.gmail.com
Hi Lars-Dominik,

Thank you for this patch.

Usually, several packages are added with a series: one new package in
one patch. Could you split this big patch into 6 patches? Or explain
why it is a big one.

Thank you in advance.


All the best,
simon
L
L
Lars-Dominik Braun wrote on 13 Jan 2020 08:46
[PATCH 1/7] gnu: Add python-shouldbe
(address . 39028@debbugs.gnu.org)(address . zimon.toutoune@gmail.com)
20200113074655.11012-1-ldb@leibniz-psychology.org
* gnu/packages/python-xyz.scm (python-shouldbe): New variable
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 194d8b8b0c..646d50697c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17117,3 +17117,28 @@ scripts to load entry points more quickly.")
functional combinators. Parser combinators are just higher-order functions
that take parsers as their arguments and return them as result values.")
(license license:expat)))
+
+(define-public python-shouldbe
+ (package
+ (name "python-shouldbe")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "shouldbe" version))
+ (sha256
+ (base32
+ "16zbvjxf71dl4yfbgcr6idyim3mdrfvix1dv8b95p0s9z07372pj"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-forbiddenfruit" ,python-forbiddenfruit)))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (home-page
+ "https://github.com/directxman12/should_be")
+ (synopsis
+ "Python Assertion Helpers inspired by Shouldly")
+ (description
+ "Python Assertion Helpers inspired by Shouldly")
+ (license license:isc)))
+
--
2.20.1
L
L
Lars-Dominik Braun wrote on 13 Jan 2020 08:46
[PATCH 2/7] gnu: Add python-forbiddenfruit
(address . 39028@debbugs.gnu.org)(address . zimon.toutoune@gmail.com)
20200113074655.11012-2-ldb@leibniz-psychology.org
* gnu/packages/python-xyz.scm (python-forbiddenfruit): New variable
---
gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 646d50697c..e9d9c372e7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17142,3 +17142,32 @@ that take parsers as their arguments and return them as result values.")
"Python Assertion Helpers inspired by Shouldly")
(license license:isc)))
+(define-public python-forbiddenfruit
+ (package
+ (name "python-forbiddenfruit")
+ (version "0.1.3")
+ (source
+ (origin
+ ;; Source tarball on PyPi lacks Makefile that builds and runs tests
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/clarete/forbiddenfruit")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fp2xvdqpi910j9r3q68x38phpxbm700gjdi2m2j5gs91xdnyyh2"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "make" "SKIP_DEPS=1"))))))
+ (native-inputs
+ `(("python-nose" ,python-nose)
+ ("python-coverage" ,python-coverage)))
+ (home-page
+ "https://github.com/clarete/forbiddenfruit")
+ (synopsis "Patch python built-in objects")
+ (description "This project allows Python code to extend built-in types.")
+ (license (list license:gpl3+ license:expat))))
--
2.20.1
L
L
Lars-Dominik Braun wrote on 13 Jan 2020 08:46
[PATCH 4/7] gnu: Add python-gssapi
(address . 39028@debbugs.gnu.org)(address . zimon.toutoune@gmail.com)
20200113074655.11012-4-ldb@leibniz-psychology.org
* gnu/packages/python-xyz.scm (python-gssapi): New variable
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 846113aceb..e12f15fac8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17210,3 +17210,33 @@ It is based on the file of the same name found alongside the MIT Kerberos 5
unit tests.")
(license license:isc)))
+(define-public python-gssapi
+ (package
+ (name "python-gssapi")
+ (version "1.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "gssapi" version))
+ (sha256
+ (base32
+ "1gymg4asvwrz7y13qpwp2s5g8qwq179d72gkj09q6bfcgs82l5wr"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-decorator" ,python-decorator)
+ ("python-six" ,python-six)))
+ (inputs
+ `(("mit-krb5" ,mit-krb5)))
+ ;; for tests
+ (native-inputs
+ `(("python-shouldbe" ,python-shouldbe)
+ ("python-parameterized" ,python-parameterized)
+ ("python-k5test" ,python-k5test)
+ ("python-nose" ,python-nose)))
+ (home-page
+ "https://github.com/pythongssapi/python-gssapi")
+ (synopsis "Python GSSAPI Wrapper")
+ (description "Python-GSSAPI provides both low-level and high level wrappers
+around the GSSAPI C libraries. While it focuses on the Kerberos mechanism, it
+should also be useable with other GSSAPI mechanisms.")
+ (license license:isc)))
--
2.20.1
L
L
Lars-Dominik Braun wrote on 13 Jan 2020 08:46
[PATCH 3/7] gnu: Add python-k5test
(address . 39028@debbugs.gnu.org)(address . zimon.toutoune@gmail.com)
20200113074655.11012-3-ldb@leibniz-psychology.org
* gnu/packages/python-xyz.scm (python-k5test): New variable
---
gnu/packages/python-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e9d9c372e7..846113aceb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -112,6 +112,7 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
@@ -17171,3 +17172,41 @@ that take parsers as their arguments and return them as result values.")
(synopsis "Patch python built-in objects")
(description "This project allows Python code to extend built-in types.")
(license (list license:gpl3+ license:expat))))
+
+(define-public python-k5test
+ (package
+ (name "python-k5test")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "k5test" version))
+ (sha256
+ (base32
+ "1lqp3jgfngyhaxjgj3n230hn90wsylwilh120yjf62h7b1s02mh8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)
+ ;; `which`, `kadmin.local` binaries called inside library
+ ("which" ,which)
+ ("mit-krb5" ,mit-krb5)))
+ (native-inputs `(("mit-krb5" ,mit-krb5)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* _
+ (substitute* "k5test/realm.py"
+ (("'kadmin_local'") "'kadmin.local'")))))))
+ (home-page
+ "https://github.com/pythongssapi/k5test")
+ (synopsis
+ "Library for testing Python applications in self-contained Kerberos 5
+environments")
+ (description
+ "k5test is a library for setting up self-contained Kerberos 5
+environments, and running Python unit tests inside those environments.
+It is based on the file of the same name found alongside the MIT Kerberos 5
+unit tests.")
+ (license license:isc)))
+
--
2.20.1
L
L
Lars-Dominik Braun wrote on 13 Jan 2020 08:46
[PATCH 5/7] gnu: python-cryptography: Update to 2.8
(address . 39028@debbugs.gnu.org)(address . zimon.toutoune@gmail.com)
20200113074655.11012-5-ldb@leibniz-psychology.org
* gnu/packages/python-crypto.scm (python-cryptography): Update to 2.8
(python-cryptography-vectors): Update to 2.8
---
gnu/packages/python-crypto.scm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

Toggle diff (40 lines)
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 43a0d95ddc..0322e1691e 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -361,14 +361,14 @@ is used by the Requests library to verify HTTPS requests.")
(define-public python-cryptography-vectors
(package
(name "python-cryptography-vectors")
- (version "2.7")
+ (version "2.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography_vectors" version))
(sha256
(base32
- "1g38zw90510azyfrj6mxbslx2gp9yrnv5dac0w2819k9ssdznbgi"))))
+ "05pi3shqz0fgvy0d5yazza67bbnam8fkrx2ayrrclgkaqms23lvc"))))
(build-system python-build-system)
(home-page "https://github.com/pyca/cryptography")
(synopsis "Test vectors for the cryptography package")
@@ -383,14 +383,14 @@ is used by the Requests library to verify HTTPS requests.")
(define-public python-cryptography
(package
(name "python-cryptography")
- (version "2.7")
+ (version "2.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography" version))
(sha256
(base32
- "1inlnr36kl36551c9rcad99jmhk81v33by3glkadwdcgmi17fd76"))))
+ "0l8nhw14npknncxdnp7n4hpmjyscly6g7fbivyxkjwvlv071zniw"))))
(build-system python-build-system)
(inputs
`(("openssl" ,openssl)))
--
2.20.1
L
L
Lars-Dominik Braun wrote on 13 Jan 2020 08:46
[PATCH 6/7] gnu: python-pyopenssl: Disable failing tests
(address . 39028@debbugs.gnu.org)(address . zimon.toutoune@gmail.com)
20200113074655.11012-6-ldb@leibniz-psychology.org
* gnu/packages/python-crypto.scm (python-pyopenssl)[arguments]: Disable failing
tests
---
gnu/packages/python-crypto.scm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

Toggle diff (19 lines)
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 0322e1691e..eb5be5e794 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -456,7 +456,11 @@ message digests and key derivation functions.")
"not test_fallback_default_verify_paths "
;; This test attempts to make a connection to
;; an external web service.
- "and not test_set_default_verify_paths")))))))
+ "and not test_set_default_verify_paths "
+ ;; These fail for unknown reasons.
+ "and not test_add_extra_chain_cert "
+ "and not test_use_certificate_chain_file_bytes "
+ "and not test_use_certificate_chain_file_unicode")))))))
(propagated-inputs
`(("python-cryptography" ,python-cryptography)
("python-six" ,python-six)))
--
2.20.1
L
L
Lars-Dominik Braun wrote on 13 Jan 2020 08:46
[PATCH 7/7] gnu: Add python-asyncssh
(address . 39028@debbugs.gnu.org)(address . zimon.toutoune@gmail.com)
20200113074655.11012-7-ldb@leibniz-psychology.org
* gnu/packages/python-xyz.scm (python-asyncssh): New variable
---
gnu/packages/python-xyz.scm | 40 +++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e12f15fac8..9736bfa3fa 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17240,3 +17240,43 @@ unit tests.")
around the GSSAPI C libraries. While it focuses on the Kerberos mechanism, it
should also be useable with other GSSAPI mechanisms.")
(license license:isc)))
+
+(define-public python-asyncssh
+ (package
+ (name "python-asyncssh")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asyncssh" version))
+ (sha256
+ (base32
+ "101kxyydrps9lc716vjs0nrvzfjp8644iir1xm19pl0ma73b9l0r"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-cryptography" ,python-cryptography)
+ ("python-pyopenssl" ,python-pyopenssl)
+ ("python-gssapi" ,python-gssapi)
+ ("python-bcrypt" ,python-bcrypt)))
+ ;; required for test suite
+ (native-inputs
+ `(("openssh" ,openssh)
+ ("openssl" ,openssl)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-tests
+ (lambda* _
+ (substitute* "tests/test_agent.py"
+ ;; Test fails for unknown reason
+ (("async def test_confirm")
+ "@unittest.skip('disabled by guix')\n async def test_confirm")))))))
+ (home-page "https://asyncssh.readthedocs.io/")
+ (synopsis
+ "Asynchronous SSHv2 client and server library")
+ (description
+ "AsyncSSH is a Python package which provides an asynchronous client and
+server implementation of the SSHv2 protocol on top of the Python 3.6+ asyncio
+framework")
+ (license license:epl2.0)))
+
--
2.20.1
?
Re: [bug#39028] [PATCH 5/7] gnu: python-cryptography: Update to 2.8
(name . Lars-Dominik Braun)(address . ldb@leibniz-psychology.org)
87k15mi8ax.fsf@member.fsf.org
Hello Braun, I have pushed the previous 4 patches into master, thank you!

Lars-Dominik Braun <ldb@leibniz-psychology.org> writes:

Toggle quote (3 lines)
> * gnu/packages/python-crypto.scm (python-cryptography): Update to 2.8
> (python-cryptography-vectors): Update to 2.8

This is not a small change for me, as 'guix refresh -l python-cryptography' says:
Building the following 167 packages would ensure 367 dependent packages are rebuilt...

And I'm not sure about disable tests in python-pyopenssl (in the next
patch), maybe we should update it to 19.1.0.

So I leave this and remain patches for others to pick up, TIA!
L
L
Lars-Dominik Braun wrote on 21 Jan 2020 11:08
(name . ???)(address . iyzsong@member.fsf.org)
20200121100851.GB15757@zpidnp36
Hi,

Toggle quote (1 lines)
> Hello Braun, I have pushed the previous 4 patches into master, thank you!
thanks.

Toggle quote (2 lines)
> This is not a small change for me, as 'guix refresh -l python-cryptography' says:
> Building the following 167 packages would ensure 367 dependent packages are rebuilt...
True, I did not check that, my bad. Would it be acceptable to package an older
version of asyncssh compatible with python-cryptography 2.7?

Toggle quote (2 lines)
> And I'm not sure about disable tests in python-pyopenssl (in the next
> patch), maybe we should update it to 19.1.0.
Nope, does not fix these three testcases for me.

Lars
L
L
Lars-Dominik Braun wrote on 28 Apr 2020 11:44
[PATCH] gnu: Add python-asyncssh
(address . 39028@debbugs.gnu.org)
20200428094458.GC3395@zpidnp36
Hi,

here’s an updated patch that adds python-asyncssh with a patch that restores
python-cryptography-2.7 compatibility until 2.8 hits master.

Lars
From 49f0634e2e409e4c38a47aafc5113787dd14ea06 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <ldb@leibniz-psychology.org>
Date: Tue, 28 Apr 2020 11:41:08 +0200
Subject: [PATCH] gnu: Add python-asyncssh

* gnu/packages/python-xyz.scm (python-asyncssh): New variable
* gnu/local.mk (dist_patch_DATA): Add new patch
* gnu/packages/patches/python-asyncssh-2.2.1-no-crypto2.8.patch: New file
---
gnu/local.mk | 1 +
.../python-asyncssh-2.2.1-no-crypto2.8.patch | 37 ++++++++++++++++
gnu/packages/python-xyz.scm | 43 +++++++++++++++++++
3 files changed, 81 insertions(+)
create mode 100644 gnu/packages/patches/python-asyncssh-2.2.1-no-crypto2.8.patch

Toggle diff (108 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 9f212434a9..f3cc5fd116 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1360,6 +1360,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-CVE-2018-14647.patch \
%D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \
%D%/packages/patches/python-alembic-exceptions-cause.patch \
+ %D%/packages/patches/python-asyncssh-2.2.1-no-crypto2.8.patch \
%D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
%D%/packages/patches/python-cffi-x87-stack-clean.patch \
diff --git a/gnu/packages/patches/python-asyncssh-2.2.1-no-crypto2.8.patch b/gnu/packages/patches/python-asyncssh-2.2.1-no-crypto2.8.patch
new file mode 100644
index 0000000000..bf41ec865c
--- /dev/null
+++ b/gnu/packages/patches/python-asyncssh-2.2.1-no-crypto2.8.patch
@@ -0,0 +1,37 @@
+Reverted commit
+https://github.com/ronf/asyncssh/commit/386432c9b698beb23ccb88b69f4023560b76750f
+
+--- b/asyncssh/crypto/chacha.py
++++ a/asyncssh/crypto/chacha.py
+@@ -51,13 +51,18 @@
+ def poly1305(key, data, nonce):
+ """Compute a Poly1305 tag for a block of data"""
+
++ poly = Poly1305(poly1305_key(key, nonce))
++ poly.update(data)
++ return poly.finalize()
+- return Poly1305.generate_tag(poly1305_key(key, nonce), data)
+
+ def poly1305_verify(key, data, nonce, tag):
+ """Verify a Poly1305 tag for a block of data"""
+
++ poly = Poly1305(poly1305_key(key, nonce))
++
+ try:
++ poly.update(data)
++ poly.verify(tag)
+- Poly1305.verify_tag(poly1305_key(key, nonce), data, tag)
+ return True
+ except InvalidSignature:
+ return False
+--- b/setup.py
++++ a/setup.py
+@@ -52,7 +52,7 @@
+ long_description = long_description,
+ platforms = 'Any',
+ python_requires = '>= 3.6',
++ install_requires = ['cryptography >= 2.7'],
+- install_requires = ['cryptography >= 2.8'],
+ extras_require = {
+ 'bcrypt': ['bcrypt >= 3.1.3'],
+ 'gssapi': ['gssapi >= 1.2.0'],
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 31cafd47d1..6f17f4113e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19588,3 +19588,46 @@ workspace...")
dependencies. It implements the @uref{http://opensoundcontrol.org/spec-1_0,
Open Sound Control 1.0} specification.")
(license license:unlicense)))
+
+(define-public python-asyncssh
+ (package
+ (name "python-asyncssh")
+ (version "2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asyncssh" version))
+ (sha256
+ (base32
+ "13ik6gc8qh8v2dkhfcv2rrip19bcg4kykfi37464l43s76mg3yds"))
+ ;; revert changes that require python-cryptography 2.8, no functional
+ ;; differences
+ (patches (search-patches "python-asyncssh-2.2.1-no-crypto2.8.patch"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-cryptography" ,python-cryptography)
+ ("python-pyopenssl" ,python-pyopenssl)
+ ("python-gssapi" ,python-gssapi)
+ ("python-bcrypt" ,python-bcrypt)))
+ ;; required for test suite
+ (native-inputs
+ `(("openssh" ,openssh)
+ ("openssl" ,openssl)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-tests
+ (lambda* _
+ (substitute* "tests/test_agent.py"
+ ;; Test fails for unknown reason
+ (("async def test_confirm")
+ "@unittest.skip('disabled by guix')\n async def test_confirm")))))))
+ (home-page "https://asyncssh.readthedocs.io/")
+ (synopsis
+ "Asynchronous SSHv2 client and server library")
+ (description
+ "AsyncSSH is a Python package which provides an asynchronous client and
+server implementation of the SSHv2 protocol on top of the Python 3.6+ asyncio
+framework")
+ (license license:epl2.0)))
+
--
2.20.1
-----BEGIN PGP SIGNATURE-----

iQGzBAABCgAdFiEEyk+M9DfXR4/aBV/UQhN3ARo3hEYFAl6n+xYACgkQQhN3ARo3
hEbjHwv/QhPORJ6mmyh96qS2aAu0IwTi4shIyXHyGrLLHMi1eJOl7/QjZA4ZoMLw
ZLo2z5JhnjxU+tj3bBmn/O4kpl+FUBiF1K0zEibwk+NfMzdRgx2yqak/kk5wdYt1
Pj5/ShQ3uW2Ypg1Bk4FV/C6exPQ+6D/nUc4ZxudYOQNqYzhAHpCzIlHVeCLLKJ4b
baLQGELwHCKuxxdMw1OJ62T7jprl2Fn2cJxnhsNPC/1SVcnbgg0LwSq6MvTu+g62
Dmc6SeKVIDvcTWsyPNGUKjH9R9Piw6vHEoTLtuvi9qBZ/EDSPWONaA1bqxReQWH/
Cb7zoW/NPiz7oeH/4ovdOCVfSxdJQ5ht5idBKYg2zcQccO/BW1SeFIvtBWw3J8un
Hh77IG374wjF753yk5n6Pq5YLbrKMTMYSgGnEkpJNGdQJnv+O/tkyF2Ek3/Q2N1Q
GmuvCdAKoNYKM+OeoZIqr6hBK7U4nDkjBF3XVsxfkuqn9xsPz+MEBj+hErY0yudt
+Fj9ul+w
=C0db
-----END PGP SIGNATURE-----


L
L
Lars-Dominik Braun wrote on 27 Jul 2020 10:38
(address . 39028@debbugs.gnu.org)
20200727083823.GA29891@zpidnp36
Hi again,

since master now has python-cryptography==2.9, we can safely add
python-asyncssh without any custom patches. The attached patches first update
python-gssapi (a dependency) and then add python-asyncssh.

Cheers,
Lars
From 5701cf477487e5e43153f6d889869a33addae5e2 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <ldb@leibniz-psychology.org>
Date: Mon, 27 Jul 2020 10:32:24 +0200
Subject: [PATCH 1/2] gnu: python-gssapi: Update to 1.6.9.

* gnu/packages/python-xyz.scm (python-gssapi)[version]: Update to 1.6.9.
[arguments]: Disable failing tests.
---
gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3aebff078b..490d35f197 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19611,15 +19611,35 @@ tests.")
(define-public python-gssapi
(package
(name "python-gssapi")
- (version "1.6.5")
+ (version "1.6.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "gssapi" version))
(sha256
(base32
- "02i5s7998dg5kcr4m0xwamd8vjqk1816xbzldyp68l91f6bynwcr"))))
+ "1fa78pn5jzfbwf3y6mj4fc8sh11wjf1hwh5qv39cdlxb71qsq2hb"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-tests
+ (lambda* _
+ ;; XXX: These test fails for unknown reasons.
+ (substitute* "gssapi/tests/test_raw.py"
+ (("(.+)def (test_acquire_creds_impersonate_name)" all indent
+ fname)
+ (string-append indent "@unittest.skip('disabled by guix')\n"
+ indent "def " fname))
+ (("(.+)def (test_add_cred_impersonate_name)" all indent fname)
+ (string-append indent "@unittest.skip('disabled by guix')\n"
+ indent "def " fname)))
+ (substitute* "gssapi/tests/test_high_level.py"
+ (("import copy" all)
+ (string-append all "\nimport unittest"))
+ (("(.+)def (test_add_with_impersonate)" all indent fname)
+ (string-append indent "@unittest.skip('disabled by guix')\n"
+ indent "def " fname))))))))
(propagated-inputs
`(("python-decorator" ,python-decorator)
("python-six" ,python-six)))
--
2.20.1
From 7e30a2e8d122daf5f7e7ba6eee92a69f3ed4f49f Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <ldb@leibniz-psychology.org>
Date: Tue, 28 Apr 2020 11:41:08 +0200
Subject: [PATCH 2/2] gnu: Add python-asyncssh.

* gnu/packages/python-xyz.scm (python-asyncssh): New variable.
---
gnu/packages/python-xyz.scm | 40 +++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 490d35f197..f2d158773e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21059,3 +21059,43 @@ and have a maximum lifetime built-in.")
"This package contains a small collection of test tool plugins for
@code{nose2} and @code{flake8}.")
(license license:asl2.0)))
+
+(define-public python-asyncssh
+ (package
+ (name "python-asyncssh")
+ (version "2.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asyncssh" version))
+ (sha256
+ (base32
+ "0pi6npmsgx7l9r1qrfvg8mxx3i23ipff492xz4yhrw13f56a7ga4"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-cryptography" ,python-cryptography)
+ ("python-pyopenssl" ,python-pyopenssl)
+ ("python-gssapi" ,python-gssapi)
+ ("python-bcrypt" ,python-bcrypt)))
+ ;; required for test suite
+ (native-inputs
+ `(("openssh" ,openssh)
+ ("openssl" ,openssl)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-tests
+ (lambda* _
+ (substitute* "tests/test_agent.py"
+ ;; Test fails for unknown reason
+ (("(.+)async def test_confirm" all indent)
+ (string-append indent "@unittest.skip('disabled by guix')\n"
+ indent "async def test_confirm"))))))))
+ (home-page "https://asyncssh.readthedocs.io/")
+ (synopsis
+ "Asynchronous SSHv2 client and server library")
+ (description
+ "AsyncSSH is a Python package which provides an asynchronous client and
+server implementation of the SSHv2 protocol on top of the Python 3.6+ asyncio
+framework")
+ (license license:epl2.0)))
--
2.20.1
-----BEGIN PGP SIGNATURE-----

iQGzBAABCgAdFiEEyk+M9DfXR4/aBV/UQhN3ARo3hEYFAl8eknwACgkQQhN3ARo3
hEZf0wv8DQXTj49B0QA6M5A6qTF6heqHcxegx4jc4X2lDeeCZcvbrY5nKWc7XOjB
FpH5+uSkJtUj5WyJdZFPkHhljjZoDe3QbKE0K2NCyv/EP8U+yzu5lZUp6T3yItWq
6PTfuRSXcTUPYJapYjl1XAqiiT4ePH6F9PpehzwDf9Am+z3i1G5L0/GhXRYb9kx9
7AKdil4DeVdQXIt3psn9HkCb/jBbMHiEIJPVKSKMAeebm4oNqKkD6QLMfrDgBYcy
0VBA0zP4GWJrP1ETLkU0Rc8PgrCJaOJZss58KQpVsV9ynYVmKleZu7mElbn5zskF
eoWmpR947SMS5hyPLPEteYcQtquaPWJKLSaFi6mDEmPQDw1hoD7XujqDfCU7SQAS
yTnHpdp30Z05uRSqJDBBF/uToNkDRhY4Td612mET78lquDzFKysTNvZv7Bya5FkC
iRJfoll1/OdT0nEo399diP0Btz5CwcidWOgKUQ745NfCUVRLOSi3ff6EZwO7nd6a
/rdPXUDV
=IwlT
-----END PGP SIGNATURE-----


C
C
Christopher Baines wrote on 31 Oct 2020 22:38
Re: [bug#39028] [PATCH] gnu: Add python-asyncssh
(name . Lars-Dominik Braun)(address . ldb@leibniz-psychology.org)(address . 39028-done@debbugs.gnu.org)
87k0v6xehi.fsf@cbaines.net
Lars-Dominik Braun <ldb@leibniz-psychology.org> writes:

Toggle quote (4 lines)
> since master now has python-cryptography==2.9, we can safely add
> python-asyncssh without any custom patches. The attached patches first update
> python-gssapi (a dependency) and then add python-asyncssh.

Hi!

This looks good to me, I tweaked the module (ssh seemed more
appropriate) and indentation, and pushed to master as
48dec2e04efdc764e16828fb7837ca58064f3cbe.

Thanks,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl+d2WlfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xexpg/+KTTyLkUYSWcAFJKsi2SGNmwngnkpRZvu
XF8uWluzoOz3hk7cm0WxnbimV4bLWBf5y5lj+skyhkOe2gkjxUU3PDeBN0dW3HxF
VKyCtr3gupbjon3n0GlLHzDwETd1LjDesmCep+6yfg/44dYcc7pLpTVu+kV58Ana
23wvCgqer/0sQid0GZqha1oZurepAzQD990raLs5MxyIEzex/fu07zLU20XQlL94
lIRFoweQArfE3cRwet4tUodJwEdDqRpswLfHFGBNCiHFQHWvDKifaydWUz2RmeWB
XiK5EaXWgQXed9bruL/uVLT5trj2GelPeJsaZz4oq+PC+GLeJNhgqdiqWdAsai6J
EhcD3isZlfPJ8uhZyzT5qlKMJshUzBarE34wqJuV+8ocDG/F3Eo19kQkj/obm3cE
cPOkzA764yF9LpIF4x7JUmMxQKlhOphdjj/zp4ZuBV23BLdMvl1rjVfPsq3TWSwl
HQ+IY/JOgr0i6ssN99nAxeP3j59C+BihrYinc95TOSUTnccFYBP4VmO7W0uvcqny
9ZE/TWhmQRJmqqRxI9UB1pHMiXJqy160XsnjFQSptzPn0W6QvJJKGbA67doy9c8F
Q/EHVVTfz69BIepu3mfcu0rQ+eUkFMuoFrodDE6ZRAfvBq3QdxYd1t2FdZTd/+bO
tFTjzJWc590=
=f4V2
-----END PGP SIGNATURE-----

Closed
?