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