{ lib, fetchFromGitHub, buildPythonPackage, setuptools, filelock, ghidra-bridge, jfx-bridge, networkx, platformdirs, prompt-toolkit, psutil, pycparser, pyhidra, toml, tqdm, ply, pytestCheckHook, writableTmpDirAsHomeHook, }: buildPythonPackage rec { pname = "libbs"; version = "2.16.4+dev"; pyproject = true; src = fetchFromGitHub { owner = "binsync"; repo = "libbs"; rev = "0ce5c351cc81c1a0120f763aeba584fdb9dc2820"; hash = "sha256-if27Tg5S0Esrw9xHi6nr+kDIw4OTz7yZ2256/4Kbkeo="; }; build-system = [ setuptools ]; dependencies = [ filelock ghidra-bridge jfx-bridge networkx platformdirs prompt-toolkit psutil pycparser pyhidra toml tqdm ply ]; nativeCheckInputs = [ pytestCheckHook writableTmpDirAsHomeHook ]; pythonImportsCheck = [ "libbs" ]; disabledTests = [ "test_change_watcher_plugin_cli" "test_ghidra_artifact_watchers" "TestHeadlessInterfaces" ]; disabledTestPaths = [ "tests/test_decompilers.py" "tests/test_remote_ghidra.py" ]; meta = { description = "Library for writing plugins in any decompiler: includes API lifting, common data formatting, and GUI abstraction"; homepage = "https://github.com/binsync/libbs"; changelog = "https://github.com/binsync/libbs/releases/tag/${src.tag}"; license = lib.licenses.bsd2; }; }