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.

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

Reply via email to