nixpkgs/pkgs/development/python-modules/pystray/default.nix
2024-08-06 18:18:41 +02:00

82 lines
1.6 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
pillow,
xlib,
six,
xvfb-run,
setuptools,
gobject-introspection,
pygobject3,
gtk3,
libayatana-appindicator,
pytest,
}:
buildPythonPackage rec {
pname = "pystray";
version = "0.19.5";
pyproject = true;
src = fetchFromGitHub {
owner = "moses-palmer";
repo = "pystray";
rev = "v${version}";
hash = "sha256-CZhbaXwKFrRBEomzfFPMQdMkTOl5lbgI64etfDRiRu4=";
};
patches = [
# fix test_menu_construct_from_none test case
# https://github.com/moses-palmer/pystray/pull/133
(fetchpatch {
url = "https://github.com/moses-palmer/pystray/commit/813007e3034d950d93a2f3e5b029611c3c9c98ad.patch";
hash = "sha256-m2LfZcWXSfgxb73dac21VDdMDVz3evzcCz5QjdnfM1U=";
})
];
postPatch = ''
substituteInPlace setup.py \
--replace-fail "'sphinx >=1.3.1'" ""
'';
nativeBuildInputs = [
gobject-introspection
setuptools
];
propagatedBuildInputs = [
pillow
xlib
six
pygobject3
gtk3
libayatana-appindicator
];
nativeCheckInputs = [
pytest
xvfb-run
];
checkPhase = ''
runHook preCheck
xvfb-run -s '-screen 0 800x600x24' pytest tests/menu_descriptor_tests.py
runHook postCheck
'';
meta = with lib; {
homepage = "https://github.com/moses-palmer/pystray";
description = "This library allows you to create a system tray icon";
license = with licenses; [
gpl3Plus
lgpl3Plus
];
platforms = platforms.linux;
maintainers = with maintainers; [ jojosch ];
};
}