1{
2 lib,
3 attrs,
4 beautifulsoup4,
5 buildPythonPackage,
6 certvalidator,
7 colorama,
8 cryptoparser,
9 dnspython,
10 fetchPypi,
11 pathlib2,
12 pyfakefs,
13 python-dateutil,
14 pythonOlder,
15 requests,
16 setuptools,
17 urllib3,
18}:
19
20buildPythonPackage rec {
21 pname = "cryptolyzer";
22 version = "0.12.5";
23 pyproject = true;
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-Qc1L4F2U/nk37s/mIa2YgJZqC2dkPsB/Si84SEl576Q=";
30 };
31
32 postPatch = ''
33 substituteInPlace requirements.txt \
34 --replace-warn "attrs>=20.3.0,<22.0.1" "attrs>=20.3.0" \
35 --replace-warn "bs4" "beautifulsoup4"
36 '';
37
38 nativeBuildInputs = [ setuptools ];
39
40 propagatedBuildInputs = [
41 attrs
42 beautifulsoup4
43 certvalidator
44 colorama
45 cryptoparser
46 dnspython
47 pathlib2
48 pyfakefs
49 python-dateutil
50 requests
51 urllib3
52 ];
53
54 # Tests require networking
55 doCheck = false;
56
57 pythonImportsCheck = [ "cryptolyzer" ];
58
59 meta = with lib; {
60 description = "Cryptographic protocol analyzer";
61 homepage = "https://gitlab.com/coroner/cryptolyzer";
62 changelog = "https://gitlab.com/coroner/cryptolyzer/-/blob/v${version}/CHANGELOG.md";
63 license = licenses.mpl20;
64 maintainers = with maintainers; [ kranzes ];
65 };
66}