1{ 2 lib, 3 base58, 4 beautifulsoup4, 5 bech32, 6 buildPythonPackage, 7 cashaddress, 8 cbor, 9 docx2python, 10 eth-hash, 11 fetchFromGitHub, 12 intervaltree, 13 langdetect, 14 lxml, 15 pdfminer-six, 16 phonenumbers, 17 python-magic, 18 pythonOlder, 19 readabilipy, 20 setuptools, 21}: 22 23buildPythonPackage rec { 24 pname = "iocsearcher"; 25 version = "2.4.8"; 26 pyproject = true; 27 28 disabled = pythonOlder "3.7"; 29 30 src = fetchFromGitHub { 31 owner = "malicialab"; 32 repo = "iocsearcher"; 33 # https://github.com/malicialab/iocsearcher/issues/6 34 rev = "be29cb4090284155b49a358e7fe2d24371b6a981"; 35 hash = "sha256-LMpFK1Z1KaKUCm/X9Sh+Gp9GNKrGWp7N4UjAOVkhmSU="; 36 }; 37 38 build-system = [ setuptools ]; 39 40 dependencies = [ 41 base58 42 beautifulsoup4 43 bech32 44 cashaddress 45 cbor 46 docx2python 47 eth-hash 48 intervaltree 49 langdetect 50 lxml 51 pdfminer-six 52 phonenumbers 53 python-magic 54 readabilipy 55 ] ++ eth-hash.optional-dependencies.pycryptodome; 56 57 # Module has no tests 58 doCheck = false; 59 60 pythonImportsCheck = [ "iocsearcher" ]; 61 62 meta = with lib; { 63 description = "Library and command line tool for extracting indicators of compromise (IOCs)"; 64 homepage = "https://github.com/malicialab/iocsearcher"; 65 changelog = "https://github.com/malicialab/iocsearcher/releases/tag/v${version}"; 66 license = licenses.mit; 67 maintainers = with maintainers; [ fab ]; 68 mainProgram = "iocsearcher"; 69 }; 70}