Files
Fabian Affolter 12da5015b0 python3Packages.ida-hcli: init at 0.18.1
CLI for IDA plugin management and configuration

https://github.com/HexRaysSA/ida-hcli
2026-06-03 16:40:57 +02:00

94 lines
1.8 KiB
Nix

{
lib,
buildPythonPackage,
click,
fetchFromGitHub,
httpx,
idapro,
nix-update-script,
packaging,
pexpect,
pip,
platformdirs,
pydantic,
pytest-asyncio,
pytest-httpx,
pytest-mock,
pytestCheckHook,
questionary,
rich-click,
rich,
semantic-version,
setuptools,
tenacity,
tomli,
writableTmpDirAsHomeHook,
}:
buildPythonPackage (finalAttrs: {
pname = "ida-hcli";
version = "0.18.1";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "HexRaysSA";
repo = "ida-hcli";
tag = "v${finalAttrs.version}";
hash = "sha256-p7nmibfasnkfvCDHp+luh3VYq7oZ843TfudN1Ce8mLY=";
};
build-system = [ setuptools ];
dependencies = [
click
httpx
idapro
packaging
pip
platformdirs
pydantic
questionary
rich
rich-click
semantic-version
tenacity
tomli
];
nativeCheckInputs = [
pexpect
pytest-asyncio
pytest-httpx
pytest-mock
pytestCheckHook
writableTmpDirAsHomeHook
];
pythonImportsCheck = [ "hcli" ];
disabledTestPaths = [
# Tests require IDA to be installed and configured
"tests/integration/"
"tests/lib/test_ida_python.py"
"tests/lib/test_ida.py"
"tests/lib/test_plugin_bundle_install.py"
"tests/lib/test_plugin_collisions.py"
"tests/lib/test_plugin_install.py"
"tests/lib/test_plugin_records.py"
"tests/lib/test_plugin_settings.py"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "CLI for IDA plugin management and configuration";
homepage = "https://github.com/HexRaysSA/ida-hcli";
changelog = "https://github.com/HexRaysSA/ida-hcli/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "hcli";
};
})