1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pyqt5
5, pytestCheckHook
6, poetry-core
7}:
8
9buildPythonPackage rec {
10 pname = "qasync";
11 version = "0.26.1";
12
13 format = "pyproject";
14
15 src = fetchFromGitHub {
16 owner = "CabbageDevelopment";
17 repo = pname;
18 rev = "refs/tags/v${version}";
19 hash = "sha256-vtRmThXKxqof+Rz3Dngtc9tuwL1bPYFHDq4DBRCsrIU=";
20 };
21
22 postPatch = ''
23 rm qasync/_windows.py # Ignoring it is not taking effect and it will not be used on Linux
24 '';
25
26 buildInputs = [ poetry-core ];
27
28 propagatedBuildInputs = [ pyqt5 ];
29
30 checkInputs = [ pytestCheckHook ];
31
32 pythonImportsCheck = [ "qasync" ];
33
34 disabledTestPaths = [
35 "tests/test_qeventloop.py"
36 ];
37
38 meta = {
39 description = "Allows coroutines to be used in PyQt/PySide applications by providing an implementation of the PEP 3156 event-loop";
40 homepage = "https://github.com/CabbageDevelopment/qasync";
41 license = [ lib.licenses.bsd2 ];
42 maintainers = [ lib.maintainers.lucasew ];
43 };
44}