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.3";
23 pyproject = true;
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchPypi {
28 pname = "CryptoLyzer";
29 inherit version;
30 hash = "sha256-UdM0+PkO3K4XshcqaDkEKry6Spny9KMZAHiADxxth+c=";
31 };
32
33 postPatch = ''
34 substituteInPlace requirements.txt \
35 --replace-warn "attrs>=20.3.0,<22.0.1" "attrs>=20.3.0" \
36 --replace-warn "bs4" "beautifulsoup4"
37 '';
38
39 nativeBuildInputs = [ setuptools ];
40
41 propagatedBuildInputs = [
42 attrs
43 beautifulsoup4
44 certvalidator
45 colorama
46 cryptoparser
47 dnspython
48 pathlib2
49 pyfakefs
50 python-dateutil
51 requests
52 urllib3
53 ];
54
55 # Tests require networking
56 doCheck = false;
57
58 pythonImportsCheck = [ "cryptolyzer" ];
59
60 meta = with lib; {
61 description = "Cryptographic protocol analyzer";
62 homepage = "https://gitlab.com/coroner/cryptolyzer";
63 changelog = "https://gitlab.com/coroner/cryptolyzer/-/blob/v${version}/CHANGELOG.md";
64 license = licenses.mpl20;
65 maintainers = with maintainers; [ kranzes ];
66 };
67}