1{ buildPythonPackage
2, fetchFromGitHub
3, lib
4, six
5, pytestCheckHook
6, mock
7, pytest-asyncio
8}:
9
10buildPythonPackage rec {
11 pname = "promise";
12 version = "2.3.0";
13
14 src = fetchFromGitHub {
15 owner = "syrusakbary";
16 repo = "promise";
17 rev = "v${version}";
18 sha256 = "17mq1bm78xfl0x1g50ng502m5ldq6421rzz35hlqafsj0cq8dkp6";
19 };
20
21 postPatch = ''
22 substituteInPlace tests/test_extra.py \
23 --replace "assert_exc.traceback[-1].path.strpath" "str(assert_exc.traceback[-1].path)"
24 '';
25
26 propagatedBuildInputs = [
27 six
28 ];
29
30 checkInputs = [
31 pytestCheckHook
32 mock
33 pytest-asyncio
34 ];
35
36 disabledTestPaths = [
37 "tests/test_benchmark.py"
38 ];
39
40 meta = with lib; {
41 description = "Ultra-performant Promise implementation in Python";
42 homepage = "https://github.com/syrusakbary/promise";
43 license = licenses.mit;
44 maintainers = with maintainers; [
45 kamadorueda
46 ];
47 };
48}