1{ lib
2, async-timeout
3, buildPythonPackage
4, fetchFromGitHub
5, poetry-core
6, pytest-asyncio
7, pytestCheckHook
8, pythonOlder
9, setuptools
10}:
11
12buildPythonPackage rec {
13 pname = "dbus-fast";
14 version = "1.75.0";
15 format = "pyproject";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "Bluetooth-Devices";
21 repo = pname;
22 rev = "v${version}";
23 hash = "sha256-bmHUfRytUGlS0X1PEQHFocMZ4+FslA2rvzqHNE+3B3E=";
24 };
25
26 nativeBuildInputs = [
27 poetry-core
28 setuptools
29 ];
30
31 propagatedBuildInputs = [
32 async-timeout
33 ];
34
35 checkInputs = [
36 pytest-asyncio
37 pytestCheckHook
38 ];
39
40 postPatch = ''
41 substituteInPlace pyproject.toml \
42 --replace " --cov=dbus_fast --cov-report=term-missing:skip-covered" ""
43 '';
44
45 pythonImportsCheck = [
46 "dbus_fast"
47 "dbus_fast.aio"
48 "dbus_fast.service"
49 "dbus_fast.message"
50 ];
51
52 disabledTests = [
53 # Test require a running Dbus instance
54 "test_aio_big_message"
55 "test_aio_properties"
56 "test_aio_proxy_object"
57 "test_bus_disconnect_before_reply"
58 "test_export_alias"
59 "test_export_introspection"
60 "test_export_unexport"
61 "test_glib_big_message"
62 "test_high_level_service_fd_passing"
63 "test_interface_add_remove_signal"
64 "test_introspectable_interface"
65 "test_methods"
66 "test_name_requests"
67 "test_object_manager"
68 "test_peer_interface"
69 "test_property_changed_signal"
70 "test_property_changed_signal"
71 "test_property_methods"
72 "test_sending_file_descriptor_low_level"
73 "test_sending_file_descriptor_with_proxy"
74 "test_sending_messages_between_buses"
75 "test_sending_signals_between_buses"
76 "test_signals"
77 "test_standard_interface_properties"
78 "test_standard_interfaces"
79 "test_tcp_connection_with_forwarding"
80 "test_unexpected_disconnect"
81 # NameError: name '_cast_uint32_native' is not defined
82 "test_unmarshall_bluez_interfaces_added_message"
83 "test_unmarshall_bluez_interfaces_removed_message"
84 "test_unmarshall_bluez_message"
85 "test_unmarshall_bluez_properties_changed_with_service_data"
86 "test_unmarshall_can_resume"
87 "test_unmarshalling_with_table"
88 "test_ay_buffer"
89 ];
90
91 meta = with lib; {
92 description = "Faster version of dbus-next";
93 homepage = "https://github.com/bluetooth-devices/dbus-fast";
94 changelog = "https://github.com/Bluetooth-Devices/dbus-fast/releases/tag/v${version}";
95 license = licenses.mit;
96 maintainers = with maintainers; [ fab ];
97 };
98}