1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 setuptools,
7}:
8
9buildPythonPackage {
10 pname = "inotify";
11 version = "unstable-2020-08-27";
12 pyproject = true;
13
14 src = fetchFromGitHub {
15 owner = "dsoprea";
16 repo = "PyInotify";
17 rev = "f77596ae965e47124f38d7bd6587365924dcd8f7";
18 hash = "sha256-X0gu4s1R/Kg+tmf6s8SdZBab2HisJl4FxfdwKktubVc=";
19 };
20
21 postPatch = ''
22 # Needed because assertEquals was removed in python 3.12
23 substituteInPlace tests/test_inotify.py \
24 --replace-fail "assertEquals" "assertEqual" \
25 '';
26
27 build-system = [ setuptools ];
28
29 nativeCheckInputs = [ pytestCheckHook ];
30
31 # Disable these tests as they're flaky.
32 # The returned list can be in a different order, which causes the tests to fail.
33 disabledTests = [
34 "test__automatic_new_watches_on_new_paths"
35 "test__cycle"
36 "test__renames"
37 ];
38
39 meta = {
40 homepage = "https://github.com/dsoprea/PyInotify";
41 description = "Monitor filesystems events on Linux platforms with inotify";
42 license = lib.licenses.gpl2;
43 platforms = lib.platforms.linux;
44 };
45}