1{
2 stdenv,
3 lib,
4 buildPythonPackage,
5 fetchFromGitHub,
6 setuptools-scm,
7 pygobject3,
8 pytestCheckHook,
9 gtk3,
10 gobject-introspection,
11}:
12
13buildPythonPackage rec {
14 pname = "gbulb";
15 version = "0.6.5";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "beeware";
20 repo = "gbulb";
21 rev = "refs/tags/v${version}";
22 hash = "sha256-03Ott+V3Y4+Y72Llsug5coqG3C+pjAdLkPYbaY/6Uow=";
23 };
24
25 postPatch = ''
26 substituteInPlace pyproject.toml \
27 --replace-fail "==" ">="
28 '';
29
30 build-system = [ setuptools-scm ];
31
32 dependencies = [ pygobject3 ];
33
34 buildInputs = [ gtk3 ];
35
36 nativeCheckInputs = [
37 pytestCheckHook
38 gobject-introspection
39 ];
40
41 disabledTests = [
42 "test_glib_events.TestBaseGLibEventLoop" # Somtimes fail due to imprecise timing
43 ];
44
45 pythonImportsCheck = [ "gbulb" ];
46
47 meta = with lib; {
48 broken = stdenv.isDarwin;
49 description = "GLib implementation of PEP 3156";
50 homepage = "https://github.com/beeware/gbulb";
51 license = licenses.asl20;
52 maintainers = with maintainers; [ marius851000 ];
53 };
54}