FS#37894 - [curl] nghttp2 support
Attached to Project:
Arch Linux
Opened by persson (persson) - Sunday, 24 November 2013, 15:35 GMT
Last edited by Jan de Groot (JGC) - Thursday, 04 May 2017, 21:46 GMT
Opened by persson (persson) - Sunday, 24 November 2013, 15:35 GMT
Last edited by Jan de Groot (JGC) - Thursday, 04 May 2017, 21:46 GMT
|
Details
Description: it appears curl is not built with http
2.0/nghttp2 support:
$ curl --http2.0 http://127.0.0.1 curl: (1) Unsupported protocol The documentation states that libcurl must be built with http 2.0 support for the above to work. Additional info: * Curl 7.33.0 |
This task depends upon
Closed by Jan de Groot (JGC)
Thursday, 04 May 2017, 21:46 GMT
Reason for closing: Implemented
Additional comments about closing: libnghttp2-enabled curl is in testing together with libnghttp2 1.22.0
Thursday, 04 May 2017, 21:46 GMT
Reason for closing: Implemented
Additional comments about closing: libnghttp2-enabled curl is in testing together with libnghttp2 1.22.0
- http2 has no finalized spec (and won't for at least another year)
- nghttp2 has no release (probably related to the former)
Feel free to compile in support on your own, but this will not be making an appearance in the [core] package until the dust around http2 has settled and it's used for more than experimentation on the greater web.
If we add HTTP2 support to this package this means nghttp2 will become hard dependency of curl package. Everyone who uses curl (i.e. almost every Arch user) has to download it. It is additional 0.44M of network bandwidth plus 1.75M disk space for unpacked files.
If additional dependency for curl is not a problem then I am +1 for enabling HTTP2 in curl.
Again, I recognize this is not ideal, but if that is what it takes to get this into [core], I would support it (recognizing that I am not a Dev or a TU, and thus my say carries little to no weight).
* libnghttp2 can be built alone without apps/tools. It actually builds successfully in a clean chroot (with only base and base-devel). No extra dependencies from "extra" or "core" are required.
The x86-64 package built with the simple PKGBUILD attached sizes 0.12MiB compressed, 0.43MiB uncompressed.
- nghttp2
- jemalloc
- libev
- jansson
- libxml2
An alternative would be to carry a separate curl package in extra or community with http2 support, but I wouldn't really condone this.
Why not add a minimal libnghttp2 package in core, and update nghttp2 with the appropriate conflicts/provides/replaces?
Let's not celebrate this bug's 3d anniversary, shall we?
I agree with MoSal that the dependencies are all unnecessary for curl, but creating a sole "minimal package" of nghttp2 with just the library and conflicting dependencies would probably complicate things for other users, who need the full nghttp2 toolset.
Rehashing what I already wrote more verbosely, just to make my suggestion clearer.
What I'm suggesting is a minimal "core/libnghttp2" package curl can depend on without dragging other dependencies with it.
"extra/nghttp2" users shouldn't even notice (let alone get confused about) anything. Because their updated nghttp2 package will have "provides=(libnghttp2=$pkgver)".
An alternative would be to delete libnghttp2 from "extra/nghttp2". And make the tools depend on "core/libnghttp2".
FS#52318).FS#52164got closed because nghttp2 would have to end up in core. Is that the only problem, or is the dependency on jemalloc, etc. also undesired?FS#52164- splitting nghttp2 into library and binaries package sounds reasonable. The reason why it is closed is that we want to put libnghttp2 into [core] and nghttp2 into [extra], but currently there is no way to put parts of a split package into different repositories. Thus both split packages need to go to [core] anyway.FS#52164(splitting into a libnghttp2 and nghttp2 programs package). Split packages reduce the dependencies that have to be pulled in at installation time. Is it allowed to have packages in -core that depend on extra? Normally you would not install "nghttp2" if you just have core enabled, but "libnghttp2" (as dependency of curl).