conflict between "portA +python33" and "portB +python33"

Mojca Miklavec mojca at
Mon Apr 7 13:23:03 PDT 2014

On Mon, Apr 7, 2014 at 3:52 PM, Mojca Miklavec wrote:
> On Mon, Apr 7, 2014 at 3:44 PM, Jeremy Lavergne wrote:
>> The active_variants PortGroup can be used this way:
>> active_variants $depspec $required $forbidden
>> That forbidden section is likely what you’re after, inside a variant block.

All good in theory.

In practice the port uses the cmake PortGroup which defines
"pre-configure" step and it seems that it overwrites the one from
active_variants, so adding
    require_active_variants portB "" +python33
doesn't have any effect at all.

So all I can do is the following:

if {[variant_isset python33]} {
    pre-fetch {
        if {[active_variants portB python33]} {
            ui_error "We have a problem ;)"
            return -code error "Port B is installed with +python33,
that's not compatible."


>> On Apr 7, 2014, at 9:24, Mojca Miklavec wrote:
>>> What is the most reasonable way to declare a conflict between "portA
>>> +pythonXY" and "portB +pythonXY"? The ports themeselves don't conflict
>>> and different python variants don't conflict either (portA +python33
>>> and portB +python34 works OK).
>>> The problem is that both ports install files with the same name to
>>> $prefix/Library/Frameworks/Python.framework/Versions/X.Y/lib/pythonX.Y/site-packages
>>> when the same python variant is selected for both ports.

More information about the macports-dev mailing list