at master 1.2 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 click, 7 pycountry-convert, 8 pycryptodome, 9 requests, 10 sleekxmppfs, 11 requests-mock, 12 pytestCheckHook, 13}: 14 15buildPythonPackage rec { 16 pname = "py-sucks"; 17 version = "0.9.11"; 18 pyproject = true; 19 20 src = fetchFromGitHub { 21 owner = "mib1185"; 22 repo = "py-sucks"; 23 tag = "v${version}"; 24 hash = "sha256-srj/3x04R9KgbdC6IgbQdgUz+srAx0OttB6Ndb2+Nh4="; 25 }; 26 27 build-system = [ setuptools ]; 28 29 dependencies = [ 30 pycryptodome 31 requests 32 sleekxmppfs 33 ]; 34 35 optional-dependencies = { 36 cli = [ 37 click 38 pycountry-convert 39 ]; 40 }; 41 42 pythonImportsCheck = [ "sucks" ]; 43 44 nativeCheckInputs = [ 45 requests-mock 46 pytestCheckHook 47 ] 48 ++ lib.flatten (lib.attrValues optional-dependencies); 49 50 disabledTests = [ 51 # assumes $HOME is at a specific place 52 "test_config_file_name" 53 ]; 54 55 meta = { 56 changelog = "https://github.com/mib1185/py-sucks/releases/tag/${src.tag}"; 57 description = "Library for controlling certain robot vacuums"; 58 homepage = "https://github.com/mib1185/py-sucks"; 59 license = lib.licenses.gpl3Only; 60 mainProgram = "sucks"; 61 maintainers = with lib.maintainers; [ dotlambda ]; 62 }; 63}