aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/python-modules/cryptography
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/cryptography')
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptography/default.nix73
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix23
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 ];
+ };
+}