1{
2 lib,
3 buildPythonPackage,
4 casttube,
5 fetchFromGitHub,
6 pythonOlder,
7 protobuf,
8 setuptools,
9 zeroconf,
10}:
11
12buildPythonPackage rec {
13 pname = "pychromecast";
14 version = "14.0.7";
15 pyproject = true;
16
17 disabled = pythonOlder "3.11";
18
19 src = fetchFromGitHub {
20 owner = "home-assistant-libs";
21 repo = "pychromecast";
22 tag = version;
23 hash = "sha256-NB/KXKgmyLAhsL/CD463eNMO8brye5LKVCkkD3EloPU=";
24 };
25
26 postPatch = ''
27 substituteInPlace pyproject.toml \
28 --replace-fail "setuptools>=65.6,<78.0" setuptools
29 '';
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 casttube
35 protobuf
36 zeroconf
37 ];
38
39 # no tests available
40 doCheck = false;
41
42 pythonImportsCheck = [ "pychromecast" ];
43
44 meta = with lib; {
45 description = "Library for Python to communicate with the Google Chromecast";
46 homepage = "https://github.com/home-assistant-libs/pychromecast";
47 changelog = "https://github.com/home-assistant-libs/pychromecast/releases/tag/${src.tag}";
48 license = licenses.mit;
49 maintainers = with maintainers; [ abbradar ];
50 platforms = platforms.unix;
51 };
52}