From b7dfc72a88dba88a606676b305ae0d36fcf4b274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= Date: Mon, 12 Aug 2019 06:38:55 +0200 Subject: [PATCH] fetchurl: Don't force-override curl's gssSupport to on. Fixes #66499. The original intent in commit a1fec866 treewide: assemble all `fetchurlBoot` uses in overrides to `fetchurl` itself was to turn `gssSupport` *off* on Darwin, but the code actually also forced it *on* on Linux. This resulted in previous (e.g. overlays) `.override { gssSupport = false; }` being ignored (#66499). This commit fixes it by just respecting the old value when it doesn't need to be forced to off. --- pkgs/top-level/all-packages.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c4169b9bb84..b27b57d4f6c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -275,7 +275,7 @@ in # `fetchurl' downloads a file from the network. fetchurl = makeOverridable (import ../build-support/fetchurl) { inherit lib stdenvNoCC; - curl = buildPackages.curl.override rec { + curl = buildPackages.curl.override (old: rec { # break dependency cycles fetchurl = stdenv.fetchurlBoot; zlib = buildPackages.zlib.override { fetchurl = stdenv.fetchurlBoot; }; @@ -292,7 +292,12 @@ in }; # On darwin, libkrb5 needs bootstrap_cmds which would require # converting many packages to fetchurl_boot to avoid evaluation cycles. - gssSupport = !stdenv.isDarwin && !stdenv.hostPlatform.isWindows; + # So turn gssSupport off there, and on Windows. + # On other platforms, keep the previous value. + gssSupport = + if stdenv.isDarwin || stdenv.hostPlatform.isWindows + then false + else old.gssSupport or true; # `? true` is the default libkrb5 = buildPackages.libkrb5.override { fetchurl = stdenv.fetchurlBoot; inherit pkgconfig perl openssl; @@ -304,7 +309,7 @@ in c-ares = buildPackages.c-ares.override { fetchurl = stdenv.fetchurlBoot; }; libev = buildPackages.libev.override { fetchurl = stdenv.fetchurlBoot; }; }; - }; + }); }; fetchRepoProject = callPackage ../build-support/fetchrepoproject { };