nixpkgs/pkgs/servers/home-assistant/appdaemon.nix
2019-11-02 16:48:07 -07:00

72 lines
2.2 KiB
Nix

{ lib, python3 }:
let
python = python3.override {
packageOverrides = self: super: {
aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
version = "2.3.10";
src = oldAttrs.src.override {
inherit version;
sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964";
};
# TODO: remove after pinning aiohttp to a newer version
propagatedBuildInputs = with self; [ chardet multidict async-timeout yarl idna-ssl ];
doCheck = false;
});
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 = "3.0.5";
src = python.pkgs.fetchPypi {
inherit pname version;
sha256 = "623897ce08dc2efe24d04380df36e4b7fb35c0e4007e882857d4047f0b60349d";
};
propagatedBuildInputs = with python.pkgs; [
daemonize astral requests sseclient websocket_client aiohttp yarl jinja2
aiohttp-jinja2 pyyaml voluptuous feedparser iso8601 bcrypt paho-mqtt setuptools
];
# no tests implemented
doCheck = false;
postPatch = ''
substituteInPlace setup.py --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 ];
};
}