nixpkgs/pkgs/development/python-modules/qtile-extras/default.nix
2024-04-20 13:19:41 +02:00

91 lines
2.2 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
gobject-introspection,
gtk3,
imagemagick,
keyring,
librsvg,
pulseaudio,
pytest-asyncio,
pytest-lazy-fixture,
pytestCheckHook,
qtile,
requests,
setuptools-scm,
xorgserver,
}:
buildPythonPackage rec {
pname = "qtile-extras";
version = "0.25.0";
pyproject = true;
src = fetchFromGitHub {
owner = "elParaguayo";
repo = "qtile-extras";
rev = "refs/tags/v${version}";
hash = "sha256-OYzSKOVg4D5gKxaEreclYq3D16dl8ddLipSdifokDNY=";
};
build-system = [ setuptools-scm ];
dependencies = [ gtk3 ];
nativeCheckInputs = [
gobject-introspection
imagemagick
keyring
pulseaudio
pytest-asyncio
pytest-lazy-fixture
pytestCheckHook
qtile
requests
xorgserver
# stravalib # marked as broken due to https://github.com/stravalib/stravalib/issues/379
];
disabledTests = [
# Needs a running DBUS
"test_brightness_power_saving"
"test_global_menu"
"test_mpris2_popup"
"test_statusnotifier_menu"
# No network connection
"test_wifiicon_internet_check"
# Image difference is outside tolerance
"test_decoration_output"
# 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"
];
preCheck = ''
export HOME=$(mktemp -d)
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
'';
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 ];
};
}