aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-11-15 14:10:30 +0100
committerLudovic Courtès <ludo@gnu.org>2017-11-16 08:45:15 +0100
commitcc6f49121bcf2c5d342045f76c94f452f96e5f78 (patch)
tree4e6e77fa1b4943a541e94ff0588f4d9030f36c11 /gnu/packages/python.scm
parent7482b98120b5e3380129719f13254b90b18553b9 (diff)
downloadguix-cc6f49121bcf2c5d342045f76c94f452f96e5f78.tar
guix-cc6f49121bcf2c5d342045f76c94f452f96e5f78.tar.gz
gnu: Move crypto packages from python to python-crypto.
* gnu/packages/python.scm (python-passlib, python2-passlib) (python-py-bcrypt, python2-py-bcrypt) (python-paramiko, python2-paramiko, python-ecdsa, python2-ecdsa) (python-pycrypto, python2-pycrypto, python-keyring, python2-keyring) (python-certifi, python2-certifi) (python-cryptography-vectors, python2-cryptography-vectors) (python-cryptography, python2-cryptography) (python-pyopenssl, python2-pyopenssl) (python-axolotl-curve25519, python2-axolotl-curve25519) (python-axolotl, python2-axolotl, python2-slowaes) (python-pyaes, python2-pyaes): Move to... * gnu/packages/python-crypto.scm: ... here. New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/admin.scm, gnu/packages/backup.scm, gnu/packages/crypto.scm, gnu/packages/finance.scm, gnu/packages/irc.scm, gnu/packages/jrnl.scm, gnu/packages/messaging.scm, gnu/packages/openstack.scm, gnu/packages/python-web.scm, gnu/packages/tls.scm, gnu/packages/xorg.scm: Adjust accordingly.
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r--gnu/packages/python.scm464
1 files changed, 1 insertions, 463 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0d5c09b86b..d8de3192c2 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -99,7 +99,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages protobuf)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
@@ -468,143 +468,6 @@ pidof, tty, taskset, pmap.")
(define-public python2-psutil
(package-with-python2 python-psutil))
-(define-public python-passlib
- (package
- (name "python-passlib")
- (version "1.7.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "passlib" version))
- (sha256
- (base32
- "1q2khqpj9rlcgdmkypjdq1kswvhjf72bq0zk2cv669cc2dj8z51x"))))
- (build-system python-build-system)
- (native-inputs
- `(("python-nose" ,python-nose)))
- (propagated-inputs
- `(("python-py-bcrypt" ,python-py-bcrypt)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'set-PYTHON_EGG_CACHE
- ;; some tests require access to "$HOME/.cython"
- (lambda* _ (setenv "PYTHON_EGG_CACHE" "/tmp") #t)))))
- (home-page "https://bitbucket.org/ecollins/passlib")
- (synopsis
- "Comprehensive password hashing framework")
- (description
- "Passlib is a password hashing library for Python 2 & 3, which provides
-cross-platform implementations of over 30 password hashing algorithms, as well
-as a framework for managing existing password hashes. It's designed to be
-useful for a wide range of tasks, from verifying a hash found in /etc/shadow,
-to providing full-strength password hashing for multi-user application.")
- (license license:bsd-3)))
-
-(define-public python2-passlib
- (package-with-python2 python-passlib))
-
-(define-public python-py-bcrypt
- (package
- (name "python-py-bcrypt")
- (version "0.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/p/py-bcrypt/py-bcrypt-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "0y6smdggwi5s72v6p1nn53dg6w05hna3d264cq6kas0lap73p8az"))))
- (build-system python-build-system)
- (home-page "https://code.google.com/p/py-bcrypt")
- (synopsis
- "Bcrypt password hashing and key derivation")
- (description
- "A python wrapper of OpenBSD's Blowfish password hashing code. This
-system hashes passwords using a version of Bruce Schneier's Blowfish block
-cipher with modifications designed to raise the cost of off-line password
-cracking and frustrate fast hardware implementation. The computation cost of
-the algorithm is parametised, so it can be increased as computers get faster.
-The intent is to make a compromise of a password database less likely to
-result in an attacker gaining knowledge of the plaintext passwords (e.g. using
-John the Ripper).")
- ;; "sha2.c" is under BSD-3;
- ;; "blowfish.c" and "bcrypt.c" are under BSD-4;
- ;; the rest is under ISC.
- (license (list license:isc license:bsd-3 license:bsd-4))))
-
-(define-public python2-py-bcrypt
- (package-with-python2 python-py-bcrypt))
-
-
-(define-public python-paramiko
- (package
- (name "python-paramiko")
- (version "2.1.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "paramiko" version))
- (sha256
- (base32
- "04734n0wy3hxk6rij4fr29in5jmr70nxpc7pqi2ksbjysfz4kbjz"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (zero? (system* "python" "test.py")))))))
- (propagated-inputs
- `(("python-pyasn1" ,python-pyasn1)
- ("python-cryptography" ,python-cryptography)))
- (home-page "http://www.paramiko.org/")
- (synopsis "SSHv2 protocol library")
- (description "Paramiko is a python implementation of the SSHv2 protocol,
-providing both client and server functionality. While it leverages a Python C
-extension for low level cryptography (PyCrypto), Paramiko itself is a pure
-Python interface around SSH networking concepts.")
- (license license:lgpl2.1+)))
-
-(define-public python2-paramiko
- (package-with-python2 python-paramiko))
-
-
-(define-public python-ecdsa
- (package
- (name "python-ecdsa")
- (version "0.13")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/e/ecdsa/ecdsa-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "1yj31j0asmrx4an9xvsaj2icdmzy6pw0glfpqrrkrphwdpi1xkv4"))))
- (build-system python-build-system)
- (inputs
- `(("openssl" ,openssl)))
- (home-page
- "https://github.com/warner/python-ecdsa")
- (synopsis
- "ECDSA cryptographic signature library (pure python)")
- (description
- "This is an easy-to-use implementation of ECDSA cryptography (Elliptic
-Curve Digital Signature Algorithm), implemented purely in Python. With this
-library, you can quickly create keypairs (signing key and verifying key), sign
-messages, and verify the signatures. The keys and signatures are very short,
-making them easy to handle and incorporate into other protocols.")
- (license license:expat)))
-
-(define-public python2-ecdsa
- (package-with-python2 python-ecdsa))
-
(define-public python-ccm
(package
(name "python-ccm")
@@ -1034,50 +897,6 @@ multiple Unicode code points, e.g. \"G\" + acute-accent)
(define-public python2-uniseg
(package-with-python2 python-uniseg))
-;;; Pycrypto is abandoned upstream:
-;;;
-;;; https://github.com/dlitz/pycrypto/issues/173
-;;;
-;;; TODO Remove this package from GNU Guix.
-(define-public python-pycrypto
- (package
- (name "python-pycrypto")
- (version "2.6.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pycrypto" version))
- (patches (search-patches "python-pycrypto-CVE-2013-7459.patch"))
- (sha256
- (base32
- "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj"))))
- (build-system python-build-system)
- (inputs
- `(("python" ,python)
- ("gmp" ,gmp)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'set-build-env
- ;; pycrypto runs an autoconf configure script behind the scenes
- (lambda _ (setenv "CONFIG_SHELL" (which "bash")) #t)))))
- (home-page "http://www.pycrypto.org/")
- (synopsis "Cryptographic modules for Python")
- (description
- "Pycrypto is a collection of both secure hash functions (such as SHA256
-and RIPEMD160), and various encryption algorithms (AES, DES, RSA, ElGamal,
-etc.). The package is structured to make adding new modules easy.")
- (license license:public-domain)))
-
-(define-public python2-pycrypto
- (let ((pycrypto (package-with-python2 python-pycrypto)))
- (package (inherit pycrypto)
- (inputs
- `(("python" ,python-2)
- ,@(alist-delete
- "python"
- (package-inputs pycrypto)))))))
-
(define-public python-humanfriendly
(package
(name "python-humanfriendly")
@@ -1228,36 +1047,6 @@ from the Python interpreter, or as a small part of a larger application.")
`(("python2-enum34" ,python2-enum34)
,@(package-propagated-inputs base))))))
-(define-public python-keyring
- (package
- (name "python-keyring")
- (version "8.7")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "keyring" version))
- (sha256
- (base32
- "0482rmi2x6p78wl2kz8qzyq21xz1sbbfwnv5x7dggar4vkwxhzfx"))))
- (build-system python-build-system)
- (native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
- (propagated-inputs
- `(("python-pycrypto" ,python-pycrypto)))
- (arguments
- `(#:tests? #f)) ;TODO: tests require pytest
- (home-page "https://github.com/jaraco/keyring")
- (synopsis "Store and access your passwords safely")
- (description
- "The Python keyring lib provides a easy way to access the system keyring
-service from python. It can be used in any application that needs safe
-password storage.")
- ;; "MIT" and PSF dual license
- (license license:x11)))
-
-(define-public python2-keyring
- (package-with-python2 python-keyring))
-
(define-public python-six
(package
(name "python-six")
@@ -2669,27 +2458,6 @@ files.")
(define-public python2-pyld
(package-with-python2 python-pyld))
-(define-public python-certifi
- (package
- (name "python-certifi")
- (version "2017.1.23")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "certifi" version))
- (sha256
- (base32
- "1klrzl3hgvcf2mjk00g0k3kk1p2z27vzwnxivwar4vhjmjvpz1w1"))))
- (build-system python-build-system)
- (home-page "https://certifi.io/")
- (synopsis "Python CA certificate bundle")
- (description
- "Certifi is a Python library that contains a CA certificate bundle, which
-is used by the Requests library to verify HTTPS requests.")
- (license license:asl2.0)))
-
-(define-public python2-certifi
- (package-with-python2 python-certifi))
-
(define-public python-click
(package
(name "python-click")
@@ -7616,124 +7384,6 @@ responses, rather than doing any computation.")
(define-public python2-pretend
(package-with-python2 python-pretend))
-(define-public python-cryptography-vectors
- (package
- (name "python-cryptography-vectors")
- (version "2.0.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "cryptography_vectors" version))
- (sha256
- (base32
- "1qa117fs1yd50zn2cfxh7d9l999ds0z4h83m9m7j4fk6ffm33f5y"))))
- (build-system python-build-system)
- (home-page "https://github.com/pyca/cryptography")
- (synopsis "Test vectors for the cryptography package")
- (description
- "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))))
-
-(define-public python2-cryptography-vectors
- (package-with-python2 python-cryptography-vectors))
-
-(define-public python-cryptography
- (package
- (name "python-cryptography")
- (version "2.0.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "cryptography" version))
- (sha256
- (base32
- "0fnck37zyvbzmccbp7w3jy27jgmij1992j5wyy3gxhw6a11b4jyh"))))
- (build-system python-build-system)
- (inputs
- `(("openssl" ,openssl)))
- (propagated-inputs
- `(("python-asn1crypto" ,python-asn1crypto)
- ("python-cffi" ,python-cffi)
- ("python-six" ,python-six)
- ("python-idna" ,python-idna)
- ("python-iso8601" ,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-3.0)))
- (home-page "https://github.com/pyca/cryptography")
- (synopsis "Cryptographic recipes and primitives for Python")
- (description
- "cryptography is a package which provides cryptographic recipes and
-primitives to Python developers. It aims to be the “cryptographic standard
-library” for Python. The package includes both high level recipes, and low
-level interfaces to common cryptographic algorithms such as symmetric ciphers,
-message digests and key derivation functions.")
- ;; Distributed under either BSD-3 or ASL2.0
- (license (list license:bsd-3 license:asl2.0))
- (properties `((python2-variant . ,(delay python2-cryptography))))))
-
-(define-public python2-cryptography
- (let ((crypto (package-with-python2
- (strip-python2-variant python-cryptography))))
- (package (inherit crypto)
- (propagated-inputs
- `(("python2-ipaddress" ,python2-ipaddress)
- ("python2-backport-ssl-match-hostname"
- ,python2-backport-ssl-match-hostname)
- ("python2-enum34" ,python2-enum34)
- ,@(package-propagated-inputs crypto))))))
-
-(define-public python-pyopenssl
- (package
- (name "python-pyopenssl")
- (version "17.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pyOpenSSL" version))
- (sha256
- (base32
- "0xkc1wfnpg6abzllivg3ylhc63npjdy1v81f4kc08bm8cj80nqr9"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (zero? (system* "py.test" "-v" "-k"
- (string-append
- ;; This test tries to look up certificates from
- ;; the compiled-in default path in OpenSSL, which
- ;; does not exist in the build environment.
- "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"))))))))
- (propagated-inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-six" ,python-six)))
- (inputs
- `(("openssl" ,openssl)))
- (native-inputs
- `(("python-flaky" ,python-flaky)
- ("python-pretend" ,python-pretend)
- ("python-pytest" ,python-pytest-3.0)))
- (home-page "https://github.com/pyca/pyopenssl")
- (synopsis "Python wrapper module around the OpenSSL library")
- (description
- "PyOpenSSL is a high-level wrapper around a subset of the OpenSSL
-library.")
- (license license:asl2.0)))
-
-(define-public python2-pyopenssl
- (package-with-python2 python-pyopenssl))
-
(define-public python-pip
(package
(name "python-pip")
@@ -12197,75 +11847,6 @@ PNG, JPEG, JPEG2000 and GIF files in pure Python.")
(define-public python2-imagesize
(package-with-python2 python-imagesize))
-(define-public python-axolotl-curve25519
- (package
- (name "python-axolotl-curve25519")
- (version "0.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tgalal/python-axolotl-curve25519")
- (commit "e4a9c4de0eae27223200579c58d1f8f6d20637e2")))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "0agap5q0hmvf6cwzjqc05kw53pjgf6942pcivpazksmg1vk400ra"))))
- (build-system python-build-system)
- (arguments
- `(;; Prevent creation of the egg. This works around
- ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765
- #:configure-flags '("--root=/")))
- (home-page "https://github.com/tgalal/python-axolotl-curve25519")
- (synopsis "Python wrapper for curve25519 library")
- (description "This is a python wrapper for the curve25519 library
-with ed25519 signatures. The C code was pulled from
-libaxolotl-android. At the moment this wrapper is meant for use by
-python-axolotl.")
- (license (list license:gpl3 ; Most files
- license:bsd-3)))) ; curve/curve25519-donna.c
-
-(define-public python2-axolotl-curve25519
- (package-with-python2 python-axolotl-curve25519))
-
-(define-public python-axolotl
- (package
- (name "python-axolotl")
- (version "0.1.35")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/tgalal/python-axolotl/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1z8d89p7v40p4bwywjm9h4z28fdvra79ddw06azlkrfjbl7dxmz8"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; Don't install tests
- (add-before 'install 'remove-tests
- (lambda _
- (for-each delete-file-recursively
- '("axolotl/tests" "build/lib/axolotl/tests"))
- #t)))))
- (propagated-inputs
- `(("python-axolotl-curve25519" ,python-axolotl-curve25519)
- ("python-dateutil" ,python-dateutil)
- ("python-protobuf" ,python-protobuf)
- ("python-pycrypto" ,python-pycrypto)))
- (home-page "https://github.com/tgalal/python-axolotl")
- (synopsis "Python port of libaxolotl-android")
- (description "This is a python port of libaxolotl-android. This
-is a ratcheting forward secrecy protocol that works in synchronous and
-asynchronous messaging environments.")
- (license license:gpl3)))
-
-(define-public python2-axolotl
- (package-with-python2 python-axolotl))
-
(define-public python-termstyle
(package
(name "python-termstyle")
@@ -12565,27 +12146,6 @@ console.")
(define-public python2-qrcode
(package-with-python2 python-qrcode))
-;; SlowAES isn't compatible with Python 3.
-(define-public python2-slowaes
- (package
- (name "python2-slowaes")
- (version "0.1a1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "slowaes" version))
- (sha256
- (base32
- "02dzajm83a7lqgxf6r3hgj64wfmcxz8gs4nvgxpvj5n19kjqlrc3"))))
- (build-system python-build-system)
- (arguments `(#:python ,python-2))
- (home-page "http://code.google.com/p/slowaes/")
- (synopsis "Implementation of AES in Python")
- (description "This package contains an implementation of AES in Python.
-This implementation is slow (hence the project name) but still useful when
-faster ones are not available.")
- (license license:asl2.0)))
-
(define-public python-rst2ansi
(package
(name "python-rst2ansi")
@@ -14616,28 +14176,6 @@ version of @code{SocksiPy} with bug fixes and extra features.")
(define-public python2-pysocks
(package-with-python2 python-pysocks))
-(define-public python-pyaes
- (package
- (name "python-pyaes")
- (version "1.6.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pyaes" version))
- (sha256
- (base32
- "0bp9bjqy1n6ij1zb86wz9lqa1dhla8qr1d7w2kxyn7jbj56sbmcw"))))
- (build-system python-build-system)
- (home-page "https://github.com/ricmoo/pyaes")
- (synopsis "Implementation of AES in Python")
- (description "This package contains a pure-Python implementation of the
-AES block cipher algorithm and the common modes of operation (CBC, CFB, CTR,
-ECB and OFB).")
- (license license:expat)))
-
-(define-public python2-pyaes
- (package-with-python2 python-pyaes))
-
(define-public python-pydiff
(package
(name "python-pydiff")