summaryrefslogtreecommitdiff
path: root/pkgs/development/compilers/rust
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/rust')
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix10
-rw-r--r--pkgs/development/compilers/rust/default.nix14
-rw-r--r--pkgs/development/compilers/rust/rustc.nix18
3 files changed, 29 insertions, 13 deletions
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index e7cc7b15627e..454b67b8151b 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -17,13 +17,13 @@ let
# fetch hashes by running `print-hashes.sh 1.9.0`
bootstrapHash =
if stdenv.system == "i686-linux"
- then "be93dd2b80a97f2877679950d56990628c6547b953294f16bf6d69c18a39edc0"
+ then "f5a3f5d53defe827a71447b1a0e7a656394b87ee23e009d7bf73a0277c1b5ac2"
else if stdenv.system == "x86_64-linux"
- then "f189303d52b37c8bb694b9d9739ae73ffa926cbdeffde1d5d6a5c6e811940293"
+ then "f4ebbd6d9494cb8fa6c410cb58954e1913546c2bca8963faebc424591547d83f"
else if stdenv.system == "i686-darwin"
- then "40d4782a58dd5bef22dbbaa7a363f3b42f844628db07205f6435ac934f350061"
+ then "bf07182bc362985fcdd48af905cdb559e20c68518cd71dabec3c30b78ca8a94a"
else if stdenv.system == "x86_64-darwin"
- then "4bb71249f4afd7cee07f63d681f9fcb1b525ee3dfd49722adab7a40024e45af7"
+ then "2cdbc47438dc86ecaf35298317b77d735956eb160862e3f6d0fda0da656ecc35"
else throw "missing boostrap hash for platform ${stdenv.system}";
needsPatchelf = stdenv.isLinux;
@@ -33,7 +33,7 @@ let
sha256 = bootstrapHash;
};
- version = "1.10.0";
+ version = "1.11.0";
in
rec {
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index b7e992c916d3..7e29435b7d59 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -7,12 +7,12 @@ in
rec {
rustc = callPackage ./rustc.nix {
- shortVersion = "1.11.0";
+ shortVersion = "1.12.1";
isRelease = true;
forceBundledLLVM = false;
configureFlags = [ "--release-channel=stable" ];
- srcRev = "9b21dcd6a89f38e8ceccb2ede8c9027cb409f6e3";
- srcSha = "12djpxhwqvq3262ai9vd096bvriynci2mrwn0dfjrd0w6s0i8viy";
+ srcRev = "d4f39402a0c2c2b94ec0375cd7f7f6d7918113cd";
+ srcSha = "1lpykjy96rwz4jy28rf7ijca0q9lvckgnbzvcdsrspd5rs2ywfwr";
patches = [
./patches/disable-lockfile-check.patch
@@ -25,10 +25,10 @@ rec {
};
cargo = callPackage ./cargo.nix rec {
- version = "0.12.0";
- srcRev = "6b98d1f8abf5b33c1ca2771d3f5f3bafc3407b93";
- srcSha = "0pq6l3yzmh2il6320f6501hvp9iikdxzl34i5b52v93ncpim36bk";
- depsSha256 = "1jrwzm9fd15kf2d5zb17q901hx32h711ivcwdpxpmzwq08sjlcvl";
+ version = "0.13.0";
+ srcRev = "109cb7c33d426044d141457049bd0fffaca1327c";
+ srcSha = "0p79m7hpzjh36l4fc6a59h6r8yz6qafjcdg5v1yb7bac9m2wi7vs";
+ depsSha256 = "1cwp4p8b985fj8j2qmgsi2mpp51rdpwzm9qa60760nrry1fy624z";
inherit rustc; # the rustc that will be wrapped by cargo
inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index f8f0e6df0d84..e1bff12f398e 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -90,8 +90,18 @@ stdenv.mkDerivation {
# Disable fragile linker-output-non-utf8 test
rm -vr src/test/run-make/linker-output-non-utf8/
+ # Remove test targeted at LLVM 3.9 - https://github.com/rust-lang/rust/issues/36835
+ rm -vr src/test/run-pass/issue-36023.rs
+
# Useful debugging parameter
# export VERBOSE=1
+ '' +
+ # In src/compiler-rt/cmake/config-ix.cmake, the cmake build falls
+ # back to darwin 10.4. This causes the OS name to be recorded as
+ # "10.4" rather than the expected "osx". But mk/rt.mk expects the
+ # built library name to have an "_osx" suffix on darwin.
+ optionalString stdenv.isDarwin ''
+ substituteInPlace mk/rt.mk --replace "_osx" "_10.4"
'';
preConfigure = ''
@@ -118,7 +128,13 @@ stdenv.mkDerivation {
preCheck = ''
export TZDIR=${tzdata}/share/zoneinfo
- ${optionalString stdenv.isDarwin "export TMPDIR=/tmp"}
+ '' +
+ # Ensure TMPDIR is set, and disable a test that removing the HOME
+ # variable from the environment falls back to another home
+ # directory.
+ optionalString stdenv.isDarwin ''
+ export TMPDIR=/tmp
+ sed -i '28s/home_dir().is_some()/true/' ./src/test/run-pass/env-home-dir.rs
'';
# Disable doCheck on Darwin to work around upstream issue