1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 requests, 6 websocket-client, 7 zeroconf, 8 pytestCheckHook, 9 setuptools, 10 pythonOlder, 11}: 12 13buildPythonPackage rec { 14 pname = "libsoundtouch"; 15 version = "0.8.0"; 16 pyproject = true; 17 18 disabled = pythonOlder "3.7"; 19 20 src = fetchFromGitHub { 21 owner = "CharlesBlonde"; 22 repo = "libsoundtouch"; 23 tag = version; 24 hash = "sha256-am8nHPdtKMh8ZA/jKgz2jnltpvgEga8/BjvP5nrhgvI="; 25 }; 26 27 postPatch = '' 28 substituteInPlace setup.py \ 29 --replace-fail "'enum-compat>=0.0.2'," "" 30 ''; 31 32 build-system = [ setuptools ]; 33 34 dependencies = [ 35 requests 36 websocket-client 37 zeroconf 38 ]; 39 40 nativeCheckInputs = [ pytestCheckHook ]; 41 42 disabledTests = [ 43 # mock data order mismatch 44 "test_select_content_item" 45 "test_snapshot_restore" 46 ]; 47 48 pythonImportsCheck = [ "libsoundtouch" ]; 49 50 meta = with lib; { 51 description = "Bose Soundtouch Python library"; 52 homepage = "https://github.com/CharlesBlonde/libsoundtouch"; 53 license = licenses.asl20; 54 maintainers = [ ]; 55 }; 56}