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.8.2";
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 = "sha256-H43NlFNTwZtedHsB7c62MocwQVOi5JjVJxRcZY+Wn7Y=";
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 \
47 --replace ", 'pytest-runner'" "" \
48 --replace "pyhanko-certvalidator==0.19.2" "pyhanko-certvalidator==0.19.5"
49 '';
50
51 checkInputs = [
52 freezegun
53 jinja2
54 pyhanko-certvalidator
55 pytest-aiohttp
56 pytz
57 requests
58 requests-mock
59 werkzeug
60 pytestCheckHook
61 ];
62
63 pythonImportsCheck = [ "certomancer" ];
64
65 meta = with lib; {
66 description = "Quickly construct, mock & deploy PKI test configurations using simple declarative configuration";
67 homepage = "https://github.com/MatthiasValvekens/certomancer";
68 license = licenses.mit;
69 maintainers = with maintainers; [ wolfangaukang ];
70 };
71}