1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, setuptools-scm
5, pytestCheckHook
6, xorgserver
7, imagemagick
8, pulseaudio
9, pytest-asyncio
10, pytest-lazy-fixture
11, qtile
12, keyring
13, requests
14, stravalib
15}:
16
17buildPythonPackage rec {
18 pname = "qtile-extras";
19 version = "0.23.0";
20 format = "pyproject";
21
22 src = fetchFromGitHub {
23 owner = "elParaguayo";
24 repo = pname;
25 rev = "v${version}";
26 hash = "sha256-WI1z8vrbZiJw6fDHK27mKA+1FyZEQTMttIDNzSIX+PU=";
27 };
28
29 SETUPTOOLS_SCM_PRETEND_VERSION = version;
30
31 nativeBuildInputs = [ setuptools-scm ];
32
33 nativeCheckInputs = [
34 pytestCheckHook
35 xorgserver
36 imagemagick
37 ];
38 checkInputs = [
39 pytest-asyncio
40 pytest-lazy-fixture
41 qtile
42 pulseaudio
43 keyring
44 requests
45 stravalib
46 ];
47 disabledTests = [
48 # AttributeError: 'ImgMask' object has no attribute '_default_size'. Did you mean: 'default_size'?
49 # cairocffi.pixbuf.ImageLoadingError: Pixbuf error: Unrecognized image file format
50 "test_draw"
51 "test_icons"
52 "1-x11-GithubNotifications-kwargs3"
53 "1-x11-SnapCast-kwargs8"
54 "1-x11-TVHWidget-kwargs10"
55 "test_tvh_widget_not_recording"
56 "test_tvh_widget_recording"
57 "test_tvh_widget_popup"
58 "test_snapcast_options"
59 "test_snapcast_icon"
60 "test_snapcast_icon_colour"
61 "test_snapcast_http_error"
62 "test_syncthing_not_syncing"
63 "test_syncthing_is_syncing"
64 "test_syncthing_http_error"
65 "test_githubnotifications_colours"
66 "test_githubnotifications_logging"
67 "test_githubnotifications_icon"
68 "test_githubnotifications_reload_token"
69 "test_image_size_horizontal"
70 "test_image_size_vertical"
71 "test_image_size_mask"
72 # ValueError: Namespace Gdk not available
73 # AssertionError: Window never appeared...
74 "test_statusnotifier_menu"
75 # AttributeError: 'str' object has no attribute 'canonical'
76 "test_strava_widget_display"
77 "test_strava_widget_popup"
78 # Needs a running DBUS
79 "test_brightness_power_saving"
80 "test_upower_all_batteries"
81 "test_upower_named_battery"
82 "test_upower_low_battery"
83 "test_upower_critical_battery"
84 "test_upower_charging"
85 "test_upower_show_text"
86 "test_global_menu"
87 "test_mpris2_popup"
88 # No network connection
89 "test_wifiicon_internet_check"
90 # AssertionErrors
91 "test_widget_init_config"
92 "test_decoration_output"
93 ];
94 preCheck = ''
95 export HOME=$(mktemp -d)
96 '';
97
98 pythonImportsCheck = [ "qtile_extras" ];
99
100 meta = with lib; {
101 description = "Extra modules and widgets for the Qtile tiling window manager";
102 homepage = "https://github.com/elParaguayo/qtile-extras";
103 changelog = "https://github.com/elParaguayo/qtile-extras/blob/${src.rev}/CHANGELOG";
104 license = licenses.mit;
105 maintainers = with maintainers; [ arjan-s ];
106 };
107}