1{ stdenv, callPackage, recurseIntoAttrs, makeRustPlatform,
2 targets ? [], targetToolchains ? [], targetPatches ? [] }:
3
4let
5 rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
6in
7
8rec {
9 rustc = callPackage ./rustc.nix {
10 shortVersion = "1.11.0";
11 isRelease = true;
12 forceBundledLLVM = false;
13 configureFlags = [ "--release-channel=stable" ];
14 srcRev = "9b21dcd6a89f38e8ceccb2ede8c9027cb409f6e3";
15 srcSha = "12djpxhwqvq3262ai9vd096bvriynci2mrwn0dfjrd0w6s0i8viy";
16
17 patches = [
18 ./patches/disable-lockfile-check.patch
19 ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
20
21 inherit targets;
22 inherit targetPatches;
23 inherit targetToolchains;
24 inherit rustPlatform;
25 };
26
27 cargo = callPackage ./cargo.nix rec {
28 version = "0.12.0";
29 srcRev = "6b98d1f8abf5b33c1ca2771d3f5f3bafc3407b93";
30 srcSha = "0pq6l3yzmh2il6320f6501hvp9iikdxzl34i5b52v93ncpim36bk";
31 depsSha256 = "1jrwzm9fd15kf2d5zb17q901hx32h711ivcwdpxpmzwq08sjlcvl";
32
33 inherit rustc; # the rustc that will be wrapped by cargo
34 inherit rustPlatform; # used to build cargo
35 };
36}