77e1967dcd
Changelog: https://cryptography.io/en/latest/changelog/#v2-7 Important changes: - BACKWARDS INCOMPATIBLE: We no longer distribute 32-bit manylinux1 wheels. Continuing to produce them was a maintenance burden. - BACKWARDS INCOMPATIBLE: Removed the cryptography.hazmat.primitives.mac.MACContext interface. The CMAC and HMAC APIs have not changed, but they are no longer registered as MACContext instances.
73 lines
1.7 KiB
Nix
73 lines
1.7 KiB
Nix
{ stdenv
|
|
, buildPythonPackage
|
|
, fetchPypi
|
|
, openssl
|
|
, cryptography_vectors
|
|
, darwin
|
|
, asn1crypto
|
|
, packaging
|
|
, six
|
|
, pythonOlder
|
|
, enum34
|
|
, ipaddress
|
|
, isPyPy
|
|
, cffi
|
|
, pytest
|
|
, pretend
|
|
, iso8601
|
|
, pytz
|
|
, hypothesis
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "cryptography";
|
|
version = "2.7"; # Also update the hash in vectors.nix
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "1inlnr36kl36551c9rcad99jmhk81v33by3glkadwdcgmi17fd76";
|
|
};
|
|
|
|
outputs = [ "out" "dev" ];
|
|
|
|
buildInputs = [ openssl ]
|
|
++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
|
|
propagatedBuildInputs = [
|
|
asn1crypto
|
|
packaging
|
|
six
|
|
] ++ stdenv.lib.optional (pythonOlder "3.4") enum34
|
|
++ stdenv.lib.optional (pythonOlder "3.3") ipaddress
|
|
++ stdenv.lib.optional (!isPyPy) cffi;
|
|
|
|
checkInputs = [
|
|
cryptography_vectors
|
|
hypothesis
|
|
iso8601
|
|
pretend
|
|
pytest
|
|
pytz
|
|
];
|
|
|
|
checkPhase = ''
|
|
py.test --disable-pytest-warnings tests
|
|
'';
|
|
|
|
# IOKit's dependencies are inconsistent between OSX versions, so this is the best we
|
|
# can do until nix 1.11's release
|
|
__impureHostDeps = [ "/usr/lib" ];
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "A package which provides cryptographic recipes and primitives";
|
|
longDescription = ''
|
|
Cryptography includes both high level recipes and low level interfaces to
|
|
common cryptographic algorithms such as symmetric ciphers, message
|
|
digests, and key derivation functions.
|
|
Our goal is for it to be your "cryptographic standard library". It
|
|
supports Python 2.7, Python 3.4+, and PyPy 5.3+.
|
|
'';
|
|
homepage = https://github.com/pyca/cryptography;
|
|
license = with licenses; [ asl20 bsd3 psfl ];
|
|
maintainers = with maintainers; [ primeos ];
|
|
};
|
|
}
|