From 22cc69ca0103b4d2a6304636df47f91f7a30115e Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Fri, 7 Aug 2020 00:48:33 -0700 Subject: [PATCH] python2Packages.cryptography: pin to 2.9.2 --- .../python-modules/cryptography/2.9.nix | 74 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 5 +- 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/python-modules/cryptography/2.9.nix diff --git a/pkgs/development/python-modules/cryptography/2.9.nix b/pkgs/development/python-modules/cryptography/2.9.nix new file mode 100644 index 00000000000..6a6187e5693 --- /dev/null +++ b/pkgs/development/python-modules/cryptography/2.9.nix @@ -0,0 +1,74 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, fetchpatch +, isPy27 +, ipaddress +, openssl +, cryptography_vectors +, darwin +, packaging +, six +, pythonOlder +, isPyPy +, cffi +, pytest +, pretend +, iso8601 +, pytz +, hypothesis +, enum34 +}: + +buildPythonPackage rec { + pname = "cryptography"; + version = "2.9.2"; # Also update the hash in vectors.nix + + src = fetchPypi { + inherit pname version; + sha256 = "0af25w5mkd6vwns3r6ai1w5ip9xp0ms9s261zzssbpadzdr05hx0"; + }; + + outputs = [ "out" "dev" ]; + + buildInputs = [ openssl ] + ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; + propagatedBuildInputs = [ + packaging + six + ] ++ stdenv.lib.optional (!isPyPy) cffi + ++ stdenv.lib.optionals isPy27 [ ipaddress enum34 ]; + + 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.5+, and PyPy 5.4+. + ''; + homepage = "https://github.com/pyca/cryptography"; + changelog = "https://cryptography.io/en/latest/changelog/#v" + + replaceStrings [ "." ] [ "-" ] version; + license = with licenses; [ asl20 bsd3 psfl ]; + maintainers = with maintainers; [ primeos ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4e6c5f0e832..d008c589587 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2464,7 +2464,10 @@ in { cryptacular = callPackage ../development/python-modules/cryptacular { }; - cryptography = callPackage ../development/python-modules/cryptography { }; + cryptography = if isPy27 then + callPackage ../development/python-modules/cryptography/2.9.nix { } + else + callPackage ../development/python-modules/cryptography { }; cryptography_vectors = callPackage ../development/python-modules/cryptography/vectors.nix { };