Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 687380

Summary: foo[bar?] should be equivalent to bar? (foo[bar]) !bar? (foo) but it is not ?
Product: Gentoo Linux Reporter: Tupone Alfredo <tupone>
Component: Current packagesAssignee: Portage team <dev-portage>
Status: RESOLVED INVALID    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Tupone Alfredo gentoo-dev 2019-06-04 18:51:38 UTC
The problem is raised with dev-ada/gnatcoll-core-2018-r1 depending from 
dev-ada/gprbuild[gnat_2016?,gnat_2017?]

The last version of dev-ada/gprbuild does not have the gnat_2016 flag so it is not taken into account

I changed the gnatcoll-core dependency to 

dev-ada/gprbuild
gnat_2016? ( dev-ada/gprbuild[gnat_2016] )

and in this case it is.

Reproducible: Always
Comment 1 Zac Medico gentoo-dev 2019-06-04 19:03:51 UTC
You need to use (+) or (-) if the flag is not in IUSE of the target package, see https://dev.gentoo.org/~ulm/pms/head/pms.html#x1-830008.3.4:

> Unless a 4-style default is specified, it is an error for a use dependency to
> be applied to an ebuild which does not have the flag in question in
> IUSE_REFERENCEABLE