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