1{
2 lib,
3 buildPythonPackage,
4 defusedxml,
5 fetchFromGitHub,
6 protobuf,
7 pycryptodomex,
8 pyogg,
9 pythonOlder,
10 requests,
11 setuptools,
12 websocket-client,
13 zeroconf,
14}:
15
16buildPythonPackage rec {
17 pname = "librespot";
18 version = "0.0.9";
19 pyproject = true;
20
21 disabled = pythonOlder "3.10";
22
23 src = fetchFromGitHub {
24 owner = "kokarare1212";
25 repo = "librespot-python";
26 tag = "v${version}";
27 hash = "sha256-k9qVsxjRlUZ7vCBx00quiAR7S+YkfyoZiAKVnOOG4xM=";
28 };
29
30 env.PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION = "python";
31
32 pythonRelaxDeps = true;
33
34 build-system = [ setuptools ];
35
36 dependencies = [
37 defusedxml
38 protobuf
39 pycryptodomex
40 pyogg
41 requests
42 websocket-client
43 zeroconf
44 ];
45
46 # Doesn't include any tests
47 doCheck = false;
48
49 pythonImportsCheck = [ "librespot" ];
50
51 meta = with lib; {
52 description = "Open Source Spotify Client";
53 homepage = "https://github.com/kokarare1212/librespot-python";
54 changelog = "https://github.com/kokarare1212/librespot-python/releases/tag/v${version}";
55 license = licenses.asl20;
56 maintainers = with maintainers; [ onny ];
57 };
58}