diff --git a/pkgs/development/compilers/rust/beta.nix b/pkgs/development/compilers/rust/beta.nix index 130b3311cc58..2414480dda8b 100644 --- a/pkgs/development/compilers/rust/beta.nix +++ b/pkgs/development/compilers/rust/beta.nix @@ -3,12 +3,11 @@ rec { rustc = callPackage ./rustc.nix { - shortVersion = "beta-1.11.0"; + shortVersion = "beta-2016-08-17"; forceBundledLLVM = false; - needsCmake = true; configureFlags = [ "--release-channel=beta" ]; - srcRev = "9333c420da0da6291740c313d5af3d620b55b8bc"; - srcSha = "05z6i4s5jjw3c5ypap6kzxk81bg4dib47h51znvsvcvr0svsnkgs"; + srcRev = "822166b842e4d0b32fafc8b077fb927ec281253d"; + srcSha = "1zkv7hyjvcj7kvbngf309skgllk6rd7727a6hkvhd3hg8jlz0d00"; patches = [ ./patches/disable-lockfile-check.patch ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch; diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index 1ced865fc909..e7cc7b15627e 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 "dd4d9bf1b9393867eb18d00431e8fb733894984f2c7b5154bc1b64d045077b45" + then "be93dd2b80a97f2877679950d56990628c6547b953294f16bf6d69c18a39edc0" else if stdenv.system == "x86_64-linux" - then "288ff13efa2577e81c77fc2cb6e2b49b1ed0ceab51b4fa12f7efb87039ac49b7" + then "f189303d52b37c8bb694b9d9739ae73ffa926cbdeffde1d5d6a5c6e811940293" else if stdenv.system == "i686-darwin" - then "4d4d4b256d6bd6ae2527cf61007b2553de200f0a1910b7ad41e4f51d2b21e536" + then "40d4782a58dd5bef22dbbaa7a363f3b42f844628db07205f6435ac934f350061" else if stdenv.system == "x86_64-darwin" - then "d59b5509e69c1cace20a57072e3b3ecefdbfd8c7e95657b0ff2ac10aa1dfebe6" + then "4bb71249f4afd7cee07f63d681f9fcb1b525ee3dfd49722adab7a40024e45af7" else throw "missing boostrap hash for platform ${stdenv.system}"; needsPatchelf = stdenv.isLinux; @@ -33,7 +33,7 @@ let sha256 = bootstrapHash; }; - version = "1.9.0"; + version = "1.10.0"; in rec { diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index bfab4453a349..9bbcb360e618 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -7,15 +7,17 @@ in rec { rustc = callPackage ./rustc.nix { - shortVersion = "1.10.0"; + shortVersion = "1.11.0"; isRelease = true; forceBundledLLVM = false; configureFlags = [ "--release-channel=stable" ]; - srcRev = "cfcb716cf0961a7e3a4eceac828d94805cf8140b"; - srcSha = "15i81ybh32xymmkyz3bkb5bdgi9hx8nb0sh00ac6qba6w8ljpii9"; + srcRev = "9b21dcd6a89f38e8ceccb2ede8c9027cb409f6e3"; + srcSha = "12djpxhwqvq3262ai9vd096bvriynci2mrwn0dfjrd0w6s0i8viy"; + patches = [ ./patches/disable-lockfile-check.patch ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch; + inherit targets; inherit targetPatches; inherit targetToolchains; @@ -27,10 +29,10 @@ rec { # `http.cainfo` option from .cargo/config which isn't released # yet. - version = "master-2016-07-25"; - srcRev = "f09ef68cc47956ccc5f99212bdcdd15298c400a0"; - srcSha = "1r6q9jd0fl6mzhwkvrrcv358q2784hg51dfpy28xgh4n61m7c155"; - depsSha256 = "1p1ygabg9k9b0azm0mrx8asjzdi35c5zw53iysba198lli6bhdl4"; + version = "0.12.0"; + srcRev = "6b98d1f8abf5b33c1ca2771d3f5f3bafc3407b93"; + srcSha = "0pq6l3yzmh2il6320f6501hvp9iikdxzl34i5b52v93ncpim36bk"; + depsSha256 = "1jrwzm9fd15kf2d5zb17q901hx32h711ivcwdpxpmzwq08sjlcvl"; inherit rustc; # the rustc that will be wrapped by cargo inherit rustPlatform; # used to build cargo diff --git a/pkgs/development/compilers/rust/head.nix b/pkgs/development/compilers/rust/head.nix index 3406fdb317fa..2288a360a518 100644 --- a/pkgs/development/compilers/rust/head.nix +++ b/pkgs/development/compilers/rust/head.nix @@ -3,17 +3,13 @@ rec { rustc = callPackage ./rustc.nix { - shortVersion = "master-1.12.0"; + shortVersion = "master-1.13.0"; forceBundledLLVM = false; - needsCmake = true; configureFlags = [ "--release-channel=nightly" ]; - srcRev = "d9a911d236cbecb47775276ba51a5f9111bdbc9c"; - srcSha = "07wybqvnw99fljmcy33vb9iwirmp10cwy47n008p396s7pb852hv"; + srcRev = "308824acecf902f2b6a9c1538bde0324804ba68e"; + srcSha = "17zv1a27a7w6n3a22brriqx5m6i4s3nsj7mlnpliwghlbz8q7384"; patches = [ ./patches/disable-lockfile-check.patch - # Drop this patch after - # https://github.com/rust-lang/rust/pull/35140 gets merged - ./patches/tcp-stress-test-run-a-smaller-number-of-threads.patch ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch; inherit targets; inherit targetPatches; diff --git a/pkgs/development/compilers/rust/patches/tcp-stress-test-run-a-smaller-number-of-threads.patch b/pkgs/development/compilers/rust/patches/tcp-stress-test-run-a-smaller-number-of-threads.patch deleted file mode 100644 index 1b1d62160f65..000000000000 --- a/pkgs/development/compilers/rust/patches/tcp-stress-test-run-a-smaller-number-of-threads.patch +++ /dev/null @@ -1,44 +0,0 @@ -From b6202b5d602ca8216febe8ce9078581faa32955e Mon Sep 17 00:00:00 2001 -From: Moritz Ulrich -Date: Sat, 30 Jul 2016 09:01:13 +0200 -Subject: [PATCH] tcp-stress-test: Run a smaller number of threads. - ---- - src/test/run-pass/tcp-stress.rs | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/test/run-pass/tcp-stress.rs b/src/test/run-pass/tcp-stress.rs -index dfc8649..df8cdc9 100644 ---- a/src/test/run-pass/tcp-stress.rs -+++ b/src/test/run-pass/tcp-stress.rs -@@ -21,6 +21,8 @@ use std::sync::mpsc::channel; - use std::time::Duration; - use std::thread::{self, Builder}; - -+const TARGET_CNT: usize = 256; -+ - fn main() { - // This test has a chance to time out, try to not let it time out - thread::spawn(move|| -> () { -@@ -42,8 +44,9 @@ fn main() { - }); - - let (tx, rx) = channel(); -+ - let mut spawned_cnt = 0; -- for _ in 0..1000 { -+ for _ in 0..TARGET_CNT { - let tx = tx.clone(); - let res = Builder::new().stack_size(64 * 1024).spawn(move|| { - match TcpStream::connect(addr) { -@@ -66,6 +69,6 @@ fn main() { - for _ in 0..spawned_cnt { - rx.recv().unwrap(); - } -- assert_eq!(spawned_cnt, 1000); -+ assert_eq!(spawned_cnt, TARGET_CNT); - process::exit(0); - } --- -2.9.1 - diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 85e842176f47..f8f0e6df0d84 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -2,7 +2,6 @@ , llvm, jemalloc, ncurses, darwin, binutils, rustPlatform, git, cmake, curl , isRelease ? false -, needsCmake ? false , shortVersion , forceBundledLLVM ? false , srcSha, srcRev @@ -81,7 +80,7 @@ stdenv.mkDerivation { # Fix the configure script to not require curl as we won't use it sed -i configure \ - -e '/probe_need CFG_CURLORWGET/d' + -e '/probe_need CFG_CURL curl/d' # Fix the use of jemalloc prefixes which our jemalloc doesn't have # TODO: reenable if we can figure out how to get our jemalloc to work @@ -92,7 +91,7 @@ stdenv.mkDerivation { rm -vr src/test/run-make/linker-output-non-utf8/ # Useful debugging parameter - #export VERBOSE=1 + # export VERBOSE=1 ''; preConfigure = '' @@ -101,14 +100,12 @@ stdenv.mkDerivation { configureFlagsArray+=("--infodir=$out/share/info") ''; - # New -beta and -unstable unfortunately need cmake for compiling - # llvm-rt but don't use it for the normal build. This disables cmake - # in Nix. - dontUseCmakeConfigure = needsCmake; + # rustc unfortunately need cmake for compiling llvm-rt but doesn't + # use it for the normal build. This disables cmake in Nix. + dontUseCmakeConfigure = true; # ps is needed for one of the test cases - nativeBuildInputs = [ file python2 procps rustPlatform.rust.rustc git ] - ++ stdenv.lib.optional needsCmake [ cmake curl ]; + nativeBuildInputs = [ file python2 procps rustPlatform.rust.rustc git cmake ]; buildInputs = [ ncurses ] ++ targetToolchains ++ optional (!forceBundledLLVM) llvmShared;