Unverified Commit ffa6a789 authored by Emily's avatar Emily Committed by GitHub
Browse files

python312Packages.inotify: drop nose dependency; modernize (#330776)

parents bfb253df 96eb0d2c
Loading
Loading
Loading
Loading
+24 −11
Original line number Diff line number Diff line
@@ -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;
  };
}