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