Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, asgiref 3, buildPythonPackage 4, certifi 5, charset-normalizer 6, deepl 7, django 8, fetchFromGitHub 9, gql 10, idna 11, markdown-it-py 12, mdurl 13, pygments 14, pytest 15, pytestCheckHook 16, pythonOlder 17, pyyaml 18, reptor 19, requests 20, rich 21, setuptools 22, sqlparse 23, termcolor 24, toml 25, urllib3 26, xmltodict 27}: 28 29buildPythonPackage rec { 30 pname = "reptor"; 31 version = "0.4"; 32 format = "pyproject"; 33 34 disabled = pythonOlder "3.8"; 35 36 src = fetchFromGitHub { 37 owner = "Syslifters"; 38 repo = "reptor"; 39 rev = "refs/tags/${version}"; 40 hash = "sha256-3FRMdiSKWlEUmggtSDea9w386uwAn/VUzXiD1xRNuxQ="; 41 }; 42 43 nativeBuildInputs = [ 44 setuptools 45 ]; 46 47 propagatedBuildInputs = [ 48 asgiref 49 certifi 50 charset-normalizer 51 django 52 idna 53 markdown-it-py 54 mdurl 55 pygments 56 pyyaml 57 requests 58 rich 59 sqlparse 60 termcolor 61 toml 62 urllib3 63 xmltodict 64 ]; 65 66 passthru.optional-dependencies = { 67 ghostwriter = [ 68 gql 69 ]; 70 translate = [ 71 deepl 72 ]; 73 }; 74 75 nativeCheckInputs = [ 76 pytestCheckHook 77 ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); 78 79 preCheck = '' 80 export HOME=$(mktemp -d) 81 ''; 82 83 pythonImportsCheck = [ 84 "reptor" 85 ]; 86 87 disabledTestPaths = [ 88 # Tests want to use pip install dependencies 89 "reptor/plugins/importers/GhostWriter/tests/test_ghostwriter.py" 90 ]; 91 92 meta = with lib; { 93 description = "Module to do automated pentest reporting with SysReptor"; 94 homepage = "https://github.com/Syslifters/reptor"; 95 changelog = "https://github.com/Syslifters/reptor/releases/tag/${version}"; 96 license = licenses.mit; 97 maintainers = with maintainers; [ fab ]; 98 }; 99}