On 2022-11-1 11:45 , Nils Breunese wrote:
Joshua Root <j...@macports.org> wrote:

On 2022-11-1 11:14 , Nils Breunese wrote:
Joshua Root <j...@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

Reply via email to