blob: 1a623dee85de1f6249f51f084cb887fdf166c6ac [file] [log] [blame]
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
AUTOTOOLS_AUTORECONF=true
inherit autotools systemd linux-info
DESCRIPTION="Distribute hardware interrupts across processors on a multiprocessor system"
HOMEPAGE="https://github.com/Irqbalance/irqbalance"
SRC_URI="https://github.com/Irqbalance/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="*"
IUSE="caps +numa selinux"
CDEPEND="
dev-libs/glib:2
sys-libs/ncurses:0=[unicode]
caps? ( sys-libs/libcap-ng )
numa? ( sys-process/numactl )
"
DEPEND="${CDEPEND}
virtual/pkgconfig
"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-irqbalance )
"
pkg_setup() {
CONFIG_CHECK="~PCI_MSI"
linux-info_pkg_setup
}
src_prepare() {
# Follow systemd policies
# https://wiki.gentoo.org/wiki/Project:Systemd/Ebuild_policy
sed \
-e 's/ $IRQBALANCE_ARGS//' \
-e '/EnvironmentFile/d' \
-i misc/irqbalance.service || die
default
eautoreconf
}
src_configure() {
local myeconfargs=(
$(use_with caps libcap-ng)
$(use_enable numa)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
newinitd "${FILESDIR}"/irqbalance.init.4 irqbalance
newconfd "${FILESDIR}"/irqbalance.confd-1 irqbalance
systemd_dounit misc/irqbalance.service
}