PEAR and Portage
PEAR packages are currently installed through a ebuilds that wrap around the PEAR installer. This would be well and fine if not for the fact that all channels are installed through dev-php/pear. In order to support packages from new channels such as pear.pdepend.org and pear.phpmd.org, dev-php/pear needs to be revision bumped. This is especially cumbersome for overlays and overlay maintainers run a high risk of colliding with other overlays by adding different channels.
My suggestion was originally to add the necessary channel in the PEAR package’s ebuild instead (see bug 322271), however, as noted in the bug, this would requires the system to be online at the time of install because pear channel-discover requires connectivity.
Fortunately, it is possible to add channels offline through pear channel-add if the channel.xml file is available locally. To me, it therefore seems reasonable to add channels through ebuilds.
E.g dev-php/pearchannel-pdepend would add pdepend’s channel.xml file and all ebuilds installing PEAR packages from this channel, e.g dev-php/PHP_Depend, would depend on dev-php/pearchannel-pdepend.
With this scheme, it should be much easier supporting any PEAR-based package regardless of channel.