Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 fetchpatch,
6 pyopenssl,
7 pytestCheckHook,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "aiosasl";
13 version = "0.5.0";
14 pyproject = true;
15
16 src = fetchFromGitHub {
17 owner = "horazont";
18 repo = "aiosasl";
19 tag = "v${version}";
20 hash = "sha256-JIuNPb/l4QURMQc905H2iNGCfMz+zM/QJhDQOR8LPdc=";
21 };
22
23 patches = [
24 (fetchpatch {
25 name = "python311-compat.patch";
26 url = "https://github.com/horazont/aiosasl/commit/44c48d36b416bd635d970dba2607a31b2167ea1b.patch";
27 hash = "sha256-u6PJKV54dU2MA9hXa/9hJ3eLVds1DuLHGbt8y/OakWs=";
28 })
29 ];
30
31 postPatch = ''
32 # https://github.com/horazont/aiosasl/issues/28
33 substituteInPlace tests/test_aiosasl.py \
34 --replace-fail "assertRaisesRegexp" "assertRaisesRegex"
35 '';
36
37 build-system = [ setuptools ];
38
39 nativeCheckInputs = [
40 pyopenssl
41 pytestCheckHook
42 ];
43
44 pythonImportsCheck = [ "aiosasl" ];
45
46 meta = {
47 description = "Asyncio SASL library";
48 homepage = "https://github.com/horazont/aiosasl";
49 license = lib.licenses.lgpl3Plus;
50 maintainers = with lib.maintainers; [ dotlambda ];
51 };
52}