Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / arcam-fmj / default.nix
blobb78a7bfac16107b1ee898adfc002992d12fedab3
1 { lib
2 , buildPythonPackage
3 , pythonAtLeast
4 , pythonOlder
5 , fetchFromGitHub
6 , aiohttp
7 , attrs
8 , defusedxml
9 , pytest-aiohttp
10 , pytest-mock
11 , pytestCheckHook
14 buildPythonPackage rec {
15   pname = "arcam-fmj";
16   version = "1.4.0";
17   format = "setuptools";
19   disabled = pythonOlder "3.8";
21   src = fetchFromGitHub {
22     owner = "elupus";
23     repo = "arcam_fmj";
24     rev = "refs/tags/${version}";
25     hash = "sha256-/A3Fs0JyzW05L80CtI07Y/kTTrIC6yqubJfYO0kAEf0=";
26   };
28   propagatedBuildInputs = [
29     aiohttp
30     attrs
31     defusedxml
32   ];
34   nativeCheckInputs = [
35     pytest-aiohttp
36     pytest-mock
37     pytestCheckHook
38   ];
40   disabledTests = lib.optionals (pythonAtLeast "3.12") [
41     # stuck on EpollSelector.poll()
42     "test_power"
43     "test_multiple"
44     "test_invalid_command"
45     "test_state"
46     "test_silent_server_request"
47     "test_silent_server_disconnect"
48     "test_heartbeat"
49     "test_cancellation"
50   ];
52   pythonImportsCheck = [
53     "arcam.fmj"
54     "arcam.fmj.client"
55     "arcam.fmj.state"
56     "arcam.fmj.utils"
57   ];
59   meta = with lib; {
60     description = "Python library for speaking to Arcam receivers";
61     mainProgram = "arcam-fmj";
62     homepage = "https://github.com/elupus/arcam_fmj";
63     changelog = "https://github.com/elupus/arcam_fmj/releases/tag/${version}";
64     license = licenses.mit;
65     maintainers = with maintainers; [ dotlambda ];
66   };