diff --git a/pkgs/development/compilers/rustc/default.nix b/pkgs/development/compilers/rustc/default.nix index 00bfb3222e0d..19e746d7dbf3 100644 --- a/pkgs/development/compilers/rustc/default.nix +++ b/pkgs/development/compilers/rustc/default.nix @@ -1,10 +1,11 @@ { stdenv, callPackage }: callPackage ./generic.nix { - shortVersion = "1.3.0"; + shortVersion = "1.4.0"; isRelease = true; + forceBundledLLVM = false; configureFlags = [ "--release-channel=stable" ]; - srcSha = "14lhk40n9aslz8h8wj7fas5vsgyrb38b2r319q3hlvplgggdksg8"; + srcSha = "13wpi9nb3h6wwck2mxhza85fahzcwgas00w8m25086v34dha4dp1"; /* Rust is bootstrapped from an earlier built version. We need to fetch these earlier versions, which vary per platform. @@ -14,14 +15,14 @@ callPackage ./generic.nix { for the tagged release and not a snapshot in the current HEAD. */ - snapshotHashLinux686 = "3459275cdf3896f678e225843fa56f0d9fdbabe8"; - snapshotHashLinux64 = "e451e3bd6e5fcef71e41ae6f3da9fb1cf0e13a0c"; - snapshotHashDarwin686 = "428944a7984c0988e77909d82ca2ef77d96a1fbd"; - snapshotHashDarwin64 = "b0515bb7d2892b9a58282fc865fee11a885406d6"; - snapshotDate = "2015-07-26"; - snapshotRev = "a5c12f4"; + snapshotHashLinux686 = "e2553bf399cd134a08ef3511a0a6ab0d7a667216"; + snapshotHashLinux64 = "7df8ba9dec63ec77b857066109d4b6250f3d222f"; + snapshotHashDarwin686 = "29750870c82a0347f8b8b735a4e2e0da26f5098d"; + snapshotHashDarwin64 = "c9f2c588238b4c6998190c3abeb33fd6164099a2"; + snapshotDate = "2015-08-11"; + snapshotRev = "1af31d4"; # cc-ar-opts.patch should be removable in 1.4.0+ - patches = [ ./patches/remove-uneeded-git.patch ./patches/cc-ar-opts.patch ] + patches = [ ./patches/remove-uneeded-git.patch ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch; } diff --git a/pkgs/development/compilers/rustc/patches/cc-ar-opts.patch b/pkgs/development/compilers/rustc/patches/cc-ar-opts.patch deleted file mode 100644 index e73d54de8f59..000000000000 --- a/pkgs/development/compilers/rustc/patches/cc-ar-opts.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c97759699264c6b1fa0e88420cd3c720df25e594 Mon Sep 17 00:00:00 2001 -From: Marc-Antoine Perennou -Date: Tue, 11 Aug 2015 01:09:21 +0200 -Subject: [PATCH] rustc_back: add configure options for default linker and ar - -Signed-off-by: Marc-Antoine Perennou ---- - configure | 4 ++++ - mk/target.mk | 4 ++++ - src/librustc_back/target/mod.rs | 4 ++-- - 3 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 071788c..dc9d7d7 100755 ---- a/configure -+++ b/configure -@@ -607,6 +607,10 @@ valopt aarch64-linux-android-ndk "" "aarch64-linux-android NDK standalone path" - valopt release-channel "dev" "the name of the release channel to build" - valopt musl-root "/usr/local" "MUSL root installation directory" - -+# Used on systems where "cc" and "ar" are unavailable -+valopt default-linker "cc" "the default linker" -+valopt default-ar "ar" "the default ar" -+ - # Many of these are saved below during the "writing configuration" step - # (others are conditionally saved). - opt_nosave manage-submodules 1 "let the build manage the git submodules" -diff --git a/mk/target.mk b/mk/target.mk -index aae66c4..408ab96 100644 ---- a/mk/target.mk -+++ b/mk/target.mk -@@ -13,6 +13,10 @@ - # this exists can be found on issue #2400 - export CFG_COMPILER_HOST_TRIPLE - -+# Used as defaults for the runtime ar and cc tools -+export CFG_DEFAULT_LINKER -+export CFG_DEFAULT_AR -+ - # The standard libraries should be held up to a higher standard than any old - # code, make sure that these common warnings are denied by default. These can - # be overridden during development temporarily. For stage0, we allow warnings -diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs -index d9cfdaa..542791a 100644 ---- a/src/librustc_back/target/mod.rs -+++ b/src/librustc_back/target/mod.rs -@@ -185,8 +185,8 @@ impl Default for TargetOptions { - fn default() -> TargetOptions { - TargetOptions { - data_layout: String::new(), -- linker: "cc".to_string(), -- ar: "ar".to_string(), -+ linker: option_env!("CFG_DEFAULT_LINKER").unwrap_or("cc").to_string(), -+ ar: option_env!("CFG_DEFAULT_AR").unwrap_or("ar").to_string(), - pre_link_args: Vec::new(), - post_link_args: Vec::new(), - cpu: "generic".to_string(),