ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / development / python-modules / python-dbusmock / default.nix
blobcc8181e7325c63e96f7fc884c514ef9e1bf3be27
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , nose
5 , dbus
6 , dbus-python
7 , pygobject3
8 , bluez
9 , networkmanager
10 , setuptools-scm
11 , runCommand
14 let
15   # Cannot just add it to path in preCheck since that attribute will be passed to
16   # mkDerivation even with doCheck = false, causing a dependency cycle.
17   pbap-client = runCommand "pbap-client" { } ''
18     mkdir -p "$out/bin"
19     ln -s "${bluez.test}/test/pbap-client" "$out/bin/pbap-client"
20   '';
21 in buildPythonPackage rec {
22   pname = "python-dbusmock";
23   version = "0.28.4";
25   src = fetchFromGitHub {
26     owner = "martinpitt";
27     repo = pname;
28     rev = "refs/tags/${version}";
29     sha256 = "sha256-gsGg9zHVyDTCVZmFUI8qqXDt0ui+o3hPwjRlsYUmShg=";
30   };
32   SETUPTOOLS_SCM_PRETEND_VERSION = version;
34   nativeBuildInputs = [
35     setuptools-scm
36   ];
38   propagatedBuildInputs = [
39     dbus-python
40   ];
42   checkInputs = [
43     dbus
44     pygobject3
45     bluez
46     pbap-client
47     networkmanager
48     nose
49   ];
51   # TODO: Get the rest of these tests running?
52   NOSE_EXCLUDE = lib.concatStringsSep "," [
53     "test_bluez4" # NixOS ships BlueZ5
54     # These appear to fail because they're expecting to run in an Ubuntu chroot?
55     "test_everything" # BlueZ5 OBEX
56     "test_polkitd"
57     "test_consolekit"
58     "test_api"
59     "test_logind"
60     "test_notification_daemon"
61     "test_ofono"
62     "test_gnome_screensaver"
63     "test_cli"
64     "test_timedated"
65     "test_upower"
66     # needs glib
67     "test_accounts_service"
68     # needs dbus-daemon active
69     "test_systemd"
70     # Very slow, consider disabling?
71     # "test_networkmanager"
72   ];
74   checkPhase = ''
75     runHook preCheck
76     nosetests -v
77     runHook postCheck
78   '';
80   meta = with lib; {
81     description = "Mock D-Bus objects for tests";
82     homepage = "https://github.com/martinpitt/python-dbusmock";
83     license = licenses.lgpl3Plus;
84     maintainers = with maintainers; [ callahad ];
85     platforms = platforms.linux;
86   };