While the rule of thumb has been if an eclass needs something it should provide it's own depends. However the virtualx eclass needs to be different simply because in some cases it's only uses for tests (this is it's most common usage in the whole) tree. When it's used for tests pulling in the xorg-server the most ideal situation would be if xorg-server was only pulled in on USE=test because currently for anyone emerging an app that uses GTK+ they have a weird situation in the fact that all of GTK+'s depends that have USE=X use it to mean libX11 (as do most usages of the X USE flag), however GTK+ itself due to it's usage of the virtualx eclass pulls in xorg-server when USE=X, which is only used for tests. This results in a confusing experience for users looking to built a headless machine.
It'd be a lot more consistent if ebuilds provided a USE flag or directly depended on the xorg-server and then used the functions in the eclass. So in summary, those are the changes I plan on making very shortly. If someone's got some input, please speak up. -- Doug Goldstein
