Equivalent of +universal checking for other variants?

Joshua Root jmr at macports.org
Fri Jan 21 07:50:12 PST 2011


On 2011-1-22 01:42 , Michael Dickens wrote:
> The variant +universal seems to have a special status among variants: If +universal is specified for building then 'port' will check all dependencies to make sure they are already installed as +universal (or cannot be) and if not try to upgrade them to be so; 'port' will print an error message if it cannot accomplish this task.

That's incorrect. The check is for the dependencies having all of the
required archs, and it happens regardless of whether +universal has been
specified.

> This check / upgrade works quite well for this specific variant, and so I'm wondering if it can also be applied to other variants such as +debug, +x11, +quartz, and so forth.

Universal support should never have been implemented as a variant. It's
the wrong paradigm for selecting a set of archs.

Likewise, if you need to depend on it, it shouldn't be a variant.

I understand that there are properties that need to be uniform all the
way up the chain of dependents, like gtk+quartz. Making separate ports
is probably the best we can do for these at the moment. This is the
approach taken with python modules, which contrasts with the less
labour-intensive but fragile perl modules.

I've been planning to implement subports sometime, which would cut out
the code duplication in these cases.

Or, maybe someone can come up with a brand new way of looking at and
handling different ways of building the same source which propagate to
and determine compatibility with other code built against the resulting
library.

- Josh


More information about the macports-dev mailing list