summaryrefslogtreecommitdiff
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.scm411
1 files changed, 248 insertions, 163 deletions
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 1cddc56f1b..e49ccdf1f2 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015 Eric Dvorsak <[email protected]>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <[email protected]>
;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari <[email protected]>
-;;; Copyright © 2016, 2017, 2020 Marius Bakke <[email protected]>
+;;; Copyright © 2016, 2017, 2020, 2022 Marius Bakke <[email protected]>
;;; Copyright © 2017 Ben Sturmfels <[email protected]>
;;; Copyright © 2016 Sou Bunnbu <[email protected]>
;;; Copyright © 2015 Cyril Roelandt <[email protected]>
@@ -47,9 +47,11 @@
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages check)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages crypto)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libffi)
@@ -62,6 +64,7 @@
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages rust)
#:use-module (gnu packages swig)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
@@ -86,7 +89,7 @@
(base32 "1hzw6h01fm216nmipyylgz0zybd80w1xsk12m7djycnhqrnrvvv1"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pycrypto" ,python-pycrypto)))
+ (list python-pycrypto))
(synopsis "Python OTR Implementation")
(description "Python OTR is an Off-The-Record Protocol Implementation in
Python. It does not bind to libotr.")
@@ -96,17 +99,22 @@ Python. It does not bind to libotr.")
(define-public python-base58
(package
(name "python-base58")
- (version "2.0.1")
+ (version "2.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "base58" version))
(sha256
(base32
- "0yfaqp76kbdb62hikr5n4jkkfjfmii89grwfy6sw3fmsv5hrap1n"))))
+ "1317ly0db7nnjg5k58f6nqa0svfcvn446xd5bpiyi0bfbczwpl65"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests? (invoke "pytest" "-vv")))))))
(native-inputs
- `(("python-pyhamcrest" ,python-pyhamcrest)))
+ (list python-pyhamcrest python-pytest python-pytest-benchmark))
(home-page "https://github.com/keis/base58")
(synopsis "Base58 and Base58Check implementation")
(description "Base58 and Base58Check implementation compatible
@@ -125,11 +133,9 @@ with what is used by the Bitcoin network.")
(base32 "0agvzdn7r7jx5y4scl5gjmrmr6njvizwmr9n7h1kmaahdrrc34sv"))))
(build-system python-build-system)
(native-inputs
- `(("python-pycparser" ,python-pycparser)
- ("python-pytest" ,python-pytest)))
+ (list python-pycparser python-pytest))
(propagated-inputs
- `(("python-cffi" ,python-cffi)
- ("python-six" ,python-six)))
+ (list python-cffi python-six))
(home-page "https://github.com/pyca/bcrypt/")
(synopsis
"Modern password hashing library")
@@ -152,9 +158,9 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
(base32 "015y5qaw9qnxr29lg60dml1g5rbqd4586wy5n8m41ib55gvm1zfy"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(propagated-inputs
- `(("python-bcrypt" ,python-bcrypt)))
+ (list python-bcrypt))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -212,10 +218,7 @@ This package provides a Python interface for BLAKE2.")
`(;; FIXME: Tests require many unpackaged libraries, see dev-requirements.txt.
#:tests? #f))
(propagated-inputs
- `(("python-bcrypt" ,python-bcrypt)
- ("python-pyasn1" ,python-pyasn1)
- ("python-pynacl" ,python-pynacl)
- ("python-cryptography" ,python-cryptography)))
+ (list python-bcrypt python-pyasn1 python-pynacl python-cryptography))
(home-page "https://www.paramiko.org/")
(synopsis "SSHv2 protocol library")
(description "Paramiko is a python implementation of the SSHv2 protocol,
@@ -227,24 +230,27 @@ Python interface around SSH networking concepts.")
(define-public python-ecdsa
(package
(name "python-ecdsa")
- (version "0.14.1")
+ (version "0.17.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ecdsa" version))
(sha256
- (base32 "13nx5cbfxc0gnax5zwdmp9xc40qd1llk62mv85jyrvqkbw017ik4"))))
+ (base32 "1ak8xa2r660d85abrlffp0bqvwdadg9ga4066g856hcy8fxh1xdr"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _ (invoke "pytest"))))))
+ (lambda _ (invoke
+ "pytest"
+ "-vv"
+ "-k"
+ "not test_multithreading_with_interrupts"))))))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(native-inputs
- `(("openssl" ,openssl)
- ("python-pytest" ,python-pytest)))
+ (list openssl python-pytest))
(home-page "https://github.com/warner/python-ecdsa")
(synopsis "ECDSA cryptographic signature library (pure python)")
(description
@@ -278,8 +284,7 @@ making them easy to handle and incorporate into other protocols.")
"0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj"))))
(build-system python-build-system)
(inputs
- `(("python" ,python)
- ("gmp" ,gmp)))
+ (list python gmp))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -316,7 +321,7 @@ etc.). The package is structured to make adding new modules easy.")
"19663qxmma0i8bfbjc2iwy5hgq0g4pfb75r023v5dps68zfvffgh"))))
(build-system python-build-system)
(inputs
- `(("mit-krb5" ,mit-krb5)))
+ (list mit-krb5))
(home-page "https://github.com/apple/ccs-pykerberos")
(synopsis
"Python Kerberos library used by CalendarServer")
@@ -349,15 +354,15 @@ do what is needed for client/server Kerberos authentication based on
(invoke "pytest"))
#t)))))
(native-inputs
- `(("python-toml" ,python-toml)
- ("python-pytest" ,python-pytest)
- ("python-pytest-checkdocs" ,python-pytest-checkdocs)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-flake8" ,python-pytest-flake8)
- ("python-setuptools" ,python-setuptools)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-toml
+ python-pytest
+ python-pytest-checkdocs
+ python-pytest-cov
+ python-pytest-flake8
+ python-setuptools
+ python-setuptools-scm))
(propagated-inputs
- `(("python-secretstorage" ,python-secretstorage)))
+ (list python-secretstorage))
(home-page "https://github.com/jaraco/keyring")
(synopsis "Store and access your passwords safely")
(description
@@ -385,11 +390,9 @@ password storage.")
(arguments
`(#:python ,python-2))
(native-inputs
- `(("python2-pytest" ,python2-pytest)
- ("python2-pytest-runner" ,python2-pytest-runner)
- ("python2-setuptools-scm" ,python2-setuptools-scm)))
+ (list python2-pytest python2-pytest-runner python2-setuptools-scm))
(propagated-inputs
- `(("python2-pycrypto" ,python2-pycrypto))))))
+ (list python2-pycrypto)))))
(define-public python-keyrings.alt
(package
@@ -418,9 +421,7 @@ password storage.")
#t))))
(build-system python-build-system)
(native-inputs
- `(("python-keyring" ,python-keyring)
- ("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-keyring python-pytest python-setuptools-scm))
(home-page "https://github.com/jaraco/keyrings.alt")
(synopsis "Alternate keyring implementations")
(description "Keyrings in this package may have security risks or other
@@ -443,10 +444,9 @@ risk.")
"1yxqfb5131wahjyw9pxz03bq476rcfx62s6k53xx4cqbzzgdaqkq"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pyopenssl" ,python-pyopenssl)
- ("python-tldextract" ,python-tldextract)))
+ (list python-pyopenssl python-tldextract))
(native-inputs
- `(("python-pytest-cov" ,python-pytest-cov)))
+ (list python-pytest-cov))
(home-page "https://github.com/ikreymer/certauth")
(synopsis "Certificate authority creation tool")
(description "This package provides a small library, built on top of
@@ -513,19 +513,13 @@ is used by the Requests library to verify HTTPS requests.")
"1ribd1vxq9wwz564mg60dzcy699gng54admihjjkgs9dx95pw5vy"))))
(build-system python-build-system)
(inputs
- `(("openssl" ,openssl)))
+ (list openssl))
(propagated-inputs
- `(("python-asn1crypto" ,python-asn1crypto)
- ("python-cffi" ,python-cffi)
- ("python-six" ,python-six)
- ("python-idna" ,python-idna)
- ("python-iso8601" ,python-iso8601)))
+ (list python-asn1crypto python-cffi python-six python-idna
+ python-iso8601))
(native-inputs
- `(("python-cryptography-vectors" ,python-cryptography-vectors)
- ("python-hypothesis" ,python-hypothesis)
- ("python-pretend" ,python-pretend)
- ("python-pytz" ,python-pytz)
- ("python-pytest" ,python-pytest)))
+ (list python-cryptography-vectors python-hypothesis python-pretend
+ python-pytz python-pytest))
(home-page "https://github.com/pyca/cryptography")
(synopsis "Cryptographic recipes and primitives for Python")
(description
@@ -542,6 +536,13 @@ message digests and key derivation functions.")
(let ((crypto (package-with-python2
(strip-python2-variant python-cryptography))))
(package/inherit crypto
+ (arguments
+ `(#:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ ;; The sanity-check attempts attempts to import the non-existent
+ ;; modules "_openssl" and "_padding".
+ (delete 'sanity-check))))
(propagated-inputs
`(("python2-ipaddress" ,python2-ipaddress)
("python2-backport-ssl-match-hostname"
@@ -549,17 +550,140 @@ message digests and key derivation functions.")
("python2-enum34" ,python2-enum34)
,@(package-propagated-inputs crypto))))))
+;; TODO: Make this the default in the next staging cycle.
+(define-public python-cryptography-vectors-next
+ (package
+ (inherit python-cryptography-vectors)
+ (version "36.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cryptography_vectors" version))
+ (sha256
+ (base32
+ "166mvhhmgglqai1sjkkb76mpdkad2yykam11d2w44hs2snpr117w"))))))
+
+(define-public python-cryptography-next
+ (package
+ (inherit python-cryptography)
+ (version "36.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cryptography" version))
+ (sha256
+ (base32
+ "0f1n8bvngarhsssm60xc59xfzkh7yqpyyyypaph3v5bs7pfc3rak"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:imported-modules (append %cargo-build-system-modules
+ %python-build-system-modules)
+ #:modules `(((guix build cargo-build-system) #:prefix cargo:)
+ ,@%python-build-system-modules
+ (srfi srfi-1)
+ (ice-9 match))
+ #:phases
+ #~(modify-phases (@ (guix build python-build-system) %standard-phases)
+ (add-after 'unpack 'loosen-ouroboros-version
+ (lambda _
+ (substitute* "src/rust/Cargo.toml"
+ (("ouroboros = \"0\\.13\"")
+ "ouroboros = \"0.14\""))))
+ (add-before 'build 'configure-cargo
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Hide irrelevant inputs from cargo-build-system so it does
+ ;; not try to unpack sanity-check.py, etc.
+ (let ((cargo-inputs (filter (match-lambda
+ ((name . path)
+ (or (string-prefix? "rust-" name)
+ (string=? "gcc" name))))
+ inputs)))
+ (with-directory-excursion "src/rust"
+ ((assoc-ref cargo:%standard-phases 'unpack-rust-crates)
+ #:inputs cargo-inputs
+ #:vendor-dir "guix-vendor")
+ ((assoc-ref cargo:%standard-phases 'configure)
+ #:inputs cargo-inputs)
+ ((assoc-ref cargo:%standard-phases 'patch-cargo-checksums)
+ #:vendor-dir "guix-vendor"))
+ (rename-file "src/rust/.cargo" ".cargo"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "tests")))))))
+ (inputs
+ (list openssl
+ rust-aliasable-0.1
+ rust-asn1-0.8
+ rust-asn1-derive-0.8
+ rust-autocfg-1
+ rust-base64-0.13
+ rust-bitflags-1
+ rust-cfg-if-0.1
+ rust-cfg-if-1
+ rust-chrono-0.4
+ rust-cloudabi-0.1
+ rust-lazy-static-1
+ rust-libc-0.2
+ rust-indoc-0.3
+ rust-indoc-impl-0.3
+ rust-inflector-0.11
+ rust-instant-0.1
+ rust-lock-api-0.4
+ rust-num-integer-0.1
+ rust-num-traits-0.2
+ rust-once-cell-1
+ rust-ouroboros-0.14
+ rust-ouroboros-macro-0.14
+ rust-parking-lot-0.11
+ rust-parking-lot-core-0.8
+ rust-paste-0.1
+ rust-paste-impl-0.1
+ rust-pem-1
+ rust-proc-macro-error-1
+ rust-proc-macro-error-attr-1
+ rust-proc-macro-hack-0.5
+ rust-proc-macro2-1
+ rust-pyo3-0.15
+ rust-pyo3-build-config-0.15
+ rust-pyo3-macros-0.15
+ rust-pyo3-macros-backend-0.15
+ rust-quote-1
+ rust-redox-syscall-0.1
+ rust-scopeguard-1
+ rust-smallvec-1
+ rust-stable-deref-trait-1
+ rust-syn-1
+ rust-unicode-xid-0.2
+ rust-unindent-0.1
+ rust-version-check-0.9
+ rust-winapi-0.3))
+ (propagated-inputs
+ (list python-asn1crypto python-cffi python-six python-idna
+ python-iso8601))
+ (native-inputs
+ (list python-cryptography-vectors-next
+ python-hypothesis
+ python-pretend
+ python-pytz
+ python-pytest
+ python-pytest-subtests
+ python-setuptools-rust
+ rust `(,rust "cargo")))
+ (properties '())))
+
(define-public python-pyopenssl
(package
(name "python-pyopenssl")
- (version "20.0.0")
+ (version "20.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyOpenSSL" version))
(sha256
(base32
- "1i8ab5zn9i9iq2ksizp3rd42v157kacddzz88kviqw3kpp68xw4j"))))
+ "0labcbh2g0jhgisd79wx9kixmi6fip28096d1xb05fj3jmsiq8sc"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -571,7 +695,7 @@ message digests and key derivation functions.")
;; PyOpenSSL runs tests against a certificate with a fixed
;; expiry time. To ensure successful builds in the future,
;; set the time to roughly the release date.
- (invoke "faketime" "2020-12-01" "py.test" "-v" "-k"
+ (invoke "faketime" "2021-05-01" "py.test" "-v" "-k"
(string-append
;; This test tries to look up certificates from
;; the compiled-in default path in OpenSSL, which
@@ -584,15 +708,11 @@ message digests and key derivation functions.")
;; https://github.com/pyca/pyopenssl/issues/974
"and not test_verify_with_time")))))))
(propagated-inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-six" ,python-six)))
+ (list python-cryptography python-six))
(inputs
- `(("openssl" ,openssl)))
+ (list openssl))
(native-inputs
- `(("libfaketime" ,libfaketime)
- ("python-flaky" ,python-flaky)
- ("python-pretend" ,python-pretend)
- ("python-pytest" ,python-pytest)))
+ (list libfaketime python-flaky python-pretend python-pytest))
(home-page "https://github.com/pyca/pyopenssl")
(synopsis "Python wrapper module around the OpenSSL library")
(description
@@ -669,9 +789,7 @@ python-axolotl.")
'("axolotl/tests" "build/lib/axolotl/tests"))
#t)))))
(propagated-inputs
- `(("python-axolotl-curve25519" ,python-axolotl-curve25519)
- ("python-cryptography" ,python-cryptography)
- ("python-protobuf" ,python-protobuf)))
+ (list python-axolotl-curve25519 python-cryptography python-protobuf))
(home-page "https://github.com/tgalal/python-axolotl")
(synopsis "Python port of libaxolotl-android")
(description "This is a python port of libaxolotl-android. This
@@ -771,38 +889,24 @@ PKCS#8, PKCS#12, PKCS#5, X.509 and TSP.")
(substitute* "setup.py"
(("\"wheel\"") ""))
;; Remove bundled libsodium.
- (delete-file-recursively "src/libsodium")
- #t))
+ (delete-file-recursively "src/libsodium")))
(sha256
(base32
"01b56hxrbif3hx8l6rwz5kljrgvlbj7shmmd2rjh0hn7974a5sal"))))
(build-system python-build-system)
(arguments
- `(#:modules (,@%python-build-system-modules
- (guix build utils)
- (ice-9 ftw)
- (srfi srfi-26))
- #:phases
- (modify-phases (@ (guix build python-build-system) %standard-phases)
+ `(#:phases
+ (modify-phases %standard-phases
(add-before 'build 'use-system-sodium
(lambda _
- (setenv "SODIUM_INSTALL" "system")
- #t))
+ (setenv "SODIUM_INSTALL" "system")))
(replace 'check
(lambda _
- (let ((build-directory
- (car (scandir "build" (cut string-prefix? "lib" <>)))))
- (setenv "PYTHONPATH"
- (string-append "./build/" build-directory ":"
- (getenv "PYTHONPATH")))
- (invoke "pytest" "-vv")))))))
+ (invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-pytest" ,python-pytest)))
+ (list python-hypothesis python-pytest))
(propagated-inputs
- `(("python-cffi" ,python-cffi)
- ("python-six" ,python-six)
- ("libsodium" ,libsodium)))
+ (list python-cffi python-six libsodium))
(home-page "https://github.com/pyca/pynacl/")
(synopsis "Python bindings to libsodium")
(description
@@ -835,9 +939,7 @@ of improving usability, security and speed.")
(delete-file "setup.cfg")
(invoke "pytest"))))))
(native-inputs
- `(("python-numpy" ,python-numpy)
- ("python-pillow" ,python-pillow)
- ("python-pytest" ,python-pytest)))
+ (list python-numpy python-pillow python-pytest))
(home-page "https://github.com/halcy/blurhash-python")
(synopsis
"Pure-Python implementation of the blurhash algorithm")
@@ -858,7 +960,7 @@ of improving usability, security and speed.")
"1gc3i5s93zq6x1nkaxkq1dvmsc12vmrw0hns9f5s1hcb78ni52c8"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-future" ,python-future)))
+ (list python-future))
(home-page "https://github.com/ubinity/ECPy")
(synopsis "Pure Python Elliptic Curve Library")
(description "This package provides a Elliptic Curve Library in pure
@@ -883,9 +985,7 @@ Python.")
;; The tests require flake8 >= 3.5, which is not yet packaged.
'(#:tests? #f))
(propagated-inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-pyopenssl" ,python-pyopenssl)
- ("python-six" ,python-six)))
+ (list python-cryptography python-pyopenssl python-six))
;; TODO Enable when we have flake8 >= 3.5.
; (native-inputs
; `(("python-coverage" ,python-coverage)
@@ -924,20 +1024,19 @@ protocol (Javascript Object Signing and Encryption).")
(define-public python-pycryptodome
(package
(name "python-pycryptodome")
- (version "3.9.9")
+ (version "3.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycryptodome" version))
(sha256
(base32
- "1i4m74f88qj9ci8rpyzrbk2slmsdj5ipmwdkq6qk24byalm203li"))
+ "1l3a80z3lxcj1q0hzj1d3plavy2d51y4vzcd85zj0zm7yyxrd022"))
(modules '((guix build utils)))
(snippet pycryptodome-unbundle-tomcrypt-snippet)))
(build-system python-build-system)
(inputs
- `(("libtomcrypt" ,libtomcrypt)
- ("libtommath" ,libtommath)))
+ (list libtomcrypt libtommath))
(home-page "https://www.pycryptodome.org")
(synopsis "Low-level cryptographic Python library")
(description
@@ -990,7 +1089,7 @@ PyCryptodome variants, the other being python-pycryptodomex.")
(method url-fetch)
(uri (pypi-uri "pycryptodomex" version))
(sha256
- (base32 "0lbx4qk3xmwqiidhmkj8qa7bh2lf8bwzg0xjpsh2w5zqjrc7qnvv"))
+ (base32 "0vcd65ylri2a4pdqcc1897jasj7wfmqklj8x3pdynmdvark3d603"))
(modules '((guix build utils)))
(snippet pycryptodome-unbundle-tomcrypt-snippet)))
(description
@@ -1044,8 +1143,8 @@ provides drop-in compatibility with PyCrypto.")))
`(;; FIXME: Tests start failing with time due to date checks in TLS
;; certificates.
#:tests? #f))
- (inputs `(("openssl" ,openssl)))
- (native-inputs `(("swig" ,swig)))
+ (inputs (list openssl))
+ (native-inputs (list swig))
(home-page "https://gitlab.com/m2crypto/m2crypto")
(synopsis "Python crypto and TLS toolkit")
(description "@code{M2Crypto} is a complete Python wrapper for OpenSSL
@@ -1097,12 +1196,12 @@ through the Engine interface.")
(("==") ">="))
#t)))))
(propagated-inputs
- `(("python-argon2-cffi" ,python-argon2-cffi)
- ("python-construct" ,python-construct)
- ("python-dateutil" ,python-dateutil)
- ("python-future" ,python-future)
- ("python-lxml" ,python-lxml)
- ("python-pycryptodomex" ,python-pycryptodomex)))
+ (list python-argon2-cffi
+ python-construct
+ python-dateutil
+ python-future
+ python-lxml
+ python-pycryptodomex))
(home-page "https://github.com/libkeepass/pykeepass")
(synopsis "Python library to interact with keepass databases")
(description
@@ -1142,7 +1241,7 @@ supports KDBX3 and KDBX4.")
;; requires "hashlib.scrypt", provided by Python 3.6+ built with OpenSSL
;; 1.1+. Use that as soon as Guix provides it.
(inputs
- `(("libscrypt" ,libscrypt)))
+ (list libscrypt))
(home-page "https://github.com/jvarho/pylibscrypt")
(synopsis "Scrypt for Python")
(description "There are a lot of different scrypt modules for Python, but
@@ -1169,13 +1268,11 @@ none of them have everything that I'd like, so here's one more. It uses
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libnacl/__init__.py"
(("/usr/local/lib/libsodium.so")
- (string-append (assoc-ref inputs "libsodium")
- "/lib/libsodium.so")))
- #t)))))
+ (search-input-file inputs "/lib/libsodium.so"))))))))
(native-inputs
- `(("python-pyhamcrest" ,python-pyhamcrest)))
+ (list python-pyhamcrest))
(inputs
- `(("libsodium" ,libsodium)))
+ (list libsodium))
(home-page "https://libnacl.readthedocs.org/")
(synopsis "Python bindings for libsodium based on ctypes")
(description "@code{libnacl} is used to gain direct access to the
@@ -1217,7 +1314,7 @@ require users to log in.")
"0hjk71k3mgnl8siikm9lii9im8kv0rb7inkjzx78rnancra48xxr"))))
(build-system python-build-system)
(inputs
- `(("openssl" ,openssl)))
+ (list openssl))
(home-page "https://bitbucket.org/mhallin/py-scrypt")
(synopsis "Bindings for the scrypt key derivation function library")
(description "This is a set of Python bindings for the scrypt key
@@ -1237,10 +1334,8 @@ derivation function.")
"0b9f5qiqjy8ralzgwjgkhx82h6h8sa7532psmb8mkd65md5aan08"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-pyasn1" ,python-pyasn1)
- ("python-pyasn1-modules" ,python-pyasn1-modules)
- ("python-pyopenssl" ,python-pyopenssl)))
+ (list python-attrs python-pyasn1 python-pyasn1-modules
+ python-pyopenssl))
(home-page "https://service-identity.readthedocs.io/")
(synopsis "Service identity verification for PyOpenSSL")
(description
@@ -1267,7 +1362,7 @@ relevant RFCs too.")
"1jhxk5vhxmxxjp3zj526ry521v9inzzl8jqaaf0ma65w6k332ak2"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/casebeer/python-hkdf")
(synopsis "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)")
(description "This package provides a Python implementation of the HMAC Key
@@ -1287,7 +1382,7 @@ Derivation function (HKDF) defined in RFC 5869.")
"1x16r7lrbklvfzbacb66qv9iiih6liq1y612dqh2chgf555n2yn1"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-hkdf" ,python-hkdf)))
+ (list 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
@@ -1311,12 +1406,12 @@ Password-Authenticated Key Exchange algorithm.")
;; <https://github.com/meejah/txtorcon/issues/330>
`(#:tests? #f))
(propagated-inputs
- `(("python-automat" ,python-automat)
- ("python-idna" ,python-idna)
- ("python-incremental" ,python-incremental)
- ("python-service-identity" ,python-service-identity)
- ("python-twisted" ,python-twisted)
- ("python-zope-interface" ,python-zope-interface)))
+ (list python-automat
+ python-idna
+ python-incremental
+ python-service-identity
+ python-twisted
+ python-zope-interface))
(home-page "https://github.com/meejah/txtorcon")
(synopsis "Twisted-based Tor controller client")
(description "This package provides a Twisted-based Tor controller client,
@@ -1336,10 +1431,9 @@ with state-tracking and configuration abstractions.")
"0lipygpzhwzzsq2k5imb1jgkmj8y4khxdwhzadjs3bd56g6bmkx9"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner))
(inputs
- `(("keyutils" ,keyutils)))
+ (list keyutils))
(arguments
'(#:tests? #f))
(home-page "https://github.com/sassoftware/python-keyutils")
@@ -1378,9 +1472,7 @@ storing and retrieving sensitive information in your programs.")
(chdir "scripts")
#t)))))
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-intelhex" ,python-intelhex)
- ("python-cryptography" ,python-cryptography)))
+ (list python-click python-intelhex python-cryptography))
(home-page "https://mcuboot.com")
(synopsis "Tool to securely sign firmware images for booting by MCUboot")
(description "MCUboot is a secure bootloader for 32-bit MCUs. This
@@ -1401,7 +1493,7 @@ MCUboot.")
"16mavidki4ma5ip8srqalr19gz4f5yn3cnmmgps1fmgfr24j63rm"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-cryptography" ,python-cryptography)))
+ (list python-cryptography))
(home-page "https://github.com/jborean93/ntlm-auth")
(synopsis
"Calculates NTLM Authentication codes")
@@ -1432,8 +1524,7 @@ and Backlog for a list of what is and is not currently supported.")
(arguments
'(#:tests? #f)) ; Tests require a running dbus service.
(propagated-inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-jeepney" ,python-jeepney)))
+ (list python-cryptography python-jeepney))
(home-page "https://github.com/mitya57/secretstorage")
(synopsis "Python bindings to FreeDesktop.org Secret Service API")
(description
@@ -1464,14 +1555,14 @@ items and collections, editing items, locking and unlocking collections
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-more-itertools" ,python-more-itertools)
- ("python-pyopenssl" ,python-pyopenssl)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-service-identity" ,python-service-identity)
- ("python-zipp" ,python-zipp)))
+ (list python-more-itertools
+ python-pyopenssl
+ python-pytest
+ python-pytest-cov
+ python-service-identity
+ python-zipp))
(propagated-inputs
- `(("python-cryptography" ,python-cryptography)))
+ (list python-cryptography))
(home-page "https://github.com/python-trio/trustme")
(synopsis "Fake a certificate authority for tests")
(description
@@ -1494,9 +1585,9 @@ use in your tests.")
"0n980gqpzh0fm58h3i4mi2i10wgj606lscm1r5sk60vbf6vh8mv9"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pyopenssl" ,python-pyopenssl)))
+ (list python-pyopenssl))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/LLNL/certipy")
(synopsis "Utility to create and sign CAs and certificates")
(description
@@ -1517,11 +1608,8 @@ certificates, signing and building trust bundles.")
(base32 "0mw6ch5s4czpmsiwqwhcidgk27858pl8vlvb7acrxjkm4ribcnbx"))))
(build-system python-build-system)
(native-inputs
- `(("python-testpath" ,python-testpath)
- ("python-tornado" ,python-tornado)
- ("python-trio" ,python-trio)
- ("python-pytest" ,python-pytest)
- ("python-pytest-trio" ,python-pytest-trio)))
+ (list python-testpath python-tornado python-trio python-pytest
+ python-pytest-trio))
(home-page "https://gitlab.com/takluyver/jeepney")
(synopsis "Low-level, pure Python DBus protocol wrapper")
(description
@@ -1558,12 +1646,10 @@ I/O-free core, and integration modules for different event loops.")
;; see tox.ini
(invoke "python" "-m" "argon2" "-n" "1" "-t" "1" "-m" "8" "-p" "1"))))))
(propagated-inputs
- `(("python-cffi" ,python-cffi)
- ("python-six" ,python-six)))
- (inputs `(("argon2" ,argon2)))
+ (list python-cffi python-six))
+ (inputs (list argon2))
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-pytest" ,python-pytest)))
+ (list python-hypothesis python-pytest))
(home-page "https://argon2-cffi.readthedocs.io/")
(synopsis "Secure Password Hashes for Python")
(description
@@ -1595,10 +1681,9 @@ can decide how long it takes to hash a password and how much memory is required.
(lambda _
(invoke "python" "-m" "pytest"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-argon2-cffi" ,python-argon2-cffi)
- ("python-cryptography" ,python-cryptography)))
+ (list python-argon2-cffi python-cryptography))
(home-page "https://www.dropbox.com/developers")
(synopsis "Library to password-protect your data")
(description
@@ -1626,12 +1711,12 @@ signatures.")
(when tests?
(invoke "pytest")))))))
(native-inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-pyasn1" ,python-pyasn1)
- ("python-pytest" ,python-pytest)
- ("python-singledispatch" ,python-singledispatch)
- ("python-six" ,python-six)
- ("python-wheel" ,python-wheel)))
+ (list python-cryptography
+ python-pyasn1
+ python-pytest
+ python-singledispatch
+ python-six
+ python-wheel))
(home-page "https://github.com/SecurityInnovation/PGPy")
(synopsis "Python implementation of OpenPGP")
(description