diff --git a/pkgs/development/python-modules/pynputfix/default.nix b/pkgs/development/python-modules/pynputfix/default.nix new file mode 100644 index 000000000000..90fc331e5aa8 --- /dev/null +++ b/pkgs/development/python-modules/pynputfix/default.nix @@ -0,0 +1,69 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + gitUpdater, + + # build-system + setuptools, + setuptools-lint, + sphinx, + + # dependencies + xlib, + evdev, + six, + + # tests + unittestCheckHook, +}: + +buildPythonPackage { + pname = "pynputfix"; + version = "1.8.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "AuroraWright"; + repo = "pynputfix"; + tag = "1.8.2"; + hash = "sha256-SKw745hh0G2NoWgUUjShyjiG2NYPd4iJlWx7IeGpW/4="; + }; + + passthru.updateScript = gitUpdater { + rev-prefix = "v"; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "'sphinx >=1.3.1'," "" \ + --replace-fail "'twine >=4.0']" "]" + ''; + + nativeBuildInputs = [ + setuptools + setuptools-lint + sphinx + ]; + + propagatedBuildInputs = [ + six + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + evdev + xlib + ]; + + doCheck = false; # requires running X server + + nativeCheckInputs = [ unittestCheckHook ]; + + meta = { + broken = stdenv.hostPlatform.isDarwin; + description = "Library to control and monitor input devices"; + homepage = "https://github.com/moses-palmer/pynput"; + license = lib.licenses.lgpl3; + maintainers = with lib.maintainers; [ sigmanificient ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ef4b99013cf6..f35eef96a8ce 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14360,6 +14360,8 @@ self: super: with self; { pynput = callPackage ../development/python-modules/pynput { }; + pynputfix = callPackage ../development/python-modules/pynputfix { }; + pynrrd = callPackage ../development/python-modules/pynrrd { }; pynslookup = callPackage ../development/python-modules/pynslookup { };