curl: enable HTTP 3 protocol by default#179579
Conversation
cdf7330 to
43a224b
Compare
|
I am uncertain whether this is a good idea, quoting from https://curl.se/docs/http3.html:
|
|
@lovesegfault in the latest update, http 3 works quite stable :) |
43a224b to
0d7a749
Compare
pkgs/top-level/all-packages.nix
Outdated
There was a problem hiding this comment.
Not to happy about this.
There was a problem hiding this comment.
This variant?
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 45a89043efa..cebcb20a20a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5102,12 +5102,9 @@ with pkgs;
pslSupport = true;
};
- curlHTTP3 = curl.override {
+ curl = curlMinimal.override ({
openssl = quictls;
http3Support = true;
- };
-
- curl = curlMinimal.override ({
idnSupport = true;
zstdSupport = true;
} // lib.optionalAttrs (!stdenv.hostPlatform.isStatic) {
In this case, curlMinimal will use openssl, curl will use quictls.
This variant not working:
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index d0e3e7a61a6..f7bf8c29e96 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -18,7 +18,7 @@
, http3Support ? false, nghttp3, ngtcp2 ? null
, idnSupport ? false, libidn2 ? null
, ldapSupport ? false, openldap ? null
-, opensslSupport ? zlibSupport, openssl ? null
+, opensslSupport ? zlibSupport, quictls ? null
, pslSupport ? false, libpsl ? null
, rtmpSupport ? false, rtmpdump ? null
, scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
@@ -53,7 +53,7 @@ assert http3Support -> nghttp3 != null;
assert http3Support -> ngtcp2 != null;
assert idnSupport -> libidn2 != null;
assert ldapSupport -> openldap != null;
-assert opensslSupport -> openssl != null;
+assert opensslSupport -> quictls != null;
assert pslSupport -> libpsl !=null;
assert rtmpSupport -> rtmpdump !=null;
assert scpSupport -> libssh2 != null;
@@ -102,7 +102,7 @@ stdenv.mkDerivation rec {
optionals http3Support [ nghttp3 ngtcp2 ] ++
optional idnSupport libidn2 ++
optional ldapSupport openldap ++
- optional opensslSupport openssl ++
+ optional opensslSupport quictls ++
optional pslSupport libpsl ++
optional rtmpSupport rtmpdump ++
optional scpSupport libssh2 ++
@@ -131,7 +131,7 @@ stdenv.mkDerivation rec {
(lib.withFeatureAs brotliSupport "brotli" (lib.getDev brotli))
(lib.withFeatureAs gnutlsSupport "gnutls" (lib.getDev gnutls))
(lib.withFeatureAs idnSupport "libidn2" (lib.getDev libidn2))
- (lib.withFeatureAs opensslSupport "openssl" (lib.getDev openssl))
+ (lib.withFeatureAs opensslSupport "openssl" (lib.getDev quictls))
(lib.withFeatureAs scpSupport "libssh2" (lib.getDev libssh2))
(lib.withFeatureAs wolfsslSupport "wolfssl" (lib.getDev wolfssl))
]
@@ -178,7 +178,7 @@ stdenv.mkDerivation rec {
'';
passthru = {
- inherit opensslSupport openssl;
+ inherit opensslSupport quictls;
tests = {
inherit curlpp coeurl;
haskell-curl = haskellPackages.curl;
error: infinite recursion encountered
at /home/rebrain/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:311:7:
310| depsBuildBuild = lib.elemAt (lib.elemAt dependencies 0) 0;
311| nativeBuildInputs = lib.elemAt (lib.elemAt dependencies 0) 1;
| ^
312| depsBuildTarget = lib.elemAt (lib.elemAt dependencies 0) 2;
There was a problem hiding this comment.
In this case, curlMinimal will use openssl, curl will use quictls.
thats a bit better but still it is not very great that we need to use an openssl fork for such a core program.
There was a problem hiding this comment.
thats a bit better but still it is not very great that we need to use an openssl fork for such a core program.
Package quictls = openss 3 + quic patches without changes in functionality.
Updated PR.
There was a problem hiding this comment.
yes, I know and that why I'd rather not have http3 support for now.
0d7a749 to
57ceb5d
Compare
57ceb5d to
56af637
Compare
Description of changes
Enable HTTP 3 protocol by default
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes