aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python-crypto.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-crypto.scm')
-rw-r--r--gnu/packages/python-crypto.scm189
1 files changed, 114 insertions, 75 deletions
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 3a7f53abee..3cd58bf0ea 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -89,22 +89,19 @@
(method url-fetch)
(uri (pypi-uri "base58" version))
(sha256
- (base32
- "1317ly0db7nnjg5k58f6nqa0svfcvn446xd5bpiyi0bfbczwpl65"))))
+ (base32 "1317ly0db7nnjg5k58f6nqa0svfcvn446xd5bpiyi0bfbczwpl65"))))
(build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? (invoke "pytest" "-vv")))))))
(native-inputs
- (list python-pyhamcrest python-pytest python-pytest-benchmark))
+ (list python-pyhamcrest
+ python-pytest
+ python-pytest-benchmark
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/keis/base58")
(synopsis "Base58 and Base58Check implementation")
- (description "Base58 and Base58Check implementation compatible
-with what is used by the Bitcoin network.")
+ (description
+ "Base58 and Base58Check implementation compatible with what is used by
+the Bitcoin network.")
(license license:expat)))
(define-public python-bcrypt
@@ -192,19 +189,27 @@ This package provides a Python interface for BLAKE2.")
(define-public python-paramiko
(package
(name "python-paramiko")
- (version "2.7.2")
+ (version "3.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "paramiko" version))
(sha256
- (base32 "0dahwq623jnna7gsr9j0mkwr9k2n1pvkapjryhcx508d5jxg8dkz"))))
- (build-system python-build-system)
- (arguments
- `(;; FIXME: Tests require many unpackaged libraries, see dev-requirements.txt.
- #:tests? #f))
+ (base32 "0941n85xi32kvrh2mxppga527a0jz2iz2c99lpfwwmagv90fa4dd"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-icecream
+ python-pytest-relaxed
+ python-pytest-xdist
+ python-setuptools
+ python-wheel))
(propagated-inputs
- (list python-bcrypt python-pyasn1 python-pynacl python-cryptography))
+ (list python-cryptography
+ python-bcrypt
+ python-invoke
+ python-pyasn1
+ python-pynacl))
(home-page "https://www.paramiko.org/")
(synopsis "SSHv2 protocol library")
(description "Paramiko is a python implementation of the SSHv2 protocol,
@@ -216,32 +221,25 @@ Python interface around SSH networking concepts.")
(define-public python-ecdsa
(package
(name "python-ecdsa")
- (version "0.17.0")
+ (version "0.19.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ecdsa" version))
(sha256
- (base32 "1ak8xa2r660d85abrlffp0bqvwdadg9ga4066g856hcy8fxh1xdr"))))
- (build-system python-build-system)
+ (base32 "1y3bmx6aw5klx143jas3czwbsfvr5d3fs8gm1bfh16b5k48svsk0"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _ (invoke
- "pytest"
- "-vv"
- "-k"
- (string-append
- "not test_multithreading_with_interrupts "
- ;; The following test fails and will be fixed in the
- ;; next release after v0.18. See
- ;; <https://github.com/tlsfuzzer/python-ecdsa/issues/307>.
- "and not test_add_different_scale_points")))))))
+ (list
+ ;; Test failes with error: AssertionError: KeyboardInterrupt not raised.
+ #:test-flags #~(list "-k" "not test_multithreading_with_interrupts")))
+ (native-inputs
+ (list openssl
+ python-pytest
+ python-setuptools
+ python-wheel))
(propagated-inputs
(list python-six))
- (native-inputs
- (list openssl python-pytest))
(home-page "https://github.com/warner/python-ecdsa")
(synopsis "ECDSA cryptographic signature library (pure python)")
(description
@@ -302,7 +300,9 @@ do what is needed for client/server Kerberos authentication based on
(native-inputs
(list python-toml
python-pytest
- python-setuptools-scm))
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
(propagated-inputs
(list python-importlib-metadata
python-jaraco-classes
@@ -444,7 +444,7 @@ blake3, a cryptographic hash function.")
(sha256
(base32
"1yxqfb5131wahjyw9pxz03bq476rcfx62s6k53xx4cqbzzgdaqkq"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
@@ -530,11 +530,13 @@ is used by the Requests library to verify HTTPS requests.")
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No tests included.
(native-inputs
- (list python-flit-core))
+ (list python-flit-core
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/pyca/cryptography")
(synopsis "Test vectors for the cryptography package")
(description
- "This package contains test vectors for the cryptography package.")
+ "This package contains test vectors for the cryptography package.")
;; Distributed under either BSD-3 or ASL2.0
(license (list license:bsd-3 license:asl2.0))))
@@ -574,7 +576,10 @@ is used by the Requests library to verify HTTPS requests.")
python-iso8601
python-pretend
python-pytest ;for subtests
- python-pytest-benchmark))
+ python-pytest-benchmark
+ python-pytest-subtests
+ python-setuptools
+ python-wheel))
(inputs (list python-cryptography-rust))
(propagated-inputs (list python-cffi))
(home-page "https://github.com/pyca/cryptography")
@@ -751,6 +756,27 @@ is a ratcheting forward secrecy protocol that works in synchronous and
asynchronous messaging environments.")
(license license:gpl3)))
+(define-public python-omemo-dr
+ (package
+ (name "python-omemo-dr")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://dev.gajim.org/gajim/omemo-dr")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1gx0znbfvs8jg9s754hha81l8wpghswkfsqx2jzpgv6gigf3sm8z"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-axolotl-curve25519 python-cryptography python-protobuf-5))
+ (home-page "https://dev.gajim.org/gajim/omemo-dr")
+ (synopsis "OMEMO cryptography library")
+ (description "OMEMO cryptography library that was forked from python-axolotl.")
+ (license license:gpl3)))
(define-public python-pyaes
(package
@@ -825,7 +851,7 @@ PKCS#12, PKCS#5, X.509 and TSP.")
(lambda _
(setenv "SODIUM_INSTALL" "system"))))))
(native-inputs
- (list python-hypothesis python-pytest))
+ (list python-hypothesis python-pytest python-setuptools python-wheel))
(propagated-inputs
(list python-cffi python-six libsodium))
(home-page "https://github.com/pyca/pynacl/")
@@ -1072,7 +1098,7 @@ provides drop-in compatibility with PyCrypto.")))
;; certificates.
#:tests? #f))
(inputs (list openssl))
- (native-inputs (list swig))
+ (native-inputs (list swig python-setuptools python-wheel))
(home-page "https://gitlab.com/m2crypto/m2crypto")
(synopsis "Python crypto and TLS toolkit")
(description "@code{M2Crypto} is a complete Python wrapper for OpenSSL
@@ -1251,25 +1277,33 @@ derivation function.")
(define-public python-service-identity
(package
(name "python-service-identity")
- (version "21.1.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "service-identity" version))
- (sha256
- (base32
- "0d4x84crbz0a17d8gi90z6zlxwm9pslc65rx0cdw2797ra360v3f"))))
+ (version "24.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "service_identity" version))
+ (sha256
+ (base32 "02cfpry5alap6mf3ffq1gdq6s7a2cmgjqpb2bp6wcf8d7yhkns5q"))))
(build-system pyproject-build-system)
- (native-inputs (list python-idna python-pytest))
- (propagated-inputs (list python-attrs python-cryptography python-pyasn1
- python-pyasn1-modules python-six))
+ (native-inputs
+ (list python-hatch-fancy-pypi-readme
+ python-hatch-vcs
+ python-hatchling
+ python-idna
+ python-pytest))
+ (propagated-inputs
+ (list python-attrs
+ python-cryptography
+ python-pyasn1
+ python-pyasn1-modules
+ python-six))
(home-page "https://service-identity.readthedocs.io/")
(synopsis "Service identity verification for PyOpenSSL")
(description
- "@code{service_identity} aspires to give you all the tools you need
-for verifying whether a certificate is valid for the intended purposes.
-In the simplest case, this means host name verification. However,
-service_identity implements RFC 6125 fully and plans to add other
-relevant RFCs too.")
+ "@code{service_identity} aspires to give you all the tools you need for
+verifying whether a certificate is valid for the intended purposes. In the
+simplest case, this means host name verification. However, service_identity
+implements RFC 6125 fully and plans to add other relevant RFCs too.")
(license license:expat)))
(define-public python-hkdf
@@ -1295,17 +1329,17 @@ Derivation function (HKDF) defined in RFC 5869.")
(define-public python-spake2
(package
(name "python-spake2")
- (version "0.8")
+ (version "0.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "spake2" version))
(sha256
(base32
- "1x16r7lrbklvfzbacb66qv9iiih6liq1y612dqh2chgf555n2yn1"))))
+ "0d4kbaxi4cv8klyqh6yb0p0qiwfdwvczy1h2mzvmlfdcsnlc87s2"))))
(build-system python-build-system)
(propagated-inputs
- (list python-hkdf))
+ (list python-cryptography python-hkdf))
(home-page "https://github.com/warner/python-spake2")
(synopsis "SPAKE2 password-authenticated key exchange in Python")
(description "This package provides a Python implementation of the SPAKE2
@@ -1490,6 +1524,8 @@ items and collections, editing items, locking and unlocking collections
python-pytest
python-pytest-cov
python-service-identity
+ python-setuptools
+ python-wheel
python-zipp))
(propagated-inputs
(list python-cryptography
@@ -1558,36 +1594,39 @@ I/O-free core, and integration modules for different event loops.")
(define-public python-argon2-cffi
(package
(name "python-argon2-cffi")
- (version "20.1.0")
+ (version "21.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "argon2-cffi" version))
(sha256
(base32
- "0zgr4mnnm0p4i99023safb0qb8cgvl202nly1rvylk2b7qnrn0nq"))
+ "0w5q5cdwmzpjgw3bl9f6b9a5xai87qvx3jryra9gd8fi0c8vc47p"))
(modules '((guix build utils)))
- (snippet '(begin (delete-file-recursively "extras") #t))))
+ (snippet '(delete-file-recursively "extras"))))
+ ;; TODO: with pyproject-build-system the install phase fails.
(build-system python-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
+ (list
+ #:phases
+ '(modify-phases %standard-phases
(replace 'build
(lambda _
(setenv "ARGON2_CFFI_USE_SYSTEM" "1")
(invoke "python" "setup.py" "build")))
(replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest")
- (invoke "python" "-m" "argon2" "--help")
- ;; see tox.ini
- (invoke "python" "-m" "argon2" "-n" "1" "-t" "1" "-m" "8" "-p" "1"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest")
+ (invoke "python" "-m" "argon2" "--help")
+ ;; see tox.ini
+ (invoke "python" "-m" "argon2" "-n" "1" "-t" "1" "-m" "8" "-p" "1")))))))
(propagated-inputs
- (list python-cffi python-six))
+ (list python-cffi python-typing-extensions))
(inputs (list argon2))
(native-inputs
- (list python-hypothesis python-pytest))
+ (list python-hypothesis
+ python-pytest))
(home-page "https://argon2-cffi.readthedocs.io/")
(synopsis "Secure Password Hashes for Python")
(description