Changes between Initial Version and Version 1 of Ticket #51516, comment 111
- Timestamp:
- Jun 2, 2024, 12:10:17 PM (5 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #51516, comment 111
initial v1 5 5 6 6 I really don't see why Pextlib would be any different from any of the other curl dependents which AFAICT do NOT get revbumped at every curl upgrade (except p5-www-curl for a reason I cannot determine). 7 Given Apple's track record in the matter I don't expect even its latest OS has a newer curl version installed than the one in Macports? 7 8 8 9 And just to be clear, I'm not suggesting to load `${prefix}/lib/libcurl.?`. It should be loaded from a "hidden" location, installed there in (semi)-permanent fashion and be a variant that does not use OpenSSL (because Pextlib links to the system libcrypto which can clash with the one in MacPorts). It could be installed as a special port (standalone or subport of `port:curl`) which installs only the actual library or installed/updated from a `port-activate` block of one of the suitable variants of `port:curl` itself. A special, dedicated port would make it easier to push updates of course, if and when it's justified to do so given how "base" uses curl. … … 11 12 > Anyway, how much work and how tricky would it be to make `curl.c` load whatever it needs from libcurl dynamically? I'm not against digging into that but if there's already idea of what I'd be getting into I also not against knowing that beforehand :) 12 13 13 TBH, I find that a quite satisfying kind of lowlevel tinkering. More so if it's not just for me of course. 14 TBH, I find that a quite satisfying kind of lowlevel tinkering. More so if it's not just for me of course. Wading through old mailing lists exchanges is not so much my thing... 14 15 15 16 I've done similar things before, also in such a way that the actual behaviour can be determine at build time like with Qt's use of OpenSSL (i.e. linked-in or loaded dynamically). Looking at `curl.c` I'd be tempted to do the loading in lazy fashion, i.e. try to load a libcurl and then load `curl_global_init()` from it in `CurlInit()`, and load each symbol when needed, in the function that needs it (and probably move them all to `CurlInit()` or a dedicated function in a 2nd step).