# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{12..15} ) inherit python-single-r1 shell-completion systemd tmpfiles DESCRIPTION="Multizone bidirectional nftables firewall" HOMEPAGE="https://github.com/FoobarOy/foomuuri https://foomuuri.foobar.fi/latest/" SRC_URI="https://github.com/FoobarOy/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-2+" SLOT="0" KEYWORDS="~amd64 ~arm64" IUSE="+dbus +http prometheus systemd xml" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND=" ${PYTHON_DEPS} >=net-firewall/nftables-1.0.0 virtual/tmpfiles dbus? ( sys-auth/polkit $(python_gen_cond_dep ' dev-python/dbus-python[${PYTHON_USEDEP}] dev-python/pygobject:3[${PYTHON_USEDEP}] ') ) http? ( $(python_gen_cond_dep 'dev-python/urllib3[${PYTHON_USEDEP}]') ) prometheus? ( $(python_gen_cond_dep 'dev-python/prometheus-client[${PYTHON_USEDEP}]') ) systemd? ( $(python_gen_cond_dep 'dev-python/python-systemd[${PYTHON_USEDEP}]') ) xml? ( $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]') ) " pkg_setup() { python-single-r1_pkg_setup } src_compile() { : } src_test() { emake -C test RUN="${EPYTHON}" test } src_install() { emake \ DESTDIR="${D}" \ BINDIR="${EPREFIX}/usr/sbin" \ SYSTEMD_SYSTEM_LOCATION="$(systemd_get_systemunitdir)" \ install python_fix_shebang "${ED}/usr/sbin/foomuuri" newbashcomp misc/foomuuri-bash-completion foomuuri insinto /etc/foomuuri newins "${FILESDIR}/foomuuri.conf" foomuuri.conf fperms 0600 /etc/foomuuri/foomuuri.conf newinitd "${FILESDIR}/foomuuri.initd" foomuuri keepdir /var/lib/foomuuri if ! use dbus; then rm \ "${D}$(systemd_get_systemunitdir)/foomuuri-dbus.service" \ "${ED}/usr/share/dbus-1/system.d/fi.foobar.Foomuuri-FirewallD.conf" \ "${ED}/usr/share/dbus-1/system.d/fi.foobar.Foomuuri1.conf" \ "${ED}/usr/share/foomuuri/dbus-firewalld.conf" \ "${ED}/usr/share/polkit-1/actions/fi.foobar.Foomuuri1.policy" || die fi # Runtime creation is handled by tmpfiles or the OpenRC service. rmdir "${ED}/run/foomuuri" "${ED}/run" || die if use prometheus; then emake -C prometheus \ DESTDIR="${D}" \ SYSTEMD_SYSTEM_LOCATION="$(systemd_get_systemunitdir)" \ install python_fix_shebang "${ED}/usr/bin/prometheus-foomuuri-exporter" else rm "${ED}/usr/share/man/man1/prometheus-foomuuri-exporter.1" || die fi dodoc CHANGELOG.md README.md } pkg_postinst() { tmpfiles_process foomuuri.conf }