1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytest,
6 isPy3k,
7 pyqt5,
8 pyqt ? pyqt5,
9 fetchpatch,
10}:
11
12buildPythonPackage rec {
13 pname = "quamash";
14 version = "0.6.1";
15 format = "setuptools";
16
17 disabled = !isPy3k;
18
19 # No tests in PyPi tarball
20 src = fetchFromGitHub {
21 owner = "harvimt";
22 repo = "quamash";
23 rev = "version-${version}";
24 sha256 = "117rp9r4lz0kfz4dmmpa35hp6nhbh6b4xq0jmgvqm68g9hwdxmqa";
25 };
26
27 patches = [
28 # add 3.10 compatibility, merged remove on next update
29 (fetchpatch {
30 url = "https://github.com/harvimt/quamash/pull/126/commits/1e9047bec739dbc9d6ab337fc1a111a8b1090244.patch";
31 hash = "sha256-6gomY82AOKkrt32SEBKnRugzhnC5FAyKDs6K5xaxnRM=";
32 })
33 ];
34
35 propagatedBuildInputs = [ pyqt ];
36
37 nativeCheckInputs = [ pytest ];
38 checkPhase = ''
39 pytest -k 'test_qthreadexec.py' # the others cause the test execution to be aborted, I think because of asyncio
40 '';
41
42 meta = with lib; {
43 description = "Implementation of the PEP 3156 event-loop (asyncio) api using the Qt Event-Loop";
44 homepage = "https://github.com/harvimt/quamash";
45 license = licenses.bsd2;
46 maintainers = with maintainers; [ borisbabic ];
47 };
48}