python3Packages.ida-hcli: init at 0.18.1

CLI for IDA plugin management and configuration

https://github.com/HexRaysSA/ida-hcli
This commit is contained in:
Fabian Affolter
2026-06-03 16:40:57 +02:00
parent 0c4de8f4ae
commit 12da5015b0
3 changed files with 96 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
{ python3Packages }: with python3Packages; toPythonApplication ida-hcli
@@ -0,0 +1,93 @@
{
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";
};
})
+2
View File
@@ -7495,6 +7495,8 @@ self: super: with self; {
ida-domain = callPackage ../development/python-modules/ida-domain { };
ida-hcli = callPackage ../development/python-modules/ida-hcli { };
idapro = callPackage ../development/python-modules/idapro { };
idasen = callPackage ../development/python-modules/idasen { };