The USEFLAGs ipod and iphone are a little bit confusing in the current clementine ebuild. It seems ipod useflag enables libgpod library support and iphone useflag enables libimobiledevice library support for clementine. However, if you enable iphone and not ipod useflags, libimobiledevice is not configured for the clementine ebuild. Moreover, the iphone useflag is a little bit confusing: libimobiledevice library can access to all all of Apple iOS devices (currently iPad, iPod Touch and iPhone), not only the iPhone. So, if you have an Apple iPod Touch, you could think the right useflag is ipod and not iphone. Reproducible: Always Steps to Reproduce: 1. USEFLAG="-ipod iphone" 2. emerge clementine 3. libimobiledevice library not configured for clementine Expected Results: -> USEFLAG = "ipod-classic ios" -> ios useflag not depend on ipod-classic (ligpod is not needed for libimobiledevices library)
USE="-ipod iphone" behaviour is correct: 'ebuild /usr/portage/media-sound/clementine/clementine-0.5.3.ebuild prepare && grep -i -e gpod -e imobile /var/tmp/portage/media-sound/clementine-0.5.3/work/clementine-0.5.3/CMakeLists.txt': ... if(ENABLE_IMOBILEDEVICE AND IMOBILEDEVICE_FOUND AND PLIST_FOUND AND HAVE_LIBGPOD AND USBMUXD_FOUND) set(HAVE_IMOBILEDEVICE ON) endif(ENABLE_IMOBILEDEVICE AND IMOBILEDEVICE_FOUND AND PLIST_FOUND AND HAVE_LIBGPOD AND USBMUXD_FOUND) ... 'ipod' is global USE flag for enabling libgpod support, 'iphone' is used in gnome-base/gvfs and media-libs/libgpod for enabling app-pda/libimobiledevice, no reason for breaking traditions. Also 'iphone' is described in metadata.xml.
>> Also 'iphone' is described in metadata.xml. Yes, but the name is confuse anyway. The use flag should be called "libimobiledevice" or "ios" but not "iphone" because the iPhone is just one of the Apple iOS devices supported by the libimobiledevice.
This should be sorted now: libimobiledevice -> USE="ios" libgpod -> USE="ipod" Please reopen if I missed something