diff --git a/pkgs/development/python-modules/philipstv/default.nix b/pkgs/development/python-modules/philipstv/default.nix new file mode 100644 index 000000000000..4becffc7f750 --- /dev/null +++ b/pkgs/development/python-modules/philipstv/default.nix @@ -0,0 +1,73 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + pythonOlder, + poetry-core, + poetry-dynamic-versioning, + installShellFiles, + pytestCheckHook, + requests-mock, + requests, + pydantic, + click, + appdirs, + stdenv, + nix-update-script, +}: + +buildPythonPackage rec { + pname = "philipstv"; + version = "2.1.1"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "bcyran"; + repo = "philipstv"; + rev = "refs/tags/${version}"; + hash = "sha256-BvQurZls9NjtHhTXLQ9t8fHkAF/QU/c6mmRvNmE0v90="; + }; + + build-system = [ + poetry-core + poetry-dynamic-versioning + ]; + + nativeBuildInputs = [ + installShellFiles + ]; + + dependencies = [ + requests + pydantic + click + appdirs + ]; + + nativeCheckInputs = [ + pytestCheckHook + requests-mock + ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd philipstv \ + --bash <(_PHILIPSTV_COMPLETE=bash_source $out/bin/philipstv) \ + --zsh <(_PHILIPSTV_COMPLETE=zsh_source $out/bin/philipstv) \ + --fish <(_PHILIPSTV_COMPLETE=fish_source $out/bin/philipstv) + ''; + + pythonImportsCheck = [ "philipstv" ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "CLI and library to control Philips Android-powered TVs"; + homepage = "https://github.com/bcyran/philipstv"; + changelog = "https://github.com/bcyran/philipstv/releases/tag/${version}"; + license = lib.licenses.mit; + mainProgram = "philipstv"; + maintainers = with lib.maintainers; [ bcyran ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bb347d601be5..e21d1e0ba61c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18470,6 +18470,8 @@ with pkgs; pgmodeler = qt6Packages.callPackage ../applications/misc/pgmodeler { }; + philipstv = with python3Packages; toPythonApplication philipstv; + pjsip = darwin.apple_sdk_11_0.callPackage ../applications/networking/pjsip { inherit (darwin.apple_sdk_11_0.frameworks) AppKit CoreFoundation Security; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 67119e79acce..802439efa160 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10141,6 +10141,8 @@ self: super: with self; { phik = callPackage ../development/python-modules/phik { }; + philipstv = callPackage ../development/python-modules/philipstv { }; + phone-modem = callPackage ../development/python-modules/phone-modem { }; phonenumbers = callPackage ../development/python-modules/phonenumbers { };