1{ lib
2, async-timeout
3, buildPythonPackage
4, fetchFromGitHub
5, fetchpatch
6, pillow
7, pytest-asyncio
8, pytestCheckHook
9, pythonOlder
10, setuptools
11, wheel
12}:
13
14buildPythonPackage rec {
15 pname = "aioslimproto";
16 version = "2.3.3";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.10";
20
21 src = fetchFromGitHub {
22 owner = "home-assistant-libs";
23 repo = pname;
24 rev = "refs/tags/${version}";
25 hash = "sha256-d+PEzCF1Cw/7NmumxIRRlr3hojpNsZM/JMQ0KWdosXk=";
26 };
27
28 patches = [
29 # https://github.com/home-assistant-libs/aioslimproto/pull/189
30 (fetchpatch {
31 name = "unpin-setuptools-version.patch";
32 url = "https://github.com/home-assistant-libs/aioslimproto/commit/06fd56987be8903ff147bad38af84b21bc31bc18.patch";
33 hash = "sha256-kTu1+IwDrcdqelyK/vfhxw8MQBis5I1jag7YTytKQhs=";
34 })
35 ];
36
37 nativeBuildInputs = [
38 setuptools
39 wheel
40 ];
41
42 propagatedBuildInputs = [
43 async-timeout
44 pillow
45 ];
46
47 nativeCheckInputs = [
48 pytest-asyncio
49 pytestCheckHook
50 ];
51
52 pythonImportsCheck = [
53 "aioslimproto"
54 ];
55
56 meta = with lib; {
57 description = "Module to control Squeezebox players";
58 homepage = "https://github.com/home-assistant-libs/aioslimproto";
59 changelog = "https://github.com/home-assistant-libs/aioslimproto/releases/tag/${version}";
60 license = with licenses; [ asl20 ];
61 maintainers = with maintainers; [ fab ];
62 };
63}