nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytest-asyncio,
6 pytestCheckHook,
7 poetry-core,
8 fetchpatch,
9}:
10
11buildPythonPackage rec {
12 pname = "aiorwlock";
13 version = "1.5.0";
14 pyproject = true;
15
16 src = fetchFromGitHub {
17 owner = "aio-libs";
18 repo = "aiorwlock";
19 tag = "v${version}";
20 hash = "sha256-QwjwuXjaxE1Y+Jzn8hJXY4wKltAT8mdOM7jJ9MF+DhA=";
21 };
22
23 build-system = [ poetry-core ];
24
25 patches = [
26 # Fix cross-event-loop race condition in lock acquisition
27 # https://github.com/aio-libs/aiorwlock/pull/503
28 (fetchpatch {
29 url = "https://github.com/aio-libs/aiorwlock/commit/05608d401e4a68c69c6b9f421dd20535a9dbe523.patch?full_index=1";
30 hash = "sha256-97c6Li6nq7ViNvUIdPL8f/ATOSsmiAMaJeBFj+jPJcM=";
31 })
32 ];
33
34 nativeCheckInputs = [
35 pytest-asyncio
36 pytestCheckHook
37 ];
38
39 pythonImportsCheck = [ "aiorwlock" ];
40
41 meta = {
42 description = "Read write lock for asyncio";
43 homepage = "https://github.com/aio-libs/aiorwlock";
44 changelog = "https://github.com/aio-libs/aiorwlock/releases/tag/v${version}";
45 license = lib.licenses.asl20;
46 maintainers = with lib.maintainers; [ billhuang ];
47 };
48}