From f67061c1de847f310d1569cfabf98fef8fb09d4e Mon Sep 17 00:00:00 2001 From: joachim schiele Date: Fri, 25 Nov 2016 09:46:40 +0100 Subject: (rustc-nightly) init at 2016-11-26 - precompiled rustc nightly binary --- pkgs/development/compilers/rust/nightlyBin.nix | 59 ++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 pkgs/development/compilers/rust/nightlyBin.nix (limited to 'pkgs/development/compilers') diff --git a/pkgs/development/compilers/rust/nightlyBin.nix b/pkgs/development/compilers/rust/nightlyBin.nix new file mode 100644 index 00000000000..eff5db9143f --- /dev/null +++ b/pkgs/development/compilers/rust/nightlyBin.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchurl, makeWrapper, cacert, zlib }: + +let + inherit (stdenv.lib) optionalString; + + platform = if stdenv.system == "x86_64-linux" + then "x86_64-unknown-linux-gnu" + else abort "missing boostrap url for platform ${stdenv.system}"; + + bootstrapHash = + if stdenv.system == "x86_64-linux" + then "1hsvf1vj18fqxkqw8jhnwahhk2q5xcl5396czr034fphmp5n4haw" + else throw "missing boostrap hash for platform ${stdenv.system}"; + + needsPatchelf = stdenv.isLinux; + + src = fetchurl { + url = "https://static.rust-lang.org/dist/${version}/rustc-nightly-${platform}.tar.gz"; + sha256 = bootstrapHash; + }; + + version = "2016-11-26"; +in + +rec { + rustc = stdenv.mkDerivation rec { + name = "rustc-nightly-${version}"; + + inherit version; + inherit src; + + meta = with stdenv.lib; { + homepage = http://www.rust-lang.org/; + description = "A safe, concurrent, practical language"; + maintainers = with maintainers; [ qknight ]; + license = [ licenses.mit licenses.asl20 ]; + }; + + buildInputs = [ makeWrapper ]; + phases = ["unpackPhase" "installPhase"]; + + installPhase = '' + ./install.sh --prefix=$out \ + --components=rustc + + ${optionalString needsPatchelf '' + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/rustc" + ''} + + # Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc + # (or similar) here. It causes strange effects where rustc loads + # the wrong libraries in a bootstrap-build causing failures that + # are very hard to track dow. For details, see + # https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943 + ''; + }; +} -- cgit 1.4.1