emerge unmerge xorg-x11
USE="-glx" emerge =xorg-x11-6.8.0-r2
It it's also stupid do disable pam if x is not installed. If you want to avoid circular deps, check if pam is installed (e.g. with test -e /usr/lib/libpam.so) , if it is not, you could disable pam. But not if x is not installed. This makes no sense at all.
And for the kernel-version check, I would suggest to include a make include/linux/version.h in the kernel-2.eclass. This would make sure, that version.h allways exist. The message in kernel-2.eclass "make dep" could also be change to "make include/linux/version.h" (ok, this would be something for another bug, but I'm lazy).
Steps to Reproduce:
xv needs glx, that's interesting and good to know. I'll add some logic for that.
As for the pam, that can be done. The problem is that on `emerge system` everything gets pulled in at once ... so what we'll need to do is if USE=pam, then if libpam doesn't exist, ignore USE=pam and print some message but continue with the compile so that `emerge system` doesn't fail. I'd really like to add pam back into the dependencies, dependent on USE=pam, but that recreates the circular dep.
Oh, yeah. Please file a new bug on the kernel-2.eclass thing. I don't deal with that.
xv shouldn't depend on glx, i'll take a look at that upstream.
I've added a temporary dep of opengl for xv, pending a fix.
It seems that the xv-opengl interdependency runs both ways (see bug #76936).
The xv-gl interdependency is an upstream problem -- ajax is aware of it.
The pam problem shouldn't have been filed in the same bug in the first place, and there isn't really a better fix because of the way this works. But if anyone is interested in pursuing it further, please file a new bug.
nvidia-glx provides glx so I could compile xorg-x11 without problems with the following settings:
pena betelgeuse # emerge -pv xorg-x11
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] x11-base/xorg-x11-6.8.2 -3dfx -3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc +font-server -hardened -insecure-drivers -ipv6 -minimal +mmx -nls -opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc) -xprint +xv 0 kB
The ebuild should not fail if there is already some kind of glx installed. I just removed the check from check_use_combos() and it works.
If you attach a patch, I'll be happy to consider it.
Created attachment 51214 [details, diff]
patch against 6.8.2 ebuild
It seems to work. I did emerge -C xorg-x11 and USE="-opengl xv" emerge xorg-x11
without problems. I had nvidia-glx installed all the time. Probably needs some
logic for people without nvidia. The main thing is that with this patch one can
install xorg-x11 with USE="-opengl xv". The old check could have some added
logic so that it isn't checked if nvidia-glx is installed. I will be looking
into this later, but better to submit this first patch now.
Heh .. when I said patch, I meant a patch to implement _all_ the functionality you want, not just a partial thing. And another note: almost everyone prefers unified diffs (diff -u).
Also, please make sure you can reproduce the broken compile by simply unmerging nvidia-glx and trying to USE="-opengl xv" emerge xorg-x11.