1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 dnspython,
6 fetchFromGitHub,
7 poetry-core,
8 pythonOlder,
9 tenacity,
10}:
11
12buildPythonPackage rec {
13 pname = "linear-garage-door";
14 version = "0.2.9";
15 pyproject = true;
16
17 disabled = pythonOlder "3.8";
18
19 src = fetchFromGitHub {
20 owner = "IceBotYT";
21 repo = "linear-garage-door";
22 rev = "refs/tags/${version}";
23 hash = "sha256-hWWJgZnEItYaSxka7zBHPeVlTEiOqRnA2vg6/MvpJGE=";
24 };
25
26 postPatch = ''
27 sed -i pyproject.toml \
28 -e "/--cov/d" \
29 -e "/--no-cov/d"
30 '';
31
32 nativeBuildInputs = [ poetry-core ];
33
34 propagatedBuildInputs = [
35 aiohttp
36 dnspython
37 tenacity
38 ];
39
40 # Module doesn't have tests
41 doCheck = false;
42
43 pythonImportsCheck = [ "linear_garage_door" ];
44
45 meta = with lib; {
46 description = "Control Linear Garage Doors with Python";
47 homepage = "https://github.com/IceBotYT/linear-garage-door";
48 changelog = "https://github.com/IceBotYT/linear-garage-door/blob/${version}/CHANGELOG.md";
49 license = licenses.mit;
50 maintainers = with maintainers; [ fab ];
51 };
52}