Using platforms in 2.8.0

Joshua Root jmr at macports.org
Tue Nov 1 00:54:50 UTC 2022


On 2022-11-1 11:45 , Nils Breunese wrote:
> Joshua Root <jmr at macports.org> wrote:
> 
>> On 2022-11-1 11:14 , Nils Breunese wrote:
>>> Joshua Root <jmr at macports.org> wrote:
>>>> There is another way that platforms can be used:
>>>>
>>>> platforms any
>>>> platforms {darwin any}
>>>>
>>>> The first one indicates that the port will install identical files no matter what platform it is built on, and will set the platform in the archive filename to "any_any". The second one indicates that the port will install identical files when built on any version of Darwin, but may install different files when built on other platforms, and sets the platform in the archive filename to "darwin_any" when on Darwin.
>>>>
>>>> These will usually only be applicable to noarch ports, though rare exceptions may exist. Ports that install only data files or scripts will often be able to use "any". Python scripts are an exception because Python uses a framework layout on Darwin only, so they will be "{darwin any}".
>>> So setting ‘platforms {darwin any}’ is not appropriate when a port installs identical files on any Darwin version, but does install different files based on arch?
>>
>> That would be uncommon but it is possible.
> 
> 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}

- Josh


More information about the macports-dev mailing list