1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 fetchpatch,
7 flit-core,
8 pygments,
9 pytestCheckHook,
10 uvloop,
11}:
12
13buildPythonPackage rec {
14 pname = "aiorun";
15 version = "2023.7.2";
16 pyproject = true;
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "cjrh";
22 repo = "aiorun";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-3AGsT8IUNi5SZHBsBfd7akj8eQ+xb0mrR7ydIr3T8gs=";
25 };
26
27 patches = [
28 # Raise flit-core version constrains
29 (fetchpatch {
30 # https://github.com/cjrh/aiorun/pull/85
31 url = "https://github.com/cjrh/aiorun/commit/a0c027ea331167712738e35ca70fefcd794e16d5.patch";
32 hash = "sha256-M1rcrkdFcoFa3IncPnJaRhnXbelyk56QnMGtmgB6bvk=";
33 })
34 ];
35
36 build-system = [ flit-core ];
37
38 dependencies = [ pygments ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 uvloop
43 ];
44
45 # allow for writable directory for darwin
46 preBuild = ''
47 export HOME=$TMPDIR
48 '';
49
50 pythonImportsCheck = [ "aiorun" ];
51
52 meta = with lib; {
53 description = "Boilerplate for asyncio applications";
54 homepage = "https://github.com/cjrh/aiorun";
55 changelog = "https://github.com/cjrh/aiorun/blob/v${version}/CHANGES";
56 license = licenses.asl20;
57 maintainers = with maintainers; [ ];
58 };
59}