1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, asn1crypto
6, click
7, oscrypto
8, pyyaml
9, python-dateutil
10, tzlocal
11, pytest-aiohttp
12, pytz
13, freezegun
14, jinja2
15, pyhanko-certvalidator
16, requests
17, requests-mock
18, werkzeug
19, pytestCheckHook
20}:
21
22buildPythonPackage rec {
23 pname = "certomancer";
24 version = "0.9.1";
25 format = "setuptools";
26 disabled = pythonOlder "3.7";
27
28 # Tests are only available on GitHub
29 src = fetchFromGitHub {
30 owner = "MatthiasValvekens";
31 repo = "certomancer";
32 rev = version;
33 sha256 = "4v2e46ZrzhKXpMULj0vmDRoLOypi030eaADAYjLMg5M=";
34 };
35
36 propagatedBuildInputs = [
37 asn1crypto
38 click
39 oscrypto
40 pyyaml
41 python-dateutil
42 tzlocal
43 ];
44
45 postPatch = ''
46 substituteInPlace setup.py --replace ", 'pytest-runner'" ""
47 '';
48
49 nativeCheckInputs = [
50 freezegun
51 jinja2
52 pyhanko-certvalidator
53 pytest-aiohttp
54 pytz
55 requests
56 requests-mock
57 werkzeug
58 pytestCheckHook
59 ];
60
61 disabledTests = [
62 # pyhanko_certvalidator.errors.DisallowedAlgorithmError
63 "test_validate"
64 ];
65
66 pythonImportsCheck = [ "certomancer" ];
67
68 meta = with lib; {
69 description = "Quickly construct, mock & deploy PKI test configurations using simple declarative configuration";
70 homepage = "https://github.com/MatthiasValvekens/certomancer";
71 license = licenses.mit;
72 maintainers = with maintainers; [ wolfangaukang ];
73 };
74}