2018-07-21 02:44:44 +02:00
|
|
|
{ lib, python3 }:
|
2018-02-28 02:38:11 +01:00
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
2018-11-25 12:18:21 +01:00
|
|
|
# TODO: remove after pinning aiohttp to a newer version
|
2019-01-10 15:11:46 +01:00
|
|
|
propagatedBuildInputs = with self; [ chardet multidict async-timeout yarl idna-ssl ];
|
|
|
|
doCheck = false;
|
2018-02-28 02:38:11 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
yarl = super.yarl.overridePythonAttrs (oldAttrs: rec {
|
|
|
|
version = "1.1.0";
|
|
|
|
src = oldAttrs.src.override {
|
|
|
|
inherit version;
|
|
|
|
sha256 = "6af895b45bd49254cc309ac0fe6e1595636a024953d710e01114257736184698";
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
2019-04-03 14:31:48 +02:00
|
|
|
jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
|
2019-04-26 09:26:38 +02:00
|
|
|
version = "2.10.1";
|
2019-04-03 14:31:48 +02:00
|
|
|
src = oldAttrs.src.override {
|
|
|
|
inherit version;
|
2019-04-26 09:26:38 +02:00
|
|
|
sha256 = "065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013";
|
2019-04-03 14:31:48 +02:00
|
|
|
};
|
|
|
|
});
|
|
|
|
|
2018-02-28 02:38:11 +01:00
|
|
|
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";
|
2019-04-26 09:26:38 +02:00
|
|
|
version = "3.0.5";
|
2018-02-28 02:38:11 +01:00
|
|
|
|
|
|
|
src = python.pkgs.fetchPypi {
|
|
|
|
inherit pname version;
|
2019-04-26 09:26:38 +02:00
|
|
|
sha256 = "623897ce08dc2efe24d04380df36e4b7fb35c0e4007e882857d4047f0b60349d";
|
2018-02-28 02:38:11 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
propagatedBuildInputs = with python.pkgs; [
|
2018-11-16 15:06:01 +01:00
|
|
|
daemonize astral requests sseclient websocket_client aiohttp yarl jinja2
|
|
|
|
aiohttp-jinja2 pyyaml voluptuous feedparser iso8601 bcrypt paho-mqtt
|
2018-02-28 02:38:11 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
# no tests implemented
|
|
|
|
doCheck = false;
|
|
|
|
|
2019-08-18 11:46:49 +02:00
|
|
|
postPatch = ''
|
|
|
|
substituteInPlace setup.py --replace "pyyaml==5.1" "pyyaml"
|
|
|
|
'';
|
|
|
|
|
2018-02-28 02:38:11 +01:00
|
|
|
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 ];
|
|
|
|
};
|
|
|
|
}
|