[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