tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lang/rust and www/curl with http2 option



>> While trying to fix lang/rust on Darwin, I came across a linking problem which occurs with its internal curl library. (Described here https://github.com/alexcrichton/curl-rust/issues/279, but their solution does not work for me.) It is build by curl-sys module, which checks if curl with http2 support exists in the system. Apple provides such a library with macOS, but it is usually shadowed by curl from PkgSrc which does not have http2 option enabled by default. When I enable http2 for www/curl, when Rust builds and links correctly.
> 
> Rust doesn't pull in curl, so buildlink should be preventing the
> pkgsrc curl from being picked up and interfering here.  We should
> figure out what's going on there first, unless I just misunderstand
> the problem, in case there is a larger issue that needs fixing.

curl-sys module executes 'curl-config --features' in default path, and mine (from pkgsrc) comes before the system one.

>> So, I propose enabling http2 as default for www/curl and "buildlinking" lang/rust with www/curl. That way we would provide more modern curl, and introduce a dependency on www/nghttp2, but Rust should build correctly.
> 
> Previously we've done that but ran into issues whenever Rust requires
> newer features that aren't supported by the pkgsrc versions of
> libraries.  In the past they've used unstable/trunk releases of some
> bits that wouldn't be appropriate to upgrade to in pkgsrc.
> 
> If they've stopped doing that now then it would be good to go back to
> using pkgsrc libraries.

Rust 1.37.0 has curl 7.64.0. We are at 7.66.0 (as of today).

> And yeh, http2 should be a default option by now, we (Joyent) have
> enabled it since 2016.

:)

Adam


Home | Main Index | Thread Index | Old Index