Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 bitvector-for-humans, 4 buildPythonPackage, 5 fetchFromGitHub, 6 hidapi, 7 loguru, 8 poetry-core, 9 pyserial, 10 pytest-mock, 11 pytestCheckHook, 12 pythonOlder, 13 typer, 14 webcolors, 15}: 16 17buildPythonPackage rec { 18 pname = "busylight-for-humans"; 19 version = "0.33.3"; 20 pyproject = true; 21 22 disabled = pythonOlder "3.9"; 23 24 src = fetchFromGitHub { 25 owner = "JnyJny"; 26 repo = "busylight"; 27 tag = version; 28 hash = "sha256-0jmaVMN4wwqoO5wGMaV4kJefNUPOuJpWbsqHcZZ0Nh4="; 29 }; 30 31 build-system = [ poetry-core ]; 32 33 dependencies = [ 34 bitvector-for-humans 35 hidapi 36 loguru 37 pyserial 38 typer 39 webcolors 40 ]; 41 42 nativeCheckInputs = [ 43 pytestCheckHook 44 pytest-mock 45 ]; 46 47 disabledTestPaths = [ "tests/test_pydantic_models.py" ]; 48 49 pythonImportsCheck = [ "busylight" ]; 50 51 postInstall = '' 52 mkdir -p $out/lib/udev/rules.d 53 $out/bin/busylight udev-rules -o $out/lib/udev/rules.d/99-busylight.rules 54 ''; 55 56 meta = with lib; { 57 description = "Control USB connected presence lights from multiple vendors via the command-line or web API"; 58 homepage = "https://github.com/JnyJny/busylight"; 59 changelog = "https://github.com/JnyJny/busylight/releases/tag/${version}"; 60 license = licenses.asl20; 61 teams = [ teams.helsinki-systems ]; 62 mainProgram = "busylight"; 63 }; 64}