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