2023-02-08 16:13:10 +00:00
|
|
|
{ lib
|
|
|
|
, buildPythonPackage
|
|
|
|
, fetchFromGitHub
|
|
|
|
, setuptools-scm
|
|
|
|
, pytestCheckHook
|
|
|
|
, xorgserver
|
2023-09-29 19:45:16 +00:00
|
|
|
, imagemagick
|
2024-01-22 08:40:19 +00:00
|
|
|
, gobject-introspection
|
2023-02-08 16:13:10 +00:00
|
|
|
, pulseaudio
|
|
|
|
, pytest-asyncio
|
2023-09-29 19:45:16 +00:00
|
|
|
, pytest-lazy-fixture
|
2023-05-10 12:51:37 +00:00
|
|
|
, qtile
|
2023-02-08 16:13:10 +00:00
|
|
|
, keyring
|
|
|
|
, requests
|
2024-01-22 08:40:19 +00:00
|
|
|
, librsvg
|
|
|
|
, gtk3
|
2023-02-08 16:13:10 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "qtile-extras";
|
2024-01-22 08:40:19 +00:00
|
|
|
version = "0.24.0";
|
2023-09-29 19:45:16 +00:00
|
|
|
format = "pyproject";
|
2023-02-08 16:13:10 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "elParaguayo";
|
|
|
|
repo = pname;
|
|
|
|
rev = "v${version}";
|
2024-01-22 08:40:19 +00:00
|
|
|
hash = "sha256-DJmnJcqhfCfl39SF3Ypv0PGtI4r8heaVv9JmpiCBGJo=";
|
2023-02-08 16:13:10 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ setuptools-scm ];
|
|
|
|
|
|
|
|
nativeCheckInputs = [
|
|
|
|
pytestCheckHook
|
|
|
|
xorgserver
|
2023-09-29 19:45:16 +00:00
|
|
|
imagemagick
|
2024-01-22 08:40:19 +00:00
|
|
|
gobject-introspection
|
2023-02-08 16:13:10 +00:00
|
|
|
];
|
|
|
|
checkInputs = [
|
|
|
|
pytest-asyncio
|
2023-09-29 19:45:16 +00:00
|
|
|
pytest-lazy-fixture
|
2023-05-10 12:51:37 +00:00
|
|
|
qtile
|
2023-02-08 16:13:10 +00:00
|
|
|
pulseaudio
|
|
|
|
keyring
|
|
|
|
requests
|
2024-01-22 08:40:19 +00:00
|
|
|
# stravalib # marked as broken due to https://github.com/stravalib/stravalib/issues/379
|
2023-02-08 16:13:10 +00:00
|
|
|
];
|
|
|
|
disabledTests = [
|
|
|
|
# Needs a running DBUS
|
|
|
|
"test_brightness_power_saving"
|
2023-09-29 19:45:16 +00:00
|
|
|
"test_global_menu"
|
|
|
|
"test_mpris2_popup"
|
2024-01-22 08:40:19 +00:00
|
|
|
"test_statusnotifier_menu"
|
2023-09-29 19:45:16 +00:00
|
|
|
# No network connection
|
|
|
|
"test_wifiicon_internet_check"
|
2024-01-22 08:40:19 +00:00
|
|
|
# Image difference is outside tolerance
|
2023-09-29 19:45:16 +00:00
|
|
|
"test_decoration_output"
|
2024-01-22 08:40:19 +00:00
|
|
|
# Needs github token
|
|
|
|
"test_githubnotifications_reload_token"
|
|
|
|
# AttributeError: 'NoneType' object has no attribute 'theta'
|
|
|
|
"test_image_size_horizontal"
|
|
|
|
"test_image_size_vertical"
|
|
|
|
];
|
|
|
|
disabledTestPaths = [
|
|
|
|
# Needs a running DBUS
|
|
|
|
"test/widget/test_iwd.py"
|
|
|
|
"test/widget/test_upower.py"
|
|
|
|
# Marked as broken due to https://github.com/stravalib/stravalib/issues/379
|
|
|
|
"test/widget/test_strava.py"
|
2023-02-08 16:13:10 +00:00
|
|
|
];
|
|
|
|
preCheck = ''
|
|
|
|
export HOME=$(mktemp -d)
|
2024-01-22 08:40:19 +00:00
|
|
|
export GDK_PIXBUF_MODULE_FILE=${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
|
|
|
|
sed -i 's#/usr/bin/sleep#sleep#' test/widget/test_snapcast.py
|
2023-02-08 16:13:10 +00:00
|
|
|
'';
|
|
|
|
|
2024-01-22 08:40:19 +00:00
|
|
|
propagatedBuildInputs = [
|
|
|
|
gtk3
|
|
|
|
];
|
|
|
|
|
2023-02-08 16:13:10 +00:00
|
|
|
pythonImportsCheck = [ "qtile_extras" ];
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Extra modules and widgets for the Qtile tiling window manager";
|
|
|
|
homepage = "https://github.com/elParaguayo/qtile-extras";
|
|
|
|
changelog = "https://github.com/elParaguayo/qtile-extras/blob/${src.rev}/CHANGELOG";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ arjan-s ];
|
|
|
|
};
|
|
|
|
}
|