Currently, tetex.eclass causes ptex, tetex and cstetex to block themselves. Although Portage currently ignores this, it would probably be better to check ${PN} in the eclass and avoid setting self blocks.
the tetex.eclass contains: DEPEND="!app-text/tetex !app-text/ptex !app-text/cstetex ..." because it is inherited (indirectly) by tetex, ptex, cstetex and each of them must exclude the others. So the above should be replaced by: if [[ "${PN}" = "tetex" ]] ; then DEPEND="!app-text/ptex !app-text/cstetex" fi and similar for ptex and cstetex. That is the correct way of doing it, right? If it is I'll fix it tonight (CET).
Yes, that looks fine. It's not a hugely urgent issue, since Portage currently ignores these, but it's something that would be nice to get right. Cheers.
Fixed in CVS.