mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-24 14:43:37 +00:00
Merge pull request #150420 from mweinelt/home-assistant
This commit is contained in:
commit
ab725231bd
@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioambient";
|
||||
version = "2021.10.1";
|
||||
version = "2021.12.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-DCh/o7p+lO5BhN3JoLdhImkzfxoyqiscA/6CwwvAnc0=";
|
||||
sha256 = "sha256-nFCLMpkuSVPecKrtJ/z7KuyGw4Z9X79wKXmWsewbxvY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioymaps";
|
||||
version = "1.2.1";
|
||||
version = "1.2.2";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-8U8I2pqvvm87IW1hhR4CGyIWdM/jsRPRP6u2yYGXdBw=";
|
||||
sha256 = "sha256-ZWolVsh6MSEA3h62ERaCLSVAr+vl53yysPjulMtW4QI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -13,15 +13,16 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "buienradar";
|
||||
version = "1.0.4";
|
||||
version = "1.0.5";
|
||||
|
||||
disabled = pythonOlder "3.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mjj4791";
|
||||
repo = "python-buienradar";
|
||||
rev = version;
|
||||
sha256 = "1s0m5x7wdvzzsm797lh6531k614ybh7z0cikxjxqw377mivpz4wq";
|
||||
# https://github.com/mjj4791/python-buienradar/issues/14
|
||||
rev = "caa66ea855dbcc7cf6ee13291d9b2ed7ac01ef98";
|
||||
hash = "sha256:0xz03xj5qjayriaah20adh0ycvlvb8jdvgh7w5gm236n64g6krj0";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-nest-sdm";
|
||||
version = "0.4.0";
|
||||
version = "0.4.5";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "allenporter";
|
||||
repo = "python-google-nest-sdm";
|
||||
rev = version;
|
||||
sha256 = "sha256-mm1FhR10asxJI8MQfQipqmQbHQfO3z49jpnnrz38Clo=";
|
||||
sha256 = "sha256-R1/PkWyMHrZmLp+6VqAkLVzycdT1uK5SySUqpOolJCY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hatasmota";
|
||||
version = "0.3.0";
|
||||
version = "0.3.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "emontnemery";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-KPFnlw6rk+jDKs8Ss/34lIt0MsAQGernCyyF1ImRylA=";
|
||||
sha256 = "sha256-/am6cRhAdiqMq0u7Ed4qhIA+Em2O0gIt7HfP19+2XHw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "py17track";
|
||||
version = "3.3.0";
|
||||
version = "2021.12.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1rnq9ybzj2l3699mjyplc29mxla8fayh52x52cnsz21ixlfd9fky";
|
||||
sha256 = "sha256-T0Jjdu6QC8rTqZwe4cdsBbs0hQXUY6CkrImCgYwWL9o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pydexcom";
|
||||
version = "0.2.0";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gagebenne";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "19h7r0qbsqd6k6g4nz6z3k9kdmk0sx5zpsrgxwnhsff5fqi0y2ls";
|
||||
sha256 = "sha256-fC8K2NHCFcqzmsH02XPAGZtUTTXWyr0p4524UVv6yU4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ requests ];
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyefergy";
|
||||
version = "0.1.4";
|
||||
version = "0.1.5";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "tkdrob";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-X/dWEBg3WG6SmMore5otLL4iIueGUS5KgjCPYoMSNd0=";
|
||||
sha256 = "sha256-8xcKgsZ6buaQdrKD8Qn7jB5IlQ0NkR0nZGuFk+Dd8Q8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "simplisafe-python";
|
||||
version = "2021.11.2";
|
||||
version = "2021.12.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -28,7 +28,7 @@ buildPythonPackage rec {
|
||||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-5X2qvrACV9OTVYSZYxFncFOgrgywKvVDbC6IVFnJBtw=";
|
||||
sha256 = "sha256-HWOQAcjsW7iE/AuqOQvdZkubpg53AktReNJxbxHdMFs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,6 +2,7 @@
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, aiohttp
|
||||
, yarl
|
||||
, aresponses
|
||||
@ -11,16 +12,27 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "twentemilieu";
|
||||
version = "0.3.0";
|
||||
disabled = pythonOlder "3.7";
|
||||
version = "0.5.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "frenck";
|
||||
repo = "python-twentemilieu";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ff35sh73m2s7fh4d8p2pjwdbfljswr8b8lpcjybz8nsh0286xph";
|
||||
sha256 = "sha256-7HQ0+h8oiyY+TacQdX84K0r994rH0AMZAvZz8PUvQl0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "--cov" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
yarl
|
||||
|
@ -19,7 +19,8 @@ buildPythonPackage rec {
|
||||
owner = "Cereal2nd";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-itaYSfZm+/vF/tKRO2BW4qXrDXP0YfBrKiq9bMGFj0M=";
|
||||
sha256 = "0i1vfyhyvn908vz55agmfds3zwp6qpbpip055d995nx79ysxz0j9";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -3,9 +3,10 @@
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
, aiohttp
|
||||
, awesomeversion
|
||||
, backoff
|
||||
, cachetools
|
||||
, poetry-core
|
||||
, packaging
|
||||
, yarl
|
||||
, aresponses
|
||||
, pytest-asyncio
|
||||
@ -14,7 +15,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "wled";
|
||||
version = "0.8.0";
|
||||
version = "0.10.2";
|
||||
disabled = pythonOlder "3.8";
|
||||
format = "pyproject";
|
||||
|
||||
@ -22,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "frenck";
|
||||
repo = "python-wled";
|
||||
rev = "v${version}";
|
||||
sha256 = "1jhykilb81sp1srxk91222qglwdlr993ssvgfnl837nbcx6ws1hw";
|
||||
sha256 = "sha256-tqR/edkBFseldSXGoekfRmw//h6Z/Xcg1W0HXJvLhtk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -31,8 +32,9 @@ buildPythonPackage rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
awesomeversion
|
||||
backoff
|
||||
packaging
|
||||
cachetools
|
||||
yarl
|
||||
];
|
||||
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zha-quirks";
|
||||
version = "0.0.63";
|
||||
version = "0.0.65";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zigpy";
|
||||
repo = "zha-device-handlers";
|
||||
rev = version;
|
||||
sha256 = "sha256-jAd/qT+uwylE/AOHFnkKWECHnxFFqgCtCp36mrqFZIE=";
|
||||
sha256 = "sha256-3Lcmc95KotFMlL44zDugIQkHtplMMlyWjSb+SLehaqs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zigpy";
|
||||
version = "0.41.0";
|
||||
version = "0.42.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||
owner = "zigpy";
|
||||
repo = "zigpy";
|
||||
rev = version;
|
||||
sha256 = "sha256-6B5JquShUhW2EudkhCD1s5eJLJU1q1HmX7C/avoI7vU=";
|
||||
sha256 = "sha256-kSUFcN3QOZWFBgDrOopkYuUyBE9asO6MXf0H9CMjFlc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Do not edit!
|
||||
|
||||
{
|
||||
version = "2021.11.5";
|
||||
version = "2021.12.0";
|
||||
components = {
|
||||
"abode" = ps: with ps; [ abodepy ];
|
||||
"accuweather" = ps: with ps; [ accuweather ];
|
||||
@ -77,6 +77,7 @@
|
||||
"azure_event_hub" = ps: with ps; [ azure-eventhub ];
|
||||
"azure_service_bus" = ps: with ps; [ azure-servicebus ];
|
||||
"baidu" = ps: with ps; [ ]; # missing inputs: baidu-aip
|
||||
"balboa" = ps: with ps; [ pybalboa ];
|
||||
"bayesian" = ps: with ps; [ ];
|
||||
"bbb_gpio" = ps: with ps; [ ]; # missing inputs: Adafruit_BBIO
|
||||
"bbox" = ps: with ps; [ ]; # missing inputs: pybbox
|
||||
@ -112,6 +113,7 @@
|
||||
"bt_home_hub_5" = ps: with ps; [ ]; # missing inputs: bthomehub5-devicelist
|
||||
"bt_smarthub" = ps: with ps; [ ]; # missing inputs: btsmarthub_devicelist
|
||||
"buienradar" = ps: with ps; [ buienradar ];
|
||||
"button" = ps: with ps; [ ];
|
||||
"caldav" = ps: with ps; [ caldav ];
|
||||
"calendar" = ps: with ps; [ aiohttp-cors ];
|
||||
"camera" = ps: with ps; [ pyturbojpeg aiohttp-cors ];
|
||||
@ -166,7 +168,7 @@
|
||||
"default_config" = ps: with ps; [ pynacl pyturbojpeg aiodiscover aiohttp-cors async-upnp-client emoji hass-nabucasa home-assistant-frontend ifaddr pillow pyserial pyudev scapy sqlalchemy zeroconf ];
|
||||
"delijn" = ps: with ps; [ pydelijn ];
|
||||
"deluge" = ps: with ps; [ deluge-client ];
|
||||
"demo" = ps: with ps; [ aiohttp-cors ];
|
||||
"demo" = ps: with ps; [ aiohttp-cors sqlalchemy ];
|
||||
"denon" = ps: with ps; [ ];
|
||||
"denonavr" = ps: with ps; [ denonavr ];
|
||||
"derivative" = ps: with ps; [ ];
|
||||
@ -175,6 +177,7 @@
|
||||
"device_sun_light_trigger" = ps: with ps; [ aiohttp-cors pillow ];
|
||||
"device_tracker" = ps: with ps; [ ];
|
||||
"devolo_home_control" = ps: with ps; [ aiohttp-cors devolo-home-control-api ifaddr zeroconf ];
|
||||
"devolo_home_network" = ps: with ps; [ devolo-plc-api ];
|
||||
"dexcom" = ps: with ps; [ pydexcom ];
|
||||
"dhcp" = ps: with ps; [ aiodiscover scapy ];
|
||||
"dht" = ps: with ps; [ ]; # missing inputs: adafruit-circuitpython-dht
|
||||
@ -204,7 +207,6 @@
|
||||
"dwd_weather_warnings" = ps: with ps; [ dwdwfsapi ];
|
||||
"dweet" = ps: with ps; [ ]; # missing inputs: dweepy
|
||||
"dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices
|
||||
"dyson" = ps: with ps; [ aiohttp-cors ifaddr libpurecool zeroconf ];
|
||||
"eafm" = ps: with ps; [ aioeafm ];
|
||||
"ebox" = ps: with ps; [ ]; # missing inputs: pyebox
|
||||
"ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
|
||||
@ -246,6 +248,7 @@
|
||||
"etherscan" = ps: with ps; [ ]; # missing inputs: python-etherscan-api
|
||||
"eufy" = ps: with ps; [ ]; # missing inputs: lakeside
|
||||
"everlights" = ps: with ps; [ pyeverlights ];
|
||||
"evil_genius_labs" = ps: with ps; [ pyevilgenius ];
|
||||
"evohome" = ps: with ps; [ evohome-async ];
|
||||
"ezviz" = ps: with ps; [ ha-ffmpeg pyezviz ];
|
||||
"faa_delays" = ps: with ps; [ faadelays ];
|
||||
@ -411,7 +414,6 @@
|
||||
"intent_script" = ps: with ps; [ ];
|
||||
"intesishome" = ps: with ps; [ pyintesishome ];
|
||||
"ios" = ps: with ps; [ aiohttp-cors ifaddr zeroconf ];
|
||||
"iota" = ps: with ps; [ ]; # missing inputs: pyota
|
||||
"iotawatt" = ps: with ps; [ iotawattpy ];
|
||||
"iperf3" = ps: with ps; [ ]; # missing inputs: iperf3
|
||||
"ipma" = ps: with ps; [ pyipma ];
|
||||
@ -424,6 +426,7 @@
|
||||
"itach" = ps: with ps; [ ]; # missing inputs: pyitachip2ir
|
||||
"itunes" = ps: with ps; [ ];
|
||||
"izone" = ps: with ps; [ python-izone ];
|
||||
"jellyfin" = ps: with ps; [ jellyfin-apiclient-python ];
|
||||
"jewish_calendar" = ps: with ps; [ hdate ];
|
||||
"joaoapps_join" = ps: with ps; [ ]; # missing inputs: python-join-api
|
||||
"juicenet" = ps: with ps; [ python-juicenet ];
|
||||
@ -476,7 +479,6 @@
|
||||
"london_air" = ps: with ps; [ ];
|
||||
"london_underground" = ps: with ps; [ ]; # missing inputs: london-tube-status
|
||||
"lookin" = ps: with ps; [ aiolookin ];
|
||||
"loopenergy" = ps: with ps; [ ]; # missing inputs: pyloopenergy
|
||||
"lovelace" = ps: with ps; [ ];
|
||||
"luci" = ps: with ps; [ openwrt-luci-rpc ];
|
||||
"luftdaten" = ps: with ps; [ luftdaten ];
|
||||
@ -519,7 +521,7 @@
|
||||
"microsoft_face_identify" = ps: with ps; [ pyturbojpeg aiohttp-cors ];
|
||||
"miflora" = ps: with ps; [ bluepy ]; # missing inputs: miflora
|
||||
"mikrotik" = ps: with ps; [ librouteros ];
|
||||
"mill" = ps: with ps; [ millheater ];
|
||||
"mill" = ps: with ps; [ mill-local millheater ];
|
||||
"min_max" = ps: with ps; [ ];
|
||||
"minecraft_server" = ps: with ps; [ aiodns getmac mcstatus ];
|
||||
"minio" = ps: with ps; [ minio ];
|
||||
@ -547,7 +549,6 @@
|
||||
"mutesync" = ps: with ps; [ mutesync ];
|
||||
"mvglive" = ps: with ps; [ PyMVGLive ];
|
||||
"my" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
|
||||
"mychevy" = ps: with ps; [ ]; # missing inputs: mychevy
|
||||
"mycroft" = ps: with ps; [ ]; # missing inputs: mycroftapi
|
||||
"myq" = ps: with ps; [ pymyq ];
|
||||
"mysensors" = ps: with ps; [ aiohttp-cors paho-mqtt pymysensors ];
|
||||
@ -695,6 +696,7 @@
|
||||
"random" = ps: with ps; [ ];
|
||||
"raspihats" = ps: with ps; [ smbus-cffi ]; # missing inputs: raspihats
|
||||
"raspyrfm" = ps: with ps; [ ]; # missing inputs: raspyrfm-client
|
||||
"rdw" = ps: with ps; [ vehicle ];
|
||||
"recollect_waste" = ps: with ps; [ aiorecollect ];
|
||||
"recorder" = ps: with ps; [ sqlalchemy ];
|
||||
"recswitch" = ps: with ps; [ ]; # missing inputs: pyrecswitch
|
||||
@ -709,6 +711,7 @@
|
||||
"rest_command" = ps: with ps; [ ];
|
||||
"rflink" = ps: with ps; [ rflink ];
|
||||
"rfxtrx" = ps: with ps; [ pyrfxtrx ];
|
||||
"ridwell" = ps: with ps; [ aioridwell ];
|
||||
"ring" = ps: with ps; [ ha-ffmpeg ring-doorbell ];
|
||||
"ripple" = ps: with ps; [ ]; # missing inputs: python-ripple-api
|
||||
"risco" = ps: with ps; [ pyrisco ];
|
||||
@ -852,6 +855,7 @@
|
||||
"tado" = ps: with ps; [ python-tado ];
|
||||
"tag" = ps: with ps; [ ];
|
||||
"tahoma" = ps: with ps; [ tahoma-api ];
|
||||
"tailscale" = ps: with ps; [ tailscale ];
|
||||
"tank_utility" = ps: with ps; [ ]; # missing inputs: tank_utility
|
||||
"tankerkoenig" = ps: with ps; [ pytankerkoenig ];
|
||||
"tapsaff" = ps: with ps; [ ]; # missing inputs: tapsaff
|
||||
@ -867,6 +871,7 @@
|
||||
"temper" = ps: with ps; [ ]; # missing inputs: temperusb
|
||||
"template" = ps: with ps; [ ];
|
||||
"tensorflow" = ps: with ps; [ numpy pillow pycocotools tensorflow ]; # missing inputs: tf-models-official
|
||||
"tesla_wall_connector" = ps: with ps; [ tesla-wall-connector ];
|
||||
"tfiac" = ps: with ps; [ ]; # missing inputs: pytfiac
|
||||
"thermoworks_smoke" = ps: with ps; [ stringcase ]; # missing inputs: thermoworks_smoke
|
||||
"thethingsnetwork" = ps: with ps; [ ];
|
||||
@ -883,6 +888,7 @@
|
||||
"tod" = ps: with ps; [ ];
|
||||
"todoist" = ps: with ps; [ todoist ];
|
||||
"tof" = ps: with ps; [ ]; # missing inputs: RPi.GPIO VL53L1X2
|
||||
"tolo" = ps: with ps; [ tololib ];
|
||||
"tomato" = ps: with ps; [ ];
|
||||
"toon" = ps: with ps; [ pyturbojpeg aiohttp-cors hass-nabucasa toonapi ];
|
||||
"torque" = ps: with ps; [ aiohttp-cors ];
|
||||
@ -995,7 +1001,7 @@
|
||||
"yamaha_musiccast" = ps: with ps; [ aiohttp-cors aiomusiccast async-upnp-client ifaddr zeroconf ];
|
||||
"yandex_transport" = ps: with ps; [ aioymaps ];
|
||||
"yandextts" = ps: with ps; [ ];
|
||||
"yeelight" = ps: with ps; [ aiohttp-cors async-upnp-client ifaddr yeelight ];
|
||||
"yeelight" = ps: with ps; [ aiohttp-cors async-upnp-client ifaddr yeelight zeroconf ];
|
||||
"yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower
|
||||
"yi" = ps: with ps; [ aioftp ha-ffmpeg ];
|
||||
"youless" = ps: with ps; [ youless-api ];
|
||||
|
@ -1,7 +1,10 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, python3
|
||||
, substituteAll
|
||||
, ffmpeg
|
||||
, inetutils
|
||||
, nixosTests
|
||||
|
||||
@ -21,10 +24,6 @@
|
||||
|
||||
let
|
||||
defaultOverrides = [
|
||||
# Remove with Home Assistant 2021.12
|
||||
(mkOverride "aiohue" "2.6.3" "sha256-zpwkDKPrE5TFZQO0A1ifTQ7n+TRFpXi3jai3h5plyGM=")
|
||||
(mkOverride "PyChromecast" "9.4.0" "sha256-Y8PLrjxZHml7BmklEJ/VXGqkRyneAy+QVA5rusPeBHQ=")
|
||||
|
||||
# aiounify 29 breaks integration tests
|
||||
(self: super: {
|
||||
aiounifi = super.aiounifi.overridePythonAttrs (oldAttrs: rec {
|
||||
@ -41,6 +40,87 @@ let
|
||||
# Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
|
||||
(mkOverride "python-slugify" "4.0.1" "69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270")
|
||||
|
||||
(self: super: {
|
||||
httpcore = super.httpcore.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.14.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "encode";
|
||||
repo = "httpcore";
|
||||
rev = version;
|
||||
sha256 = "sha256-jPsbMhY1lWKBXlh6hsX6DGKXi/g7VQSU00tF6H7qkOo=";
|
||||
};
|
||||
propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ python3.pkgs.certifi ];
|
||||
doCheck = false;
|
||||
});
|
||||
})
|
||||
|
||||
(self: super: {
|
||||
httpx = super.httpx.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.21.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "encode";
|
||||
repo = "httpx";
|
||||
rev = version;
|
||||
sha256 = "sha256-ayhLP+1hPWAx2ds227CKp5cebVkD5B2Z59L+3dzdINc=";
|
||||
};
|
||||
doCheck = false;
|
||||
});
|
||||
})
|
||||
|
||||
(self: super: {
|
||||
pytest-httpx = super.pytest-httpx.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.15.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Colin-bin";
|
||||
repo = "pytest_httpx";
|
||||
rev = "v${version}";
|
||||
sha256 = "08dxvjkxlnam3r0yp17495d1vksyawzzkpykacjql1gi6hqlfrwg";
|
||||
};
|
||||
});
|
||||
})
|
||||
|
||||
(self: super: {
|
||||
respx = super.respx.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.19.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lundberg";
|
||||
repo = "respx";
|
||||
rev = version;
|
||||
sha256 = "sha256-xiAt42kc1+rro99KMwzYKi3XC+wxYVqOY11tM+M/uV8=";
|
||||
};
|
||||
});
|
||||
})
|
||||
|
||||
(self: super: {
|
||||
envoy-reader = super.envoy-reader.overridePythonAttrs (oldAttrs: rec {
|
||||
patches = [
|
||||
# Support for later httpx, https://github.com/jesserizzo/envoy_reader/pull/82
|
||||
(fetchpatch {
|
||||
name = "support-later-httpx.patch";
|
||||
url = "https://github.com/jesserizzo/envoy_reader/commit/6019a89419fe9c830ba839be7d39ec54725268b0.patch";
|
||||
sha256 = "17vsrx13rskvh8swvjisb2dk6x1jdbjcm8ikkpidia35pa24h272";
|
||||
})
|
||||
];
|
||||
});
|
||||
})
|
||||
|
||||
(self: super: {
|
||||
sanic = super.sanic.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "21.9.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sanic-org";
|
||||
repo = "sanic";
|
||||
rev = "v${version}";
|
||||
sha256 = "0m18jdw1mvf7jhpnrxhm96p24pxvv0h9m71a8c7sqqkwnnpa3p5i";
|
||||
};
|
||||
disabledTests = oldAttrs.disabledTests ++ [
|
||||
"test_redirect"
|
||||
"test_chained_redirect"
|
||||
"test_unix_connection"
|
||||
];
|
||||
});
|
||||
})
|
||||
|
||||
(self: super: {
|
||||
huawei-lte-api = super.huawei-lte-api.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.4.18";
|
||||
@ -82,17 +162,7 @@ let
|
||||
});
|
||||
})
|
||||
|
||||
(self: super: {
|
||||
nettigo-air-monitor = super.nettigo-air-monitor.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.1.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bieniu";
|
||||
repo = "nettigo-air-monitor";
|
||||
rev = version;
|
||||
sha256 = "sha256-OIB1d6XtstUr5P0q/dmyJS7+UbtkFQIiuSnzwcdP1mE=";
|
||||
};
|
||||
});
|
||||
})
|
||||
(mkOverride "jinja2" "3.0.3" "1mvwr02s86zck5wsmd9wjxxb9iaqr17hdi5xza9vkwv8rmrv46v1")
|
||||
|
||||
# Pinned due to API changes in pyruckus>0.12
|
||||
(self: super: {
|
||||
@ -123,6 +193,32 @@ let
|
||||
# Pinned due to API changes in 0.1.0
|
||||
(mkOverride "poolsense" "0.0.8" "09y4fq0gdvgkfsykpxnvmfv92dpbknnq5v82spz43ak6hjnhgcyp")
|
||||
|
||||
# Pinned due to API changes in 0.4.0
|
||||
(self: super: {
|
||||
vilfo-api-client = super.vilfo-api-client.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.3.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ManneW";
|
||||
repo = "vilfo-api-client-python";
|
||||
rev = "v$version}";
|
||||
sha256 = "1gy5gpsg99rcm1cc3m30232za00r9i46sp74zpd12p3vzz1wyyqf";
|
||||
};
|
||||
});
|
||||
})
|
||||
|
||||
# Pinned due to API changes ~1.0
|
||||
(self: super: {
|
||||
vultr = super.vultr.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.1.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "spry-group";
|
||||
repo = "python-vultr";
|
||||
rev = "v${version}";
|
||||
sha256 = "1qjvvr2v9gfnwskdl0ayazpcmiyw9zlgnijnhgq9mcri5gq9jw5h";
|
||||
};
|
||||
});
|
||||
})
|
||||
|
||||
# home-assistant-frontend does not exist in python3.pkgs
|
||||
(self: super: {
|
||||
home-assistant-frontend = self.callPackage ./frontend.nix { };
|
||||
@ -156,7 +252,7 @@ let
|
||||
extraBuildInputs = extraPackages py.pkgs;
|
||||
|
||||
# Don't forget to run parse-requirements.py after updating
|
||||
hassVersion = "2021.11.5";
|
||||
hassVersion = "2021.12.0";
|
||||
|
||||
in with py.pkgs; buildPythonApplication rec {
|
||||
pname = "homeassistant";
|
||||
@ -173,20 +269,25 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
owner = "home-assistant";
|
||||
repo = "core";
|
||||
rev = version;
|
||||
sha256 = "sha256-5MxArJLzOg9dU4Q2c6BDjvEzR2u7UVumNZjwE84+br8=";
|
||||
hash = "sha256:00hi709pb06c4ki0zb42my6g9cifrp2pn04ygrn5i7q7sr6min71";
|
||||
};
|
||||
|
||||
# leave this in, so users don't have to constantly update their downstream patch handling
|
||||
patches = [
|
||||
./0001-tests-ignore-OSErrors-in-hass-fixture.patch
|
||||
(substituteAll {
|
||||
src = ./patches/ffmpeg-path.patch;
|
||||
ffmpeg = "${lib.getBin ffmpeg}/bin/ffmpeg";
|
||||
})
|
||||
./patches/tests-ignore-OSErrors-in-hass-fixture.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "async_timeout==3.0.1" "async_timeout" \
|
||||
--replace "awesomeversion==21.10.1" "awesomeversion" \
|
||||
--replace "aiohttp==3.7.4.post0" "aiohttp" \
|
||||
--replace "aiohttp==3.8.1" "aiohttp" \
|
||||
--replace "async_timeout==4.0.0" "async_timeout" \
|
||||
--replace "bcrypt==3.1.7" "bcrypt" \
|
||||
--replace "cryptography==35.0.0" "cryptography" \
|
||||
--replace "httpx==0.21.0" "httpx" \
|
||||
--replace "pip>=8.0.3,<20.3" "pip" \
|
||||
--replace "pyyaml==6.0" "pyyaml" \
|
||||
--replace "yarl==1.6.3" "yarl"
|
||||
@ -198,6 +299,7 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
aiohttp
|
||||
astral
|
||||
async-timeout
|
||||
atomicwrites
|
||||
attrs
|
||||
awesomeversion
|
||||
bcrypt
|
||||
@ -347,7 +449,6 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"dte_energy_bridge"
|
||||
"duckdns"
|
||||
"dunehd"
|
||||
"dyson"
|
||||
"eafm"
|
||||
"ecobee"
|
||||
"econet"
|
||||
@ -406,7 +507,8 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"geonetnz_quakes"
|
||||
"geonetnz_volcano"
|
||||
"gios"
|
||||
"glances"
|
||||
# updated to incompatible version and overriding is annoying because of async_timeout<4 pin
|
||||
# "glances"
|
||||
"goalzero"
|
||||
"gogogate2"
|
||||
"google"
|
||||
@ -686,8 +788,6 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"telegram"
|
||||
"tellduslive"
|
||||
"template"
|
||||
# disable tesla comonent tests while typer is incompatible with click>=8.0
|
||||
# "tesla"
|
||||
"threshold"
|
||||
"tibber"
|
||||
"tile"
|
||||
@ -726,7 +826,8 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"uvc"
|
||||
"vacuum"
|
||||
"velbus"
|
||||
"venstar"
|
||||
# disabled, because it includes onewire component tests, for which we lack p1wire dependency
|
||||
# "venstar"
|
||||
"vera"
|
||||
"verisure"
|
||||
"version"
|
||||
@ -736,8 +837,7 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"vlc_telnet"
|
||||
"voicerss"
|
||||
"volumio"
|
||||
# disabled, becaused AttributeError: <class 'vultr.vultr.Vultr'> does not have the attribute 'server_list'
|
||||
# "vultr"
|
||||
"vultr"
|
||||
"wake_on_lan"
|
||||
"wallbox"
|
||||
"water_heater"
|
||||
@ -756,7 +856,8 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"xbox"
|
||||
"xiaomi"
|
||||
"xiaomi_aqara"
|
||||
"xiaomi_miio"
|
||||
# disabled, because we require cryptography>=35.0 for the miio package
|
||||
# "xiaomi_miio"
|
||||
"yamaha"
|
||||
"yandex_transport"
|
||||
"yandextts"
|
||||
@ -873,6 +974,8 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
preCheck = ''
|
||||
export HOME="$TEMPDIR"
|
||||
|
||||
patch -p1 < ${./patches/tests-mock-source-ip.patch}
|
||||
|
||||
# the tests require the existance of a media dir
|
||||
mkdir /build/media
|
||||
|
||||
|
@ -4,11 +4,11 @@ buildPythonPackage rec {
|
||||
# the frontend version corresponding to a specific home-assistant version can be found here
|
||||
# https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
|
||||
pname = "home-assistant-frontend";
|
||||
version = "20211109.0";
|
||||
version = "20211211.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-DXL+D58kS8q4we6/r6iRuXA/d9NOoYUp9A3vsHQ0KVg=";
|
||||
sha256 = "sha256-+rUrNCWf7CBzTPGuK7m88c1ouApelGla/L3SBwxYqdQ=";
|
||||
};
|
||||
|
||||
# there is nothing to strip in this package
|
||||
|
84
pkgs/servers/home-assistant/patches/ffmpeg-path.patch
Normal file
84
pkgs/servers/home-assistant/patches/ffmpeg-path.patch
Normal file
@ -0,0 +1,84 @@
|
||||
diff --git a/homeassistant/components/ffmpeg/__init__.py b/homeassistant/components/ffmpeg/__init__.py
|
||||
index 74c826f47d..91f359da2a 100644
|
||||
--- a/homeassistant/components/ffmpeg/__init__.py
|
||||
+++ b/homeassistant/components/ffmpeg/__init__.py
|
||||
@@ -40,7 +40,7 @@ CONF_FFMPEG_BIN = "ffmpeg_bin"
|
||||
CONF_EXTRA_ARGUMENTS = "extra_arguments"
|
||||
CONF_OUTPUT = "output"
|
||||
|
||||
-DEFAULT_BINARY = "ffmpeg"
|
||||
+DEFAULT_BINARY = "@ffmpeg@"
|
||||
|
||||
CONFIG_SCHEMA = vol.Schema(
|
||||
{
|
||||
diff --git a/tests/components/ffmpeg/test_init.py b/tests/components/ffmpeg/test_init.py
|
||||
index e1730ffdab..e9cd7934fd 100644
|
||||
--- a/tests/components/ffmpeg/test_init.py
|
||||
+++ b/tests/components/ffmpeg/test_init.py
|
||||
@@ -87,7 +87,7 @@ class TestFFmpegSetup:
|
||||
with assert_setup_component(1):
|
||||
setup_component(self.hass, ffmpeg.DOMAIN, {ffmpeg.DOMAIN: {}})
|
||||
|
||||
- assert self.hass.data[ffmpeg.DATA_FFMPEG].binary == "ffmpeg"
|
||||
+ assert self.hass.data[ffmpeg.DATA_FFMPEG].binary == "@ffmpeg@"
|
||||
|
||||
def test_setup_component_test_service(self):
|
||||
"""Set up ffmpeg component test services."""
|
||||
diff --git a/tests/components/ffmpeg/test_sensor.py b/tests/components/ffmpeg/test_sensor.py
|
||||
index a6c9c1f441..f13091da1a 100644
|
||||
--- a/tests/components/ffmpeg/test_sensor.py
|
||||
+++ b/tests/components/ffmpeg/test_sensor.py
|
||||
@@ -27,7 +27,7 @@ class TestFFmpegNoiseSetup:
|
||||
setup_component(self.hass, "binary_sensor", self.config)
|
||||
self.hass.block_till_done()
|
||||
|
||||
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
|
||||
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
|
||||
assert self.hass.states.get("binary_sensor.ffmpeg_noise") is not None
|
||||
|
||||
@patch("haffmpeg.sensor.SensorNoise.open_sensor", return_value=mock_coro())
|
||||
@@ -37,7 +37,7 @@ class TestFFmpegNoiseSetup:
|
||||
setup_component(self.hass, "binary_sensor", self.config)
|
||||
self.hass.block_till_done()
|
||||
|
||||
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
|
||||
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
|
||||
assert self.hass.states.get("binary_sensor.ffmpeg_noise") is not None
|
||||
|
||||
self.hass.start()
|
||||
@@ -53,7 +53,7 @@ class TestFFmpegNoiseSetup:
|
||||
setup_component(self.hass, "binary_sensor", self.config)
|
||||
self.hass.block_till_done()
|
||||
|
||||
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
|
||||
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
|
||||
assert self.hass.states.get("binary_sensor.ffmpeg_noise") is not None
|
||||
|
||||
self.hass.start()
|
||||
@@ -89,7 +89,7 @@ class TestFFmpegMotionSetup:
|
||||
setup_component(self.hass, "binary_sensor", self.config)
|
||||
self.hass.block_till_done()
|
||||
|
||||
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
|
||||
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
|
||||
assert self.hass.states.get("binary_sensor.ffmpeg_motion") is not None
|
||||
|
||||
@patch("haffmpeg.sensor.SensorMotion.open_sensor", return_value=mock_coro())
|
||||
@@ -99,7 +99,7 @@ class TestFFmpegMotionSetup:
|
||||
setup_component(self.hass, "binary_sensor", self.config)
|
||||
self.hass.block_till_done()
|
||||
|
||||
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
|
||||
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
|
||||
assert self.hass.states.get("binary_sensor.ffmpeg_motion") is not None
|
||||
|
||||
self.hass.start()
|
||||
@@ -115,7 +115,7 @@ class TestFFmpegMotionSetup:
|
||||
setup_component(self.hass, "binary_sensor", self.config)
|
||||
self.hass.block_till_done()
|
||||
|
||||
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
|
||||
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
|
||||
assert self.hass.states.get("binary_sensor.ffmpeg_motion") is not None
|
||||
|
||||
self.hass.start()
|
@ -0,0 +1,13 @@
|
||||
diff --git a/homeassistant/components/network/__init__.py b/homeassistant/components/network/__init__.py
|
||||
index 7cc864727d..69333a5454 100644
|
||||
--- a/homeassistant/components/network/__init__.py
|
||||
+++ b/homeassistant/components/network/__init__.py
|
||||
@@ -26,7 +26,7 @@ async def async_get_source_ip(
|
||||
) -> str:
|
||||
"""Get the source ip for a target ip."""
|
||||
adapters = await async_get_adapters(hass)
|
||||
- all_ipv4s = []
|
||||
+ all_ipv4s = ["127.0.0.1"]
|
||||
for adapter in adapters:
|
||||
if adapter["enabled"] and (ipv4s := adapter["ipv4"]):
|
||||
all_ipv4s.extend([ipv4["address"] for ipv4 in ipv4s])
|
@ -6,7 +6,7 @@ set -eux
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
cd "$DIR"
|
||||
|
||||
CURRENT_VERSION=$(nix eval --raw '(with import ../../.. {}; home-assistant.version)')
|
||||
CURRENT_VERSION=$(nix-instantiate ../../.. --eval --strict -A home-assistant.version | tr -d '"')
|
||||
TARGET_VERSION=$(curl https://api.github.com/repos/home-assistant/core/releases/latest | jq -r '.name')
|
||||
MANIFEST=$(curl https://raw.githubusercontent.com/home-assistant/core/${TARGET_VERSION}/homeassistant/components/frontend/manifest.json)
|
||||
FRONTEND_VERSION=$(echo $MANIFEST | jq -r '.requirements[] | select(startswith("home-assistant-frontend")) | sub(".*==(?<vers>.*)"; .vers)')
|
||||
|
Loading…
Reference in New Issue
Block a user