From 6f54f198d2d0a6f0da632e85f7fff54bf2274365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 18 Jun 2021 01:15:33 +0200 Subject: [PATCH 1/3] pythonPackages.calmjs-parse: init at 1.2.5 --- .../python-modules/calmjs-parse/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/calmjs-parse/default.nix diff --git a/pkgs/development/python-modules/calmjs-parse/default.nix b/pkgs/development/python-modules/calmjs-parse/default.nix new file mode 100644 index 000000000000..33cf052a4427 --- /dev/null +++ b/pkgs/development/python-modules/calmjs-parse/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools +, ply +, python +}: + +buildPythonPackage rec { + pname = "calmjs-parse"; + version = "1.2.5"; + + src = fetchFromGitHub { + owner = "calmjs"; + repo = "calmjs.parse"; + rev = version; + sha256 = "0ypfbas33k1706p6w1bf9gnrv38z8fa4qci1iaks80dp58g8sv4r"; + }; + + propagatedBuildInputs = [ + setuptools + ply + ]; + + checkPhase = '' + runHook preCheck + + ${python.interpreter} -m unittest calmjs.parse.tests.make_suite + + runHook postCheck + ''; + + pythonImportsCheck = [ + "calmjs.parse" + "calmjs.parse.asttypes" + "calmjs.parse.parsers" + "calmjs.parse.rules" + "calmjs.parse.sourcemap" + "calmjs.parse.unparsers.es5" + "calmjs.parse.walkers" + ]; + + meta = with lib; { + description = "Various parsers for ECMA standards"; + homepage = "https://github.com/calmjs/calmjs.parse"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 49b5d629e9a8..1dce3c52dbba 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1277,6 +1277,8 @@ in { caldav = callPackage ../development/python-modules/caldav { }; + calmjs-parse = callPackage ../development/python-modules/calmjs-parse { }; + can = callPackage ../development/python-modules/can { }; canmatrix = callPackage ../development/python-modules/canmatrix { }; From 3945bf16f14e3a2c402225b3811c3709373b4207 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 18 Jun 2021 01:19:28 +0200 Subject: [PATCH 2/3] python3Packages.eebrightbox: init at 0.0.6 --- .../python-modules/eebrightbox/default.nix | 58 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/python-modules/eebrightbox/default.nix diff --git a/pkgs/development/python-modules/eebrightbox/default.nix b/pkgs/development/python-modules/eebrightbox/default.nix new file mode 100644 index 000000000000..d8050b9bf5e3 --- /dev/null +++ b/pkgs/development/python-modules/eebrightbox/default.nix @@ -0,0 +1,58 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pbr +, calmjs-parse +, certifi +, chardet +, idna +, ply +, requests +, urllib3 +, httpretty +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "eebrightbox"; + version = "0.0.6"; + + src = fetchFromGitHub { + owner = "krygal"; + repo = "eebrightbox"; + rev = version; + sha256 = "1kms240g01871qbvyc5rzf86yxsrlnfvp323jh4k35fpf45z44rr"; + }; + + postPatch = '' + substituteInPlace requirements.txt --replace "==" ">=" + ''; + + nativeBuildInputs = [ + pbr + ]; + + PBR_VERSION = version; + + propagatedBuildInputs = [ + calmjs-parse + certifi + chardet + idna + ply + requests + urllib3 + ]; + + checkInputs = [ + httpretty + pytestCheckHook + ]; + + meta = with lib; { + description = "Connector for EE BrightBox routers"; + homepage = "https://github.com/krygal/eebrightbox"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1dce3c52dbba..c52c1b8ad038 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2231,6 +2231,8 @@ in { edward = callPackage ../development/python-modules/edward { }; + eebrightbox = callPackage ../development/python-modules/eebrightbox { }; + effect = callPackage ../development/python-modules/effect { }; eggdeps = callPackage ../development/python-modules/eggdeps { }; From be2b5534e20faaef3fe5dc95542fd276db0cbe81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 18 Jun 2021 01:19:46 +0200 Subject: [PATCH 3/3] home-assistant: support ee_brightbox component --- pkgs/servers/home-assistant/component-packages.nix | 2 +- pkgs/servers/home-assistant/default.nix | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 95a7ef3c606c..00ae505cbfbf 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -209,7 +209,7 @@ "eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools[scan] "edimax" = ps: with ps; [ pyedimax ]; "edl21" = ps: with ps; [ ]; # missing inputs: pysml - "ee_brightbox" = ps: with ps; [ ]; # missing inputs: eebrightbox + "ee_brightbox" = ps: with ps; [ eebrightbox ]; "efergy" = ps: with ps; [ ]; "egardia" = ps: with ps; [ pythonegardia ]; "eight_sleep" = ps: with ps; [ pyeight ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 004a65daee96..c17fe16dbf86 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -134,6 +134,19 @@ let }); }) + # Pinned due to API changes in eebrightbox>=0.0.5 + (self: super: { + eebrightbox = super.eebrightbox.overridePythonAttrs (oldAttrs: rec { + version = "0.0.4"; + src = fetchFromGitHub { + owner = "krygal"; + repo = "eebrightbox"; + rev = version; + sha256 = "0d8mmpwgrd7gymw5263r1v2wjv6dx6w6pq13d62fkfm4h2hya4a4"; + }; + }); + }) + # home-assistant-frontend does not exist in python3.pkgs (self: super: { home-assistant-frontend = self.callPackage ./frontend.nix { }; @@ -352,6 +365,7 @@ in with py.pkgs; buildPythonApplication rec { "eafm" "ecobee" "econet" + "ee_brightbox" "efergy" "emonitor" "emulated_hue"