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