From 02c8dbe382e821d830e719422e21b3f8b50370de Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Sun, 5 Oct 2014 00:55:45 +0200 Subject: [PATCH] rustcMaster: Update to more recent commit and remove patch The patch to the tests is now included upstream. Also in this version, an issue was fixed upstream where LTO would fail with permission denied in NixOS. --- pkgs/development/compilers/rustc/head.nix | 20 +++++----- .../compilers/rustc/override_env.HEAD.patch | 39 ------------------- 2 files changed, 10 insertions(+), 49 deletions(-) delete mode 100644 pkgs/development/compilers/rustc/override_env.HEAD.patch diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix index ab3458f435b8..f81539fad9a3 100644 --- a/pkgs/development/compilers/rustc/head.nix +++ b/pkgs/development/compilers/rustc/head.nix @@ -18,19 +18,19 @@ assert stdenv.gcc.gcc != null; */ -with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-9a68da740"; }); +with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-a2e7c4da9"; }); let snapshot = if stdenv.system == "i686-linux" - then "5c2132b65f45c21b43d28de6a9460978b1a7b08a" + then "555aca74f9a268f80cab2df1147dc6406403e9e4" else if stdenv.system == "x86_64-linux" - then "152be582853c2cf1ddcc88b085153b52ebbeb065" + then "6a43c2f6c8ba2cbbcb9da1f7b58f748aef99f431" else if stdenv.system == "i686-darwin" - then "7adbb076aeae8e1d9bdf3fe968bc7ef8a8fe0096" + then "331bd7ef519cbb424188c546273e8c7d738f0894" else if stdenv.system == "x86_64-darwin" - then "152be582853c2cf1ddcc88b085153b52ebbeb065" + then "2c83a79a9febfe1d326acb17c3af76ba053c6ca9" else abort "no-snapshot for platform ${stdenv.system}"; - snapshotDate = "2014-09-22"; - snapshotRev = "437179e"; + snapshotDate = "2014-10-04"; + snapshotRev = "749ff5e"; snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2"; in stdenv.mkDerivation { @@ -40,8 +40,8 @@ in stdenv.mkDerivation { src = fetchgit { url = https://github.com/rust-lang/rust; - rev = "9a68da7401d9bef645a8b6a4e0ce4cae12604df4"; - sha256 = "1nrmahz9scv06v8pyfgjl902dh9947irpqi78lh11r5lyixia8ci"; + rev = "a2e7c4da9b331d337fba0b3911c6d3d7f48e8305"; + sha256 = "1lpncqx3lfyjk6llfc7pd1iqxzfhj32hjqvj09zks73r4isc02n4"; }; # We need rust to build rust. If we don't provide it, configure will try to download it. @@ -65,7 +65,7 @@ in stdenv.mkDerivation { configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ]; # The compiler requires cc, so we patch the source to tell it where to find it - patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ./override_env.HEAD.patch ]; + patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ]; postPatch = '' substituteInPlace src/librustc/back/link.rs \ --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" diff --git a/pkgs/development/compilers/rustc/override_env.HEAD.patch b/pkgs/development/compilers/rustc/override_env.HEAD.patch deleted file mode 100644 index c050cde96339..000000000000 --- a/pkgs/development/compilers/rustc/override_env.HEAD.patch +++ /dev/null @@ -1,39 +0,0 @@ -commit 02f4c61bd6a2aedbf56169aff5b3a65c83c89557 -Author: Ricardo M. Correia -Date: Tue Sep 30 15:57:06 2014 +0200 - - libstd: Pass-through PATH in test_override_env test - - In some operating systems (such as NixOS), `env` can only be found in - the explicitly-provided PATH, not in default places such as /bin or - /usr/bin. So we need to pass-through PATH when spawning the `env` - sub-process. - -diff --git a/src/libstd/io/process.rs b/src/libstd/io/process.rs -index 83890d2..8fbf254 100644 ---- a/src/libstd/io/process.rs -+++ b/src/libstd/io/process.rs -@@ -956,7 +956,22 @@ mod tests { - }) - - iotest!(fn test_override_env() { -- let new_env = vec![("RUN_TEST_NEW_ENV", "123")]; -+ use os; -+ let mut new_env = vec![("RUN_TEST_NEW_ENV", "123")]; -+ -+ // In some operating systems (such as NixOS), `env` can only be found in -+ // the explicitly-provided PATH env variable, not in default places -+ // such as /bin or /usr/bin. So we need to pass through PATH to our -+ // sub-process. -+ let path_val: String; -+ match os::getenv("PATH") { -+ None => {} -+ Some(val) => { -+ path_val = val; -+ new_env.push(("PATH", path_val.as_slice())) -+ } -+ } -+ - let prog = env_cmd().env_set_all(new_env.as_slice()).spawn().unwrap(); - let result = prog.wait_with_output().unwrap(); - let output = String::from_utf8_lossy(result.output.as_slice()).into_string();