Issues handling Python 3.10 in portfiles

Christopher Chavez chrischavez at
Fri Sep 10 20:23:12 UTC 2021

Sent: Friday, September 10, 2021 at 1:53 PM
From: "Chris Jones" <jonesc at>
>> I corrected several examples already, but I doubt that I found all of them:

> Strictly speaking the fixes in the above link are still flawed, as they still make the assumption the major version will only either be a single digit. Yes, i concede we are some way from python 10.x…. But still a better fix i think is, if a port needs to hardcode a list of python versions, to do so with the dot(s), as then removing the dots to form the dotless strings has no ambiguity in it, unlike doing the reverse to add one in the correct place.

Arguably, Python 10 is even further away now, since the reason for releasing Python 4 (which van Rossum once favored) will no longer be to avoid releasing Python 3.10, 3.11, etc.

I have encountered a few different approaches (it’s easier to find other portfiles using the same approach than to find yet another approach). In some portfiles it is easy enough to incorporate the better approach of splitting version strings with "." rather than trying to insert the "." correctly. But for many other portfiles, this would require significantly more rearranging, so to avoid being invasive in those cases, I minimally adjusted them for Python 3.xx (and not Python 10.x). I’ve also left alone ports only using Python 2 and not Python 3, even though I’d prefer that their portfiles not set a bad example which someone might blindly copy from in the future.

Christopher A. Chavez

More information about the macports-dev mailing list