when emerging licq, emerge wants to install kdelibs, kde-env, arts as dependencies, however the useflag is set to "-kde -arts" emerge -pv licq says: Calculating dependencies ...done! [ebuild N ] kde-base/kde-env-3-r2 [ebuild N ] kde-base/arts-1.1.2 +alsa +oggvorbis -artswrappersuid [ebuild N ] kde-base/kdelibs-3.1.2-r1 +alsa +cups -ipv6 +ssl [ebuild R ] net-im/licq-1.2.7 +ssl -socks5 +qt -kde +ncurses in licq-1.2.7.ebuild is says: inherit kde-base need-kde 3.0 [...] # we can't have conditional dependencies so "use kde && inherit kde-base" # won't work -- messes up dep caching. # need-kde and their eclass friends inject things into DEPEND. But we only # want them enabled if the kde USE flag is set. We get around this in the # following dep lines: RDEPEND="kde? ( ${DEPEND} )" DEPEND="kde? ( ${DEPEND} ) ssl? ( >=dev-libs/openssl-0.9.6 ) qt? ( >=x11-libs/qt-3.0.0 ) ncurses? ( sys-libs/ncurses )" [...] so, the kde dependencies should only be installed, if the useflag is set. however, every time i do an "emerge -pv licq", i get the output described above. the kde-useflag has no effect on this ebuild.
OK, I think the line DEPEND="kde? ( ${DEPEND} ) is supposed to read DEPEND="kde? ( ${RDEPEND} ). After that change my output is as expected: licq > USE="-kde -mad" emerge -vp licq These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] kde-base/kde-env-3-r2 [ebuild N ] net-im/licq-1.2.7 +ssl -socks5 -qt -kde +ncurses ------------------------------ licq > USE="kde -mad" emerge -vp licq These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] x11-libs/qt-3.1.2-r4 -cups -nas -postgres +opengl +mysql -odbc +gif -debug [ebuild N ] kde-base/kde-env-3-r2 [ebuild N ] kde-base/arts-1.1.3 -alsa -oggvorbis -artswrappersuid -mad [ebuild N ] kde-base/kdelibs-3.1.3-r1 -alsa -cups -ipv6 +ssl [ebuild N ] net-im/licq-1.2.7 +ssl -socks5 -qt +kde +ncurses
licq doesn't require kde at all, does it? Could we just completely get rid of kde stuff in the ebuild?
I think it is a KDE app in some way, as all kde apps depend on kde-env, however it can use different frontends so its not dependant on Qt etc...
However previous ebuilds didn't require any kde stuff and it worked... so why this one does?
Okay, here's an idea to test: remove the inherit kde-base and need-kde 3.0 lines from the top of the ebuild and change the dependency lines to: RDEPEND="kde ? ( >=kde-base/kdelibs-3.0)" DEPEND="kde ? ( >=kde-base/kdelibs-3.0) ... and see if that fixes your dependency problem.
this works...
ok, fixed in portage.