fetchurlBoot: Use Nix's builtin fetchurl function

This removes the need for curl in bootstrapTools, and enables https
for bootstrap tarballs.
This commit is contained in:
Eelco Dolstra 2016-02-27 20:27:24 +01:00
parent 824a1fb5b9
commit e6f61b4cf3
3 changed files with 23 additions and 13 deletions

View File

@ -0,0 +1,20 @@
let mirrors = import ./mirrors.nix; in
{ system }:
{ url ? builtins.head urls
, urls ? []
, sha256
}:
import <nix/fetchurl.nix> {
inherit system sha256;
url =
# Handle mirror:// URIs. Since <nix/fetchurl.nix> currently
# supports only one URI, use the first listed mirror.
let m = builtins.match "mirror://([a-z]+)/(.*)" url; in
if m == null then url
else builtins.head (mirrors.${builtins.elemAt m 0}) + (builtins.elemAt m 1);
}

View File

@ -80,9 +80,9 @@ rec {
'';
shell = "${bootstrapTools}/bin/bash";
initialPath = [bootstrapTools];
fetchurlBoot = import ../../build-support/fetchurl {
stdenv = stage0.stdenv;
curl = bootstrapTools;
fetchurlBoot = import ../../build-support/fetchurl/boot.nix {
inherit system;
};
cc = if isNull gccPlain
@ -333,7 +333,6 @@ rec {
awk --version
grep --version
gcc --version
curl --version
ldlinux=$(echo ${bootstrapTools}/lib/ld-linux*.so.?)
export CPP="cpp -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools}"

View File

@ -10,13 +10,6 @@ rec {
aclSupport = false;
});
curlMinimal = curl.override {
http2Support = false;
zlibSupport = false;
sslSupport = false;
scpSupport = false;
};
busyboxMinimal = busybox.override {
useMusl = true;
enableStatic = true;
@ -84,8 +77,6 @@ rec {
cp -d ${gnumake}/bin/* $out/bin
cp -d ${patch}/bin/* $out/bin
cp ${patchelf}/bin/* $out/bin
cp ${curlMinimal}/bin/curl $out/bin
cp -d ${curlMinimal}/lib/libcurl* $out/lib
cp -d ${gnugrep.pcre}/lib/libpcre*.so* $out/lib # needed by grep