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