I'd hope that there's a way to robustly move from one variant to the other 
without the user having to engage with "port" to do so. I would hope that we 
can avoid forcing the user to explicitly deactivate one and activate the other 
variant.

I can think of a way to do this where we would end up with both variants for a 
while during the transition ... the end result might be a bit confusing to 
view/read when listing installed ports, but at least this way would avoid 
forcing the user to do anything more than update outdated ports.

We can add a variant that depends on another variant. Thus, for example, if we 
were moving from "+doc" to "+docs", we could do:
{{{
variant doc requires docs description "Deprecated variant; use 'docs' instead" 
{}

variant docs description ... { [actual stuff to do for this variant] }
}}}
thus if the port currently has +doc enabled then doing this technique should 
force +docs too. That said, this method would end up with "+doc +docs" for a 
while, which isn't desirable.

I don't know if, after say 6 months, we then remove the deprecated "+doc" 
whether any update will still contain the notation "+doc" or whether it would 
be removed. One can test this out easily, of course.

I'm sure that some of the MacPorts main developers know better than me the 
answers here. Hope this is useful! - MLD

On Sun, Apr 14, 2019, at 3:17 PM, Richard L. Hamilton wrote:
> How would that work with regard to "port upgrade" of installed ports?  
> Would (for those ports presently using the one chosen to be changed) 
> both be accepted for compatibility?  Or some other magic?  Or would 
> people end up having to explicitly deactivate the installed one, and 
> install the new version with suitably altered variant(s) requested?
> 
> Seems to me the latter would be a nuisance best avoided.

Reply via email to