depot/third_party/nixpkgs/pkgs/servers/home-assistant/appdaemon.nix

71 lines
2.1 KiB
Nix
Raw Normal View History

{ lib, python3, fetchFromGitHub }:
let
python = python3.override {
packageOverrides = self: super: {
bcrypt = super.bcrypt.overridePythonAttrs (oldAttrs: rec {
version = "3.1.4";
src = oldAttrs.src.override {
inherit version;
sha256 = "13cyrnqwkhc70rs6dg65z4yrrr3dc42fhk11804fqmci9hvimvb7";
};
});
yarl = super.yarl.overridePythonAttrs (oldAttrs: rec {
version = "1.1.0";
src = oldAttrs.src.override {
inherit version;
sha256 = "6af895b45bd49254cc309ac0fe6e1595636a024953d710e01114257736184698";
};
});
jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
version = "2.10.1";
src = oldAttrs.src.override {
inherit version;
sha256 = "065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013";
};
});
aiohttp-jinja2 = super.aiohttp-jinja2.overridePythonAttrs (oldAttrs: rec {
version = "0.15.0";
src = oldAttrs.src.override {
inherit version;
sha256 = "0f390693f46173d8ffb95669acbb0e2a3ec54ecce676703510ad47f1a6d9dc83";
};
});
};
};
in python.pkgs.buildPythonApplication rec {
pname = "appdaemon";
version = "4.0.1";
src = fetchFromGitHub {
owner = "home-assistant";
repo = "appdaemon";
rev = version;
sha256 = "13qzjv11b0c7s1c66j70qmc222a78805n10lv2svj9yyk1v4xhjv";
};
propagatedBuildInputs = with python.pkgs; [
daemonize astral requests websocket_client aiohttp yarl jinja2
aiohttp-jinja2 pyyaml voluptuous feedparser iso8601 bcrypt paho-mqtt setuptools
deepdiff dateutil bcrypt python-socketio pid
];
# no tests implemented
doCheck = false;
postPatch = ''
substituteInPlace requirements.txt --replace "pyyaml==5.1" "pyyaml"
'';
meta = with lib; {
description = "Sandboxed python execution environment for writing automation apps for Home Assistant";
homepage = "https://github.com/home-assistant/appdaemon";
license = licenses.mit;
maintainers = with maintainers; [ peterhoeg dotlambda ];
};
}