Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, aiofiles 3, aiohttp 4, async-generator 5, buildPythonPackage 6, fetchFromGitHub 7, fetchpatch 8, pypubsub 9, pyserial 10, pyserial-asyncio 11, pytestCheckHook 12, pythonOlder 13, setuptools 14, voluptuous 15, wheel 16}: 17 18buildPythonPackage rec { 19 pname = "pyinsteon"; 20 version = "1.5.0"; 21 format = "pyproject"; 22 23 disabled = pythonOlder "3.8"; 24 25 src = fetchFromGitHub { 26 owner = pname; 27 repo = pname; 28 rev = "refs/tags/${version}"; 29 hash = "sha256-REm0E7+otqDypVslB5heHEaWA+q3Nh1O96gxFeCC3As="; 30 }; 31 32 patches = [ 33 # https://github.com/pyinsteon/pyinsteon/pull/361 34 (fetchpatch { 35 name = "relax-setuptools-dependency.patch"; 36 url = "https://github.com/pyinsteon/pyinsteon/commit/676bc5fff11b73a4c3fd189a6ac6d3de9ca21ae0.patch"; 37 hash = "sha256-kTu1+IwDrcdqelyK/vfhxw8MQBis5I1jag7YTytKQhs="; 38 }) 39 ]; 40 41 nativeBuildInputs = [ 42 setuptools 43 wheel 44 ]; 45 46 propagatedBuildInputs = [ 47 aiofiles 48 aiohttp 49 pypubsub 50 pyserial 51 pyserial-asyncio 52 voluptuous 53 ]; 54 55 nativeCheckInputs = [ 56 async-generator 57 pytestCheckHook 58 ]; 59 60 pythonImportsCheck = [ 61 "pyinsteon" 62 ]; 63 64 meta = with lib; { 65 description = "Python library to support Insteon home automation projects"; 66 longDescription = '' 67 This is a Python package to interface with an Insteon Modem. It has been 68 tested to work with most USB or RS-232 serial based devices such as the 69 2413U, 2412S, 2448A7 and Hub models 2242 and 2245. 70 ''; 71 homepage = "https://github.com/pyinsteon/pyinsteon"; 72 changelog = "https://github.com/pyinsteon/pyinsteon/releases/tag/${version}"; 73 license = with licenses; [ mit ]; 74 maintainers = with maintainers; [ fab ]; 75 }; 76}