[MacPorts] #71918: Unexpected results with platforms syntax for multiple ranges of OS versions
MacPorts
noreply at macports.org
Fri Jan 24 16:11:37 UTC 2025
#71918: Unexpected results with platforms syntax for multiple ranges of OS versions
-------------------------+--------------------
Reporter: ryandesign | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: base | Version: 2.10.5
Resolution: | Keywords:
Port: |
-------------------------+--------------------
Comment (by jmroot):
Replying to [comment:4 ryandesign]:
> This appears to go back to the discussion from when this feature was
implemented in #15712 where it was debated whether we should be specifying
platforms on which the port does work or those on which it does not work.
The developer-facing API to this feature purports to offer the former
whereas the implementation under the hood appears to store this
information as the latter, with the aforementioned unexpected results.
When I write `{darwin < 11}` I intend to communicate "this works on Darwin
less than 11" but it is actually interpreted as "this doesn't work on
Darwin 11 or later" which was unexpected.
Those two statements are logically equivalent (at least if "works" and
"doesn't work" are the only possibilities). It doesn't really matter which
way round it is expressed; if we had an `unsupported_platforms` option
that worked the same way but opposite then something like
`unsupported_platforms {darwin < 9 >= 18}` would have a similar problem.
IIUC you expected to be defining intervals and thus for the order to be
significant, but it is actually just a list of constraints. `{darwin < 20
>= 10}` means the same thing as `{darwin >= 10 < 20}`, which is "works on
darwin versions that are both less than 20 and greater than or equal to
10."
--
Ticket URL: <https://trac.macports.org/ticket/71918#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list