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 ] 56 ++ eth-hash.optional-dependencies.pycryptodome; 57 58 # Module has no tests 59 doCheck = false; 60 61 pythonImportsCheck = [ "iocsearcher" ]; 62 63 meta = with lib; { 64 description = "Library and command line tool for extracting indicators of compromise (IOCs)"; 65 homepage = "https://github.com/malicialab/iocsearcher"; 66 changelog = "https://github.com/malicialab/iocsearcher/releases/tag/v${version}"; 67 license = licenses.mit; 68 maintainers = with maintainers; [ fab ]; 69 mainProgram = "iocsearcher"; 70 }; 71}