net-misc/ifstate - 2.5.0 (vklimovs)

Search

Install

Install this version:

emerge -a =net-misc/ifstate-2.5.0

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =net-misc/ifstate-2.5.0

Or alternatively:

emerge --autounmask-write -a =net-misc/ifstate-2.5.0

Package Information

Description:
Python tool to configure host network interfaces declaratively
Homepage:
https://ifstate.net/
License:
GPL-3+

Ebuild Details

Version EAPI Keywords Slot
2.5.0 8 ~amd64 0
View Raw Ebuild
# 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
}

Inherited Eclasses

Dependencies

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}]
	')

Manifest for 2.5.0

Type File Size Source URLs
DIST ifstate-2.5.0.tar.gz 224590 bytes https://codeberg.org/routerkit/ifstate/archive/2.5.0.tar.gz