Using platforms in 2.8.0

Nils Breunese nils at
Tue Nov 1 02:52:05 UTC 2022

Joshua Root <jmr at> wrote:

> On 2022-11-1 13:31 , Nils Breunese wrote:
>> Joshua Root <jmr at> wrote:
>>> On 2022-11-1 11:45 , Nils Breunese wrote:
>>>> So when a port installs one pre-built binary on x86_64 and another on arm64, regardless of OS version, setting 'platforms {darwin any}’ would be appropriate and correct?
>>> Sure. Unless the x86_64 binary was built targeting 10.5 though, you probably also need to restrict the versions. E.g. if the binary works on 10.12 and later:
>>> platforms {darwin any} {darwin >= 16}
>> Should that be ‘platforms {darwin >= 16}’? If not, I don’t really understand the syntax above yet.
> The {darwin any} is what makes a single binary archive shared between all OS versions possible. Without it, separate archives for darwin_16, darwin_17, and so on would be built.
> Being able to say {darwin any >= 16} might be clearer, but unfortunately that isn't accepted currently.

The fact that ‘any’ is not about which versions are supported, but about the fact that the resulting archive is identical for all supported versions was confusing me when reading that syntax, but I got it now. I also didn’t get from the documentation yet that '{darwin any}' and a version range check like '{darwin >= 16}' could be combined like that, but that’s good to know.

Thanks, Nils.

More information about the macports-dev mailing list