rstudio / httpuv

HTTP and WebSocket server package for R
Other
227 stars 86 forks source link

Fixes for older macOS #348

Open barracuda156 opened 1 year ago

barracuda156 commented 1 year ago

This PR is based on patches used in Macports for building libuv: https://github.com/macports/macports-ports/tree/master/devel/libuv/files

P. S. I am bringing R packages into Macports now, and httpuv among them, and we want everything to build on Leopard up; it is desirable to have it fixed with upstream rather than keep carrying our local patch.

CLAassistant commented 1 year ago

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

wch commented 1 year ago

What versions of MacOS does this provide support for? The highest version I see reference to in this PR is MAC_OS_X_VERSION_MAX_ALLOWED >= 1070, and I believe that's for OS X 10.7, which last had a release 10 years ago.

It would be preferable if you could get the changes into libuv. We periodically update the copy of libuv bundled with httpuv, and it wouldn't be a good use of our time to be maintaining libuv patches for these old OS versions.

barracuda156 commented 1 year ago

@wch As for OS X versions, everything from 10.4.11 up is still used, and specifically 10.5.8 is used quite a bit, since that is the last official release supporting PPC. However I agree, that if you just borrow the code from libuv, then you face the same problem as we do with carrying patches – and it won’t be a Pareto improvement :)

I will try to find out what happened with submission of those to libuv upstream. If no one tried for w/e reason, I can try that.

barracuda156 commented 1 year ago

@ryandesign Ryan, may I ask if you know whether our patches to libuv were submitted to upstream? Or should I try that? At least two R packages are broken without those, and understandably it is preferable to have libuv itself fixed rather than carrying patches, if that works.