{ lib, fetchPypi, fetchFromGitHub, buildPythonPackage, buildPythonApplication, hatchling, flask, httpx, pydantic, python-dotenv, poetry-core, filelock, gitpython, prompt-toolkit, pycparser, sortedcontainers, toml, tqdm, setuptools, pyside6, pytestCheckHook, pytest-qt, ply, wordfreq, ghidra-bridge, jfx-bridge, networkx, platformdirs, psutil, pyhidra, writableTmpDirAsHomeHook, }: let libbs_latest = buildPythonPackage rec { pname = "libbs"; version = "2.15.5+dev"; pyproject = true; src = fetchFromGitHub { owner = "binsync"; repo = "libbs"; rev = "c7f3b7e16a44affd446b392a89ed343d356885af"; hash = "sha256-AzsOok38JG2pjNzeWQVHhi9Iw266TAOxavQEDu+JcyQ="; }; 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" ]; }; binsync_latest = buildPythonPackage rec { pname = "binsync"; version = "5.5.1+dev"; pyproject = true; src = fetchFromGitHub { owner = "binsync"; repo = "binsync"; rev = "f46c576338a0cd74b8aeb46b09467ca3862d4e52"; hash = "sha256-C3i969oA+jHjFz9fWYuzJZ0pz1O4Wvi9QU8PjHnL1Kk="; }; build-system = [ setuptools ]; dependencies = [ libbs_latest filelock gitpython prompt-toolkit pycparser sortedcontainers toml tqdm ply wordfreq ]; optional-dependencies = { ghidra = [ pyside6 ]; }; nativeCheckInputs = [ pytestCheckHook pytest-qt pyside6 ]; disabledTestPaths = [ # Test tries to import angrmanagement "tests/test_angr_gui.py" ]; pythonImportsCheck = [ "binsync" ]; }; in binsync_latest