1{
2 lib,
3 buildPythonPackage,
4 certifi,
5 cryptography,
6 fetchPypi,
7 fetchpatch,
8 openssl,
9 pylsqpack,
10 pyopenssl,
11 pytestCheckHook,
12 pythonOlder,
13 setuptools,
14 service-identity,
15}:
16
17buildPythonPackage rec {
18 pname = "aioquic";
19 version = "0.9.25";
20 pyproject = true;
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-cHlceJBTJthVwq5SQHIjSq5YbHibgSkuJy0CHpsEMKM=";
27 };
28
29 patches = [
30 (fetchpatch {
31 url = "https://github.com/aiortc/aioquic/commit/e899593805e0b31325a1d347504eb8e6100fe87d.diff";
32 hash = "sha256-TTpIIWX/R4k2KxhsN17O9cRW/dN0AARYnju8JTht3D8=";
33 })
34 ];
35
36 nativeBuildInputs = [ setuptools ];
37
38 propagatedBuildInputs = [
39 certifi
40 cryptography
41 pylsqpack
42 pyopenssl
43 service-identity
44 ];
45
46 buildInputs = [ openssl ];
47
48 nativeCheckInputs = [ pytestCheckHook ];
49
50 pythonImportsCheck = [ "aioquic" ];
51
52 __darwinAllowLocalNetworking = true;
53
54 meta = with lib; {
55 description = "Implementation of QUIC and HTTP/3";
56 homepage = "https://github.com/aiortc/aioquic";
57 license = licenses.bsd3;
58 maintainers = with maintainers; [ onny ];
59 };
60}