nixpkgs/pkgs/by-name/za/zabbix-cli/package.nix
2024-10-05 22:15:52 +02:00

75 lines
1.5 KiB
Nix

{
lib,
fetchFromGitHub,
python3Packages,
testers,
zabbix-cli,
}:
python3Packages.buildPythonApplication rec {
pname = "zabbix-cli";
version = "3.1.2";
pyproject = true;
src = fetchFromGitHub {
owner = "usit-gd";
repo = "zabbix-cli";
rev = "refs/tags/${version}";
hash = "sha256-It0SVbGNIxf2i4gleqVRAZCIks/Tf/WYSAgipOC+HwE=";
};
pythonRelaxDeps = [ "click-repl" ];
build-system = with python3Packages; [
hatchling
];
dependencies =
with python3Packages;
[
click-repl
httpx
httpx.optional-dependencies.socks
packaging
platformdirs
pydantic
requests
rich
strenum
tomli
tomli-w
typer
typing-extensions
]
++ lib.optionals (pythonOlder "3.10") [
importlib-metadata
];
nativeCheckInputs = with python3Packages; [
freezegun
inline-snapshot
pytestCheckHook
];
# Otherwise tests will fail to create directory
# Permission denied: '/homeless-shelter'
preCheck = ''
export HOME=$(mktemp -d)
'';
pythonImportsCheck = [ "zabbix_cli" ];
passthru.tests.version = testers.testVersion {
package = zabbix-cli;
command = "HOME=$(mktemp -d) zabbix-cli --version";
};
meta = with lib; {
description = "Command-line interface for Zabbix";
homepage = "https://github.com/unioslo/zabbix-cli";
license = licenses.gpl3Plus;
mainProgram = "zabbix-cli";
maintainers = [ maintainers.anthonyroussel ];
};
}