diff options
Diffstat (limited to 'pkgs/top-level/all-packages.nix')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 79 |
1 files changed, 39 insertions, 40 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d3468d31f073..97935998abba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -237,9 +237,35 @@ in # `fetchurl' downloads a file from the network. fetchurl = import ../build-support/fetchurl { inherit lib stdenvNoCC; - # On darwin, libkrb5 needs bootstrap_cmds which would require - # converting many packages to fetchurl_boot to avoid evaluation cycles. - curl = buildPackages.curl.override (lib.optionalAttrs stdenv.isDarwin { gssSupport = false; }); + curl = buildPackages.curl.override rec { + # break dependency cycles + fetchurl = stdenv.fetchurlBoot; + pkgconfig = buildPackages.pkgconfig.override { fetchurl = stdenv.fetchurlBoot; }; + perl = buildPackages.perl.override { fetchurl = stdenv.fetchurlBoot; }; + openssl = buildPackages.openssl.override { + fetchurl = stdenv.fetchurlBoot; + inherit perl; + buildPackages = { inherit perl; }; + }; + libssh2 = buildPackages.libssh2.override { + fetchurl = stdenv.fetchurlBoot; + inherit openssl; + }; + # 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; + libkrb5 = buildPackages.libkrb5.override { + fetchurl = stdenv.fetchurlBoot; + inherit pkgconfig perl openssl; + keyutils = buildPackages.keyutils.override { fetchurl = stdenv.fetchurlBoot; }; + }; + nghttp2 = buildPackages.nghttp2.override { + fetchurl = stdenv.fetchurlBoot; + inherit pkgconfig openssl; + c-ares = buildPackages.c-ares.override { fetchurl = stdenv.fetchurlBoot; }; + libev = buildPackages.libev.override { fetchurl = stdenv.fetchurlBoot; }; + }; + }; }; fetchRepoProject = callPackage ../build-support/fetchrepoproject { }; @@ -248,13 +274,6 @@ in inherit curl stdenv; }; - # fetchurlBoot is used for curl and its dependencies in order to - # prevent a cyclic dependency (curl depends on curl.tar.bz2, - # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl). It - # uses the curl from the previous bootstrap phase (e.g. a statically - # linked curl in the case of stdenv-linux). - fetchurlBoot = stdenv.fetchurlBoot; - fetchzip = callPackage ../build-support/fetchzip { }; fetchCrate = callPackage ../build-support/rust/fetchcrate.nix { }; @@ -2135,9 +2154,7 @@ in brotliSupport = true; }; - curl = callPackage ../tools/networking/curl rec { - fetchurl = fetchurlBoot; - }; + curl = callPackage ../tools/networking/curl { }; curl_unix_socket = callPackage ../tools/networking/curl-unix-socket rec { }; @@ -8967,9 +8984,7 @@ in pkgconf = callPackage ../development/tools/misc/pkgconf {}; - pkg-config = callPackage ../development/tools/misc/pkg-config { - fetchurl = fetchurlBoot; - }; + pkg-config = callPackage ../development/tools/misc/pkg-config { }; pkgconfig = pkg-config; # added 2018-02-02 pkg-configUpstream = lowPrio (pkg-config.override { vanilla = true; }); @@ -9434,9 +9449,7 @@ in bzrtp = callPackage ../development/libraries/bzrtp { }; - c-ares = callPackage ../development/libraries/c-ares { - fetchurl = fetchurlBoot; - }; + c-ares = callPackage ../development/libraries/c-ares { }; c-blosc = callPackage ../development/libraries/c-blosc { }; @@ -10484,10 +10497,7 @@ in inherit (buildPackages.darwin) bootstrap_cmds; }; krb5Full = krb5; - libkrb5 = krb5.override { - fetchurl = fetchurlBoot; - type = "lib"; - }; + libkrb5 = krb5.override { type = "lib"; }; kerberos = libkrb5; # TODO: move to aliases.nix languageMachines = recurseIntoAttrs (import ../development/libraries/languagemachines/packages.nix { inherit callPackage; }); @@ -10863,9 +10873,7 @@ in libechonest = callPackage ../development/libraries/libechonest { }; - libev = callPackage ../development/libraries/libev { - fetchurl = fetchurlBoot; - }; + libev = callPackage ../development/libraries/libev { }; libevent = callPackage ../development/libraries/libevent { }; @@ -11083,9 +11091,7 @@ in ln -sv ${libcDev}/include/iconv.h $out/include ''; - libiconvReal = callPackage ../development/libraries/libiconv { - fetchurl = fetchurlBoot; - }; + libiconvReal = callPackage ../development/libraries/libiconv { }; # On non-GNU systems we need GNU Gettext for libintl. libintl = if stdenv.hostPlatform.libc != "glibc" then gettext else null; @@ -11755,9 +11761,7 @@ in newt = callPackage ../development/libraries/newt { }; - nghttp2 = callPackage ../development/libraries/nghttp2 { - fetchurl = fetchurlBoot; - }; + nghttp2 = callPackage ../development/libraries/nghttp2 { }; libnghttp2 = nghttp2.lib; nix-plugins = callPackage ../development/libraries/nix-plugins { @@ -11913,9 +11917,7 @@ in openssl = openssl_1_0_2; - inherit (callPackages ../development/libraries/openssl { - fetchurl = fetchurlBoot; - }) + inherit (callPackages ../development/libraries/openssl { }) openssl_1_0_2 openssl_1_1; @@ -13110,9 +13112,7 @@ in zeitgeist = callPackage ../development/libraries/zeitgeist { }; - zlib = callPackage ../development/libraries/zlib { - fetchurl = fetchurlBoot; - }; + zlib = callPackage ../development/libraries/zlib { }; libdynd = callPackage ../development/libraries/libdynd { }; @@ -14888,8 +14888,7 @@ in kernel = null; # dpdk modules are in linuxPackages.dpdk.kmod }; - # Using fetchurlBoot because this is used by kerberos (on Linux), which curl depends on - keyutils = callPackage ../os-specific/linux/keyutils { fetchurl = fetchurlBoot; }; + keyutils = callPackage ../os-specific/linux/keyutils { }; libselinux = callPackage ../os-specific/linux/libselinux { }; |