Changes between Initial Version and Version 1 of Ticket #51516, comment 111


Ignore:
Timestamp:
Jun 2, 2024, 12:10:17 PM (5 weeks ago)
Author:
RJVB (René Bertin)
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #51516, comment 111

    initial v1  
    55
    66I 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).
     7Given 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?
    78
    89And 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.
     
    1112> 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 :)
    1213
    13 TBH, I find that a quite satisfying kind of lowlevel tinkering. More so if it's not just for me of course.
     14TBH, 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...
    1415
    1516I'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).