fixing curl fetches on older MacPorts versions by using MacPorts' self-installed version of curl

Ken Cunningham ken.cunningham.webuse at gmail.com
Wed Nov 25 19:08:08 UTC 2020


MacPorts on older systems has fetch issues due primarily to an old system curl & ssl infrastructure. There is a long-open-unlikely-to-ever-fix ticket where we (more or less) have decided not to bundle curl/openssl with MacPorts, for various reasons. I think it’s fair to say that if we were going to do that, we would have done it by now, as that whole project was finished by one of our members, and then turned down. 

I install curl / openssl separately, and build MacPorts against that from source, which works great, but is felt to be too complicated to recommend to users.

So I’m wondering if insteat there is a way for MacPorts to look for and use a current curl self-installed in it’s own prefix, and then if that is not present fall back to the older system version. At least that way, we just need a way for users to bootstrap to curl / openssl with older roots, and the rest would flow along.

But I don’t know everywhere that curl is used in base during fetch. 

I do see this:

<https://github.com/macports/macports-base/blob/938d8528b896f15dc10c21a208b795f78acac127/src/port1.0/portfetch.tcl#L565>

where fetch just calls “curl” — but what is that — just the first curl in the PATH? If so, it should work as I describe and use the newer curl if it exists, and it doesn’t, so there must be more to it that just that.

Do you think this our best option for this issue?

Ken


More information about the macports-dev mailing list