Joshua Root <j...@macports.org> wrote:

> On 2022-10-22 21:56 , Kirill A. Korinsky wrote:
>> I'm asking is there a way to support specified arch inside platform block's 
>> condition. Like:
>> platform {aarch64}  {
>> ...
>> }
> 
> You can certainly do things like:
> 
> platform darwin arm {
> ...
> }

I wasn’t aware of this platform variants syntax 
(https://guide.macports.org/#reference.variants.platform) yet, so today I 
learned.

I maintain some ports that contain sections that look like this:

----
if {${configure.build_arch} eq "x86_64"} {
        distname                microsoft-jdk-${version}-macOS-x64
        checksums       rmd160  2fc1a89b2310905e0891bb2b1519c8df86998ab7 \
                                sha256  
22697e9bbf3135c0ef843e7f371fe563ea948c6d464dfc532a7995fe32aebb09 \
                                size            187094964
} elseif {${configure.build_arch} eq "arm64"} {
        distname                microsoft-jdk-${version}-macOS-aarch64
        checksums       rmd160  feb696c4ba65ea42b68bb578e5e2de7b41e56669 \
                                sha256  
c50a20ca8764a5aa54dc0a0cf681d891dadbdccc1051792806d797206d59ba34 \
                                size            184695872
}
----

I thought I’d replace such if-elseif sections with declarative platform variant 
blocks, but I noticed that the arch argument for the platform variant needs to 
be ‘arm’ instead of ‘arm64’:

----
platform darwin arm {
        distname                microsoft-jdk-${version}-macOS-aarch64
        checksums       rmd160  feb696c4ba65ea42b68bb578e5e2de7b41e56669 \
                                sha256  
c50a20ca8764a5aa54dc0a0cf681d891dadbdccc1051792806d797206d59ba34 \
                                size            184695872
}
----

Why is the arch value for a platform variant not the same as 
${configure.build_arch}? What are the valid values for the arch argument of a 
platform variant block? Can I use ‘platform darwin x86_64 { … }’ for the 64-bit 
Intel case or is that value also different from ${configure.build_arch}? I 
don’t have a x86_64 Mac I can use to test this myself.

Nils.

Reply via email to