.7z - 4 packages
.rar - 5 packages
.lha/.lzh - unused
.lzma - ~13 packages (I ran out of fingers ;-))
I think we could kill at least the first three, either removing them entirely in a future EAPI, or requesting use of unpacker.eclass via tree policy.
Why? My main argument is that at least the two middle formats are rather baroque and have non-free dependencies. In the rare occurrence of actually having to install an ebuild using one of those formats, I end up having to install additional programs while I already have other (apparently free) programs capable of unpacking them.
With those formats, I think unpacker.eclass is a better solution as it lets us easily adjust dependency lists and support alternative software.
Keeping .lzma is probably fine as I don't expect xz-utils to remove support for it anytime soon.
There is also .Z which is used by 18 packages, and is handled by gzip. I would suggest that we keep both .Z and .lzma.
No strong opinion about the other three.
As a matter of fact, the devmanual says that .rar must not be used:
".rar files must be repackaged locally into a .tar.bz2 file."
(In reply to Ulrich Müller from comment #2)
> As a matter of fact, the devmanual says that .rar must not be used:
> ".rar files must be repackaged locally into a .tar.bz2 file."
That's not going to work for mirror-restricted files though.