# Copyright 2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="readline(+)" DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 DESCRIPTION="An open-source exploitation framework dedicated to embedded devices" HOMEPAGE="https://github.com/threat9/routersploit/wiki" if [[ ${PV} == *9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/threat9/routersploit" else SRC_URI="https://github.com/threat9/routersploit/archive/v${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64 ~arm64 ~x86" fi LICENSE="BSD" SLOT="0" IUSE="doc" RDEPEND="${PYTHON_DEPS} dev-python/requests[${PYTHON_USEDEP}] dev-python/paramiko[${PYTHON_USEDEP}] dev-python/pysnmp[${PYTHON_USEDEP}] dev-python/pycryptodome[${PYTHON_USEDEP}] dev-python/bluepy[${PYTHON_USEDEP}]" DEPEND="${RDEPEND}" #BDEPEND="test? ( # dev-python/pytest[${PYTHON_USEDEP}] # dev-python/pytest-forked[${PYTHON_USEDEP}] # dev-python/pytest-xdist[${PYTHON_USEDEP}] # dev-python/flake8[${PYTHON_USEDEP}] # dev-python/threat9-test-bed[${PYTHON_USEDEP}] #)" # These tests are actual exploits/payloads and may required a vulnerable target RESTRICT="test" #EPYTEST_PLUGINS=( pytest-forked pytest-xdist ) #distutils_enable_tests pytest src_prepare() { # These tests are actual exploits/payloads and may required a vulnerable target rm -rf tests || die # use normal oldstyle names of exec files mv rsf.py rsf && sed -i \ -e "s/scripts=('rsf.py',),/scripts=('rsf',),/" \ setup.py || die eapply_user } #python_test() { # epytest -n16 tests/core/ tests/test_exploit_scenarios.py tests/test_module_info.py # epytest -n16 tests/exploits/ tests/creds/ tests/encoders/ tests/generic/ tests/payloads/ #}