Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 buildPythonPackage, 4 pythonOlder, 5 fetchFromGitHub, 6 setuptools, 7 netifaces, 8 pycryptodome, 9 pytest-asyncio, 10 pytestCheckHook, 11}: 12 13buildPythonPackage rec { 14 pname = "greeclimate"; 15 version = "2.1.0"; 16 pyproject = true; 17 18 disabled = pythonOlder "3.8"; 19 20 src = fetchFromGitHub { 21 owner = "cmroche"; 22 repo = "greeclimate"; 23 tag = "v${version}"; 24 hash = "sha256-SO7/uheAPVFZ1C2qrzP7jB88u6EH79f1+qMZIgHZaCE="; 25 }; 26 27 build-system = [ setuptools ]; 28 29 dependencies = [ 30 netifaces 31 pycryptodome 32 ]; 33 34 nativeCheckInputs = [ 35 pytest-asyncio 36 pytestCheckHook 37 ]; 38 39 disabledTests = [ 40 # OSError: [Errno 101] Network is unreachable 41 "test_get_device_info" 42 "test_device_bind" 43 "test_device_late_bind" 44 "test_update_properties" 45 "test_set_properties" 46 "test_uninitialized_properties" 47 "test_update_current_temp" 48 "test_send_temperature" 49 "test_enable_disable_sleep_mode" 50 "test_mismatch_temrec_farenheit" 51 "test_device_equality" 52 "test_issue_69_TemSen_40_should_not_set_firmware_v4" 53 "test_issue_87_quiet_should_set_2" 54 ]; 55 56 pythonImportsCheck = [ 57 "greeclimate" 58 "greeclimate.device" 59 "greeclimate.discovery" 60 "greeclimate.exceptions" 61 "greeclimate.network" 62 ]; 63 64 meta = with lib; { 65 description = "Discover, connect and control Gree based minisplit systems"; 66 homepage = "https://github.com/cmroche/greeclimate"; 67 changelog = "https://github.com/cmroche/greeclimate/blob/${src.rev}/CHANGELOG.md"; 68 license = licenses.gpl3Only; 69 maintainers = with maintainers; [ dotlambda ]; 70 }; 71}