1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 pythonOlder,
6 fetchFromGitHub,
7 setuptools,
8 bidict,
9 packaging,
10 typing-extensions,
11 dbus-fast,
12 rubicon-objc,
13}:
14
15buildPythonPackage rec {
16 pname = "desktop-notifier";
17 version = "6.2.0";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "SamSchott";
24 repo = "desktop-notifier";
25 tag = "v${version}";
26 hash = "sha256-VVbBKhGCtdsNOfRJPpDk9wwsTtdEwbTSZjheXLydO70=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 bidict
33 packaging
34 typing-extensions
35 ]
36 ++ lib.optionals stdenv.hostPlatform.isLinux [ dbus-fast ]
37 ++ lib.optionals stdenv.hostPlatform.isDarwin [ rubicon-objc ];
38
39 # no tests available, do the imports check instead
40 doCheck = false;
41
42 pythonImportsCheck = [ "desktop_notifier" ];
43
44 meta = {
45 description = "Python library for cross-platform desktop notifications";
46 homepage = "https://github.com/samschott/desktop-notifier";
47 changelog = "https://github.com/samschott/desktop-notifier/releases/tag/${src.tag}";
48 license = lib.licenses.mit;
49 maintainers = with lib.maintainers; [ sfrijters ];
50 };
51}