net-misc/dhcpcd-ui-0.7.4 cannot be compiled without all of qt4, gtk and gtk3. $ USE='-gtk -qt4 -gtk3 -icons' emerge -pvt dhcpcd-ui These are the packages that would be merged, in reverse order: Calculating dependencies \ !!! Problem resolving dependencies for net-misc/dhcpcd-ui ... done! !!! The ebuild selected to satisfy "dhcpcd-ui" has unmet requirements. - net-misc/dhcpcd-ui-0.7.4::gentoo USE="-debug -gtk -gtk3 -icons -libnotify -qt4" ABI_X86="64" The following REQUIRED_USE flag constraints are unsatisfied: any-of ( gtk gtk3 qt4 ) The above constraints are a subset of the following complete expression: any-of ( gtk gtk3 qt4 ) gtk3? ( !gtk ) gtk? ( !gtk3 ) qt4? ( icons )
It should work fine installing only dhcpcd-online, I guess. Maybe the author intended: REQUIRED_USE="?? ( gtk gtk3 qt4 ) instead of REQUIRED_USE="|| ( gtk gtk3 qt4 )
Is there any need to compile an UI related package without an UI implementation? I guess there are some uses cases that would require this. However, it is too complicated to add that ability without too much hassle related to icons USE flag.
If there is a use case, we should try and satisfy it.
I have applied the following Index: dhcpcd-ui-0.7.4.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/net-misc/dhcpcd-ui/dhcpcd-ui-0.7.4.ebuild,v retrieving revision 1.3 diff -u -B -u -r1.3 dhcpcd-ui-0.7.4.ebuild --- dhcpcd-ui-0.7.4.ebuild 11 Nov 2014 17:51:31 -0000 1.3 +++ dhcpcd-ui-0.7.4.ebuild 12 Nov 2014 19:25:42 -0000 @@ -14,9 +14,9 @@ SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="debug gtk gtk3 +icons qt4 libnotify" -REQUIRED_USE="|| ( gtk gtk3 qt4 ) +REQUIRED_USE="?? ( gtk gtk3 qt4 ) gtk3? ( !gtk ) gtk? ( !gtk3 ) - qt4? ( icons )" + icons? ( || ( gtk gtk3 qt4 ) )" DEPEND="${DEPEND} virtual/libintl should be ok now. Thanks for the report + 12 Nov 2014; Markos Chandras <hwoarang@gentoo.org> dhcpcd-ui-0.7.4.ebuild: + Allow building without gtk/gtk3/qt4 in order to get only the dhcpcd-online + application. Fix icon restrictions. Bug #528904 +
Now it's possible compiling with gtk/qt4 without icons net-misc/dhcpcd-ui-0.7.4 USE="gtk -debug -gtk3 -icons -libnotify -qt4" 0 kB and also net-misc/dhcpcd-ui-0.7.4 USE="qt4 -debug -gtk -gtk3 -icons -libnotify" 0 kB IMHO the ui without icons makes no sense and should be prevented.
Remains the issue with -icons... which bring in a icon theme package. (This icons USE flag was added to help gtk users to not install unecessary icons (which are already installed) when icons theme are installed. I guess removing that dependency and installing unconditionaly the bundled icons when an UI implementation is enabled is an easy fix if you go that route.)
Almost forget this. If you remove 'qt4? ( icons )'... you should provide another means of installing the bundled icons in this case otherwise the qt applet won't function at all (bundled icons are required here).
ok i got rid of the icons useflag altogether. hopefully that will make your build script happy =================================================================== RCS file: /var/cvsroot/gentoo-x86/net-misc/dhcpcd-ui/dhcpcd-ui-0.7.4.ebuild,v retrieving revision 1.4 diff -u -B -u -r1.4 dhcpcd-ui-0.7.4.ebuild --- dhcpcd-ui-0.7.4.ebuild 12 Nov 2014 19:28:24 -0000 1.4 +++ dhcpcd-ui-0.7.4.ebuild 13 Nov 2014 17:06:49 -0000 @@ -13,10 +13,9 @@ LICENSE="BSD-2" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="debug gtk gtk3 +icons qt4 libnotify" +IUSE="debug gtk gtk3 qt4 libnotify" REQUIRED_USE="?? ( gtk gtk3 qt4 ) - gtk3? ( !gtk ) gtk? ( !gtk3 ) - icons? ( || ( gtk gtk3 qt4 ) )" + gtk3? ( !gtk ) gtk? ( !gtk3 )" DEPEND="${DEPEND} virtual/libintl @@ -29,8 +28,7 @@ gtk3? ( x11-libs/gtk+:3 ) qt4? ( dev-qt/qtgui:4 )" -RDEPEND=">=net-misc/dhcpcd-6.4.4 - !icons? ( x11-themes/hicolor-icon-theme )" +RDEPEND=">=net-misc/dhcpcd-6.4.4" src_prepare() { @@ -41,12 +39,12 @@ { local myeconfargs=( $(use_enable debug) - $(use_with icons) - $(usex gtk '--with-gtk=gtk+-2.0' '') - $(usex gtk3 '--with-gtk=gtk+-3.0' '') - $(use_with qt4 qt) + $(usex gtk '--with-gtk=gtk+-2.0 --with-icons' '') + $(usex gtk3 '--with-gtk=gtk+-3.0 --with-icons' '') + $(usex qt4 '--with-qt --with-icons' '') $(use_enable libnotify notification) $(use gtk || use gtk3 || echo '--without-gtk') + $(use gtk || use gtk3 || use qt4 || echo '--without-icons') ) econf "${myeconfargs[@]}" } Index: metadata.xml =================================================================== RCS file: /var/cvsroot/gentoo-x86/net-misc/dhcpcd-ui/metadata.xml,v retrieving revision 1.5 diff -u -B -u -r1.5 metadata.xml --- metadata.xml 9 Nov 2014 11:20:48 -0000 1.5 +++ metadata.xml 13 Nov 2014 17:06:49 -0000 @@ -10,7 +10,5 @@ <flag name="gtk3"> Add support for <pkg>x11-libs/gtk+</pkg> (The GIMP Toolkit) </flag> - <flag name="icons"> - Install bundled-in user interface icons</flag> </use> </pkgmetadata>
You could have avoided that `--with-icons' duplication with a single occurance with `$(use gtk || use gtk3 || echo '--without-gtk' && echo '--with-icons')'... Pretty good anyway with fewer lines and minus (an unecessary) dependency.