1{ lib 2, buildPythonPackage 3, cryptography 4, dnspython 5, expiringdict 6, fetchFromGitHub 7, hatchling 8, publicsuffixlist 9, pyleri 10, iana-etc 11, pytestCheckHook 12, pythonOlder 13, requests 14, timeout-decorator 15}: 16 17buildPythonPackage rec { 18 pname = "checkdmarc"; 19 version = "4.8.4"; 20 format = "pyproject"; 21 22 disabled = pythonOlder "3.7"; 23 24 src = fetchFromGitHub { 25 owner = "domainaware"; 26 repo = "checkdmarc"; 27 rev = "refs/tags/${version}"; 28 hash = "sha256-NNB5dYQzzdNapjP4mtpCW08BzfZ+FFRESUtpxCOzrdk="; 29 }; 30 31 nativeBuildInputs = [ 32 hatchling 33 ]; 34 35 propagatedBuildInputs = [ 36 cryptography 37 dnspython 38 expiringdict 39 publicsuffixlist 40 pyleri 41 requests 42 timeout-decorator 43 ]; 44 45 nativeCheckInputs = [ 46 pytestCheckHook 47 ]; 48 49 pythonImportsCheck = [ 50 "checkdmarc" 51 ]; 52 53 pytestFlagsArray = [ 54 "tests.py" 55 ]; 56 57 disabledTests = [ 58 # Tests require network access 59 "testDMARCPctLessThan100Warning" 60 "testSPFMissingARecord" 61 "testSPFMissingMXRecord" 62 "testSplitSPFRecord" 63 "testTooManySPFDNSLookups" 64 "testTooManySPFVoidDNSLookups" 65 ]; 66 67 meta = with lib; { 68 description = "A parser for SPF and DMARC DNS records"; 69 homepage = "https://github.com/domainaware/checkdmarc"; 70 changelog = "https://github.com/domainaware/checkdmarc/blob/${version}/CHANGELOG.md"; 71 license = licenses.asl20; 72 maintainers = with maintainers; [ fab ]; 73 }; 74} 75