# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=hatchling PYTHON_COMPAT=( python3_{12..14} ) inherit distutils-r1 DESCRIPTION="Python Command-Line Ghidra MCP" HOMEPAGE="https://pypi.org/project/pyghidra-mcp/" # mcp-2 support merged to main but not yet released as a new tag # https://github.com/clearbluejar/pyghidra-mcp/pull/105 EGIT_COMMIT="42d8f80551a765441b1a723f6f1ff45aa3914d5e" SRC_URI="https://github.com/clearbluejar/pyghidra-mcp/archive/${EGIT_COMMIT}.tar.gz -> ${P}.gh.tar.gz" S="${WORKDIR}/pyghidra-mcp-${EGIT_COMMIT}" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64" IUSE="test" RESTRICT="!test? ( test )" RDEPEND=" >=dev-python/chromadb-1.3.5[${PYTHON_USEDEP}] >=dev-python/click-8.2.1[${PYTHON_USEDEP}] >=dev-python/click-option-group-0.5.9[${PYTHON_USEDEP}] >=dev-python/mcp-2.0.0[cli,${PYTHON_USEDEP}] >=dev-python/pyghidra-2.2.1[${PYTHON_USEDEP}] >=dev-python/ghidrecomp-0.5.8[${PYTHON_USEDEP}] " BDEPEND=" ${RDEPEND} test? ( >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] dev-python/aiohttp[${PYTHON_USEDEP}] ) " EPYTEST_PLUGINS=( pytest-asyncio ) EPYTEST_IGNORE=( cli ) EPYTEST_DESELECT=( # need dependency 'tests/unit/test_code_index_completion.py::test_incomplete_collection_is_deleted_and_rebuilt' 'tests/unit/test_code_index_completion.py::test_complete_collection_is_reused' # should a warning (can't find ghidra_dir) 'tests/unit/test_gui_launcher.py::test_request_shutdown_closes_frontend_tool' 'tests/unit/test_gui_launcher.py::test_launcher_accepts_user_agreement_vmarg' 'tests/unit/test_gui_launcher.py::test_request_shutdown_is_idempotent' ) distutils_enable_tests pytest