# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_PEP517=uv-build PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 DESCRIPTION="Python tool to configure host network interfaces declaratively" HOMEPAGE="https://ifstate.net/" MY_PV="${PV/_/-}" SRC_URI="https://codeberg.org/routerkit/ifstate/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN}" LICENSE="GPL-3+" SLOT="0" KEYWORDS="~amd64" RDEPEND=" $(python_gen_cond_dep ' dev-python/jsonschema[${PYTHON_USEDEP}] dev-python/pygments[${PYTHON_USEDEP}] dev-python/pyroute2[${PYTHON_USEDEP}] dev-python/pyyaml[${PYTHON_USEDEP}] dev-python/setproctitle[${PYTHON_USEDEP}] ') " PATCHES=( "${FILESDIR}/${P}-ethtool-bool-options.patch" "${FILESDIR}/${P}-tun-default-mac.patch" "${FILESDIR}/${P}-altnames-del-crash.patch" "${FILESDIR}/${P}-address-dynamic-renew.patch" "${FILESDIR}/${P}-link-address-missing-link.patch" "${FILESDIR}/${P}-neighbour-state-filter.patch" "${FILESDIR}/${P}-clear-altnames.patch" "${FILESDIR}/${P}-merge-defaults.patch" "${FILESDIR}/${P}-link-state-ignore.patch" ) DOCS=( README.md CHANGELOG.md ) EPYTEST_PLUGINS=() distutils_enable_tests pytest python_test() { epytest -o addopts= src } python_install() { distutils-r1_python_install local sitedir="${D}$(python_get_sitedir)" rm -r "${sitedir}"/ifstate/tests "${sitedir}"/libifstate/{tests,parser/tests,conftest.py,__pycache__/conftest.*} || die } python_install_all() { distutils-r1_python_install_all newinitd "${FILESDIR}/${PN}.initd" "${PN}" keepdir /etc/ifstate }