diff --git a/pkgs/by-name/ow/owocr/package.nix b/pkgs/by-name/ow/owocr/package.nix index 8071dccc5e44..c05a5605c9ca 100644 --- a/pkgs/by-name/ow/owocr/package.nix +++ b/pkgs/by-name/ow/owocr/package.nix @@ -3,19 +3,26 @@ python3Packages, fetchFromGitHub, }: - -python3Packages.buildPythonApplication { +python3Packages.buildPythonApplication (finalAttrs: { pname = "owocr"; - version = "1.7.5-unstable-2024-06-26"; + version = "1.26.3"; pyproject = true; src = fetchFromGitHub { owner = "AuroraWright"; repo = "owocr"; - rev = "743c64aa16a760f87bf5ea1f54364d828eb3eddb"; # no tags - hash = "sha256-TXQwJRgRp7fZBN0r4XGVtlb+iOMRqEUf+LbfBG/vsr8="; + tag = finalAttrs.version; + hash = "sha256-/eee0uOWZgjHKhN3Ie75qxXqlSH1Fm3ipDYkvyIK5LM="; }; + # we use pystray directly to avoid making a new package + # that only carries a single patch for windows double click support. + # pythonRelaxDeps was not successful in patching + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "pystrayfix>=0.19.8" "pystray" + ''; + build-system = [ python3Packages.setuptools ]; dependencies = with python3Packages; [ @@ -41,6 +48,13 @@ python3Packages.buildPythonApplication { manga-ocr rapidocr requests # winRT OCR + python3Packages.obsws-python + python3Packages.pystray + python3Packages.pynputfix + curl-cffi + pygobject3 + dbus-python + pywayland ]; doCheck = false; # no tests @@ -51,4 +65,4 @@ python3Packages.buildPythonApplication { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ sigmanificient ]; }; -} +}) diff --git a/pkgs/development/python-modules/obsws-python/default.nix b/pkgs/development/python-modules/obsws-python/default.nix new file mode 100644 index 000000000000..f5beeab35a55 --- /dev/null +++ b/pkgs/development/python-modules/obsws-python/default.nix @@ -0,0 +1,36 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + hatchling, + tomli, + websocket-client, +}: +buildPythonPackage (finalAttrs: { + pname = "obsws-python"; + version = "5.5"; + pyproject = true; + + src = fetchFromGitHub { + owner = "aatikturk"; + repo = "obsws-python"; + rev = "f70583d7ca250c1f3a0df768d3cfd41663a6023b"; # no tags + hash = "sha256-krIiSmn/56Ao4fH6Y7JSQ11Euqt0tIq4JJjxqrt8MZc="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + tomli + websocket-client + ]; + + doCheck = false; # attempts to connect to OBS + + meta = { + description = "Python SDK for OBS Studio WebSocket v5.0"; + homepage = "https://github.com/aatikturk/obsws-python"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ sigmanificient ]; + }; +}) 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..d1d597dc0282 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11332,6 +11332,8 @@ self: super: with self; { obstore = callPackage ../development/python-modules/obstore { }; + obsws-python = callPackage ../development/python-modules/obsws-python { }; + oca-port = callPackage ../development/python-modules/oca-port { }; ochre = callPackage ../development/python-modules/ochre { }; @@ -14360,6 +14362,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 { };