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