mediawiki: 1.42.4 -> 1.43.0 (#369641)
[NixPkgs.git] / pkgs / by-name / za / zabbix-cli / package.nix
blob50935d6caa40439f38cbdcef63dd72006fdaeead
2   lib,
3   fetchFromGitHub,
4   python3Packages,
5   testers,
6   zabbix-cli,
7 }:
9 python3Packages.buildPythonApplication rec {
10   pname = "zabbix-cli";
11   version = "3.1.3";
12   pyproject = true;
14   src = fetchFromGitHub {
15     owner = "usit-gd";
16     repo = "zabbix-cli";
17     tag = version;
18     hash = "sha256-hvLtc6owEOD29Y1oC7EmOOFp9P8hWOuj9N7qhtqkpks=";
19   };
21   pythonRelaxDeps = [ "click-repl" ];
23   build-system = with python3Packages; [
24     hatchling
25   ];
27   dependencies =
28     with python3Packages;
29     [
30       click-repl
31       httpx
32       httpx.optional-dependencies.socks
33       packaging
34       platformdirs
35       pydantic
36       requests
37       rich
38       strenum
39       tomli
40       tomli-w
41       typer
42       typing-extensions
43     ]
44     ++ lib.optionals (pythonOlder "3.10") [
45       importlib-metadata
46     ];
48   nativeCheckInputs = with python3Packages; [
49     freezegun
50     inline-snapshot
51     pytestCheckHook
52   ];
54   # Otherwise tests will fail to create directory
55   # Permission denied: '/homeless-shelter'
56   preCheck = ''
57     export HOME=$(mktemp -d)
58   '';
60   pythonImportsCheck = [ "zabbix_cli" ];
62   passthru.tests.version = testers.testVersion {
63     package = zabbix-cli;
64     command = "HOME=$(mktemp -d) zabbix-cli --version";
65   };
67   meta = with lib; {
68     description = "Command-line interface for Zabbix";
69     homepage = "https://github.com/unioslo/zabbix-cli";
70     license = licenses.gpl3Plus;
71     mainProgram = "zabbix-cli";
72     maintainers = [ maintainers.anthonyroussel ];
73   };