Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 aioquic, 4 buildPythonPackage, 5 cacert, 6 cryptography, 7 curio, 8 fetchPypi, 9 h2, 10 httpcore, 11 httpx, 12 idna, 13 hatchling, 14 pytestCheckHook, 15 pythonOlder, 16 requests, 17 requests-toolbelt, 18 sniffio, 19 trio, 20}: 21 22buildPythonPackage rec { 23 pname = "dnspython"; 24 version = "2.6.1"; 25 format = "pyproject"; 26 27 disabled = pythonOlder "3.8"; 28 29 src = fetchPypi { 30 inherit pname version; 31 hash = "sha256-6PD5wjp7fLmd7WTmw6bz5wHXj1DFXgArg53qciXP98w="; 32 }; 33 34 nativeBuildInputs = [ hatchling ]; 35 36 passthru.optional-dependencies = { 37 DOH = [ 38 httpx 39 h2 40 requests 41 requests-toolbelt 42 httpcore 43 ]; 44 IDNA = [ idna ]; 45 DNSSEC = [ cryptography ]; 46 trio = [ trio ]; 47 curio = [ 48 curio 49 sniffio 50 ]; 51 DOQ = [ aioquic ]; 52 }; 53 54 nativeCheckInputs = [ pytestCheckHook ]; 55 56 checkInputs = [ cacert ] ++ passthru.optional-dependencies.DNSSEC; 57 58 disabledTests = [ 59 # dns.exception.SyntaxError: protocol not found 60 "test_misc_good_WKS_text" 61 ]; 62 63 pythonImportsCheck = [ "dns" ]; 64 65 meta = with lib; { 66 description = "DNS toolkit for Python"; 67 homepage = "https://www.dnspython.org"; 68 changelog = "https://github.com/rthalley/dnspython/blob/v${version}/doc/whatsnew.rst"; 69 license = with licenses; [ isc ]; 70 maintainers = with maintainers; [ gador ]; 71 }; 72}