nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix

50 lines
1.3 KiB
Nix

{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch
, acme, aiohttp, snitun, attrs, pycognito, warrant
, pytest-aiohttp, asynctest, atomicwrites, pytest, pythonOlder }:
buildPythonPackage rec {
pname = "hass-nabucasa";
version = "0.34.6";
src = fetchFromGitHub {
owner = "nabucasa";
repo = pname;
rev = version;
sha256 = "1lkqwj58qr0vn7zf5mhrhaz973ahj9wjp4mgzvyja1gcdh6amv34";
};
postPatch = ''
sed -i 's/"acme.*"/"acme"/' setup.py
sed -i 's/"cryptography.*"/"cryptography"/' setup.py
'';
patches = [
# relax pytz dependency
(fetchpatch {
url = "https://github.com/NabuCasa/hass-nabucasa/commit/419e80feddc36c68384c032feda0057515b53eaa.patch";
sha256 = "14dgwci8615cwcf27hg7b42s7da50xhyjys3yx446q7ipk8zw4x6";
})
];
propagatedBuildInputs = [
acme aiohttp atomicwrites snitun attrs warrant pycognito
];
checkInputs = [ pytest pytest-aiohttp asynctest ];
# Asynctest's mocking is broken with python3.8
# https://github.com/Martiusweb/asynctest/issues/132
doCheck = pythonOlder "3.8";
checkPhase = ''
pytest tests/
'';
meta = with lib; {
homepage = "https://github.com/NabuCasa/hass-nabucasa";
description = "Home Assistant cloud integration by Nabu Casa, inc.";
license = licenses.gpl3;
maintainers = with maintainers; [ Scriptkiddi ];
};
}