Closed SamuelMarks closed 2 years ago
We could depend on libcurl. But I assume you've already dismissed that option.
No, that option was not considered because we didn't have a binary release, so that would have forced people to build curl in addition to building vcpkg in a relatively hot dev-inner-loop, and we didn't want to inflict external dependencies on people like that.
Now that we have binary releases for all the Important platforms just linking with libcurl is probably the correct solution.
and we didn't want to inflict external dependencies
Then my libacquire project may be useful, which uses libfetch on FreeBSD, ftp on OpenBSD, WinINet on Windows, and libcurl everywhere else.
Is your feature request related to a problem? Please describe. I started https://github.com/microsoft/vcpkg-tool/pull/149 to help resolve #19378. But there is not HTTPS client in vcpkg-tool. (system calls to a
curl
executable don't count)Proposed solution We could depend on libcurl. But I assume you've already dismissed that option. So I forked two MIT-licensed cross-platform C repositories, adding CMake—and C89—support to both:
The second solution also depends on OpenSSL. So keeping to the assumption that it's a dependency thing stopping you from adding an HTTPS client to vcpkg-tool, then OpenSSL can be replaced with Common Crypto (macOS), Secure Channel (Windows), and OpenSSL compatible variant on other operating systems.
Describe alternatives you've considered As you can see from my stubs in that aforementioned PR, an obvious alternative can be devised using
curl
andjq
. Windows Batch and sh shell files can be written using these; or it can be hacked together like the other vcpkg-tool code which callscurl
from the system.Additional context I suppose an alternative would be to breathe some life into my old libacquire project (which I suppose is most similar to the previous netw solution).
Anyway adding this issue as an RFC before I spend too much longer going down a path you may not consider favourably…