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