diff options
Diffstat (limited to 'pkgs/tools/networking/curl/default.nix')
-rw-r--r-- | pkgs/tools/networking/curl/default.nix | 43 |
1 files changed, 26 insertions, 17 deletions
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index cc7fd0c3a85..44f0918bd20 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -33,6 +33,8 @@ , ocamlPackages , phpExtensions , python3 +, tests +, fetchpatch }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -44,23 +46,20 @@ assert !(gnutlsSupport && opensslSupport); assert !(gnutlsSupport && wolfsslSupport); assert !(opensslSupport && wolfsslSupport); -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "curl"; - version = "7.83.1"; + version = "7.84.0"; src = fetchurl { urls = [ - "https://curl.haxx.se/download/${pname}-${version}.tar.bz2" - "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2" + "https://curl.haxx.se/download/curl-${finalAttrs.version}.tar.bz2" + "https://github.com/curl/curl/releases/download/curl-${finalAttrs.version}/curl-${finalAttrs.version}.tar.bz2" ]; - sha256 = "sha256-9Tmjb7RKgmDsXZd+Tg290u7intkPztqpvDyfeKETv/A="; + sha256 = "sha256-cC+ybnMZCjvXcHGqFG9Qe5gXzE384hjSq4fwDNO8BZ0="; }; patches = [ ./7.79.1-darwin-no-systemconfiguration.patch - # quiche: support ca-fallback - # https://github.com/curl/curl/commit/fdb5e21b4dd171a96cf7c002ee77bb08f8e58021 - ./7.83.1-quiche-support-ca-fallback.patch ] ++ lib.optional patchNetrcRegression ./netrc-regression.patch; outputs = [ "bin" "dev" "out" "man" "devdoc" ]; @@ -135,7 +134,10 @@ stdenv.mkDerivation rec { CXX = "${stdenv.cc.targetPrefix}c++"; CXXCPP = "${stdenv.cc.targetPrefix}c++ -E"; - doCheck = true; + # takes 14 minutes on a 24 core and because many other packages depend on curl + # they cannot be run concurrently and are a bottleneck + # tests are available in passthru.tests.withCheck + doCheck = false; preCheck = '' patchShebangs tests/ '' + lib.optionalString stdenv.isDarwin '' @@ -160,16 +162,23 @@ stdenv.mkDerivation rec { ln $out/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libcurl-gnutls${stdenv.hostPlatform.extensions.sharedLibrary}.4.4.0 ''; - passthru = { + passthru = let + useThisCurl = attr: attr.override { curl = finalAttrs.finalPackage; }; + in { inherit opensslSupport openssl; tests = { - inherit curlpp coeurl; - haskell-curl = haskellPackages.curl; - ocaml-curly = ocamlPackages.curly; - php-curl = phpExtensions.curl; - pycurl = python3.pkgs.pycurl; + withCheck = finalAttrs.finalPackage.overrideAttrs (_: { doCheck = true; }); + fetchpatch = tests.fetchpatch.simple.override { fetchpatch = fetchpatch.override { fetchurl = useThisCurl fetchurl; }; }; + curlpp = useThisCurl curlpp; + coeurl = useThisCurl coeurl; + haskell-curl = useThisCurl haskellPackages.curl; + ocaml-curly = useThisCurl ocamlPackages.curly; + pycurl = useThisCurl python3.pkgs.pycurl; + php-curl = useThisCurl phpExtensions.curl; + # error: attribute 'override' missing # Additional checking with support http3 protocol. - inherit (nixosTests) nginx-http3; + # nginx-http3 = useThisCurl nixosTests.nginx-http3; + nginx-http3 = nixosTests.nginx-http3; }; }; @@ -182,4 +191,4 @@ stdenv.mkDerivation rec { # Fails to link against static brotli or gss broken = stdenv.hostPlatform.isStatic && (brotliSupport || gssSupport); }; -} +}) |