checking for variant behaviour

Ryan Schmidt ryandesign at macports.org
Fri Aug 8 20:53:59 PDT 2014


On Aug 8, 2014, at 5:54 PM, Mark Brethen wrote:

> I've experienced a catch-22 with port variant dependencies. The FreeCAD port I'm working on checks for the 'aqua' variant of Coin and Soqt. I did not list a dependency on those ports since they would install without the variant by default if the user did not install those ports manually beforehand. However I noticed the following in Frank's log:
> 
> :debug:archivefetch Ignoring active_variants requirement for Coin because archivefetch-type install only considers depends_lib depends_run and those do not contain Coin
> :debug:archivefetch Ignoring active_variants requirement for Soqt because archivefetch-type install only considers depends_lib depends_run and those do not contain Soqt
> 
> In other words the variant check is disabled because there isn't a lib or run dependency on those ports. How do I get around this?

The use of require_active_variants is supposed to be in addition to adding the dependency the normal way. Also the capitalization of "SoQt" should be corrected. I was going to point these issues out to you in your freecad ticket but forgot. But I made those changes in my local copy.

SoQt's non-aqua option seems useless to me, since it depends on the ancient qt4-x11 port, which has not built successfully in years (see tickets). You should just remove the aqua variant and make the port always do what the aqua variant was doing.

Coin's aqua variant is problematic because it completely changes where are installed. There should instead be a Coin-framework subport which installs the framework version and the main Coin port can install just the non-framework version. Then ports like SoQt that need the framework version can depend on it by name.



More information about the macports-dev mailing list