diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/cryptography')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/cryptography/default.nix | 73 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix | 23 |
2 files changed, 96 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/cryptography/default.nix b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix new file mode 100644 index 00000000000..82d0b43bc35 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix @@ -0,0 +1,73 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, fetchpatch +, openssl +, cryptography_vectors +, darwin +, packaging +, six +, pythonOlder +, enum34 +, ipaddress +, isPyPy +, cffi +, pytest +, pretend +, iso8601 +, pytz +, hypothesis +}: + +buildPythonPackage rec { + pname = "cryptography"; + version = "2.8"; # Also update the hash in vectors.nix + + src = fetchPypi { + inherit pname version; + sha256 = "0l8nhw14npknncxdnp7n4hpmjyscly6g7fbivyxkjwvlv071zniw"; + }; + + outputs = [ "out" "dev" ]; + + buildInputs = [ openssl ] + ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; + propagatedBuildInputs = [ + 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 + ]; + + # remove when https://github.com/pyca/cryptography/issues/4998 is fixed + checkPhase = '' + py.test --disable-pytest-warnings tests -k 'not load_ecdsa_no_named_curve' + ''; + + # 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 ]; + }; +} diff --git a/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix b/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix new file mode 100644 index 00000000000..86cc195b05b --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix @@ -0,0 +1,23 @@ +{ buildPythonPackage, fetchPypi, lib, cryptography }: + +buildPythonPackage rec { + pname = "cryptography_vectors"; + # The test vectors must have the same version as the cryptography package: + version = cryptography.version; + + src = fetchPypi { + inherit pname version; + sha256 = "05pi3shqz0fgvy0d5yazza67bbnam8fkrx2ayrrclgkaqms23lvc"; + }; + + # No tests included + doCheck = false; + + meta = with lib; { + description = "Test vectors for the cryptography package"; + homepage = https://cryptography.io/en/latest/development/test-vectors/; + # Source: https://github.com/pyca/cryptography/tree/master/vectors; + license = with licenses; [ asl20 bsd3 ]; + maintainers = with maintainers; [ primeos ]; + }; +} |