Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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 requests,
15 setuptools,
16 setuptools-scm,
17 urllib3,
18}:
19
20buildPythonPackage rec {
21 pname = "cryptolyzer";
22 version = "1.0.2";
23 pyproject = true;
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-c/cBOrvqyvdGfDKPRUhIu9FqtQUERb/fJBGmncZpbSM=";
28 };
29
30 patches = [
31 # https://gitlab.com/coroner/cryptolyzer/-/merge_requests/4
32 ./fix-dirs-exclude.patch
33 ];
34
35 pythonRemoveDeps = [ "bs4" ];
36
37 build-system = [
38 setuptools
39 setuptools-scm
40 ];
41
42 dependencies = [
43 attrs
44 beautifulsoup4
45 certvalidator
46 colorama
47 cryptoparser
48 dnspython
49 pathlib2
50 pyfakefs
51 python-dateutil
52 requests
53 urllib3
54 ];
55
56 # Tests require networking
57 doCheck = false;
58
59 postInstall = ''
60 find $out -name "__pycache__" -type d | xargs rm -rv
61
62 # Prevent creating more binary byte code later (e.g. during
63 # pythonImportsCheck)
64 export PYTHONDONTWRITEBYTECODE=1
65 '';
66
67 pythonImportsCheck = [ "cryptolyzer" ];
68
69 meta = {
70 description = "Cryptographic protocol analyzer";
71 homepage = "https://gitlab.com/coroner/cryptolyzer";
72 changelog = "https://gitlab.com/coroner/cryptolyzer/-/blob/v${version}/CHANGELOG.md";
73 license = lib.licenses.mpl20;
74 mainProgram = "cryptolyze";
75 maintainers = [ ];
76 teams = with lib.teams; [ ngi ];
77 };
78}