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