1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, argh
6, pathtools
7, pyyaml
8, pytestCheckHook
9, CoreServices
10}:
11
12buildPythonPackage rec {
13 pname = "watchdog";
14 version = "2.1.1";
15
16 src = fetchPypi {
17 inherit pname version;
18 sha256 = "sha256-KJREC06pWm70xdFS3u2+JwyuRgkmgnELcCigTWppgPY=";
19 };
20
21 buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
22
23 propagatedBuildInputs = [
24 argh
25 pathtools
26 pyyaml
27 ];
28
29 checkInputs = [
30 pytestCheckHook
31 ];
32
33 postPatch = ''
34 substituteInPlace setup.cfg \
35 --replace "--cov=watchdog" "" \
36 --replace "--cov-report=term-missing" ""
37 '';
38
39 pythonImportsCheck = [ "watchdog" ];
40
41 meta = with lib; {
42 description = "Python API and shell utilities to monitor file system events";
43 homepage = "https://github.com/gorakhargosh/watchdog";
44 license = licenses.asl20;
45 maintainers = with maintainers; [ goibhniu ];
46 # error: use of undeclared identifier 'kFSEventStreamEventFlagItemCloned'
47 broken = stdenv.isDarwin;
48 };
49}