2016-06-14 11:49:48 +01:00
|
|
|
{ stdenv, callPackage, recurseIntoAttrs, makeRustPlatform,
|
|
|
|
targets ? [], targetToolchains ? [], targetPatches ? [] }:
|
|
|
|
|
|
|
|
let
|
2016-07-09 08:01:49 +01:00
|
|
|
rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
|
2016-06-14 11:49:48 +01:00
|
|
|
in
|
|
|
|
|
|
|
|
rec {
|
|
|
|
rustc = callPackage ./rustc.nix {
|
2016-07-10 21:45:58 +01:00
|
|
|
shortVersion = "1.10.0";
|
2016-06-14 11:49:48 +01:00
|
|
|
isRelease = true;
|
|
|
|
forceBundledLLVM = false;
|
|
|
|
configureFlags = [ "--release-channel=stable" ];
|
2016-07-10 21:45:58 +01:00
|
|
|
srcRev = "cfcb716cf0961a7e3a4eceac828d94805cf8140b";
|
|
|
|
srcSha = "15i81ybh32xymmkyz3bkb5bdgi9hx8nb0sh00ac6qba6w8ljpii9";
|
|
|
|
patches = [
|
|
|
|
./patches/disable-lockfile-check.patch
|
|
|
|
] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
|
2016-06-14 11:49:48 +01:00
|
|
|
inherit targets;
|
|
|
|
inherit targetPatches;
|
|
|
|
inherit targetToolchains;
|
2016-07-10 21:45:58 +01:00
|
|
|
inherit rustPlatform;
|
2016-06-14 11:49:48 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
cargo = callPackage ./cargo.nix rec {
|
2016-08-08 14:55:26 +01:00
|
|
|
# TODO: We're temporarily tracking master here as Darwin needs the
|
|
|
|
# `http.cainfo` option from .cargo/config which isn't released
|
|
|
|
# yet.
|
|
|
|
|
|
|
|
version = "master-2016-07-25";
|
|
|
|
srcRev = "f09ef68cc47956ccc5f99212bdcdd15298c400a0";
|
|
|
|
srcSha = "1r6q9jd0fl6mzhwkvrrcv358q2784hg51dfpy28xgh4n61m7c155";
|
|
|
|
depsSha256 = "1p1ygabg9k9b0azm0mrx8asjzdi35c5zw53iysba198lli6bhdl4";
|
|
|
|
|
2016-06-14 11:49:48 +01:00
|
|
|
inherit rustc; # the rustc that will be wrapped by cargo
|
|
|
|
inherit rustPlatform; # used to build cargo
|
|
|
|
};
|
|
|
|
}
|