1{ lib
2, beautifulsoup4
3, buildPythonPackage
4, click
5, colorama
6, fetchFromGitHub
7, html2text
8, lxml
9, markdown
10, pytestCheckHook
11, python-dateutil
12, pythonOlder
13, pytz
14, requests
15, simplejson
16, tabulate
17}:
18
19buildPythonPackage rec {
20 pname = "faraday-plugins";
21 version = "1.14.0";
22 format = "setuptools";
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchFromGitHub {
27 owner = "infobyte";
28 repo = "faraday_plugins";
29 rev = "refs/tags/${version}";
30 hash = "sha256-qFA0AVebHd/Ny8x+rUkueLZhYB/PwL7o/qpUnZCRsEA=";
31 };
32
33 postPatch = ''
34 substituteInPlace setup.py \
35 --replace "version=version," "version='${version}',"
36 '';
37
38 propagatedBuildInputs = [
39 beautifulsoup4
40 click
41 colorama
42 html2text
43 lxml
44 markdown
45 python-dateutil
46 pytz
47 requests
48 simplejson
49 tabulate
50 ];
51
52 nativeCheckInputs = [
53 pytestCheckHook
54 ];
55
56 disabledTestPaths = [
57 # faraday itself is currently not available
58 "tests/test_report_collection.py"
59 ];
60
61 disabledTests = [
62 # Fail because of missing faraday
63 "test_detect_report"
64 "test_process_report_summary"
65 # JSON parsing issue
66 "test_process_report_ignore_info"
67 "test_process_report_tags"
68 ];
69
70 pythonImportsCheck = [
71 "faraday_plugins"
72 ];
73
74 meta = with lib; {
75 description = "Security tools report parsers for Faraday";
76 homepage = "https://github.com/infobyte/faraday_plugins";
77 changelog = "https://github.com/infobyte/faraday_plugins/releases/tag/${version}";
78 license = with licenses; [ gpl3Only ];
79 maintainers = with maintainers; [ fab ];
80 };
81}