net-misc/pla-util
Utility for HomePlug AV2 power line adapters with Broadcom chipsets
ChangeLog
commit 891407deb9194460cf32c37674c21a4e7da88a34
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 4 02:04:11 2026 +0200
net-misc/pla-util: new package, add 2.1.3
A CLI for HomePlug AV2 power line adapters built on Broadcom SoCs
(BCM60333 / BCM60355 / BCM60500), written in Ada. Neither ::gentoo nor
::guru carries anything that manages HomePlug devices.
Built via gprbuild rather than the shipped Makefile. ada.eclass exports
GCC, GNATMAKE and GNATBIND but not GNATLINK, and the Makefile defaults
GNATLINK to a bare "gnatlink" that gcc-config never creates -- only the
slotted gnatlink-<v> exists. gprbuild drives compiler, binder and linker
itself, and is the route upstream documents for distribution packaging.
The non-obvious part is binding the GNAT runtime statically.
pla_util.gpr reads GNATBINDFLAGS from the environment and defaults it to
"-Es -shared". That suits openSUSE, where upstream develops and libgnat
sits in the system libdir. Here libgnat-<v>.so lives in
/usr/lib/gcc/$/<slot>/adalib/ while only the parent directory is
in ld.so.conf, and upstream deliberately ships neither RPATH nor RUNPATH
(CHANGELOG, 2.1.1). A shared bind therefore installs a binary that
cannot start at all:
error while loading shared libraries: libgnat-15.so
"-Es -static" leaves DT_NEEDED at libpcap, libc and the loader, and
frees the installed binary from the gcc slot that built it.
ADA_COMPAT is capped at gcc_ because dev-ada/gprbuild is; a
wider set makes the BDEPEND unsolvable. ADAFLAGS goes through -cargs so
that it lands after the project's hardcoded -O3 -gnatn and can override
it. LDFLAGS needs no equivalent -- the project already splices it in
from the environment.
FILECAPS sets cap_net_raw at merge time. Without it the tool works only
as root, which is why upstream's README ends with an instruction to run
filecap by hand.
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 4 02:04:11 2026 +0200
net-misc/pla-util: new package, add 2.1.3
A CLI for HomePlug AV2 power line adapters built on Broadcom SoCs
(BCM60333 / BCM60355 / BCM60500), written in Ada. Neither ::gentoo nor
::guru carries anything that manages HomePlug devices.
Built via gprbuild rather than the shipped Makefile. ada.eclass exports
GCC, GNATMAKE and GNATBIND but not GNATLINK, and the Makefile defaults
GNATLINK to a bare "gnatlink" that gcc-config never creates -- only the
slotted gnatlink-<v> exists. gprbuild drives compiler, binder and linker
itself, and is the route upstream documents for distribution packaging.
The non-obvious part is binding the GNAT runtime statically.
pla_util.gpr reads GNATBINDFLAGS from the environment and defaults it to
"-Es -shared". That suits openSUSE, where upstream develops and libgnat
sits in the system libdir. Here libgnat-<v>.so lives in
/usr/lib/gcc/$/<slot>/adalib/ while only the parent directory is
in ld.so.conf, and upstream deliberately ships neither RPATH nor RUNPATH
(CHANGELOG, 2.1.1). A shared bind therefore installs a binary that
cannot start at all:
error while loading shared libraries: libgnat-15.so
"-Es -static" leaves DT_NEEDED at libpcap, libc and the loader, and
frees the installed binary from the gcc slot that built it.
ADA_COMPAT is capped at gcc_ because dev-ada/gprbuild is; a
wider set makes the BDEPEND unsolvable. ADAFLAGS goes through -cargs so
that it lands after the project's hardcoded -O3 -gnatn and can override
it. LDFLAGS needs no equivalent -- the project already splices it in
from the environment.
FILECAPS sets cap_net_raw at merge time. Without it the tool works only
as root, which is why upstream's README ends with an instruction to run
filecap by hand.


View
Download
Browse