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}