Install this version:
emerge -a =net-misc/pla-util-2.1.3
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =net-misc/pla-util-2.1.3
Or alternatively:
emerge --autounmask-write -a =net-misc/pla-util-2.1.3
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Match gprbuild's gcc slots so ADA_USEDEP remains solvable.
ADA_COMPAT=( gcc_{15..16} )
inherit ada fcaps multiprocessing shell-completion
DESCRIPTION="Utility for HomePlug AV2 power line adapters with Broadcom chipsets"
HOMEPAGE="https://github.com/serock/pla-util"
SRC_URI="https://github.com/serock/${PN}/archive/refs/tags/${PV}.tar.gz
-> ${P}.gh.tar.gz"
# Source SPDX headers and alire.toml specify GPL-3.0-or-later despite GitHub's
# GPL-3.0 label.
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
REQUIRED_USE="${ADA_REQUIRED_USE}"
# Static GNAT binding leaves only libpcap at runtime.
RDEPEND="net-libs/libpcap"
DEPEND="
${RDEPEND}
${ADA_DEPS}
"
BDEPEND="
${ADA_DEPS}
dev-ada/gprbuild[${ADA_USEDEP}]
"
# Raw Ethernet access needs cap_net_raw or root; apply upstream's recommended
# capability at merge time.
FILECAPS=( cap_net_raw usr/bin/${PN} )
# einstalldocs' default list matches a bare CHANGELOG, not CHANGELOG.md.
DOCS=( CHANGELOG.md README.md )
src_compile() {
# Upstream's shared GNAT bind cannot find Gentoo's slot-private libgnat and
# supplies no RPATH. Bind it statically while retaining -Es tracebacks.
# verified 2026-09-04 with gcc-15.3.1_p20260717[ada] and gprbuild-26.0.0
local -x GNATBINDFLAGS="-Es -static"
# The project consumes LDFLAGS directly. Pass ADAFLAGS via final -cargs so
# they override its later -O3 -gnatn. # verified 2026-09-04
gprbuild -p -P pla_util.gpr -j$(get_makeopts_jobs) \
-cargs ${ADAFLAGS} || die "gprbuild failed"
}
src_install() {
dobin bin/${PN}
dobashcomp completions/${PN}
einstalldocs
}
pkg_postinst() {
fcaps_pkg_postinst
if ! use filecaps; then
elog "USE=filecaps is off, so ${PN} carries no cap_net_raw capability"
elog "and has to be run as root. Otherwise it reports:"
elog " ${PN}: You don't have permission to capture on that device"
fi
}
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | pla-util-2.1.3.gh.tar.gz | 44767 bytes | https://github.com/serock/pla-util/archive/refs/tags/2.1.3.tar.gz |