diff --git a/pkgs/development/python-modules/adb-homeassistant/default.nix b/pkgs/development/python-modules/adb-homeassistant/default.nix new file mode 100644 index 00000000000..83dab71e221 --- /dev/null +++ b/pkgs/development/python-modules/adb-homeassistant/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, libusb1 +, rsa +, pycryptodome +, pytest +, mock +}: +buildPythonPackage rec { + pname = "adb-homeassistant"; + version = "1.3.1"; + + # pypi does not contain tests, using github sources instead + src = fetchFromGitHub { + owner = "JeffLIrion"; + repo = "python-adb"; + rev = "5949bf432307cbba7128e84d7bc6add7f054a078"; + sha256 = "0s3fazvbzchn1fsvjrd1jl8w9y4dvvgq6q8m8p5lr2gri0npr581"; + + }; + + propagatedBuildInputs = [ + libusb1 + rsa + pycryptodome + ]; + + checkInputs = [ pytest mock ]; + checkPhase = '' + py.test test + ''; + + meta = with lib; { + description = "A pure python implementation of the Android ADB and Fastboot protocols"; + homepage = https://github.com/JeffLIrion/python-adb/tree/adb-homeassistant; + license = licenses.asl20; + maintainers = [ maintainers.makefu ]; + }; +} diff --git a/pkgs/development/python-modules/firetv/default.nix b/pkgs/development/python-modules/firetv/default.nix new file mode 100644 index 00000000000..21e44bb4581 --- /dev/null +++ b/pkgs/development/python-modules/firetv/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, fetchPypi +, adb-homeassistant +, flask +, pure-python-adb-homeassistant +, pycryptodome +, pyyaml +, rsa +}: +buildPythonPackage rec { + pname = "firetv"; + version = "1.0.9"; + + src = fetchPypi { + inherit pname version; + sha256 = "602de77411c2caffb322e4ff63fa6cc4eeb9a50c5f4b14e13930ed7cd87cf513"; + }; + + propagatedBuildInputs = [ + adb-homeassistant + flask + pure-python-adb-homeassistant + pycryptodome + pyyaml + rsa + ]; + + # No Tests + doCheck = false; + + meta = with lib; { + description = "Communicate with an Amazon Fire TV device via ADB over a network"; + homepage = https://github.com/happyleavesaoc/python-firetv/; + license = licenses.mit; + maintainers = [ maintainers.makefu ]; + }; +} diff --git a/pkgs/development/python-modules/pure-python-adb-homeassistant/default.nix b/pkgs/development/python-modules/pure-python-adb-homeassistant/default.nix new file mode 100644 index 00000000000..51db9783555 --- /dev/null +++ b/pkgs/development/python-modules/pure-python-adb-homeassistant/default.nix @@ -0,0 +1,24 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: +buildPythonPackage rec { + pname = "pure-python-adb-homeassistant"; + version = "0.1.6.dev0"; + + src = fetchPypi { + inherit pname version; + sha256 = "fe6d90220a6880649f6d6df4e707ce5034676710ee6146145ef995f7b769a482"; + }; + + # Disable tests as they require docker, docker-compose and a dedicated + # android emulator + doCheck = false; + + meta = with lib; { + description = "Pure python implementation of the adb client"; + homepage = https://github.com/JeffLIrion/pure-python-adb; + license = licenses.mit; + maintainers = [ maintainers.makefu ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 3b3d997e6aa..38124de03b7 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -699,7 +699,7 @@ "media_player.dunehd" = ps: with ps; [ ]; "media_player.emby" = ps: with ps; [ ]; "media_player.epson" = ps: with ps; [ ]; - "media_player.firetv" = ps: with ps; [ ]; + "media_player.firetv" = ps: with ps; [ firetv ]; "media_player.frontier_silicon" = ps: with ps; [ ]; "media_player.gpmdp" = ps: with ps; [ websocket_client ]; "media_player.gstreamer" = ps: with ps; [ ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d1a6318ccd6..1cd92f54903 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -146,6 +146,8 @@ in { absl-py = callPackage ../development/python-modules/absl-py { }; + adb-homeassistant = callPackage ../development/python-modules/adb-homeassistant { }; + aenum = callPackage ../development/python-modules/aenum { }; affinity = callPackage ../development/python-modules/affinity { }; @@ -390,6 +392,8 @@ in { fire = callPackage ../development/python-modules/fire { }; + firetv = callPackage ../development/python-modules/firetv { }; + fdint = callPackage ../development/python-modules/fdint { }; fuse = callPackage ../development/python-modules/fuse-python { @@ -570,6 +574,8 @@ in { progress = callPackage ../development/python-modules/progress { }; + pure-python-adb-homeassistant = callPackage ../development/python-modules/pure-python-adb-homeassistant { }; + pymysql = callPackage ../development/python-modules/pymysql { }; Pmw = callPackage ../development/python-modules/Pmw { };