curl 7.66.0 includes support for HTTP/3. Gentoo's packaging should enable it. https://daniel.haxx.se/blog/2019/09/11/curl-7-66-0-the-parallel-http-3-future-is-here/ Requires one of: * net-libs/nghttp3 (packaging request at bug 694304) and net-libs/ngtcp2 (packaging request at bug 694306) * net-libs/quiche (packaging request at bug 694302) Reproducible: Always
I see these challenges: * net-libs/quiche uses rust limiting its keywords to ~arm64 ~ppc64 ~x86. So the "quiche" use flag of net-misc/curl is going to have to be masked for every other keyword. * net-libs/nghttp3 requires a version of OpenSSL that doesn't yet exist; they're working on adding QUIC support to OpenSSL at https://github.com/openssl/openssl/pull/8797 Therefore, the "nghttp3" use flag of net-misc/curl is going to have to be globally masked until such a version of OpenSSL is released and in Gentoo.
Created attachment 589770 [details, diff] Diff of suggested changes to curl-7.66.0.ebuild Suggested changes to curl-7.66.0.ebuild. The changes are all pretty simple.
*** Bug 695828 has been marked as a duplicate of this bug. ***
I really don't want to expand the dependencies that need to be stabilized for curl. Its an important package which is usually rapid stabilized for security. Your patch adds - net-libs/quiche - net-libs/ngtcp2 - net-libs/nghttp3 Those packages are currently only keyworded on amd64 and not stable on any other arches. If you want me to add this patch, get those packages keyworded and stabilized on all arches on which curl is currently stabilized, or at least get those keywords masked on those arches. This way they don't become blockers against a rapid stabilization.
(In reply to Anthony Basile from comment #4) > I really don't want to expand the dependencies that need to be stabilized > for curl. Its an important package which is usually rapid stabilized for > security. Your patch adds > > - net-libs/quiche > - net-libs/ngtcp2 > - net-libs/nghttp3 > > Those packages are currently only keyworded on amd64 and not stable on any > other arches. If you want me to add this patch, get those packages > keyworded and stabilized on all arches on which curl is currently > stabilized, or at least get those keywords masked on those arches. This way > they don't become blockers against a rapid stabilization. Why not use profiles/ to mask the USE flag for stable ebuilds. Or add an -r1 that includes the changes you do not want to have in the ebuild ready to go stable.
(In reply to Jeroen Roovers from comment #5) > (In reply to Anthony Basile from comment #4) > > stabilized, or at least get those keywords masked on those arches. This way > > they don't become blockers against a rapid stabilization. > > Why not use profiles/ to mask the USE flag for stable ebuilds. > Or add an -r1 that includes the changes you do not want to have in the > ebuild ready to go stable. @Jer I like to idea of masking for stable ebuilds only. Do you want to go ahead and do that?
(In reply to Anthony Basile from comment #6) > (In reply to Jeroen Roovers from comment #5) > > (In reply to Anthony Basile from comment #4) > > > > stabilized, or at least get those keywords masked on those arches. This way > > > they don't become blockers against a rapid stabilization. > > > > Why not use profiles/ to mask the USE flag for stable ebuilds. > > Or add an -r1 that includes the changes you do not want to have in the > > ebuild ready to go stable. > > @Jer I like to idea of masking for stable ebuilds only. Do you want to go > ahead and do that? I wonder if we can just add those flags to `profiles/base/use.stable.mask` and cover all the arches in one shot. Thoughts?
How does this PR look? https://github.com/gentoo/gentoo/pull/12920 * curl_http3_quiche is masked for all arches except amd64 * curl_http3_nghttp3 is masked globally
(In reply to Craig Andrews from comment #8) > How does this PR look? > https://github.com/gentoo/gentoo/pull/12920 > > * curl_http3_quiche is masked for all arches except amd64 > * curl_http3_nghttp3 is masked globally I commented on the PR. I'm not sure using a use expand flag is warranted here though.
(In reply to Anthony Basile from comment #9) > (In reply to Craig Andrews from comment #8) > > How does this PR look? > > https://github.com/gentoo/gentoo/pull/12920 > > > > * curl_http3_quiche is masked for all arches except amd64 > > * curl_http3_nghttp3 is masked globally > > I commented on the PR. I'm not sure using a use expand flag is warranted > here though. I have updated the PR to not use a use expand flag.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f220bfd203fa1fe7a14d39880c13dd5292afc94b commit f220bfd203fa1fe7a14d39880c13dd5292afc94b Author: Craig Andrews <candrews@gentoo.org> AuthorDate: 2019-10-11 16:19:35 +0000 Commit: Craig Andrews <candrews@gentoo.org> CommitDate: 2019-10-15 13:24:26 +0000 net-misc/curl: HTTP/3 support Closes: https://bugs.gentoo.org/694308 Closes: https://github.com/gentoo/gentoo/pull/12920 Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Craig Andrews <candrews@gentoo.org> net-misc/curl/curl-7.66.0.ebuild | 20 +++++++++++++++++--- net-misc/curl/metadata.xml | 6 ++++-- profiles/arch/amd64/package.use.mask | 4 ++++ profiles/arch/base/package.use.mask | 10 ++++++++++ profiles/base/package.use.mask | 1 + 5 files changed, 36 insertions(+), 5 deletions(-)