diff --git a/pkgs/development/python-modules/pyoppleio-legacy/default.nix b/pkgs/development/python-modules/pyoppleio-legacy/default.nix new file mode 100644 index 000000000000..11a6b481b59b --- /dev/null +++ b/pkgs/development/python-modules/pyoppleio-legacy/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildPythonPackage, + crc16, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage { + pname = "pyoppleio-legacy"; + version = "1.0.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "tinysnake"; + repo = "python-oppleio-legacy"; + rev = "90c57f778554fcf3a00e42757d0e92caebcfd149"; + hash = "sha256-ccvMn/jQSkW11uMwG3P+i53NiDj+MNZgJYEkouQ1tvU="; + }; + + build-system = [ setuptools ]; + + # Package has a runtime dependency on 'pycrc16' but we provide 'crc16' + # They provide the same crc16 module + pythonRemoveDeps = [ "pycrc16" ]; + + dependencies = [ crc16 ]; + + # Package has no tests + doCheck = false; + + meta = { + description = "Python library for interfacing with Opple WiFi lights (legacy firmware support)"; + homepage = "https://github.com/tinysnake/python-oppleio-legacy"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index d3dab1154da8..65eae8890784 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -4250,7 +4250,8 @@ ]; "opple" = ps: with ps; [ - ]; # missing inputs: pyoppleio-legacy + pyoppleio-legacy + ]; "oralb" = ps: with ps; [ aioesphomeapi diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 39a62538ad78..d5b8253608e1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13470,6 +13470,8 @@ self: super: with self; { pyoppleio = callPackage ../development/python-modules/pyoppleio { }; + pyoppleio-legacy = callPackage ../development/python-modules/pyoppleio-legacy { }; + pyorc = callPackage ../development/python-modules/pyorc { }; pyorthanc = callPackage ../development/python-modules/pyorthanc { };