1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 pyasn1,
7 pytestCheckHook,
8 pythonOlder,
9}:
10
11buildPythonPackage rec {
12 pname = "rsa";
13 version = "4.9";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.6";
17
18 src = fetchFromGitHub {
19 owner = "sybrenstuvel";
20 repo = "python-rsa";
21 rev = "version-${version}";
22 hash = "sha256-PwaRe+ICy0UoguXSMSh3PFl5R+YAhJwNdNN9isadlJY=";
23 };
24
25 preConfigure = lib.optionalString (pythonOlder "3.7") ''
26 substituteInPlace setup.py --replace "open('README.md')" "open('README.md',encoding='utf-8')"
27 '';
28
29 nativeBuildInputs = [ poetry-core ];
30
31 propagatedBuildInputs = [ pyasn1 ];
32
33 preCheck = ''
34 sed -i '/addopts/d' tox.ini
35 '';
36
37 nativeCheckInputs = [ pytestCheckHook ];
38
39 disabledTestPaths = [ "tests/test_mypy.py" ];
40
41 meta = with lib; {
42 homepage = "https://stuvel.eu/rsa";
43 license = licenses.asl20;
44 description = "Pure-Python RSA implementation";
45 };
46}