diff --git a/pkgs/development/python-modules/inotify/default.nix b/pkgs/development/python-modules/inotify/default.nix index 6e8e7f0aba67..b5e3fd5acff8 100644 --- a/pkgs/development/python-modules/inotify/default.nix +++ b/pkgs/development/python-modules/inotify/default.nix @@ -2,31 +2,44 @@ lib, buildPythonPackage, fetchFromGitHub, - nose, + pytestCheckHook, + setuptools, }: -buildPythonPackage rec { +buildPythonPackage { pname = "inotify"; version = "unstable-2020-08-27"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "dsoprea"; repo = "PyInotify"; rev = "f77596ae965e47124f38d7bd6587365924dcd8f7"; - sha256 = "X0gu4s1R/Kg+tmf6s8SdZBab2HisJl4FxfdwKktubVc="; - fetchSubmodules = false; + hash = "sha256-X0gu4s1R/Kg+tmf6s8SdZBab2HisJl4FxfdwKktubVc="; }; - nativeCheckInputs = [ nose ]; + postPatch = '' + # Needed because assertEquals was removed in python 3.12 + substituteInPlace tests/test_inotify.py \ + --replace-fail "assertEquals" "assertEqual" \ + ''; - # dunno what's wrong but the module works regardless - doCheck = false; + build-system = [ setuptools ]; - meta = with lib; { + nativeCheckInputs = [ pytestCheckHook ]; + + # Disable these tests as they're flaky. + # The returned list can be in a different order, which causes the tests to fail. + disabledTests = [ + "test__automatic_new_watches_on_new_paths" + "test__cycle" + "test__renames" + ]; + + meta = { homepage = "https://github.com/dsoprea/PyInotify"; description = "Monitor filesystems events on Linux platforms with inotify"; - license = licenses.gpl2; - platforms = platforms.linux; + license = lib.licenses.gpl2; + platforms = lib.platforms.linux; }; }