1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pulsectl,
6 pythonOlder,
7 setuptools,
8}:
9
10buildPythonPackage rec {
11 pname = "pulsectl-asyncio";
12 version = "1.2.2";
13 pyproject = true;
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchFromGitHub {
18 owner = "mhthies";
19 repo = "pulsectl-asyncio";
20 tag = "v${version}";
21 hash = "sha256-lHVLrkFdNM8Y4t6TcXYnX8sQ4COrW3vV2sTDWeI4xZU=";
22 };
23
24 postPatch = ''
25 substituteInPlace setup.cfg --replace-fail "pulsectl >=23.5.0,<=24.11.0" "pulsectl >=23.5.0"
26 '';
27
28 build-system = [ setuptools ];
29
30 dependencies = [ pulsectl ];
31
32 # Tests require a running pulseaudio instance
33 doCheck = false;
34
35 pythonImportsCheck = [ "pulsectl_asyncio" ];
36
37 meta = with lib; {
38 description = "Python bindings library for PulseAudio";
39 homepage = "https://github.com/mhthies/pulsectl-asyncio";
40 changelog = "https://github.com/mhthies/pulsectl-asyncio/releases/tag/v${version}";
41 license = licenses.mit;
42 maintainers = with maintainers; [ fab ];
43 };
44}