JuliaLang / julia

The Julia Programming Language
https://julialang.org/
MIT License
45.79k stars 5.49k forks source link

ship with libcurl + TLS support? #18147

Closed StefanKarpinski closed 8 years ago

StefanKarpinski commented 8 years ago

Support for web stuff should be a bit smoother – and everyone needs this, including the package manager. We should consider building and shipping with libcurl + mbedtls (or some alternative TLS provider) and making sure that it's consistently smooth and easy to use. We don't need to have all the types and functions needed to do web stuff in the standard library, but if we standardize on a set of libraries and make sure they work, it will make life better.

tkelman commented 8 years ago

We do ship curl on master, everywhere that libgit2 uses it.

ViralBShah commented 8 years ago

Though we do not build curl on windows, I hope that is relatively easy to get going. I have been advocating that if we are doing curl for libgit2 transport, it is worth having really high quality bindings in packages for web stuff.

tkelman commented 8 years ago

The curl bindings in packages are much less widely-used than the http-parser bindings. http-parser is also a dependency of libgit2, and is less likely to be removed in future versions of libgit2 than libcurl is (ref https://github.com/JuliaLang/julia/issues/17889#issuecomment-238303022). We could fairly easily move out the build of http-parser to be a separate library rather than let libgit2 use its vendored copy of the source, then the webstack could use it more easily.

tkelman commented 8 years ago

And to have this written down somewhere, note that currently we ship and bundle mbedtls even on windows, but aren't linking to it there. Both libgit2 and libssh2 are using the native Windows crypto.

StefanKarpinski commented 8 years ago

The motivation for this issue was to make support for web protocols smoother and more reliable.