diff options
-rw-r--r-- | pkgs/development/compilers/rust/nightlyBin.nix | 36 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 7 |
2 files changed, 39 insertions, 4 deletions
diff --git a/pkgs/development/compilers/rust/nightlyBin.nix b/pkgs/development/compilers/rust/nightlyBin.nix index a60d17fb7cbe..0671a88d2c4d 100644 --- a/pkgs/development/compilers/rust/nightlyBin.nix +++ b/pkgs/development/compilers/rust/nightlyBin.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, makeWrapper, cacert, zlib }: +{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage }: let inherit (stdenv.lib) optionalString; - platform = if stdenv.system == "x86_64-linux" + platform = if stdenv.system == "x86_64-linux" then "x86_64-unknown-linux-gnu" else abort "missing boostrap url for platform ${stdenv.system}"; @@ -19,10 +19,12 @@ let sha256 = bootstrapHash; }; - version = "2016-12-05"; + version = "2016-12-29"; in rec { + inherit buildRustPackage; + rustc = stdenv.mkDerivation rec { name = "rustc-nightly-${version}"; @@ -49,5 +51,33 @@ rec { "$out/bin/rustc" ''} ''; + + }; + cargo = stdenv.mkDerivation rec { + name = "cargo-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=cargo + + ${optionalString needsPatchelf '' + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/cargo" + ''} + ''; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93909059d610..c1008e9595d0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5290,12 +5290,17 @@ in }; rust = rustStable; - rustcNightlyBin = lowPrio (callPackage ../development/compilers/rust/nightlyBin.nix {}); rustStable = callPackage ../development/compilers/rust {}; rustBeta = callPackage ../development/compilers/rust/beta.nix {}; rustNightly = callPackage ../development/compilers/rust/nightly.nix { rustPlatform = recurseIntoAttrs (makeRustPlatform rustBeta); }; + rustNightlyBin = callPackage ../development/compilers/rust/nightlyBin.nix { + buildRustPackage = callPackage ../build-support/rust { + rust = rustNightlyBin; + rustRegistry = callPackage ./rust-packages.nix { }; + }; + }; cargo = rust.cargo; rustc = rust.rustc; |