Question about `platforms` and `${os.platform}`
Ryan Schmidt
ryandesign at macports.org
Mon Dec 13 19:26:04 UTC 2021
On Dec 11, 2021, at 18:42, Jason Liu wrote:
> On Sat, Dec 11, 2021 at 5:46 PM Ryan Schmidt wrote:
>> I wouldn't expect you to need to write more than a couple such conditionals in a portfile so I wouldn't expect it to be that inconvenient.
>
> Actually, I find myself needing to use them more and more. For example, I now often have to check for macOS < 10.12, due to the large overhaul that happened in AppKit between 10.11 and 10.12. My workarounds for older versions of macOS are contained inside those `if {${os.major} <= 15}` conditionals.
Ok, so that's one conditional.
If you need multiple different Darwin os.major conditionals, you could:
platform darwin {
if {${os.major} <= 15} {
# something
}
if {${os.major} <= 19} {
# something
}
}
Before you mentioned the AppKit overhaul some time ago and started addressing it in your ports, I had never heard of it and I don't think anyone else's ports do anything about it. So either we have a lot of broken ports due to this problem that we're not aware of, or for some reason it uniquely affects the ports you maintain...
>> Josh did recently commit "darwin" as a default for platforms, so it is no longer mandatory to explicitly put a platforms line in each portfile.
>
> Does this mean that we can start removing `platforms darwin` from our portfiles? Or is it one of those "despite the fact that it's a default, you have to put it in the file anyway"?
I have seen many recent commits in which the "platforms darwin" line is silently being removed while other changes are being made, so sure, that's fine.
More information about the macports-dev
mailing list