depends_run should ignore +/- universal?!

Joshua Root jmr at macports.org
Wed Jan 21 22:20:42 PST 2015


On 2015-1-22 05:13 , René J.V. Bertin wrote:
> Hi,
> 
> I'm reworking my freetype and fontconfig infinality variants. The freetype +infinality variant will have a runtime dependency freetype-infinality, a (sub)port that serves mostly to introduce the versioning information for the Infinality patches, but also installs a few text files. It is thus pointless to distinguish between universal and non-universal for that subport, because of its nature and because of the kind of dependency. It thus has "universal_variant no" in the subport definition block, but I left the muniversal PortGroup definition at the global level.
> Yet, when I try to build freetype +infinality+universal, port insists on installing freetype-infinality +universal.
> 
> WHen I hide the muniversal PortGroup declaration from the freetype-infinality subport, I get the error
> 
> Error: Cannot install freetype for the arch(s) 'i386 x86_64' because
> Error: its dependency freetype-infinality does not build for the required arch(s) by default
> Error: and does not have a universal variant.
> Error: Unable to execute port: architecture mismatch
> 
> Why is this?
> 
> R.

Just because a dep is only needed at runtime doesn't necessarily mean
its archs don't have to match. For example, some programs will use
dlopen to load a library and not require it to be present at build time.

In this case it sounds like you should perhaps mark freetype-infinality
as noarch.

- Josh


More information about the macports-dev mailing list