On Mar 8, 2015, at 1:39 PM, René J.V. Bertin wrote:

> Can a port have variants that it doesn't "advertise"? In other words, what 
> happens if a portfile uses `variant_isset` to check whether or not a variant 
> has been selected, but doesn't contain (or contains a commented-out) 
> declaration for that variant?
> Am I right that everything still works normally and that the variant can thus 
> be installed if you know it exists? Or would that be purely by accident?
> 
> Context: the +exclusive variant of my co-installable qt4-mac port version. 
> I'm quite confident by now that it is no longer required, but see no point in 
> making it impossible to use just yet.

If a user requests a variant (e.g. "sudo port install someport +somevariant") 
-- regardless of whether that variant is declared in the port -- any code that 
uses variant_isset to determine if the variant is set (e.g. "if {[variant_isset 
somevariant]}") will be run. This is why, in portgroups that have to check if 
the universal variant is set, they also check if the universal variant actually 
exists, since in some ports it might not.

I do use some tricks in the minivmac port to hide the bootstrap variant, 
because the variant should only be used by the port maintainer, not by users.

_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to