depot/third_party/nixpkgs/pkgs/development/python-modules/pystray/default.nix
Default email fa5436e0a7 Project import generated by Copybara.
GitOrigin-RevId: e8057b67ebf307f01bdcc8fba94d94f75039d1f6
2024-06-05 17:53:02 +02:00

75 lines
1.5 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
pillow,
xlib,
six,
xvfb-run,
setuptools,
gobject-introspection,
pygobject3,
gtk3,
libayatana-appindicator,
}:
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 = [ xvfb-run ];
checkPhase = ''
rm tests/icon_tests.py # test needs user input
xvfb-run -s '-screen 0 800x600x24' python setup.py test
'';
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 ];
};
}