diff options
Diffstat (limited to 'pkgs/development/python-modules/pycryptodome/default.nix')
-rw-r--r-- | pkgs/development/python-modules/pycryptodome/default.nix | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix index e3e4e6c3a03ab..ef7b571170f3e 100644 --- a/pkgs/development/python-modules/pycryptodome/default.nix +++ b/pkgs/development/python-modules/pycryptodome/default.nix @@ -1,28 +1,43 @@ { lib , buildPythonPackage -, fetchPypi -, pycryptodome-test-vectors +, callPackage +, fetchFromGitHub +, cffi +, gmp }: +let + test-vectors = callPackage ./vectors.nix { }; +in buildPythonPackage rec { pname = "pycryptodome"; version = "3.14.1"; format = "setuptools"; - src = fetchPypi { - inherit pname version; - hash = "sha256-4E5Ap/jBZpGVU2o3l53YfaLDLb3HPW/jXwB3sMF8gDs="; + src = fetchFromGitHub { + owner = "Legrandin"; + repo = "pycryptodome"; + rev = "v${version}"; + hash = "sha256-0GjpKNyALe2Q1R3dEjeAEn6E8hxYDic/vbN1YkVaUfs="; }; + postPatch = '' + substituteInPlace lib/Crypto/Math/_IntegerGMP.py \ + --replace 'load_lib("gmp"' 'load_lib("${gmp}/lib/libgmp.so.10"' + ''; + + checkInputs = [ + test-vectors + ]; + pythonImportsCheck = [ "Crypto" ]; meta = with lib; { - description = "Python Cryptography Toolkit"; - homepage = "https://www.pycryptodome.org/"; + description = "Self-contained cryptographic library"; + homepage = "https://github.com/Legrandin/pycryptodome"; license = with licenses; [ bsd2 /* and */ asl20 ]; maintainers = with maintainers; [ fab ]; - platforms = platforms.unix; }; } |