Mojave and Macports

Ryan Schmidt ryandesign at macports.org
Fri Jan 14 06:11:45 UTC 2022


On Jan 13, 2022, at 22:33, chilli.namesake wrote:
> 
>> Sometimes we can work around these problems, with or without the developer's help, to get a port working again; other times we can't.
> 
> Your explanation is accurate, and though I realize it is easier said than done, this shouldn't happen. It is a deficiency and I don't know that it can be solved, but I wish it were so that if a port builds, it will always build – that package management should be aware of what system version it is running on and at some point cut off that system version from current releases so it can only grab ports that are known run on that system, or the last known port version that works. A package manager shouldn't break the older systems no matter what changes or advances are made. It should "know" and not attempt builds that can never successfully compile.
> 
> Again, I realize this is a tricky specification to tack on 20 years later, esp. because ports wasn't designed with this spec and MacPorts is based on ports. But I think it would be a worthy achievement if someone can figure out a clever way to do it that does not place extraordinary burden the developers.

I can appreciate that perspective, but as you know that's not how MacPorts works in general, though it is possible for individual ports to be designed this way, to an extent.

We do not have separate ports trees for each OS version. MacPorts base could easily accommodate it, the problem is just that we already do not have nearly enough contributors to keep our one ports tree up to date and working, so we certainly do not have the time to maintain separate ports trees for each OS version.

For some ports, the maintainers do go to the effort of keeping old versions for old OS versions. For example, the mkvtoolnix and mame ports are aware of the limitations of older systems and downgrade to older versions on those systems. Of course, that doesn't address the problem of any of those ports' dependencies increasing their system requirements over time.

Although the intended way to use MacPorts on any system is to use the current version of MacPorts and the current ports tree, we do publish snapshots of the ports tree when we release new major versions of base:

https://github.com/macports/macports-ports/tags

So someone could conceivably download an older ports collection and an older version of MacPorts base if they wanted to experience MacPorts as it was at a previous point in time, such as at a time when a different OS version was current and better supported. This is of course no guarantee that that older set of ports would work better on the older system. In many cases, our current ports tree probably works better than an old one as we continue to update ports to fix bugs and refine our legacy support library and our collection of compilers and other tools.



More information about the macports-users mailing list